diff --git a/InvenTree/locale/cs/LC_MESSAGES/django.po b/InvenTree/locale/cs/LC_MESSAGES/django.po
index d682f24327..0d03f4bbb7 100644
--- a/InvenTree/locale/cs/LC_MESSAGES/django.po
+++ b/InvenTree/locale/cs/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-11-04 14:07+0000\n"
-"PO-Revision-Date: 2022-11-04 19:03\n"
+"POT-Creation-Date: 2022-11-14 04:59+0000\n"
+"PO-Revision-Date: 2022-11-14 14:51\n"
"Last-Translator: \n"
"Language-Team: Czech\n"
"Language: cs_CZ\n"
@@ -17,7 +17,7 @@ msgstr ""
"X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n"
"X-Crowdin-File-ID: 154\n"
-#: InvenTree/api.py:54
+#: InvenTree/api.py:61
msgid "API endpoint not found"
msgstr "API endpoint nebyl nalezen"
@@ -25,27 +25,27 @@ msgstr "API endpoint nebyl nalezen"
msgid "Error details can be found in the admin panel"
msgstr "Podrobnosti o chybě lze nalézt v panelu administrace"
-#: InvenTree/fields.py:120
+#: InvenTree/fields.py:129
msgid "Enter date"
msgstr "Zadejte datum"
-#: InvenTree/fields.py:195 build/serializers.py:387
-#: build/templates/build/sidebar.html:21 company/models.py:525
-#: company/templates/company/sidebar.html:25 order/models.py:920
+#: InvenTree/fields.py:204 build/serializers.py:387
+#: build/templates/build/sidebar.html:21 company/models.py:529
+#: company/templates/company/sidebar.html:25 order/models.py:943
#: order/templates/order/po_sidebar.html:11
-#: order/templates/order/so_sidebar.html:17
-#: part/templates/part/part_sidebar.html:59
+#: order/templates/order/so_sidebar.html:17 part/admin.py:27
+#: part/templates/part/part_sidebar.html:57
#: report/templates/report/inventree_build_order_base.html:172
-#: stock/models.py:2002 stock/models.py:2110 stock/serializers.py:327
-#: stock/serializers.py:460 stock/serializers.py:541 stock/serializers.py:827
-#: stock/serializers.py:926 stock/serializers.py:1058
+#: stock/admin.py:103 stock/models.py:2018 stock/models.py:2126
+#: stock/serializers.py:321 stock/serializers.py:454 stock/serializers.py:535
+#: stock/serializers.py:826 stock/serializers.py:925 stock/serializers.py:1057
#: stock/templates/stock/stock_sidebar.html:25
-#: templates/js/translated/barcode.js:108 templates/js/translated/bom.js:1146
-#: templates/js/translated/company.js:1022
-#: templates/js/translated/order.js:2404 templates/js/translated/order.js:2552
-#: templates/js/translated/order.js:3048 templates/js/translated/order.js:3999
-#: templates/js/translated/order.js:4394 templates/js/translated/stock.js:1374
-#: templates/js/translated/stock.js:1982
+#: templates/js/translated/barcode.js:108 templates/js/translated/bom.js:1211
+#: templates/js/translated/company.js:1023
+#: templates/js/translated/order.js:2427 templates/js/translated/order.js:2561
+#: templates/js/translated/order.js:3059 templates/js/translated/order.js:3996
+#: templates/js/translated/order.js:4377 templates/js/translated/stock.js:1393
+#: templates/js/translated/stock.js:2000
msgid "Notes"
msgstr ""
@@ -122,43 +122,43 @@ msgstr ""
msgid "Supplied URL is not a valid image file"
msgstr ""
-#: InvenTree/helpers.py:602 order/models.py:325 order/models.py:477
+#: InvenTree/helpers.py:589 order/models.py:329 order/models.py:496
msgid "Invalid quantity provided"
msgstr "Vyplněno neplatné množství"
-#: InvenTree/helpers.py:610
+#: InvenTree/helpers.py:597
msgid "Empty serial number string"
msgstr "Nevyplněné výrobní číslo"
-#: InvenTree/helpers.py:640
+#: InvenTree/helpers.py:627
msgid "Duplicate serial"
msgstr ""
-#: InvenTree/helpers.py:673 InvenTree/helpers.py:708
+#: InvenTree/helpers.py:660 InvenTree/helpers.py:695
#, python-brace-format
msgid "Invalid group range: {g}"
msgstr ""
-#: InvenTree/helpers.py:702
+#: InvenTree/helpers.py:689
#, python-brace-format
msgid "Group range {g} exceeds allowed quantity ({q})"
msgstr ""
-#: InvenTree/helpers.py:726 InvenTree/helpers.py:733 InvenTree/helpers.py:748
+#: InvenTree/helpers.py:713 InvenTree/helpers.py:720 InvenTree/helpers.py:735
#, python-brace-format
msgid "Invalid group sequence: {g}"
msgstr ""
-#: InvenTree/helpers.py:758
+#: InvenTree/helpers.py:745
msgid "No serial numbers found"
msgstr "Nenalezena žádná výrobní čísla"
-#: InvenTree/helpers.py:761
+#: InvenTree/helpers.py:748
#, python-brace-format
msgid "Number of unique serial numbers ({s}) must match quantity ({q})"
msgstr ""
-#: InvenTree/helpers.py:960
+#: InvenTree/helpers.py:947
msgid "Remove HTML tags from this value"
msgstr ""
@@ -194,7 +194,7 @@ msgstr "Chybějící soubor"
msgid "Missing external link"
msgstr "Chybějící externí odkaz"
-#: InvenTree/models.py:405 stock/models.py:2104
+#: InvenTree/models.py:405 stock/models.py:2120
#: templates/js/translated/attachment.js:103
#: templates/js/translated/attachment.js:241
msgid "Attachment"
@@ -204,18 +204,19 @@ msgstr "Příloha"
msgid "Select file to attach"
msgstr "Vyberte soubor k přiložení"
-#: InvenTree/models.py:412 company/models.py:125 company/models.py:277
-#: company/models.py:512 order/models.py:84 order/models.py:1259
-#: part/models.py:816 part/templates/part/part_scheduling.html:11
+#: InvenTree/models.py:412 common/models.py:2313 company/models.py:129
+#: company/models.py:281 company/models.py:516 order/models.py:85
+#: order/models.py:1282 part/admin.py:25 part/models.py:835
+#: part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
-#: templates/js/translated/company.js:691
-#: templates/js/translated/company.js:1011
-#: templates/js/translated/order.js:3037 templates/js/translated/part.js:1569
+#: stock/admin.py:102 templates/js/translated/company.js:692
+#: templates/js/translated/company.js:1012
+#: templates/js/translated/order.js:3048 templates/js/translated/part.js:1593
msgid "Link"
msgstr "Odkaz"
-#: InvenTree/models.py:413 build/models.py:290 part/models.py:817
-#: stock/models.py:660
+#: InvenTree/models.py:413 build/models.py:290 part/models.py:836
+#: stock/models.py:676
msgid "Link to external URL"
msgstr "Odkaz na externí URL"
@@ -228,12 +229,12 @@ msgstr "Komentář"
msgid "File comment"
msgstr "Komentář k souboru"
-#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1744
-#: common/models.py:1745 common/models.py:1968 common/models.py:1969
-#: common/models.py:2231 common/models.py:2232 part/models.py:2254
-#: part/models.py:2274 plugin/models.py:264 plugin/models.py:265
+#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1756
+#: common/models.py:1757 common/models.py:1980 common/models.py:1981
+#: common/models.py:2243 common/models.py:2244 part/models.py:2867
+#: part/models.py:2887 plugin/models.py:264 plugin/models.py:265
#: report/templates/report/inventree_test_report_base.html:96
-#: templates/js/translated/stock.js:2651
+#: templates/js/translated/stock.js:2669
msgid "User"
msgstr "Uživatel"
@@ -270,44 +271,45 @@ msgstr "Chyba při přejmenování souboru"
msgid "Invalid choice"
msgstr "Neplatný výběr"
-#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1954
-#: company/models.py:359 label/models.py:101 part/models.py:760
-#: part/models.py:2429 plugin/models.py:94 report/models.py:152
+#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1966
+#: company/models.py:363 label/models.py:101 part/models.py:779
+#: part/models.py:3042 plugin/models.py:94 report/models.py:152
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/plugin.html:60
#: templates/InvenTree/settings/plugin.html:104
#: templates/InvenTree/settings/plugin_settings.html:23
#: templates/InvenTree/settings/settings.html:344
-#: templates/js/translated/company.js:580
-#: templates/js/translated/company.js:793
+#: templates/js/translated/company.js:581
+#: templates/js/translated/company.js:794
#: templates/js/translated/notification.js:71
-#: templates/js/translated/part.js:686 templates/js/translated/part.js:838
-#: templates/js/translated/part.js:1964 templates/js/translated/stock.js:2396
+#: templates/js/translated/part.js:700 templates/js/translated/part.js:865
+#: templates/js/translated/part.js:1988 templates/js/translated/stock.js:2414
msgid "Name"
msgstr "Název"
#: InvenTree/models.py:564 build/models.py:163
-#: build/templates/build/detail.html:24 company/models.py:283
-#: company/models.py:518 company/templates/company/company_base.html:71
+#: build/templates/build/detail.html:24 company/models.py:287
+#: company/models.py:522 company/templates/company/company_base.html:71
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:108 label/models.py:108
-#: order/models.py:82 part/models.py:783 part/models.py:2438
-#: part/templates/part/category.html:75 part/templates/part/part_base.html:172
+#: order/models.py:83 part/admin.py:141 part/admin.py:222 part/models.py:802
+#: part/models.py:3051 part/templates/part/category.html:75
+#: part/templates/part/part_base.html:172
#: part/templates/part/part_scheduling.html:12 report/models.py:165
#: report/models.py:507 report/models.py:551
#: report/templates/report/inventree_build_order_base.html:117
-#: stock/templates/stock/location.html:117
+#: stock/admin.py:25 stock/templates/stock/location.html:117
#: templates/InvenTree/settings/plugin_settings.html:28
#: templates/InvenTree/settings/settings.html:355
-#: templates/js/translated/bom.js:579 templates/js/translated/bom.js:887
-#: templates/js/translated/build.js:2580 templates/js/translated/company.js:444
-#: templates/js/translated/company.js:702
-#: templates/js/translated/company.js:986 templates/js/translated/order.js:1988
-#: templates/js/translated/order.js:2220 templates/js/translated/order.js:2826
-#: templates/js/translated/part.js:745 templates/js/translated/part.js:1187
-#: templates/js/translated/part.js:1464 templates/js/translated/part.js:2000
-#: templates/js/translated/part.js:2075 templates/js/translated/stock.js:1748
-#: templates/js/translated/stock.js:2428 templates/js/translated/stock.js:2488
+#: templates/js/translated/bom.js:592 templates/js/translated/bom.js:895
+#: templates/js/translated/build.js:2580 templates/js/translated/company.js:445
+#: templates/js/translated/company.js:703
+#: templates/js/translated/company.js:987 templates/js/translated/order.js:2022
+#: templates/js/translated/order.js:2259 templates/js/translated/order.js:2837
+#: templates/js/translated/part.js:759 templates/js/translated/part.js:1208
+#: templates/js/translated/part.js:1475 templates/js/translated/part.js:2024
+#: templates/js/translated/part.js:2099 templates/js/translated/stock.js:1767
+#: templates/js/translated/stock.js:2446 templates/js/translated/stock.js:2506
msgid "Description"
msgstr "Popis"
@@ -320,7 +322,7 @@ msgid "parent"
msgstr "nadřazený"
#: InvenTree/models.py:580 InvenTree/models.py:581
-#: templates/js/translated/part.js:2009 templates/js/translated/stock.js:2437
+#: templates/js/translated/part.js:2033 templates/js/translated/stock.js:2455
msgid "Path"
msgstr "Cesta"
@@ -332,7 +334,7 @@ msgstr ""
msgid "Third party barcode data"
msgstr ""
-#: InvenTree/models.py:688 order/serializers.py:486
+#: InvenTree/models.py:688 order/serializers.py:477
msgid "Barcode Hash"
msgstr ""
@@ -352,187 +354,187 @@ msgstr "Chyba serveru"
msgid "An error has been logged by the server."
msgstr ""
-#: InvenTree/serializers.py:58 part/models.py:2774
+#: InvenTree/serializers.py:58 part/models.py:3387
msgid "Must be a valid number"
msgstr "Musí být platné číslo"
-#: InvenTree/serializers.py:265
+#: InvenTree/serializers.py:266
msgid "Filename"
msgstr "Název souboru"
-#: InvenTree/serializers.py:300
+#: InvenTree/serializers.py:301
msgid "Invalid value"
msgstr "Neplatná hodnota"
-#: InvenTree/serializers.py:322
+#: InvenTree/serializers.py:323
msgid "Data File"
msgstr "Datový soubor"
-#: InvenTree/serializers.py:323
+#: InvenTree/serializers.py:324
msgid "Select data file for upload"
msgstr "Vyberte datový soubor k nahrání"
-#: InvenTree/serializers.py:344
+#: InvenTree/serializers.py:345
msgid "Unsupported file type"
msgstr "Nepodporovaný typ souboru"
-#: InvenTree/serializers.py:350
+#: InvenTree/serializers.py:351
msgid "File is too large"
msgstr "Soubor je příliš velký"
-#: InvenTree/serializers.py:371
+#: InvenTree/serializers.py:372
msgid "No columns found in file"
msgstr "V souboru nebyly nalezeny žádné sloupce"
-#: InvenTree/serializers.py:374
+#: InvenTree/serializers.py:375
msgid "No data rows found in file"
msgstr "V souboru nebyly nalezeny žádné řádky s daty"
-#: InvenTree/serializers.py:497
+#: InvenTree/serializers.py:498
msgid "No data rows provided"
msgstr "Nebyly zadány žádné řádky s daty"
-#: InvenTree/serializers.py:500
+#: InvenTree/serializers.py:501
msgid "No data columns supplied"
msgstr "Nebyly zadány žádné sloupce s daty"
-#: InvenTree/serializers.py:577
+#: InvenTree/serializers.py:578
#, python-brace-format
msgid "Missing required column: '{name}'"
msgstr "Chybí povinný sloupec: '{name}'"
-#: InvenTree/serializers.py:586
+#: InvenTree/serializers.py:587
#, python-brace-format
msgid "Duplicate column: '{col}'"
msgstr "Duplicitní sloupec: '{col}'"
-#: InvenTree/serializers.py:605
+#: InvenTree/serializers.py:606
#: templates/InvenTree/settings/mixins/urls.html:14
msgid "URL"
msgstr "URL"
-#: InvenTree/serializers.py:606
+#: InvenTree/serializers.py:607
msgid "URL of remote image file"
msgstr ""
-#: InvenTree/serializers.py:620
+#: InvenTree/serializers.py:621
msgid "Downloading images from remote URL is not enabled"
msgstr ""
-#: InvenTree/settings.py:621
+#: InvenTree/settings.py:627
msgid "Czech"
msgstr "Čeština"
-#: InvenTree/settings.py:622
+#: InvenTree/settings.py:628
msgid "Danish"
msgstr ""
-#: InvenTree/settings.py:623
+#: InvenTree/settings.py:629
msgid "German"
msgstr "Němčina"
-#: InvenTree/settings.py:624
+#: InvenTree/settings.py:630
msgid "Greek"
msgstr "Řečtina"
-#: InvenTree/settings.py:625
+#: InvenTree/settings.py:631
msgid "English"
msgstr "Angličtina"
-#: InvenTree/settings.py:626
+#: InvenTree/settings.py:632
msgid "Spanish"
msgstr "Španělština"
-#: InvenTree/settings.py:627
+#: InvenTree/settings.py:633
msgid "Spanish (Mexican)"
msgstr "Španělština (Mexiko)"
-#: InvenTree/settings.py:628
+#: InvenTree/settings.py:634
msgid "Farsi / Persian"
msgstr "Farsi / Perština"
-#: InvenTree/settings.py:629
+#: InvenTree/settings.py:635
msgid "French"
msgstr "Francouzština"
-#: InvenTree/settings.py:630
+#: InvenTree/settings.py:636
msgid "Hebrew"
msgstr "Hebrejština"
-#: InvenTree/settings.py:631
+#: InvenTree/settings.py:637
msgid "Hungarian"
msgstr "Maďarština"
-#: InvenTree/settings.py:632
+#: InvenTree/settings.py:638
msgid "Italian"
msgstr "Italština"
-#: InvenTree/settings.py:633
+#: InvenTree/settings.py:639
msgid "Japanese"
msgstr "Japonština"
-#: InvenTree/settings.py:634
+#: InvenTree/settings.py:640
msgid "Korean"
msgstr "Korejština"
-#: InvenTree/settings.py:635
+#: InvenTree/settings.py:641
msgid "Dutch"
msgstr "Nizozemština"
-#: InvenTree/settings.py:636
+#: InvenTree/settings.py:642
msgid "Norwegian"
msgstr "Norština"
-#: InvenTree/settings.py:637
+#: InvenTree/settings.py:643
msgid "Polish"
msgstr "Polština"
-#: InvenTree/settings.py:638
+#: InvenTree/settings.py:644
msgid "Portuguese"
msgstr "Portugalština"
-#: InvenTree/settings.py:639
+#: InvenTree/settings.py:645
msgid "Portuguese (Brazilian)"
msgstr "Portugalština (Brazilská)"
-#: InvenTree/settings.py:640
+#: InvenTree/settings.py:646
msgid "Russian"
msgstr "Ruština"
-#: InvenTree/settings.py:641
+#: InvenTree/settings.py:647
msgid "Swedish"
msgstr "Švédština"
-#: InvenTree/settings.py:642
+#: InvenTree/settings.py:648
msgid "Thai"
msgstr "Thajština"
-#: InvenTree/settings.py:643
+#: InvenTree/settings.py:649
msgid "Turkish"
msgstr "Turečtina"
-#: InvenTree/settings.py:644
+#: InvenTree/settings.py:650
msgid "Vietnamese"
msgstr "Vietnamština"
-#: InvenTree/settings.py:645
+#: InvenTree/settings.py:651
msgid "Chinese"
msgstr "Čínština"
-#: InvenTree/status.py:99
+#: InvenTree/status.py:98
msgid "Background worker check failed"
msgstr "Kontrola procesů na pozadí se nezdařila"
-#: InvenTree/status.py:103
+#: InvenTree/status.py:102
msgid "Email backend not configured"
msgstr "Email backend není nakonfigurován"
-#: InvenTree/status.py:106
+#: InvenTree/status.py:105
msgid "InvenTree system health checks failed"
msgstr "Kontroly zdraví systému InvenTree selhaly"
#: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140
-#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:342
+#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:346
msgid "Pending"
msgstr "Nevyřízeno"
@@ -561,8 +563,8 @@ msgstr "Ztraceno"
msgid "Returned"
msgstr "Vráceno"
-#: InvenTree/status_codes.py:141 order/models.py:1142
-#: templates/js/translated/order.js:3625 templates/js/translated/order.js:3974
+#: InvenTree/status_codes.py:141 order/models.py:1165
+#: templates/js/translated/order.js:3636 templates/js/translated/order.js:3971
msgid "Shipped"
msgstr "Odesláno"
@@ -646,7 +648,7 @@ msgstr "Rozdělit od nadřazené položky"
msgid "Split child item"
msgstr ""
-#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2086
+#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2104
msgid "Merged stock items"
msgstr ""
@@ -654,7 +656,7 @@ msgstr ""
msgid "Converted to variant"
msgstr ""
-#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:229
+#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:233
msgid "Sent to customer"
msgstr "Odesláno zákazníkovi"
@@ -746,7 +748,7 @@ msgstr ""
#: build/models.py:111 build/templates/build/build_base.html:13
#: build/templates/build/index.html:8 build/templates/build/index.html:12
-#: order/templates/order/sales_order_detail.html:120
+#: order/templates/order/sales_order_detail.html:125
#: order/templates/order/so_sidebar.html:13
#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221
#: templates/InvenTree/search.html:141
@@ -759,15 +761,15 @@ msgstr ""
msgid "Build Order Reference"
msgstr ""
-#: build/models.py:155 order/models.py:240 order/models.py:632
-#: order/models.py:918 part/models.py:2684
+#: build/models.py:155 order/models.py:241 order/models.py:651
+#: order/models.py:941 part/admin.py:224 part/models.py:3297
#: part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:92
-#: templates/js/translated/bom.js:716 templates/js/translated/bom.js:897
-#: templates/js/translated/build.js:1843 templates/js/translated/order.js:2251
-#: templates/js/translated/order.js:2481 templates/js/translated/order.js:3818
-#: templates/js/translated/order.js:4323
+#: templates/js/translated/bom.js:729 templates/js/translated/bom.js:905
+#: templates/js/translated/build.js:1843 templates/js/translated/order.js:2290
+#: templates/js/translated/order.js:2508 templates/js/translated/order.js:3833
+#: templates/js/translated/order.js:4324 templates/js/translated/pricing.js:119
msgid "Reference"
msgstr ""
@@ -785,39 +787,40 @@ msgid "BuildOrder to which this build is allocated"
msgstr ""
#: build/models.py:180 build/templates/build/build_base.html:80
-#: build/templates/build/detail.html:29 company/models.py:680
-#: order/models.py:1015 order/models.py:1126 order/models.py:1127
-#: part/models.py:343 part/models.py:2200 part/models.py:2215
-#: part/models.py:2234 part/models.py:2252 part/models.py:2351
-#: part/models.py:2472 part/models.py:2564 part/models.py:2649
-#: part/models.py:2943 part/serializers.py:828
+#: build/templates/build/detail.html:29 company/models.py:684
+#: order/models.py:1038 order/models.py:1149 order/models.py:1150
+#: part/models.py:362 part/models.py:2700 part/models.py:2813
+#: part/models.py:2828 part/models.py:2847 part/models.py:2865
+#: part/models.py:2964 part/models.py:3085 part/models.py:3177
+#: part/models.py:3262 part/models.py:3578 part/serializers.py:852
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
#: report/templates/report/inventree_build_order_base.html:109
#: report/templates/report/inventree_po_report.html:89
-#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:86
-#: stock/serializers.py:494 templates/InvenTree/search.html:82
+#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:90
+#: stock/serializers.py:488 templates/InvenTree/search.html:82
#: templates/email/build_order_completed.html:17
#: templates/email/build_order_required_stock.html:17
#: templates/email/low_stock_notification.html:16
#: templates/email/overdue_build_order.html:16
-#: templates/js/translated/barcode.js:479 templates/js/translated/bom.js:578
-#: templates/js/translated/bom.js:715 templates/js/translated/bom.js:841
+#: templates/js/translated/barcode.js:479 templates/js/translated/bom.js:591
+#: templates/js/translated/bom.js:728 templates/js/translated/bom.js:849
#: templates/js/translated/build.js:1214 templates/js/translated/build.js:1711
#: templates/js/translated/build.js:2194 templates/js/translated/build.js:2585
-#: templates/js/translated/company.js:301
-#: templates/js/translated/company.js:531
-#: templates/js/translated/company.js:643
-#: templates/js/translated/company.js:904 templates/js/translated/order.js:106
-#: templates/js/translated/order.js:1134 templates/js/translated/order.js:1638
-#: templates/js/translated/order.js:2205 templates/js/translated/order.js:3180
-#: templates/js/translated/order.js:3576 templates/js/translated/order.js:3802
-#: templates/js/translated/part.js:1172 templates/js/translated/part.js:1244
-#: templates/js/translated/part.js:1442 templates/js/translated/stock.js:586
-#: templates/js/translated/stock.js:751 templates/js/translated/stock.js:958
-#: templates/js/translated/stock.js:1700 templates/js/translated/stock.js:2514
-#: templates/js/translated/stock.js:2709 templates/js/translated/stock.js:2843
+#: templates/js/translated/company.js:302
+#: templates/js/translated/company.js:532
+#: templates/js/translated/company.js:644
+#: templates/js/translated/company.js:905 templates/js/translated/order.js:106
+#: templates/js/translated/order.js:1168 templates/js/translated/order.js:1672
+#: templates/js/translated/order.js:2244 templates/js/translated/order.js:3191
+#: templates/js/translated/order.js:3587 templates/js/translated/order.js:3817
+#: templates/js/translated/part.js:1193 templates/js/translated/part.js:1265
+#: templates/js/translated/part.js:1452 templates/js/translated/pricing.js:102
+#: templates/js/translated/stock.js:605 templates/js/translated/stock.js:770
+#: templates/js/translated/stock.js:977 templates/js/translated/stock.js:1719
+#: templates/js/translated/stock.js:2532 templates/js/translated/stock.js:2727
+#: templates/js/translated/stock.js:2861
msgid "Part"
msgstr ""
@@ -834,7 +837,7 @@ msgid "SalesOrder to which this build is allocated"
msgstr ""
#: build/models.py:202 build/serializers.py:822
-#: templates/js/translated/build.js:2182 templates/js/translated/order.js:3168
+#: templates/js/translated/build.js:2182 templates/js/translated/order.js:3179
msgid "Source Location"
msgstr ""
@@ -874,8 +877,8 @@ msgstr ""
msgid "Build status code"
msgstr ""
-#: build/models.py:245 build/serializers.py:224 order/serializers.py:464
-#: stock/models.py:664 templates/js/translated/order.js:1496
+#: build/models.py:245 build/serializers.py:224 order/serializers.py:455
+#: stock/models.py:680 templates/js/translated/order.js:1530
msgid "Batch Code"
msgstr ""
@@ -883,12 +886,12 @@ msgstr ""
msgid "Batch code for this build output"
msgstr ""
-#: build/models.py:252 order/models.py:86 part/models.py:952
-#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2839
+#: build/models.py:252 order/models.py:87 part/models.py:971
+#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2850
msgid "Creation Date"
msgstr ""
-#: build/models.py:256 order/models.py:662
+#: build/models.py:256 order/models.py:681
msgid "Target completion date"
msgstr ""
@@ -896,7 +899,7 @@ msgstr ""
msgid "Target date for build completion. Build will be overdue after this date."
msgstr ""
-#: build/models.py:260 order/models.py:291
+#: build/models.py:260 order/models.py:292
#: templates/js/translated/build.js:2662
msgid "Completion Date"
msgstr ""
@@ -914,11 +917,11 @@ msgid "User who issued this build order"
msgstr ""
#: build/models.py:283 build/templates/build/build_base.html:193
-#: build/templates/build/detail.html:115 order/models.py:100
+#: build/templates/build/detail.html:115 order/models.py:101
#: order/templates/order/order_base.html:185
-#: order/templates/order/sales_order_base.html:183 part/models.py:956
+#: order/templates/order/sales_order_base.html:183 part/models.py:975
#: report/templates/report/inventree_build_order_base.html:158
-#: templates/js/translated/build.js:2642 templates/js/translated/order.js:2022
+#: templates/js/translated/build.js:2642 templates/js/translated/order.js:2056
msgid "Responsible"
msgstr ""
@@ -929,7 +932,7 @@ msgstr ""
#: build/models.py:289 build/templates/build/detail.html:101
#: company/templates/company/manufacturer_part.html:107
#: company/templates/company/supplier_part.html:188
-#: part/templates/part/part_base.html:361 stock/models.py:658
+#: part/templates/part/part_base.html:376 stock/models.py:674
#: stock/templates/stock/item_base.html:203
msgid "External Link"
msgstr ""
@@ -968,11 +971,11 @@ msgstr ""
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr ""
-#: build/models.py:1191 order/models.py:1393
+#: build/models.py:1191 order/models.py:1416
msgid "Stock item is over-allocated"
msgstr ""
-#: build/models.py:1197 order/models.py:1396
+#: build/models.py:1197 order/models.py:1419
msgid "Allocation quantity must be greater than zero"
msgstr ""
@@ -994,18 +997,18 @@ msgstr ""
msgid "Build to allocate parts"
msgstr ""
-#: build/models.py:1346 build/serializers.py:663 order/serializers.py:1039
-#: order/serializers.py:1060 stock/serializers.py:398 stock/serializers.py:758
-#: stock/serializers.py:884 stock/templates/stock/item_base.html:10
+#: build/models.py:1346 build/serializers.py:663 order/serializers.py:1032
+#: order/serializers.py:1053 stock/serializers.py:392 stock/serializers.py:757
+#: stock/serializers.py:883 stock/templates/stock/item_base.html:10
#: stock/templates/stock/item_base.html:23
#: stock/templates/stock/item_base.html:197
#: templates/js/translated/build.js:790 templates/js/translated/build.js:795
#: templates/js/translated/build.js:2196 templates/js/translated/build.js:2747
-#: templates/js/translated/order.js:107 templates/js/translated/order.js:3181
-#: templates/js/translated/order.js:3483 templates/js/translated/order.js:3488
-#: templates/js/translated/order.js:3583 templates/js/translated/order.js:3675
-#: templates/js/translated/stock.js:587 templates/js/translated/stock.js:752
-#: templates/js/translated/stock.js:2587
+#: templates/js/translated/order.js:107 templates/js/translated/order.js:3192
+#: templates/js/translated/order.js:3494 templates/js/translated/order.js:3499
+#: templates/js/translated/order.js:3594 templates/js/translated/order.js:3686
+#: templates/js/translated/stock.js:606 templates/js/translated/stock.js:771
+#: templates/js/translated/stock.js:2605
msgid "Stock Item"
msgstr ""
@@ -1015,12 +1018,10 @@ msgstr ""
#: build/models.py:1359 build/serializers.py:192
#: build/templates/build/build_base.html:85
-#: build/templates/build/detail.html:34 common/models.py:1776
-#: company/templates/company/supplier_part.html:341 order/models.py:911
-#: order/models.py:1437 order/serializers.py:1213
-#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:40
-#: part/models.py:2665 part/templates/part/detail.html:938
-#: part/templates/part/detail.html:1024
+#: build/templates/build/detail.html:34 common/models.py:1788
+#: order/models.py:934 order/models.py:1460 order/serializers.py:1206
+#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:223
+#: part/forms.py:40 part/models.py:3278
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_build_order_base.html:113
@@ -1028,25 +1029,29 @@ msgstr ""
#: report/templates/report/inventree_so_report.html:91
#: report/templates/report/inventree_test_report_base.html:81
#: report/templates/report/inventree_test_report_base.html:139
-#: stock/serializers.py:291 stock/templates/stock/item_base.html:290
+#: stock/admin.py:86 stock/serializers.py:285
+#: stock/templates/stock/item_base.html:290
#: stock/templates/stock/item_base.html:298
#: templates/email/build_order_completed.html:18
-#: templates/js/translated/barcode.js:481 templates/js/translated/bom.js:717
-#: templates/js/translated/bom.js:905 templates/js/translated/build.js:474
+#: templates/js/translated/barcode.js:481 templates/js/translated/bom.js:730
+#: templates/js/translated/bom.js:913 templates/js/translated/build.js:474
#: templates/js/translated/build.js:626 templates/js/translated/build.js:817
#: templates/js/translated/build.js:1236 templates/js/translated/build.js:1737
#: templates/js/translated/build.js:2197
+#: templates/js/translated/company.js:1159
#: templates/js/translated/model_renderers.js:120
-#: templates/js/translated/order.js:123 templates/js/translated/order.js:1137
-#: templates/js/translated/order.js:2257 templates/js/translated/order.js:2487
-#: templates/js/translated/order.js:3182 templates/js/translated/order.js:3502
-#: templates/js/translated/order.js:3589 templates/js/translated/order.js:3681
-#: templates/js/translated/order.js:3824 templates/js/translated/order.js:4329
-#: templates/js/translated/part.js:1036 templates/js/translated/part.js:2220
-#: templates/js/translated/part.js:2689 templates/js/translated/part.js:2730
-#: templates/js/translated/part.js:2808 templates/js/translated/stock.js:458
-#: templates/js/translated/stock.js:612 templates/js/translated/stock.js:782
-#: templates/js/translated/stock.js:2636 templates/js/translated/stock.js:2721
+#: templates/js/translated/order.js:123 templates/js/translated/order.js:1171
+#: templates/js/translated/order.js:2296 templates/js/translated/order.js:2514
+#: templates/js/translated/order.js:3193 templates/js/translated/order.js:3513
+#: templates/js/translated/order.js:3600 templates/js/translated/order.js:3692
+#: templates/js/translated/order.js:3839 templates/js/translated/order.js:4330
+#: templates/js/translated/part.js:1063 templates/js/translated/part.js:2546
+#: templates/js/translated/pricing.js:114
+#: templates/js/translated/pricing.js:207
+#: templates/js/translated/pricing.js:255
+#: templates/js/translated/pricing.js:349 templates/js/translated/stock.js:477
+#: templates/js/translated/stock.js:631 templates/js/translated/stock.js:801
+#: templates/js/translated/stock.js:2654 templates/js/translated/stock.js:2739
msgid "Quantity"
msgstr ""
@@ -1087,10 +1092,10 @@ msgstr ""
msgid "Enter quantity for build output"
msgstr ""
-#: build/serializers.py:207 build/serializers.py:683 order/models.py:323
-#: order/serializers.py:304 order/serializers.py:459 part/serializers.py:558
-#: part/serializers.py:991 stock/models.py:518 stock/models.py:1253
-#: stock/serializers.py:300
+#: build/serializers.py:207 build/serializers.py:683 order/models.py:327
+#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:644
+#: part/serializers.py:1015 stock/models.py:534 stock/models.py:1269
+#: stock/serializers.py:294
msgid "Quantity must be greater than zero"
msgstr ""
@@ -1102,9 +1107,9 @@ msgstr ""
msgid "Integer quantity required, as the bill of materials contains trackable parts"
msgstr ""
-#: build/serializers.py:231 order/serializers.py:472 order/serializers.py:1217
-#: stock/serializers.py:309 templates/js/translated/order.js:1507
-#: templates/js/translated/stock.js:271 templates/js/translated/stock.js:459
+#: build/serializers.py:231 order/serializers.py:463 order/serializers.py:1210
+#: stock/serializers.py:303 templates/js/translated/order.js:1541
+#: templates/js/translated/stock.js:290 templates/js/translated/stock.js:478
msgid "Serial Numbers"
msgstr ""
@@ -1120,7 +1125,7 @@ msgstr ""
msgid "Automatically allocate required items with matching serial numbers"
msgstr ""
-#: build/serializers.py:281 stock/api.py:589
+#: build/serializers.py:281 stock/api.py:599
msgid "The following serial numbers already exist or are invalid"
msgstr ""
@@ -1128,18 +1133,18 @@ msgstr ""
msgid "A list of build outputs must be provided"
msgstr ""
-#: build/serializers.py:369 order/serializers.py:445 order/serializers.py:556
-#: stock/serializers.py:320 stock/serializers.py:455 stock/serializers.py:536
-#: stock/serializers.py:919 stock/serializers.py:1152
+#: build/serializers.py:369 order/serializers.py:436 order/serializers.py:547
+#: stock/serializers.py:314 stock/serializers.py:449 stock/serializers.py:530
+#: stock/serializers.py:918 stock/serializers.py:1151
#: stock/templates/stock/item_base.html:388
#: templates/js/translated/barcode.js:480
#: templates/js/translated/barcode.js:724 templates/js/translated/build.js:802
-#: templates/js/translated/build.js:1749 templates/js/translated/order.js:1534
-#: templates/js/translated/order.js:3495 templates/js/translated/order.js:3600
-#: templates/js/translated/order.js:3608 templates/js/translated/order.js:3689
-#: templates/js/translated/part.js:181 templates/js/translated/stock.js:588
-#: templates/js/translated/stock.js:753 templates/js/translated/stock.js:960
-#: templates/js/translated/stock.js:1856 templates/js/translated/stock.js:2528
+#: templates/js/translated/build.js:1749 templates/js/translated/order.js:1568
+#: templates/js/translated/order.js:3506 templates/js/translated/order.js:3611
+#: templates/js/translated/order.js:3619 templates/js/translated/order.js:3700
+#: templates/js/translated/part.js:177 templates/js/translated/stock.js:607
+#: templates/js/translated/stock.js:772 templates/js/translated/stock.js:979
+#: templates/js/translated/stock.js:1875 templates/js/translated/stock.js:2546
msgid "Location"
msgstr ""
@@ -1148,12 +1153,13 @@ msgid "Location for completed build outputs"
msgstr ""
#: build/serializers.py:376 build/templates/build/build_base.html:145
-#: build/templates/build/detail.html:62 order/models.py:651
-#: order/serializers.py:482 stock/templates/stock/item_base.html:421
+#: build/templates/build/detail.html:62 order/models.py:670
+#: order/serializers.py:473 stock/admin.py:89
+#: stock/templates/stock/item_base.html:421
#: templates/js/translated/barcode.js:214 templates/js/translated/build.js:2614
-#: templates/js/translated/order.js:1643 templates/js/translated/order.js:1992
-#: templates/js/translated/order.js:2831 templates/js/translated/stock.js:1831
-#: templates/js/translated/stock.js:2605 templates/js/translated/stock.js:2737
+#: templates/js/translated/order.js:1677 templates/js/translated/order.js:2026
+#: templates/js/translated/order.js:2842 templates/js/translated/stock.js:1850
+#: templates/js/translated/stock.js:2623 templates/js/translated/stock.js:2755
msgid "Status"
msgstr ""
@@ -1213,7 +1219,7 @@ msgstr ""
msgid "Required stock has not been fully allocated"
msgstr ""
-#: build/serializers.py:545 order/serializers.py:208 order/serializers.py:1107
+#: build/serializers.py:545 order/serializers.py:202 order/serializers.py:1100
msgid "Accept Incomplete"
msgstr ""
@@ -1229,8 +1235,8 @@ msgstr ""
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:595 build/serializers.py:640 part/models.py:2801
-#: part/models.py:2935
+#: build/serializers.py:595 build/serializers.py:640 part/models.py:3414
+#: part/models.py:3570
msgid "BOM Item"
msgstr ""
@@ -1246,11 +1252,11 @@ msgstr ""
msgid "bom_item.part must point to the same part as the build order"
msgstr ""
-#: build/serializers.py:669 stock/serializers.py:771
+#: build/serializers.py:669 stock/serializers.py:770
msgid "Item must be in stock"
msgstr ""
-#: build/serializers.py:727 order/serializers.py:1097
+#: build/serializers.py:727 order/serializers.py:1090
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr ""
@@ -1267,7 +1273,7 @@ msgstr ""
msgid "This stock item has already been allocated to this build output"
msgstr ""
-#: build/serializers.py:768 order/serializers.py:1381
+#: build/serializers.py:768 order/serializers.py:1374
msgid "Allocation items must be provided"
msgstr ""
@@ -1382,13 +1388,13 @@ msgid "Stock has not been fully allocated to this Build Order"
msgstr ""
#: build/templates/build/build_base.html:154
-#: build/templates/build/detail.html:131 order/models.py:924
+#: build/templates/build/detail.html:131 order/models.py:947
#: order/templates/order/order_base.html:171
#: order/templates/order/sales_order_base.html:164
#: report/templates/report/inventree_build_order_base.html:125
-#: templates/js/translated/build.js:2654 templates/js/translated/order.js:2009
-#: templates/js/translated/order.js:2351 templates/js/translated/order.js:2847
-#: templates/js/translated/order.js:3887 templates/js/translated/part.js:1051
+#: templates/js/translated/build.js:2654 templates/js/translated/order.js:2043
+#: templates/js/translated/order.js:2374 templates/js/translated/order.js:2858
+#: templates/js/translated/order.js:3884 templates/js/translated/part.js:1078
msgid "Target Date"
msgstr ""
@@ -1401,29 +1407,29 @@ msgstr ""
#: build/templates/build/build_base.html:204
#: order/templates/order/order_base.html:107
#: order/templates/order/sales_order_base.html:94
-#: templates/js/translated/table_filters.js:328
-#: templates/js/translated/table_filters.js:369
-#: templates/js/translated/table_filters.js:399
+#: templates/js/translated/table_filters.js:332
+#: templates/js/translated/table_filters.js:373
+#: templates/js/translated/table_filters.js:403
msgid "Overdue"
msgstr ""
#: build/templates/build/build_base.html:166
#: build/templates/build/detail.html:67 build/templates/build/detail.html:142
#: order/templates/order/sales_order_base.html:171
-#: templates/js/translated/table_filters.js:408
+#: templates/js/translated/table_filters.js:412
msgid "Completed"
msgstr ""
#: build/templates/build/build_base.html:179
-#: build/templates/build/detail.html:94 order/models.py:1119
-#: order/models.py:1213 order/models.py:1344
+#: build/templates/build/detail.html:94 order/models.py:1142
+#: order/models.py:1236 order/models.py:1367
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
#: report/templates/report/inventree_build_order_base.html:135
#: report/templates/report/inventree_so_report.html:77
#: stock/templates/stock/item_base.html:368
#: templates/email/overdue_sales_order.html:15
-#: templates/js/translated/order.js:2793
+#: templates/js/translated/order.js:2804 templates/js/translated/pricing.js:637
msgid "Sales Order"
msgstr ""
@@ -1449,8 +1455,8 @@ msgstr ""
msgid "Stock can be taken from any available location."
msgstr ""
-#: build/templates/build/detail.html:49 order/models.py:1037
-#: templates/js/translated/order.js:1644 templates/js/translated/order.js:2393
+#: build/templates/build/detail.html:49 order/models.py:1060
+#: templates/js/translated/order.js:1678 templates/js/translated/order.js:2416
msgid "Destination"
msgstr ""
@@ -1462,14 +1468,14 @@ msgstr ""
msgid "Allocated Parts"
msgstr ""
-#: build/templates/build/detail.html:80
+#: build/templates/build/detail.html:80 stock/admin.py:88
#: stock/templates/stock/item_base.html:168
#: templates/js/translated/build.js:1240
#: templates/js/translated/model_renderers.js:124
-#: templates/js/translated/stock.js:1026 templates/js/translated/stock.js:1845
-#: templates/js/translated/stock.js:2744
-#: templates/js/translated/table_filters.js:167
-#: templates/js/translated/table_filters.js:258
+#: templates/js/translated/stock.js:1045 templates/js/translated/stock.js:1864
+#: templates/js/translated/stock.js:2762
+#: templates/js/translated/table_filters.js:171
+#: templates/js/translated/table_filters.js:262
msgid "Batch"
msgstr ""
@@ -1527,7 +1533,7 @@ msgstr ""
#: build/templates/build/detail.html:187
#: company/templates/company/detail.html:37
#: company/templates/company/detail.html:85
-#: part/templates/part/category.html:178 templates/js/translated/order.js:1177
+#: part/templates/part/category.html:178 templates/js/translated/order.js:1211
msgid "Order Parts"
msgstr ""
@@ -1597,10 +1603,10 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:151
#: company/templates/company/manufacturer_part_sidebar.html:9
#: order/templates/order/po_sidebar.html:9
-#: order/templates/order/purchase_order_detail.html:82
-#: order/templates/order/sales_order_detail.html:135
-#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:212
-#: part/templates/part/part_sidebar.html:57 stock/templates/stock/item.html:117
+#: order/templates/order/purchase_order_detail.html:86
+#: order/templates/order/sales_order_detail.html:140
+#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:210
+#: part/templates/part/part_sidebar.html:55 stock/templates/stock/item.html:117
#: stock/templates/stock/stock_sidebar.html:23
msgid "Attachments"
msgstr ""
@@ -1617,7 +1623,7 @@ msgstr ""
msgid "All untracked stock items have been allocated"
msgstr ""
-#: build/templates/build/index.html:18 part/templates/part/detail.html:318
+#: build/templates/build/index.html:18 part/templates/part/detail.html:316
msgid "New Build Order"
msgstr ""
@@ -1734,7 +1740,7 @@ msgstr ""
msgid "Show the `about` modal only to superusers"
msgstr ""
-#: common/models.py:833 company/models.py:94 company/models.py:95
+#: common/models.py:833 company/models.py:98 company/models.py:99
msgid "Company name"
msgstr "Jméno společnosti"
@@ -1902,9 +1908,9 @@ msgstr ""
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:1002 part/models.py:2474 report/models.py:158
-#: templates/js/translated/table_filters.js:38
-#: templates/js/translated/table_filters.js:492
+#: common/models.py:1002 part/admin.py:41 part/models.py:3087
+#: report/models.py:158 templates/js/translated/table_filters.js:38
+#: templates/js/translated/table_filters.js:496
msgid "Template"
msgstr ""
@@ -1912,9 +1918,10 @@ msgstr ""
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:1009 part/models.py:908 templates/js/translated/bom.js:1531
-#: templates/js/translated/table_filters.js:184
-#: templates/js/translated/table_filters.js:455
+#: common/models.py:1009 part/admin.py:37 part/admin.py:229 part/models.py:927
+#: templates/js/translated/bom.js:1594
+#: templates/js/translated/table_filters.js:188
+#: templates/js/translated/table_filters.js:459
msgid "Assembly"
msgstr ""
@@ -1922,8 +1929,8 @@ msgstr ""
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:1016 part/models.py:914
-#: templates/js/translated/table_filters.js:463
+#: common/models.py:1016 part/admin.py:38 part/models.py:933
+#: templates/js/translated/table_filters.js:467
msgid "Component"
msgstr ""
@@ -1931,7 +1938,7 @@ msgstr ""
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:1023 part/models.py:925
+#: common/models.py:1023 part/admin.py:39 part/models.py:944
msgid "Purchaseable"
msgstr ""
@@ -1939,8 +1946,8 @@ msgstr ""
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:1030 part/models.py:930
-#: templates/js/translated/table_filters.js:484
+#: common/models.py:1030 part/admin.py:40 part/models.py:949
+#: templates/js/translated/table_filters.js:488
msgid "Salable"
msgstr ""
@@ -1948,10 +1955,10 @@ msgstr ""
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:1037 part/models.py:920
+#: common/models.py:1037 part/admin.py:42 part/models.py:939
#: templates/js/translated/table_filters.js:46
-#: templates/js/translated/table_filters.js:116
-#: templates/js/translated/table_filters.js:496
+#: templates/js/translated/table_filters.js:120
+#: templates/js/translated/table_filters.js:500
msgid "Trackable"
msgstr ""
@@ -1959,10 +1966,10 @@ msgstr ""
msgid "Parts are trackable by default"
msgstr ""
-#: common/models.py:1044 part/models.py:940
+#: common/models.py:1044 part/admin.py:43 part/models.py:959
#: part/templates/part/part_base.html:156
#: templates/js/translated/table_filters.js:42
-#: templates/js/translated/table_filters.js:500
+#: templates/js/translated/table_filters.js:504
msgid "Virtual"
msgstr ""
@@ -1979,791 +1986,837 @@ msgid "Display the import wizard in some part views"
msgstr ""
#: common/models.py:1058
-msgid "Show Price in Forms"
-msgstr ""
-
-#: common/models.py:1059
-msgid "Display part price in some forms"
-msgstr ""
-
-#: common/models.py:1070
-msgid "Show Price in BOM"
-msgstr ""
-
-#: common/models.py:1071
-msgid "Include pricing information in BOM tables"
-msgstr ""
-
-#: common/models.py:1082
-msgid "Show Price History"
-msgstr ""
-
-#: common/models.py:1083
-msgid "Display historical pricing for Part"
-msgstr ""
-
-#: common/models.py:1089
msgid "Show related parts"
msgstr ""
-#: common/models.py:1090
+#: common/models.py:1059
msgid "Display related parts for a part"
msgstr ""
-#: common/models.py:1096
+#: common/models.py:1065
msgid "Create initial stock"
msgstr ""
-#: common/models.py:1097
+#: common/models.py:1066
msgid "Create initial stock on part creation"
msgstr ""
-#: common/models.py:1103
-msgid "Internal Prices"
-msgstr ""
-
-#: common/models.py:1104
-msgid "Enable internal prices for parts"
-msgstr ""
-
-#: common/models.py:1110
-msgid "Internal Price as BOM-Price"
-msgstr ""
-
-#: common/models.py:1111
-msgid "Use the internal price (if set) in BOM-price calculations"
-msgstr ""
-
-#: common/models.py:1117
+#: common/models.py:1072
msgid "Part Name Display Format"
msgstr ""
-#: common/models.py:1118
+#: common/models.py:1073
msgid "Format to display the part name"
msgstr ""
-#: common/models.py:1125
+#: common/models.py:1080
msgid "Part Category Default Icon"
msgstr ""
-#: common/models.py:1126
+#: common/models.py:1081
msgid "Part category default icon (empty means no icon)"
msgstr ""
-#: common/models.py:1131
-msgid "Enable label printing"
+#: common/models.py:1086
+msgid "Pricing Decimal Places"
msgstr ""
-#: common/models.py:1132
-msgid "Enable label printing from the web interface"
+#: common/models.py:1087
+msgid "Number of decimal places to display when rendering pricing data"
msgstr ""
-#: common/models.py:1138
-msgid "Label Image DPI"
+#: common/models.py:1097
+msgid "Pricing Rebuild Time"
msgstr ""
-#: common/models.py:1139
-msgid "DPI resolution when generating image files to supply to label printing plugins"
+#: common/models.py:1098
+msgid "Number of days before part pricing is automatically updated"
msgstr ""
-#: common/models.py:1148
-msgid "Enable Reports"
-msgstr ""
-
-#: common/models.py:1149
-msgid "Enable generation of reports"
-msgstr ""
-
-#: common/models.py:1155 templates/stats.html:25
-msgid "Debug Mode"
-msgstr ""
-
-#: common/models.py:1156
-msgid "Generate reports in debug mode (HTML output)"
-msgstr ""
-
-#: common/models.py:1162
-msgid "Page Size"
-msgstr ""
-
-#: common/models.py:1163
-msgid "Default page size for PDF reports"
-msgstr ""
-
-#: common/models.py:1173
-msgid "Enable Test Reports"
-msgstr ""
-
-#: common/models.py:1174
-msgid "Enable generation of test reports"
-msgstr ""
-
-#: common/models.py:1180
-msgid "Attach Test Reports"
-msgstr ""
-
-#: common/models.py:1181
-msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item"
-msgstr ""
-
-#: common/models.py:1187
-msgid "Globally Unique Serials"
-msgstr ""
-
-#: common/models.py:1188
-msgid "Serial numbers for stock items must be globally unique"
-msgstr ""
-
-#: common/models.py:1194
-msgid "Batch Code Template"
-msgstr ""
-
-#: common/models.py:1195
-msgid "Template for generating default batch codes for stock items"
-msgstr ""
-
-#: common/models.py:1200
-msgid "Stock Expiry"
-msgstr ""
-
-#: common/models.py:1201
-msgid "Enable stock expiry functionality"
-msgstr ""
-
-#: common/models.py:1207
-msgid "Sell Expired Stock"
-msgstr ""
-
-#: common/models.py:1208
-msgid "Allow sale of expired stock"
-msgstr ""
-
-#: common/models.py:1214
-msgid "Stock Stale Time"
-msgstr ""
-
-#: common/models.py:1215
-msgid "Number of days stock items are considered stale before expiring"
-msgstr ""
-
-#: common/models.py:1217
+#: common/models.py:1099 common/models.py:1208
msgid "days"
msgstr ""
-#: common/models.py:1222
+#: common/models.py:1108
+msgid "Internal Prices"
+msgstr ""
+
+#: common/models.py:1109
+msgid "Enable internal prices for parts"
+msgstr ""
+
+#: common/models.py:1115
+msgid "Internal Price Override"
+msgstr ""
+
+#: common/models.py:1116
+msgid "If available, internal prices override price range calculations"
+msgstr ""
+
+#: common/models.py:1122
+msgid "Enable label printing"
+msgstr ""
+
+#: common/models.py:1123
+msgid "Enable label printing from the web interface"
+msgstr ""
+
+#: common/models.py:1129
+msgid "Label Image DPI"
+msgstr ""
+
+#: common/models.py:1130
+msgid "DPI resolution when generating image files to supply to label printing plugins"
+msgstr ""
+
+#: common/models.py:1139
+msgid "Enable Reports"
+msgstr ""
+
+#: common/models.py:1140
+msgid "Enable generation of reports"
+msgstr ""
+
+#: common/models.py:1146 templates/stats.html:25
+msgid "Debug Mode"
+msgstr ""
+
+#: common/models.py:1147
+msgid "Generate reports in debug mode (HTML output)"
+msgstr ""
+
+#: common/models.py:1153
+msgid "Page Size"
+msgstr ""
+
+#: common/models.py:1154
+msgid "Default page size for PDF reports"
+msgstr ""
+
+#: common/models.py:1164
+msgid "Enable Test Reports"
+msgstr ""
+
+#: common/models.py:1165
+msgid "Enable generation of test reports"
+msgstr ""
+
+#: common/models.py:1171
+msgid "Attach Test Reports"
+msgstr ""
+
+#: common/models.py:1172
+msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item"
+msgstr ""
+
+#: common/models.py:1178
+msgid "Globally Unique Serials"
+msgstr ""
+
+#: common/models.py:1179
+msgid "Serial numbers for stock items must be globally unique"
+msgstr ""
+
+#: common/models.py:1185
+msgid "Batch Code Template"
+msgstr ""
+
+#: common/models.py:1186
+msgid "Template for generating default batch codes for stock items"
+msgstr ""
+
+#: common/models.py:1191
+msgid "Stock Expiry"
+msgstr ""
+
+#: common/models.py:1192
+msgid "Enable stock expiry functionality"
+msgstr ""
+
+#: common/models.py:1198
+msgid "Sell Expired Stock"
+msgstr ""
+
+#: common/models.py:1199
+msgid "Allow sale of expired stock"
+msgstr ""
+
+#: common/models.py:1205
+msgid "Stock Stale Time"
+msgstr ""
+
+#: common/models.py:1206
+msgid "Number of days stock items are considered stale before expiring"
+msgstr ""
+
+#: common/models.py:1213
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:1223
+#: common/models.py:1214
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:1229
+#: common/models.py:1220
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:1230
+#: common/models.py:1221
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:1236
+#: common/models.py:1227
msgid "Stock Location Default Icon"
msgstr ""
-#: common/models.py:1237
+#: common/models.py:1228
msgid "Stock location default icon (empty means no icon)"
msgstr ""
-#: common/models.py:1242
+#: common/models.py:1233
msgid "Build Order Reference Pattern"
msgstr ""
-#: common/models.py:1243
+#: common/models.py:1234
msgid "Required pattern for generating Build Order reference field"
msgstr ""
-#: common/models.py:1249
+#: common/models.py:1240
msgid "Sales Order Reference Pattern"
msgstr ""
-#: common/models.py:1250
+#: common/models.py:1241
msgid "Required pattern for generating Sales Order reference field"
msgstr ""
-#: common/models.py:1256
+#: common/models.py:1247
msgid "Sales Order Default Shipment"
msgstr ""
-#: common/models.py:1257
+#: common/models.py:1248
msgid "Enable creation of default shipment with sales orders"
msgstr ""
-#: common/models.py:1263
+#: common/models.py:1254
+msgid "Edit Completed Sales Orders"
+msgstr ""
+
+#: common/models.py:1255
+msgid "Allow editing of sales orders after they have been shipped or completed"
+msgstr ""
+
+#: common/models.py:1261
msgid "Purchase Order Reference Pattern"
msgstr ""
-#: common/models.py:1264
+#: common/models.py:1262
msgid "Required pattern for generating Purchase Order reference field"
msgstr ""
-#: common/models.py:1271
+#: common/models.py:1268
+msgid "Edit Completed Purchase Orders"
+msgstr ""
+
+#: common/models.py:1269
+msgid "Allow editing of purchase orders after they have been shipped or completed"
+msgstr ""
+
+#: common/models.py:1276
msgid "Enable password forgot"
msgstr ""
-#: common/models.py:1272
+#: common/models.py:1277
msgid "Enable password forgot function on the login pages"
msgstr ""
-#: common/models.py:1278
+#: common/models.py:1283
msgid "Enable registration"
msgstr ""
-#: common/models.py:1279
+#: common/models.py:1284
msgid "Enable self-registration for users on the login pages"
msgstr ""
-#: common/models.py:1285
+#: common/models.py:1290
msgid "Enable SSO"
msgstr ""
-#: common/models.py:1286
+#: common/models.py:1291
msgid "Enable SSO on the login pages"
msgstr ""
-#: common/models.py:1292
+#: common/models.py:1297
msgid "Email required"
msgstr ""
-#: common/models.py:1293
+#: common/models.py:1298
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/models.py:1299
+#: common/models.py:1304
msgid "Auto-fill SSO users"
msgstr ""
-#: common/models.py:1300
+#: common/models.py:1305
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/models.py:1306
+#: common/models.py:1311
msgid "Mail twice"
msgstr ""
-#: common/models.py:1307
+#: common/models.py:1312
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/models.py:1313
+#: common/models.py:1318
msgid "Password twice"
msgstr ""
-#: common/models.py:1314
+#: common/models.py:1319
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/models.py:1320
+#: common/models.py:1325
msgid "Group on signup"
msgstr ""
-#: common/models.py:1321
+#: common/models.py:1326
msgid "Group to which new users are assigned on registration"
msgstr ""
-#: common/models.py:1327
+#: common/models.py:1332
msgid "Enforce MFA"
msgstr ""
-#: common/models.py:1328
+#: common/models.py:1333
msgid "Users must use multifactor security."
msgstr ""
-#: common/models.py:1334
+#: common/models.py:1339
msgid "Check plugins on startup"
msgstr ""
-#: common/models.py:1335
+#: common/models.py:1340
msgid "Check that all plugins are installed on startup - enable in container environments"
msgstr ""
-#: common/models.py:1342
+#: common/models.py:1347
msgid "Check plugin signatures"
msgstr ""
-#: common/models.py:1343
+#: common/models.py:1348
msgid "Check and show signatures for plugins"
msgstr ""
-#: common/models.py:1350
+#: common/models.py:1355
msgid "Enable URL integration"
msgstr ""
-#: common/models.py:1351
+#: common/models.py:1356
msgid "Enable plugins to add URL routes"
msgstr ""
-#: common/models.py:1358
+#: common/models.py:1363
msgid "Enable navigation integration"
msgstr ""
-#: common/models.py:1359
+#: common/models.py:1364
msgid "Enable plugins to integrate into navigation"
msgstr ""
-#: common/models.py:1366
+#: common/models.py:1371
msgid "Enable app integration"
msgstr ""
-#: common/models.py:1367
+#: common/models.py:1372
msgid "Enable plugins to add apps"
msgstr ""
-#: common/models.py:1374
+#: common/models.py:1379
msgid "Enable schedule integration"
msgstr ""
-#: common/models.py:1375
+#: common/models.py:1380
msgid "Enable plugins to run scheduled tasks"
msgstr ""
-#: common/models.py:1382
+#: common/models.py:1387
msgid "Enable event integration"
msgstr ""
-#: common/models.py:1383
+#: common/models.py:1388
msgid "Enable plugins to respond to internal events"
msgstr ""
-#: common/models.py:1402 common/models.py:1737
+#: common/models.py:1407 common/models.py:1749
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:1424
+#: common/models.py:1429
msgid "Show subscribed parts"
msgstr ""
-#: common/models.py:1425
+#: common/models.py:1430
msgid "Show subscribed parts on the homepage"
msgstr ""
-#: common/models.py:1431
+#: common/models.py:1436
msgid "Show subscribed categories"
msgstr ""
-#: common/models.py:1432
+#: common/models.py:1437
msgid "Show subscribed part categories on the homepage"
msgstr ""
-#: common/models.py:1438
+#: common/models.py:1443
msgid "Show latest parts"
msgstr ""
-#: common/models.py:1439
+#: common/models.py:1444
msgid "Show latest parts on the homepage"
msgstr ""
-#: common/models.py:1445
+#: common/models.py:1450
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:1446
+#: common/models.py:1451
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:1452
+#: common/models.py:1457
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:1453
+#: common/models.py:1458
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:1459
+#: common/models.py:1464
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:1460
+#: common/models.py:1465
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:1466
+#: common/models.py:1471
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:1467
+#: common/models.py:1472
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:1473
+#: common/models.py:1478
msgid "Show low stock"
msgstr ""
-#: common/models.py:1474
+#: common/models.py:1479
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:1480
+#: common/models.py:1485
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:1481
+#: common/models.py:1486
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:1487
+#: common/models.py:1492
msgid "Show needed stock"
msgstr ""
-#: common/models.py:1488
+#: common/models.py:1493
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:1494
+#: common/models.py:1499
msgid "Show expired stock"
msgstr ""
-#: common/models.py:1495
+#: common/models.py:1500
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:1501
+#: common/models.py:1506
msgid "Show stale stock"
msgstr ""
-#: common/models.py:1502
+#: common/models.py:1507
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:1508
+#: common/models.py:1513
msgid "Show pending builds"
msgstr ""
-#: common/models.py:1509
+#: common/models.py:1514
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:1515
+#: common/models.py:1520
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:1516
+#: common/models.py:1521
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:1522
+#: common/models.py:1527
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:1523
+#: common/models.py:1528
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:1529
+#: common/models.py:1534
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:1530
+#: common/models.py:1535
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:1536
+#: common/models.py:1541
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:1537
+#: common/models.py:1542
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:1543
+#: common/models.py:1548
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:1544
+#: common/models.py:1549
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:1550
+#: common/models.py:1555
+msgid "Show News"
+msgstr ""
+
+#: common/models.py:1556
+msgid "Show news on the homepage"
+msgstr ""
+
+#: common/models.py:1562
msgid "Inline label display"
msgstr ""
-#: common/models.py:1551
+#: common/models.py:1563
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1557
+#: common/models.py:1569
msgid "Inline report display"
msgstr ""
-#: common/models.py:1558
+#: common/models.py:1570
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1564
+#: common/models.py:1576
msgid "Search Parts"
msgstr ""
-#: common/models.py:1565
+#: common/models.py:1577
msgid "Display parts in search preview window"
msgstr ""
-#: common/models.py:1571
+#: common/models.py:1583
msgid "Seach Supplier Parts"
msgstr ""
-#: common/models.py:1572
+#: common/models.py:1584
msgid "Display supplier parts in search preview window"
msgstr ""
-#: common/models.py:1578
+#: common/models.py:1590
msgid "Search Manufacturer Parts"
msgstr ""
-#: common/models.py:1579
+#: common/models.py:1591
msgid "Display manufacturer parts in search preview window"
msgstr ""
-#: common/models.py:1585
+#: common/models.py:1597
msgid "Hide Inactive Parts"
msgstr ""
-#: common/models.py:1586
+#: common/models.py:1598
msgid "Excluded inactive parts from search preview window"
msgstr ""
-#: common/models.py:1592
+#: common/models.py:1604
msgid "Search Categories"
msgstr ""
-#: common/models.py:1593
+#: common/models.py:1605
msgid "Display part categories in search preview window"
msgstr ""
-#: common/models.py:1599
+#: common/models.py:1611
msgid "Search Stock"
msgstr ""
-#: common/models.py:1600
+#: common/models.py:1612
msgid "Display stock items in search preview window"
msgstr ""
-#: common/models.py:1606
+#: common/models.py:1618
msgid "Hide Unavailable Stock Items"
msgstr ""
-#: common/models.py:1607
+#: common/models.py:1619
msgid "Exclude stock items which are not available from the search preview window"
msgstr ""
-#: common/models.py:1613
+#: common/models.py:1625
msgid "Search Locations"
msgstr ""
-#: common/models.py:1614
+#: common/models.py:1626
msgid "Display stock locations in search preview window"
msgstr ""
-#: common/models.py:1620
+#: common/models.py:1632
msgid "Search Companies"
msgstr ""
-#: common/models.py:1621
+#: common/models.py:1633
msgid "Display companies in search preview window"
msgstr ""
-#: common/models.py:1627
+#: common/models.py:1639
msgid "Search Build Orders"
msgstr ""
-#: common/models.py:1628
+#: common/models.py:1640
msgid "Display build orders in search preview window"
msgstr ""
-#: common/models.py:1634
+#: common/models.py:1646
msgid "Search Purchase Orders"
msgstr ""
-#: common/models.py:1635
+#: common/models.py:1647
msgid "Display purchase orders in search preview window"
msgstr ""
-#: common/models.py:1641
+#: common/models.py:1653
msgid "Exclude Inactive Purchase Orders"
msgstr ""
-#: common/models.py:1642
+#: common/models.py:1654
msgid "Exclude inactive purchase orders from search preview window"
msgstr ""
-#: common/models.py:1648
+#: common/models.py:1660
msgid "Search Sales Orders"
msgstr ""
-#: common/models.py:1649
+#: common/models.py:1661
msgid "Display sales orders in search preview window"
msgstr ""
-#: common/models.py:1655
+#: common/models.py:1667
msgid "Exclude Inactive Sales Orders"
msgstr ""
-#: common/models.py:1656
+#: common/models.py:1668
msgid "Exclude inactive sales orders from search preview window"
msgstr ""
-#: common/models.py:1662
+#: common/models.py:1674
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:1663
+#: common/models.py:1675
msgid "Number of results to show in each section of the search preview window"
msgstr ""
-#: common/models.py:1669
+#: common/models.py:1681
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:1670
+#: common/models.py:1682
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:1676
+#: common/models.py:1688
msgid "Escape Key Closes Forms"
msgstr ""
-#: common/models.py:1677
+#: common/models.py:1689
msgid "Use the escape key to close modal forms"
msgstr ""
-#: common/models.py:1683
+#: common/models.py:1695
msgid "Fixed Navbar"
msgstr ""
-#: common/models.py:1684
+#: common/models.py:1696
msgid "The navbar position is fixed to the top of the screen"
msgstr ""
-#: common/models.py:1690
+#: common/models.py:1702
msgid "Date Format"
msgstr ""
-#: common/models.py:1691
+#: common/models.py:1703
msgid "Preferred format for displaying dates"
msgstr ""
-#: common/models.py:1705 part/templates/part/detail.html:41
+#: common/models.py:1717 part/templates/part/detail.html:41
msgid "Part Scheduling"
msgstr ""
-#: common/models.py:1706
+#: common/models.py:1718
msgid "Display part scheduling information"
msgstr ""
-#: common/models.py:1712
+#: common/models.py:1724
msgid "Table String Length"
msgstr ""
-#: common/models.py:1713
+#: common/models.py:1725
msgid "Maximimum length limit for strings displayed in table views"
msgstr ""
-#: common/models.py:1777
+#: common/models.py:1789
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1784 company/serializers.py:372
-#: company/templates/company/supplier_part.html:346 order/models.py:952
-#: templates/js/translated/part.js:1103 templates/js/translated/part.js:2225
+#: common/models.py:1796 company/serializers.py:393 order/models.py:975
+#: templates/js/translated/company.js:1164 templates/js/translated/part.js:1130
+#: templates/js/translated/pricing.js:354
msgid "Price"
msgstr ""
-#: common/models.py:1785
+#: common/models.py:1797
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1945 common/models.py:2123
+#: common/models.py:1957 common/models.py:2135
msgid "Endpoint"
msgstr ""
-#: common/models.py:1946
+#: common/models.py:1958
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:1955
+#: common/models.py:1967
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:1960 part/models.py:935 plugin/models.py:100
-#: templates/js/translated/table_filters.js:34
-#: templates/js/translated/table_filters.js:112
-#: templates/js/translated/table_filters.js:324
-#: templates/js/translated/table_filters.js:450
+#: common/models.py:1972 part/admin.py:36 part/models.py:954
+#: plugin/models.py:100 templates/js/translated/table_filters.js:34
+#: templates/js/translated/table_filters.js:116
+#: templates/js/translated/table_filters.js:328
+#: templates/js/translated/table_filters.js:454
msgid "Active"
msgstr ""
-#: common/models.py:1961
+#: common/models.py:1973
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:1975
+#: common/models.py:1987
msgid "Token"
msgstr ""
-#: common/models.py:1976
+#: common/models.py:1988
msgid "Token for access"
msgstr ""
-#: common/models.py:1983
+#: common/models.py:1995
msgid "Secret"
msgstr ""
-#: common/models.py:1984
+#: common/models.py:1996
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:2090
+#: common/models.py:2102
msgid "Message ID"
msgstr ""
-#: common/models.py:2091
+#: common/models.py:2103
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:2099
+#: common/models.py:2111
msgid "Host"
msgstr ""
-#: common/models.py:2100
+#: common/models.py:2112
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:2107
+#: common/models.py:2119
msgid "Header"
msgstr ""
-#: common/models.py:2108
+#: common/models.py:2120
msgid "Header of this message"
msgstr ""
-#: common/models.py:2114
+#: common/models.py:2126
msgid "Body"
msgstr ""
-#: common/models.py:2115
+#: common/models.py:2127
msgid "Body of this message"
msgstr ""
-#: common/models.py:2124
+#: common/models.py:2136
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:2129
+#: common/models.py:2141
msgid "Worked on"
msgstr ""
-#: common/models.py:2130
+#: common/models.py:2142
msgid "Was the work on this message finished?"
msgstr ""
+#: common/models.py:2302
+msgid "Id"
+msgstr ""
+
+#: common/models.py:2308 templates/js/translated/news.js:34
+msgid "Title"
+msgstr ""
+
+#: common/models.py:2318 templates/js/translated/news.js:50
+msgid "Published"
+msgstr ""
+
+#: common/models.py:2323 templates/InvenTree/settings/plugin.html:62
+#: templates/InvenTree/settings/plugin_settings.html:33
+#: templates/js/translated/news.js:46
+msgid "Author"
+msgstr ""
+
+#: common/models.py:2328 templates/js/translated/news.js:42
+msgid "Summary"
+msgstr ""
+
+#: common/models.py:2333
+msgid "Read"
+msgstr ""
+
+#: common/models.py:2334
+msgid "Was this news item read?"
+msgstr ""
+
#: common/notifications.py:293
#, python-brace-format
msgid "New {verbose_name}"
@@ -2785,15 +2838,15 @@ msgstr ""
msgid "Error raised by plugin"
msgstr ""
-#: common/views.py:85 order/templates/order/purchase_order_detail.html:23
-#: order/views.py:102 part/views.py:112
+#: common/views.py:85 order/templates/order/purchase_order_detail.html:25
+#: order/views.py:102 part/views.py:107
#: templates/patterns/wizard/upload.html:37
msgid "Upload File"
msgstr ""
#: common/views.py:86 order/views.py:103
#: part/templates/part/import_wizard/ajax_match_fields.html:45
-#: part/views.py:113 templates/patterns/wizard/match_fields.html:51
+#: part/views.py:108 templates/patterns/wizard/match_fields.html:51
msgid "Match Fields"
msgstr ""
@@ -2816,298 +2869,301 @@ msgstr ""
msgid "Previous Step"
msgstr ""
-#: company/models.py:99
+#: company/models.py:103
msgid "Company description"
msgstr ""
-#: company/models.py:100
+#: company/models.py:104
msgid "Description of the company"
msgstr ""
-#: company/models.py:106 company/templates/company/company_base.html:100
+#: company/models.py:110 company/templates/company/company_base.html:100
#: templates/InvenTree/settings/plugin_settings.html:55
-#: templates/js/translated/company.js:448
+#: templates/js/translated/company.js:449
msgid "Website"
msgstr ""
-#: company/models.py:107
+#: company/models.py:111
msgid "Company website URL"
msgstr ""
-#: company/models.py:111 company/templates/company/company_base.html:118
+#: company/models.py:115 company/templates/company/company_base.html:118
msgid "Address"
msgstr ""
-#: company/models.py:112
+#: company/models.py:116
msgid "Company address"
msgstr ""
-#: company/models.py:115
+#: company/models.py:119
msgid "Phone number"
msgstr ""
-#: company/models.py:116
+#: company/models.py:120
msgid "Contact phone number"
msgstr ""
-#: company/models.py:119 company/templates/company/company_base.html:132
+#: company/models.py:123 company/templates/company/company_base.html:132
#: templates/InvenTree/settings/user.html:48
msgid "Email"
msgstr ""
-#: company/models.py:119
+#: company/models.py:123
msgid "Contact email address"
msgstr ""
-#: company/models.py:122 company/templates/company/company_base.html:139
+#: company/models.py:126 company/templates/company/company_base.html:139
msgid "Contact"
msgstr ""
-#: company/models.py:123
+#: company/models.py:127
msgid "Point of contact"
msgstr ""
-#: company/models.py:125
+#: company/models.py:129
msgid "Link to external company information"
msgstr ""
-#: company/models.py:136 part/models.py:829
+#: company/models.py:140 part/models.py:848
msgid "Image"
msgstr ""
-#: company/models.py:139 company/templates/company/detail.html:185
+#: company/models.py:143 company/templates/company/detail.html:185
msgid "Company Notes"
msgstr ""
-#: company/models.py:141
+#: company/models.py:145
msgid "is customer"
msgstr ""
-#: company/models.py:141
+#: company/models.py:145
msgid "Do you sell items to this company?"
msgstr ""
-#: company/models.py:143
+#: company/models.py:147
msgid "is supplier"
msgstr ""
-#: company/models.py:143
+#: company/models.py:147
msgid "Do you purchase items from this company?"
msgstr ""
-#: company/models.py:145
+#: company/models.py:149
msgid "is manufacturer"
msgstr ""
-#: company/models.py:145
+#: company/models.py:149
msgid "Does this company manufacture parts?"
msgstr ""
-#: company/models.py:149 company/serializers.py:378
-#: company/templates/company/company_base.html:106 part/serializers.py:153
-#: part/serializers.py:184 stock/serializers.py:178
+#: company/models.py:153 company/serializers.py:399
+#: company/templates/company/company_base.html:106 part/models.py:2681
+#: part/serializers.py:153 part/serializers.py:181 stock/serializers.py:182
+#: templates/InvenTree/settings/pricing.html:59
msgid "Currency"
msgstr ""
-#: company/models.py:152
+#: company/models.py:156
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:249 company/models.py:483 stock/models.py:600
-#: stock/serializers.py:85 stock/templates/stock/item_base.html:143
-#: templates/js/translated/bom.js:568
+#: company/models.py:253 company/models.py:487 stock/models.py:616
+#: stock/serializers.py:89 stock/templates/stock/item_base.html:143
+#: templates/js/translated/bom.js:581
msgid "Base Part"
msgstr ""
-#: company/models.py:253 company/models.py:487
+#: company/models.py:257 company/models.py:491
msgid "Select part"
msgstr ""
-#: company/models.py:264 company/templates/company/company_base.html:76
+#: company/models.py:268 company/templates/company/company_base.html:76
#: company/templates/company/manufacturer_part.html:90
#: company/templates/company/supplier_part.html:152
#: stock/templates/stock/item_base.html:210
-#: templates/js/translated/company.js:432
-#: templates/js/translated/company.js:533
-#: templates/js/translated/company.js:668
-#: templates/js/translated/company.js:956 templates/js/translated/part.js:236
-#: templates/js/translated/table_filters.js:427
+#: templates/js/translated/company.js:433
+#: templates/js/translated/company.js:534
+#: templates/js/translated/company.js:669
+#: templates/js/translated/company.js:957 templates/js/translated/part.js:232
+#: templates/js/translated/table_filters.js:431
msgid "Manufacturer"
msgstr ""
-#: company/models.py:265 templates/js/translated/part.js:237
+#: company/models.py:269 templates/js/translated/part.js:233
msgid "Select manufacturer"
msgstr ""
-#: company/models.py:271 company/templates/company/manufacturer_part.html:101
+#: company/models.py:275 company/templates/company/manufacturer_part.html:101
#: company/templates/company/supplier_part.html:160
-#: templates/js/translated/company.js:304
-#: templates/js/translated/company.js:532
-#: templates/js/translated/company.js:684
-#: templates/js/translated/company.js:975 templates/js/translated/order.js:2239
-#: templates/js/translated/part.js:247 templates/js/translated/part.js:1025
+#: templates/js/translated/company.js:305
+#: templates/js/translated/company.js:533
+#: templates/js/translated/company.js:685
+#: templates/js/translated/company.js:976 templates/js/translated/order.js:2278
+#: templates/js/translated/part.js:243 templates/js/translated/part.js:1052
msgid "MPN"
msgstr ""
-#: company/models.py:272 templates/js/translated/part.js:248
+#: company/models.py:276 templates/js/translated/part.js:244
msgid "Manufacturer Part Number"
msgstr ""
-#: company/models.py:278
+#: company/models.py:282
msgid "URL for external manufacturer part link"
msgstr ""
-#: company/models.py:284
+#: company/models.py:288
msgid "Manufacturer part description"
msgstr ""
-#: company/models.py:329 company/models.py:353 company/models.py:506
+#: company/models.py:333 company/models.py:357 company/models.py:510
#: company/templates/company/manufacturer_part.html:7
#: company/templates/company/manufacturer_part.html:24
#: stock/templates/stock/item_base.html:220
msgid "Manufacturer Part"
msgstr ""
-#: company/models.py:360
+#: company/models.py:364
msgid "Parameter name"
msgstr ""
-#: company/models.py:366
+#: company/models.py:370
#: report/templates/report/inventree_test_report_base.html:95
-#: stock/models.py:2097 templates/js/translated/company.js:581
-#: templates/js/translated/company.js:799 templates/js/translated/part.js:847
-#: templates/js/translated/stock.js:1360
+#: stock/models.py:2113 templates/js/translated/company.js:582
+#: templates/js/translated/company.js:800 templates/js/translated/part.js:874
+#: templates/js/translated/stock.js:1379
msgid "Value"
msgstr ""
-#: company/models.py:367
+#: company/models.py:371
msgid "Parameter value"
msgstr ""
-#: company/models.py:373 part/models.py:902 part/models.py:2434
-#: part/templates/part/part_base.html:286
+#: company/models.py:377 part/admin.py:26 part/models.py:921
+#: part/models.py:3047 part/templates/part/part_base.html:286
#: templates/InvenTree/settings/settings.html:349
-#: templates/js/translated/company.js:805 templates/js/translated/part.js:853
+#: templates/js/translated/company.js:806 templates/js/translated/part.js:880
msgid "Units"
msgstr ""
-#: company/models.py:374
+#: company/models.py:378
msgid "Parameter units"
msgstr ""
-#: company/models.py:451
+#: company/models.py:455
msgid "Linked manufacturer part must reference the same base part"
msgstr ""
-#: company/models.py:493 company/templates/company/company_base.html:81
-#: company/templates/company/supplier_part.html:136 order/models.py:263
-#: order/templates/order/order_base.html:121 part/bom.py:237 part/bom.py:265
+#: company/models.py:497 company/templates/company/company_base.html:81
+#: company/templates/company/supplier_part.html:136 order/models.py:264
+#: order/templates/order/order_base.html:121 part/bom.py:252 part/bom.py:280
#: stock/templates/stock/item_base.html:227
#: templates/email/overdue_purchase_order.html:16
-#: templates/js/translated/company.js:303
-#: templates/js/translated/company.js:436
-#: templates/js/translated/company.js:929 templates/js/translated/order.js:1975
-#: templates/js/translated/part.js:217 templates/js/translated/part.js:993
-#: templates/js/translated/table_filters.js:431
+#: templates/js/translated/company.js:304
+#: templates/js/translated/company.js:437
+#: templates/js/translated/company.js:930 templates/js/translated/order.js:2009
+#: templates/js/translated/part.js:213 templates/js/translated/part.js:1020
+#: templates/js/translated/pricing.js:231
+#: templates/js/translated/table_filters.js:435
msgid "Supplier"
msgstr ""
-#: company/models.py:494 templates/js/translated/part.js:218
+#: company/models.py:498 templates/js/translated/part.js:214
msgid "Select supplier"
msgstr ""
-#: company/models.py:499 company/templates/company/supplier_part.html:146
-#: part/bom.py:238 part/bom.py:266 templates/js/translated/company.js:302
-#: templates/js/translated/order.js:2226 templates/js/translated/part.js:228
-#: templates/js/translated/part.js:1011
+#: company/models.py:503 company/templates/company/supplier_part.html:146
+#: part/bom.py:253 part/bom.py:281 templates/js/translated/company.js:303
+#: templates/js/translated/order.js:2265 templates/js/translated/part.js:224
+#: templates/js/translated/part.js:1038 templates/js/translated/pricing.js:243
msgid "SKU"
msgstr ""
-#: company/models.py:500 templates/js/translated/part.js:229
+#: company/models.py:504 templates/js/translated/part.js:225
msgid "Supplier stock keeping unit"
msgstr ""
-#: company/models.py:507
+#: company/models.py:511
msgid "Select manufacturer part"
msgstr ""
-#: company/models.py:513
+#: company/models.py:517
msgid "URL for external supplier part link"
msgstr ""
-#: company/models.py:519
+#: company/models.py:523
msgid "Supplier part description"
msgstr ""
-#: company/models.py:524 company/templates/company/supplier_part.html:181
-#: part/models.py:2687 part/templates/part/upload_bom.html:59
+#: company/models.py:528 company/templates/company/supplier_part.html:181
+#: part/admin.py:225 part/models.py:3300 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_po_report.html:92
-#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:403
+#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:397
msgid "Note"
msgstr ""
-#: company/models.py:528 part/models.py:1788
+#: company/models.py:532 part/models.py:1817
msgid "base cost"
msgstr ""
-#: company/models.py:528 part/models.py:1788
+#: company/models.py:532 part/models.py:1817
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
-#: company/models.py:530 company/templates/company/supplier_part.html:167
-#: stock/models.py:626 stock/templates/stock/item_base.html:243
-#: templates/js/translated/company.js:991 templates/js/translated/stock.js:1978
+#: company/models.py:534 company/templates/company/supplier_part.html:167
+#: stock/admin.py:101 stock/models.py:642
+#: stock/templates/stock/item_base.html:243
+#: templates/js/translated/company.js:992 templates/js/translated/stock.js:1996
msgid "Packaging"
msgstr ""
-#: company/models.py:530
+#: company/models.py:534
msgid "Part packaging"
msgstr ""
-#: company/models.py:533 company/serializers.py:242
+#: company/models.py:537 company/serializers.py:242
#: company/templates/company/supplier_part.html:174
-#: templates/js/translated/company.js:996 templates/js/translated/order.js:820
-#: templates/js/translated/order.js:1215 templates/js/translated/order.js:1470
-#: templates/js/translated/order.js:2270 templates/js/translated/order.js:2287
-#: templates/js/translated/part.js:1043 templates/js/translated/part.js:1095
+#: templates/js/translated/company.js:997 templates/js/translated/order.js:826
+#: templates/js/translated/order.js:1249 templates/js/translated/order.js:1504
+#: templates/js/translated/order.js:2309 templates/js/translated/order.js:2326
+#: templates/js/translated/part.js:1070 templates/js/translated/part.js:1122
msgid "Pack Quantity"
msgstr ""
-#: company/models.py:534
+#: company/models.py:538
msgid "Unit quantity supplied in a single pack"
msgstr ""
-#: company/models.py:540 part/models.py:1790
+#: company/models.py:544 part/models.py:1819
msgid "multiple"
msgstr ""
-#: company/models.py:540
+#: company/models.py:544
msgid "Order multiple"
msgstr ""
-#: company/models.py:548 company/templates/company/supplier_part.html:115
+#: company/models.py:552 company/templates/company/supplier_part.html:115
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:18
-#: templates/js/translated/bom.js:963 templates/js/translated/build.js:1873
-#: templates/js/translated/build.js:2754 templates/js/translated/part.js:598
-#: templates/js/translated/part.js:601
-#: templates/js/translated/table_filters.js:194
+#: templates/js/translated/bom.js:1117 templates/js/translated/build.js:1873
+#: templates/js/translated/build.js:2754 templates/js/translated/part.js:612
+#: templates/js/translated/part.js:615
+#: templates/js/translated/table_filters.js:198
msgid "Available"
msgstr ""
-#: company/models.py:549
+#: company/models.py:553
msgid "Quantity available from supplier"
msgstr ""
-#: company/models.py:553
+#: company/models.py:557
msgid "Availability Updated"
msgstr ""
-#: company/models.py:554
+#: company/models.py:558
msgid "Date of last update of availability data"
msgstr ""
-#: company/models.py:682
+#: company/models.py:686
msgid "last updated"
msgstr ""
@@ -3121,7 +3177,7 @@ msgstr ""
#: company/templates/company/company_base.html:8
#: company/templates/company/company_base.html:12
-#: templates/InvenTree/search.html:179 templates/js/translated/company.js:421
+#: templates/InvenTree/search.html:179 templates/js/translated/company.js:422
msgid "Company"
msgstr ""
@@ -3139,7 +3195,7 @@ msgid "Edit company information"
msgstr ""
#: company/templates/company/company_base.html:34
-#: templates/js/translated/company.js:364
+#: templates/js/translated/company.js:365
msgid "Edit Company"
msgstr ""
@@ -3162,14 +3218,14 @@ msgstr ""
msgid "Download image from URL"
msgstr ""
-#: company/templates/company/company_base.html:86 order/models.py:646
-#: order/templates/order/sales_order_base.html:116 stock/models.py:645
-#: stock/models.py:646 stock/serializers.py:813
+#: company/templates/company/company_base.html:86 order/models.py:665
+#: order/templates/order/sales_order_base.html:116 stock/models.py:661
+#: stock/models.py:662 stock/serializers.py:812
#: stock/templates/stock/item_base.html:399
#: templates/email/overdue_sales_order.html:16
-#: templates/js/translated/company.js:428 templates/js/translated/order.js:2808
-#: templates/js/translated/stock.js:2569
-#: templates/js/translated/table_filters.js:435
+#: templates/js/translated/company.js:429 templates/js/translated/order.js:2819
+#: templates/js/translated/stock.js:2587
+#: templates/js/translated/table_filters.js:439
msgid "Customer"
msgstr ""
@@ -3182,12 +3238,12 @@ msgid "Phone"
msgstr ""
#: company/templates/company/company_base.html:208
-#: part/templates/part/part_base.html:499
+#: part/templates/part/part_base.html:514
msgid "Upload Image"
msgstr ""
#: company/templates/company/company_base.html:223
-#: part/templates/part/part_base.html:554
+#: part/templates/part/part_base.html:569
msgid "Download Image"
msgstr ""
@@ -3203,7 +3259,7 @@ msgstr ""
#: company/templates/company/detail.html:19
#: company/templates/company/manufacturer_part.html:123
-#: part/templates/part/detail.html:359
+#: part/templates/part/detail.html:357
msgid "New Supplier Part"
msgstr ""
@@ -3232,7 +3288,7 @@ msgstr ""
msgid "Create new manufacturer part"
msgstr ""
-#: company/templates/company/detail.html:66 part/templates/part/detail.html:389
+#: company/templates/company/detail.html:66 part/templates/part/detail.html:387
msgid "New Manufacturer Part"
msgstr ""
@@ -3246,7 +3302,7 @@ msgstr ""
#: order/templates/order/order_base.html:13
#: order/templates/order/purchase_orders.html:8
#: order/templates/order/purchase_orders.html:12
-#: part/templates/part/detail.html:84 part/templates/part/part_sidebar.html:37
+#: part/templates/part/detail.html:84 part/templates/part/part_sidebar.html:35
#: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200
#: templates/InvenTree/settings/sidebar.html:49
#: templates/js/translated/search.js:293 templates/navbar.html:50
@@ -3269,7 +3325,7 @@ msgstr ""
#: order/templates/order/sales_order_base.html:13
#: order/templates/order/sales_orders.html:8
#: order/templates/order/sales_orders.html:15
-#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:41
+#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:39
#: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220
#: templates/InvenTree/settings/sidebar.html:51
#: templates/js/translated/search.js:317 templates/navbar.html:61
@@ -3297,8 +3353,7 @@ msgid "Supplier List"
msgstr ""
#: company/templates/company/manufacturer_part.html:15 company/views.py:38
-#: part/templates/part/prices.html:172 templates/InvenTree/search.html:181
-#: templates/navbar.html:49
+#: templates/InvenTree/search.html:181 templates/navbar.html:49
msgid "Manufacturers"
msgstr ""
@@ -3309,12 +3364,12 @@ msgid "Order part"
msgstr ""
#: company/templates/company/manufacturer_part.html:39
-#: templates/js/translated/company.js:716
+#: templates/js/translated/company.js:717
msgid "Edit manufacturer part"
msgstr ""
#: company/templates/company/manufacturer_part.html:43
-#: templates/js/translated/company.js:717
+#: templates/js/translated/company.js:718
msgid "Delete manufacturer part"
msgstr ""
@@ -3329,35 +3384,36 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:119
#: company/templates/company/supplier_part.html:15 company/views.py:32
-#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:168
+#: part/admin.py:46 part/templates/part/part_sidebar.html:33
#: templates/InvenTree/search.html:191 templates/navbar.html:48
msgid "Suppliers"
msgstr ""
#: company/templates/company/manufacturer_part.html:136
-#: part/templates/part/detail.html:370
+#: part/templates/part/detail.html:368
msgid "Delete supplier parts"
msgstr ""
#: company/templates/company/manufacturer_part.html:136
#: company/templates/company/manufacturer_part.html:183
-#: part/templates/part/detail.html:371 part/templates/part/detail.html:401
-#: templates/js/translated/forms.js:455 templates/js/translated/helpers.js:36
-#: users/models.py:222
+#: part/templates/part/detail.html:369 part/templates/part/detail.html:399
+#: templates/js/translated/forms.js:455 templates/js/translated/helpers.js:38
+#: templates/js/translated/part.js:340 templates/js/translated/stock.js:184
+#: users/models.py:224
msgid "Delete"
msgstr ""
#: company/templates/company/manufacturer_part.html:166
#: company/templates/company/manufacturer_part_sidebar.html:5
#: part/templates/part/category_sidebar.html:19
-#: part/templates/part/detail.html:186 part/templates/part/part_sidebar.html:8
+#: part/templates/part/detail.html:184 part/templates/part/part_sidebar.html:8
msgid "Parameters"
msgstr ""
#: company/templates/company/manufacturer_part.html:170
-#: part/templates/part/detail.html:191
+#: part/templates/part/detail.html:189
#: templates/InvenTree/settings/category.html:12
-#: templates/InvenTree/settings/part.html:68
+#: templates/InvenTree/settings/part.html:62
msgid "New Parameter"
msgstr ""
@@ -3366,7 +3422,7 @@ msgid "Delete parameters"
msgstr ""
#: company/templates/company/manufacturer_part.html:245
-#: part/templates/part/detail.html:827
+#: part/templates/part/detail.html:825
msgid "Add Parameter"
msgstr ""
@@ -3387,10 +3443,10 @@ msgid "Assigned Stock Items"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:609
+#: company/templates/company/supplier_part.html:24 stock/models.py:625
#: stock/templates/stock/item_base.html:236
-#: templates/js/translated/company.js:945 templates/js/translated/order.js:1135
-#: templates/js/translated/stock.js:1935
+#: templates/js/translated/company.js:946 templates/js/translated/order.js:1169
+#: templates/js/translated/stock.js:1954
msgid "Supplier Part"
msgstr ""
@@ -3441,13 +3497,13 @@ msgstr ""
#: company/templates/company/supplier_part.html:64
#: company/templates/company/supplier_part.html:65
-#: templates/js/translated/company.js:247
+#: templates/js/translated/company.js:248
msgid "Edit Supplier Part"
msgstr ""
#: company/templates/company/supplier_part.html:69
#: company/templates/company/supplier_part.html:70
-#: templates/js/translated/company.js:222
+#: templates/js/translated/company.js:223
msgid "Duplicate Supplier Part"
msgstr ""
@@ -3482,7 +3538,7 @@ msgstr ""
#: company/templates/company/supplier_part.html:204
#: part/templates/part/detail.html:25 stock/templates/stock/location.html:198
-#: templates/js/translated/stock.js:435
+#: templates/js/translated/stock.js:454
msgid "New Stock Item"
msgstr ""
@@ -3492,47 +3548,20 @@ msgid "Supplier Part Orders"
msgstr ""
#: company/templates/company/supplier_part.html:242
-#: part/templates/part/prices.html:10
msgid "Pricing Information"
msgstr ""
#: company/templates/company/supplier_part.html:247
-#: company/templates/company/supplier_part.html:388
-#: part/templates/part/prices.html:276 templates/js/translated/part.js:2297
+#: company/templates/company/supplier_part.html:317
+#: templates/js/translated/pricing.js:413
msgid "Add Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:282
+#: company/templates/company/supplier_part.html:285
msgid "Link Barcode to Supplier Part"
msgstr ""
-#: company/templates/company/supplier_part.html:300
-msgid "No price break information found"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:314
-#: templates/js/translated/part.js:2307
-msgid "Delete Price Break"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:328
-#: templates/js/translated/part.js:2321
-msgid "Edit Price Break"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:353
-msgid "Edit price break"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:354
-msgid "Delete price break"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:363
-msgid "Last updated"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:444
+#: company/templates/company/supplier_part.html:375
msgid "Update Part Availability"
msgstr ""
@@ -3542,9 +3571,9 @@ msgstr ""
#: stock/templates/stock/stock_app_base.html:10
#: templates/InvenTree/search.html:153
#: templates/InvenTree/settings/sidebar.html:45
-#: templates/js/translated/part.js:749 templates/js/translated/part.js:1335
-#: templates/js/translated/part.js:1501 templates/js/translated/stock.js:959
-#: templates/js/translated/stock.js:1760 templates/navbar.html:31
+#: templates/js/translated/part.js:763 templates/js/translated/part.js:1356
+#: templates/js/translated/part.js:1512 templates/js/translated/stock.js:978
+#: templates/js/translated/stock.js:1779 templates/navbar.html:31
msgid "Stock"
msgstr ""
@@ -3558,19 +3587,20 @@ msgid "Supplier Part Pricing"
msgstr ""
#: company/templates/company/supplier_part_navbar.html:29
-#: part/templates/part/part_sidebar.html:31
+#: part/templates/part/part_sidebar.html:30
+#: templates/InvenTree/settings/sidebar.html:35
msgid "Pricing"
msgstr ""
#: company/templates/company/supplier_part_sidebar.html:5
#: part/templates/part/category.html:198
-#: part/templates/part/category_sidebar.html:17
+#: part/templates/part/category_sidebar.html:17 stock/admin.py:31
#: stock/templates/stock/location.html:168
#: stock/templates/stock/location.html:182
#: stock/templates/stock/location.html:194
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:155 templates/js/translated/search.js:225
-#: templates/js/translated/stock.js:2446 users/models.py:40
+#: templates/js/translated/stock.js:2464 users/models.py:40
msgid "Stock Items"
msgstr ""
@@ -3672,438 +3702,439 @@ msgstr ""
msgid "No matching purchase order found"
msgstr ""
-#: order/models.py:82
+#: order/models.py:83
msgid "Order description"
msgstr ""
-#: order/models.py:84 order/models.py:1260
+#: order/models.py:85 order/models.py:1283
msgid "Link to external page"
msgstr ""
-#: order/models.py:92
+#: order/models.py:93
msgid "Created By"
msgstr ""
-#: order/models.py:99
+#: order/models.py:100
msgid "User or group responsible for this order"
msgstr ""
-#: order/models.py:104
+#: order/models.py:105
msgid "Order notes"
msgstr ""
-#: order/models.py:241 order/models.py:633
+#: order/models.py:242 order/models.py:652
msgid "Order reference"
msgstr ""
-#: order/models.py:249 order/models.py:651
+#: order/models.py:250 order/models.py:670
msgid "Purchase order status"
msgstr ""
-#: order/models.py:264
+#: order/models.py:265
msgid "Company from which the items are being ordered"
msgstr ""
-#: order/models.py:267 order/templates/order/order_base.html:133
-#: templates/js/translated/order.js:1984
+#: order/models.py:268 order/templates/order/order_base.html:133
+#: templates/js/translated/order.js:2018
msgid "Supplier Reference"
msgstr ""
-#: order/models.py:267
+#: order/models.py:268
msgid "Supplier order reference code"
msgstr ""
-#: order/models.py:274
+#: order/models.py:275
msgid "received by"
msgstr ""
-#: order/models.py:279
+#: order/models.py:280
msgid "Issue Date"
msgstr ""
-#: order/models.py:280
+#: order/models.py:281
msgid "Date order was issued"
msgstr ""
-#: order/models.py:285
+#: order/models.py:286
msgid "Target Delivery Date"
msgstr ""
-#: order/models.py:286
+#: order/models.py:287
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr ""
-#: order/models.py:292
+#: order/models.py:293
msgid "Date order was completed"
msgstr ""
-#: order/models.py:328
+#: order/models.py:332
msgid "Part supplier must match PO supplier"
msgstr ""
-#: order/models.py:472
+#: order/models.py:491
msgid "Quantity must be a positive number"
msgstr ""
-#: order/models.py:647
+#: order/models.py:666
msgid "Company to which the items are being sold"
msgstr ""
-#: order/models.py:658
+#: order/models.py:677
msgid "Customer Reference "
msgstr ""
-#: order/models.py:658
+#: order/models.py:677
msgid "Customer order reference code"
msgstr ""
-#: order/models.py:663
+#: order/models.py:682
msgid "Target date for order completion. Order will be overdue after this date."
msgstr ""
-#: order/models.py:666 order/models.py:1218
-#: templates/js/translated/order.js:2855 templates/js/translated/order.js:3017
+#: order/models.py:685 order/models.py:1241
+#: templates/js/translated/order.js:2866 templates/js/translated/order.js:3028
msgid "Shipment Date"
msgstr ""
-#: order/models.py:673
+#: order/models.py:692
msgid "shipped by"
msgstr ""
-#: order/models.py:728
+#: order/models.py:747
msgid "Order cannot be completed as no parts have been assigned"
msgstr ""
-#: order/models.py:732
+#: order/models.py:751
msgid "Only a pending order can be marked as complete"
msgstr ""
-#: order/models.py:735 templates/js/translated/order.js:419
+#: order/models.py:754 templates/js/translated/order.js:419
msgid "Order cannot be completed as there are incomplete shipments"
msgstr ""
-#: order/models.py:738
+#: order/models.py:757
msgid "Order cannot be completed as there are incomplete line items"
msgstr ""
-#: order/models.py:912
+#: order/models.py:935
msgid "Item quantity"
msgstr ""
-#: order/models.py:918
+#: order/models.py:941
msgid "Line item reference"
msgstr ""
-#: order/models.py:920
+#: order/models.py:943
msgid "Line item notes"
msgstr ""
-#: order/models.py:925
+#: order/models.py:948
msgid "Target shipping date for this line item"
msgstr ""
-#: order/models.py:943
+#: order/models.py:966
msgid "Context"
msgstr ""
-#: order/models.py:944
+#: order/models.py:967
msgid "Additional context for this line"
msgstr ""
-#: order/models.py:953
+#: order/models.py:976
msgid "Unit price"
msgstr ""
-#: order/models.py:983
+#: order/models.py:1006
msgid "Supplier part must match supplier"
msgstr ""
-#: order/models.py:991
+#: order/models.py:1014
msgid "deleted"
msgstr ""
-#: order/models.py:997 order/models.py:1077 order/models.py:1118
-#: order/models.py:1212 order/models.py:1344
-#: templates/js/translated/order.js:3473
+#: order/models.py:1020 order/models.py:1100 order/models.py:1141
+#: order/models.py:1235 order/models.py:1367
+#: templates/js/translated/order.js:3484
msgid "Order"
msgstr ""
-#: order/models.py:998 order/models.py:1077
+#: order/models.py:1021 order/models.py:1100
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report.html:76
#: stock/templates/stock/item_base.html:182
#: templates/email/overdue_purchase_order.html:15
-#: templates/js/translated/order.js:619 templates/js/translated/order.js:1136
-#: templates/js/translated/order.js:1959 templates/js/translated/part.js:970
-#: templates/js/translated/stock.js:1915 templates/js/translated/stock.js:2550
+#: templates/js/translated/order.js:619 templates/js/translated/order.js:1170
+#: templates/js/translated/order.js:1993 templates/js/translated/part.js:997
+#: templates/js/translated/pricing.js:515 templates/js/translated/stock.js:1934
+#: templates/js/translated/stock.js:2568
msgid "Purchase Order"
msgstr ""
-#: order/models.py:1016
+#: order/models.py:1039
msgid "Supplier part"
msgstr ""
-#: order/models.py:1023 order/templates/order/order_base.html:178
-#: templates/js/translated/order.js:1641 templates/js/translated/order.js:2373
-#: templates/js/translated/part.js:1087 templates/js/translated/part.js:1125
-#: templates/js/translated/table_filters.js:346
+#: order/models.py:1046 order/templates/order/order_base.html:178
+#: templates/js/translated/order.js:1675 templates/js/translated/order.js:2396
+#: templates/js/translated/part.js:1114 templates/js/translated/part.js:1146
+#: templates/js/translated/table_filters.js:350
msgid "Received"
msgstr ""
-#: order/models.py:1024
+#: order/models.py:1047
msgid "Number of items received"
msgstr ""
-#: order/models.py:1031 part/templates/part/prices.html:181 stock/models.py:741
-#: stock/serializers.py:169 stock/templates/stock/item_base.html:189
-#: templates/js/translated/stock.js:1966
+#: order/models.py:1054 stock/models.py:757 stock/serializers.py:173
+#: stock/templates/stock/item_base.html:189
+#: templates/js/translated/stock.js:1985
msgid "Purchase Price"
msgstr ""
-#: order/models.py:1032
+#: order/models.py:1055
msgid "Unit purchase price"
msgstr ""
-#: order/models.py:1040
+#: order/models.py:1063
msgid "Where does the Purchaser want this item to be stored?"
msgstr ""
-#: order/models.py:1106
+#: order/models.py:1129
msgid "Virtual part cannot be assigned to a sales order"
msgstr ""
-#: order/models.py:1111
+#: order/models.py:1134
msgid "Only salable parts can be assigned to a sales order"
msgstr ""
-#: order/models.py:1137 part/templates/part/part_pricing.html:115
-#: part/templates/part/prices.html:121 part/templates/part/prices.html:290
+#: order/models.py:1160 part/templates/part/part_pricing.html:107
+#: part/templates/part/prices.html:139 templates/js/translated/pricing.js:665
msgid "Sale Price"
msgstr ""
-#: order/models.py:1138
+#: order/models.py:1161
msgid "Unit sale price"
msgstr ""
-#: order/models.py:1143
+#: order/models.py:1166
msgid "Shipped quantity"
msgstr ""
-#: order/models.py:1219
+#: order/models.py:1242
msgid "Date of shipment"
msgstr ""
-#: order/models.py:1226
+#: order/models.py:1249
msgid "Checked By"
msgstr ""
-#: order/models.py:1227
+#: order/models.py:1250
msgid "User who checked this shipment"
msgstr ""
-#: order/models.py:1234 order/models.py:1419 order/serializers.py:1228
-#: order/serializers.py:1356 templates/js/translated/model_renderers.js:314
+#: order/models.py:1257 order/models.py:1442 order/serializers.py:1221
+#: order/serializers.py:1349 templates/js/translated/model_renderers.js:314
msgid "Shipment"
msgstr ""
-#: order/models.py:1235
+#: order/models.py:1258
msgid "Shipment number"
msgstr ""
-#: order/models.py:1239
+#: order/models.py:1262
msgid "Shipment notes"
msgstr ""
-#: order/models.py:1245
+#: order/models.py:1268
msgid "Tracking Number"
msgstr ""
-#: order/models.py:1246
+#: order/models.py:1269
msgid "Shipment tracking information"
msgstr ""
-#: order/models.py:1253
+#: order/models.py:1276
msgid "Invoice Number"
msgstr ""
-#: order/models.py:1254
+#: order/models.py:1277
msgid "Reference number for associated invoice"
msgstr ""
-#: order/models.py:1272
+#: order/models.py:1295
msgid "Shipment has already been sent"
msgstr ""
-#: order/models.py:1275
+#: order/models.py:1298
msgid "Shipment has no allocated stock items"
msgstr ""
-#: order/models.py:1378 order/models.py:1380
+#: order/models.py:1401 order/models.py:1403
msgid "Stock item has not been assigned"
msgstr ""
-#: order/models.py:1384
+#: order/models.py:1407
msgid "Cannot allocate stock item to a line with a different part"
msgstr ""
-#: order/models.py:1386
+#: order/models.py:1409
msgid "Cannot allocate stock to a line without a part"
msgstr ""
-#: order/models.py:1389
+#: order/models.py:1412
msgid "Allocation quantity cannot exceed stock quantity"
msgstr ""
-#: order/models.py:1399 order/serializers.py:1090
+#: order/models.py:1422 order/serializers.py:1083
msgid "Quantity must be 1 for serialized stock item"
msgstr ""
-#: order/models.py:1402
+#: order/models.py:1425
msgid "Sales order does not match shipment"
msgstr ""
-#: order/models.py:1403
+#: order/models.py:1426
msgid "Shipment does not match sales order"
msgstr ""
-#: order/models.py:1411
+#: order/models.py:1434
msgid "Line"
msgstr ""
-#: order/models.py:1420
+#: order/models.py:1443
msgid "Sales order shipment reference"
msgstr ""
-#: order/models.py:1433 templates/js/translated/notification.js:55
+#: order/models.py:1456 templates/js/translated/notification.js:55
msgid "Item"
msgstr ""
-#: order/models.py:1434
+#: order/models.py:1457
msgid "Select stock item to allocate"
msgstr ""
-#: order/models.py:1437
+#: order/models.py:1460
msgid "Enter stock allocation quantity"
msgstr ""
-#: order/serializers.py:67
+#: order/serializers.py:63
msgid "Price currency"
msgstr ""
-#: order/serializers.py:199
+#: order/serializers.py:193
msgid "Order cannot be cancelled"
msgstr ""
-#: order/serializers.py:209 order/serializers.py:1108
+#: order/serializers.py:203 order/serializers.py:1101
msgid "Allow order to be closed with incomplete line items"
msgstr ""
-#: order/serializers.py:220 order/serializers.py:1119
+#: order/serializers.py:214 order/serializers.py:1112
msgid "Order has incomplete line items"
msgstr ""
-#: order/serializers.py:311
+#: order/serializers.py:305
msgid "Order is not open"
msgstr ""
-#: order/serializers.py:335
+#: order/serializers.py:327
msgid "Purchase price currency"
msgstr ""
-#: order/serializers.py:354
+#: order/serializers.py:346
msgid "Supplier part must be specified"
msgstr ""
-#: order/serializers.py:359
+#: order/serializers.py:351
msgid "Purchase order must be specified"
msgstr ""
-#: order/serializers.py:365
+#: order/serializers.py:357
msgid "Supplier must match purchase order"
msgstr ""
-#: order/serializers.py:366
+#: order/serializers.py:358
msgid "Purchase order must match supplier"
msgstr ""
-#: order/serializers.py:430 order/serializers.py:1196
+#: order/serializers.py:421 order/serializers.py:1189
msgid "Line Item"
msgstr ""
-#: order/serializers.py:436
+#: order/serializers.py:427
msgid "Line item does not match purchase order"
msgstr ""
-#: order/serializers.py:446 order/serializers.py:557
+#: order/serializers.py:437 order/serializers.py:548
msgid "Select destination location for received items"
msgstr ""
-#: order/serializers.py:465 templates/js/translated/order.js:1497
+#: order/serializers.py:456 templates/js/translated/order.js:1531
msgid "Enter batch code for incoming stock items"
msgstr ""
-#: order/serializers.py:473 templates/js/translated/order.js:1508
+#: order/serializers.py:464 templates/js/translated/order.js:1542
msgid "Enter serial numbers for incoming stock items"
msgstr ""
-#: order/serializers.py:487
+#: order/serializers.py:478
msgid "Unique identifier field"
msgstr ""
-#: order/serializers.py:501
+#: order/serializers.py:492
msgid "Barcode is already in use"
msgstr ""
-#: order/serializers.py:527
+#: order/serializers.py:518
msgid "An integer quantity must be provided for trackable parts"
msgstr ""
-#: order/serializers.py:573
+#: order/serializers.py:564
msgid "Line items must be provided"
msgstr ""
-#: order/serializers.py:590
+#: order/serializers.py:581
msgid "Destination location must be specified"
msgstr ""
-#: order/serializers.py:601
+#: order/serializers.py:592
msgid "Supplied barcode values must be unique"
msgstr ""
-#: order/serializers.py:907
+#: order/serializers.py:900
msgid "Sale price currency"
msgstr ""
-#: order/serializers.py:988
+#: order/serializers.py:981
msgid "No shipment details provided"
msgstr ""
-#: order/serializers.py:1051 order/serializers.py:1205
+#: order/serializers.py:1044 order/serializers.py:1198
msgid "Line item is not associated with this order"
msgstr ""
-#: order/serializers.py:1073
+#: order/serializers.py:1066
msgid "Quantity must be positive"
msgstr ""
-#: order/serializers.py:1218
+#: order/serializers.py:1211
msgid "Enter serial numbers to allocate"
msgstr ""
-#: order/serializers.py:1240 order/serializers.py:1364
+#: order/serializers.py:1233 order/serializers.py:1357
msgid "Shipment has already been shipped"
msgstr ""
-#: order/serializers.py:1243 order/serializers.py:1367
+#: order/serializers.py:1236 order/serializers.py:1360
msgid "Shipment is not associated with this order"
msgstr ""
-#: order/serializers.py:1297
+#: order/serializers.py:1290
msgid "No match found for the following serial numbers"
msgstr ""
-#: order/serializers.py:1307
+#: order/serializers.py:1300
msgid "The following serial numbers are already allocated"
msgstr ""
@@ -4154,7 +4185,8 @@ msgid "Duplicate order"
msgstr ""
#: order/templates/order/order_base.html:61
-msgid "Place order"
+#: order/templates/order/order_base.html:62
+msgid "Submit Order"
msgstr ""
#: order/templates/order/order_base.html:65
@@ -4162,7 +4194,7 @@ msgid "Receive items"
msgstr ""
#: order/templates/order/order_base.html:67
-#: order/templates/order/purchase_order_detail.html:30
+#: order/templates/order/purchase_order_detail.html:32
msgid "Receive Items"
msgstr ""
@@ -4248,9 +4280,9 @@ msgstr ""
#: part/templates/part/import_wizard/match_references.html:49
#: templates/js/translated/bom.js:102 templates/js/translated/build.js:479
#: templates/js/translated/build.js:631 templates/js/translated/build.js:2078
-#: templates/js/translated/order.js:1084 templates/js/translated/order.js:1586
-#: templates/js/translated/order.js:3092 templates/js/translated/stock.js:625
-#: templates/js/translated/stock.js:793
+#: templates/js/translated/order.js:1118 templates/js/translated/order.js:1620
+#: templates/js/translated/order.js:3103 templates/js/translated/stock.js:644
+#: templates/js/translated/stock.js:812
#: templates/patterns/wizard/match_fields.html:70
msgid "Remove row"
msgstr ""
@@ -4278,42 +4310,42 @@ msgstr ""
msgid "Received Stock"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:17
+#: order/templates/order/purchase_order_detail.html:19
msgid "Purchase Order Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:26
-#: order/templates/order/sales_order_detail.html:22
-#: order/templates/order/sales_order_detail.html:255
+#: order/templates/order/purchase_order_detail.html:28
+#: order/templates/order/sales_order_detail.html:24
+#: order/templates/order/sales_order_detail.html:260
#: templates/js/translated/order.js:728
msgid "Add Line Item"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:29
+#: order/templates/order/purchase_order_detail.html:31
msgid "Receive selected items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:48
-#: order/templates/order/sales_order_detail.html:42
+#: order/templates/order/purchase_order_detail.html:50
+#: order/templates/order/sales_order_detail.html:45
msgid "Extra Lines"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:53
-#: order/templates/order/sales_order_detail.html:47
-#: order/templates/order/sales_order_detail.html:280
+#: order/templates/order/purchase_order_detail.html:56
+#: order/templates/order/sales_order_detail.html:51
+#: order/templates/order/sales_order_detail.html:291
msgid "Add Extra Line"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:72
+#: order/templates/order/purchase_order_detail.html:76
msgid "Received Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:97
-#: order/templates/order/sales_order_detail.html:150
+#: order/templates/order/purchase_order_detail.html:101
+#: order/templates/order/sales_order_detail.html:155
msgid "Order Notes"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:232
+#: order/templates/order/purchase_order_detail.html:239
msgid "Add Order Line"
msgstr ""
@@ -4345,12 +4377,12 @@ msgid "This Sales Order has not been fully allocated"
msgstr ""
#: order/templates/order/sales_order_base.html:123
-#: templates/js/translated/order.js:2821
+#: templates/js/translated/order.js:2832
msgid "Customer Reference"
msgstr ""
#: order/templates/order/sales_order_base.html:141
-#: order/templates/order/sales_order_detail.html:104
+#: order/templates/order/sales_order_detail.html:109
#: order/templates/order/so_sidebar.html:11
msgid "Completed Shipments"
msgstr ""
@@ -4359,22 +4391,22 @@ msgstr ""
msgid "Edit Sales Order"
msgstr ""
-#: order/templates/order/sales_order_detail.html:17
+#: order/templates/order/sales_order_detail.html:18
msgid "Sales Order Items"
msgstr ""
-#: order/templates/order/sales_order_detail.html:68
+#: order/templates/order/sales_order_detail.html:73
#: order/templates/order/so_sidebar.html:8
msgid "Pending Shipments"
msgstr ""
-#: order/templates/order/sales_order_detail.html:72
-#: templates/attachment_table.html:6 templates/js/translated/bom.js:1158
+#: order/templates/order/sales_order_detail.html:77
+#: templates/attachment_table.html:6 templates/js/translated/bom.js:1223
#: templates/js/translated/build.js:1979
msgid "Actions"
msgstr ""
-#: order/templates/order/sales_order_detail.html:81
+#: order/templates/order/sales_order_detail.html:86
msgid "New Shipment"
msgstr ""
@@ -4400,617 +4432,844 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/api.py:516
+#: part/admin.py:19 part/admin.py:219 part/models.py:3181 stock/admin.py:84
+#: templates/js/translated/model_renderers.js:212
+msgid "Part ID"
+msgstr ""
+
+#: part/admin.py:20 part/admin.py:221 part/models.py:3185 stock/admin.py:85
+msgid "Part Name"
+msgstr ""
+
+#: part/admin.py:21
+msgid "Part Description"
+msgstr ""
+
+#: part/admin.py:22 part/models.py:822 part/templates/part/part_base.html:272
+#: templates/js/translated/part.js:751 templates/js/translated/part.js:1469
+#: templates/js/translated/stock.js:1745
+msgid "IPN"
+msgstr ""
+
+#: part/admin.py:23 part/models.py:830 part/templates/part/part_base.html:279
+#: report/models.py:171 templates/js/translated/part.js:755
+msgid "Revision"
+msgstr ""
+
+#: part/admin.py:24 part/admin.py:145 part/models.py:808
+#: part/templates/part/category.html:87 part/templates/part/part_base.html:300
+msgid "Keywords"
+msgstr ""
+
+#: part/admin.py:28 part/admin.py:139
+#: templates/js/translated/model_renderers.js:338
+msgid "Category ID"
+msgstr ""
+
+#: part/admin.py:29 part/admin.py:140
+msgid "Category Name"
+msgstr ""
+
+#: part/admin.py:30 part/admin.py:144
+msgid "Default Location ID"
+msgstr ""
+
+#: part/admin.py:31
+msgid "Default Supplier ID"
+msgstr ""
+
+#: part/admin.py:33 part/models.py:914 part/templates/part/part_base.html:206
+msgid "Minimum Stock"
+msgstr ""
+
+#: part/admin.py:47 part/templates/part/part_base.html:200
+#: templates/js/translated/company.js:1028
+#: templates/js/translated/table_filters.js:213
+msgid "In Stock"
+msgstr ""
+
+#: part/admin.py:48 part/bom.py:145 part/templates/part/part_base.html:213
+#: templates/js/translated/bom.js:1155 templates/js/translated/build.js:1925
+#: templates/js/translated/part.js:602 templates/js/translated/part.js:622
+#: templates/js/translated/part.js:1359 templates/js/translated/part.js:1537
+#: templates/js/translated/table_filters.js:68
+msgid "On Order"
+msgstr ""
+
+#: part/admin.py:49 part/templates/part/part_sidebar.html:27
+msgid "Used In"
+msgstr ""
+
+#: part/admin.py:50 templates/js/translated/build.js:1937
+#: templates/js/translated/build.js:2195 templates/js/translated/build.js:2761
+#: templates/js/translated/order.js:3943
+msgid "Allocated"
+msgstr ""
+
+#: part/admin.py:51 part/templates/part/part_base.html:244
+#: templates/js/translated/part.js:605 templates/js/translated/part.js:625
+#: templates/js/translated/part.js:1363 templates/js/translated/part.js:1544
+msgid "Building"
+msgstr ""
+
+#: part/admin.py:52 part/models.py:2765
+msgid "Minimum Cost"
+msgstr ""
+
+#: part/admin.py:53 part/models.py:2771
+msgid "Maximum Cost"
+msgstr ""
+
+#: part/admin.py:142 part/admin.py:216 stock/admin.py:26 stock/admin.py:98
+msgid "Parent ID"
+msgstr ""
+
+#: part/admin.py:143 part/admin.py:218 stock/admin.py:27
+msgid "Parent Name"
+msgstr ""
+
+#: part/admin.py:146 part/templates/part/category.html:81
+#: part/templates/part/category.html:94
+msgid "Category Path"
+msgstr ""
+
+#: part/admin.py:149 part/models.py:363 part/templates/part/cat_link.html:3
+#: part/templates/part/category.html:23 part/templates/part/category.html:134
+#: part/templates/part/category.html:154
+#: part/templates/part/category_sidebar.html:9
+#: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84
+#: templates/InvenTree/settings/sidebar.html:41
+#: templates/js/translated/part.js:2043 templates/js/translated/search.js:146
+#: templates/navbar.html:24 users/models.py:38
+msgid "Parts"
+msgstr ""
+
+#: part/admin.py:211
+msgid "BOM Level"
+msgstr ""
+
+#: part/admin.py:213
+msgid "BOM Item ID"
+msgstr ""
+
+#: part/admin.py:217
+msgid "Parent IPN"
+msgstr ""
+
+#: part/admin.py:220 part/models.py:3189
+msgid "Part IPN"
+msgstr ""
+
+#: part/admin.py:226 templates/js/translated/pricing.js:91
+#: templates/js/translated/pricing.js:727
+msgid "Minimum Price"
+msgstr ""
+
+#: part/admin.py:227 templates/js/translated/pricing.js:86
+#: templates/js/translated/pricing.js:735
+msgid "Maximum Price"
+msgstr ""
+
+#: part/api.py:532
msgid "Incoming Purchase Order"
msgstr ""
-#: part/api.py:536
+#: part/api.py:552
msgid "Outgoing Sales Order"
msgstr ""
-#: part/api.py:554
+#: part/api.py:570
msgid "Stock produced by Build Order"
msgstr ""
-#: part/api.py:640
+#: part/api.py:656
msgid "Stock required for Build Order"
msgstr ""
-#: part/api.py:777
+#: part/api.py:814
msgid "Valid"
msgstr ""
-#: part/api.py:778
+#: part/api.py:815
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/api.py:784
+#: part/api.py:821
msgid "This option must be selected"
msgstr ""
-#: part/api.py:1207
+#: part/api.py:1261
msgid "Must be greater than zero"
msgstr ""
-#: part/api.py:1211
+#: part/api.py:1265
msgid "Must be a valid quantity"
msgstr ""
-#: part/api.py:1226
+#: part/api.py:1280
msgid "Specify location for initial part stock"
msgstr ""
-#: part/api.py:1257 part/api.py:1261 part/api.py:1276 part/api.py:1280
+#: part/api.py:1311 part/api.py:1315 part/api.py:1330 part/api.py:1334
msgid "This field is required"
msgstr ""
-#: part/bom.py:127 part/models.py:98 part/models.py:838
-#: part/templates/part/category.html:109 part/templates/part/part_base.html:345
+#: part/bom.py:142 part/models.py:116 part/models.py:857
+#: part/templates/part/category.html:109 part/templates/part/part_base.html:360
msgid "Default Location"
msgstr ""
-#: part/bom.py:128 templates/email/low_stock_notification.html:17
+#: part/bom.py:143 templates/email/low_stock_notification.html:17
msgid "Total Stock"
msgstr ""
-#: part/bom.py:129 part/templates/part/part_base.html:195
-#: templates/js/translated/order.js:3913
+#: part/bom.py:144 part/templates/part/part_base.html:195
+#: templates/js/translated/order.js:3910
msgid "Available Stock"
msgstr ""
-#: part/bom.py:130 part/templates/part/part_base.html:213
-#: templates/js/translated/bom.js:1001 templates/js/translated/build.js:1925
-#: templates/js/translated/part.js:588 templates/js/translated/part.js:608
-#: templates/js/translated/part.js:1338 templates/js/translated/part.js:1526
-#: templates/js/translated/table_filters.js:68
-msgid "On Order"
-msgstr ""
-
#: part/forms.py:41
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:99
+#: part/models.py:117
msgid "Default location for parts in this category"
msgstr ""
-#: part/models.py:102
+#: part/models.py:120
msgid "Default keywords"
msgstr ""
-#: part/models.py:102
+#: part/models.py:120
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:107 stock/models.py:85
+#: part/models.py:125 stock/models.py:101
msgid "Icon"
msgstr ""
-#: part/models.py:108 stock/models.py:86
+#: part/models.py:126 stock/models.py:102
msgid "Icon (optional)"
msgstr ""
-#: part/models.py:122 part/models.py:2517 part/templates/part/category.html:16
+#: part/models.py:140 part/models.py:3130 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
-#: part/models.py:123 part/templates/part/category.html:129
+#: part/models.py:141 part/templates/part/category.html:129
#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200
#: users/models.py:37
msgid "Part Categories"
msgstr ""
-#: part/models.py:344 part/templates/part/cat_link.html:3
-#: part/templates/part/category.html:23 part/templates/part/category.html:134
-#: part/templates/part/category.html:154
-#: part/templates/part/category_sidebar.html:9
-#: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84
-#: templates/InvenTree/settings/sidebar.html:41
-#: templates/js/translated/part.js:2019 templates/js/translated/search.js:146
-#: templates/navbar.html:24 users/models.py:38
-msgid "Parts"
-msgstr ""
-
-#: part/models.py:429
+#: part/models.py:448
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:499 part/models.py:511
+#: part/models.py:518 part/models.py:530
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:601
+#: part/models.py:620
msgid "Stock item with this serial number already exists"
msgstr ""
-#: part/models.py:732
+#: part/models.py:751
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:759 part/models.py:2573
+#: part/models.py:778 part/models.py:3186
msgid "Part name"
msgstr ""
-#: part/models.py:766
+#: part/models.py:785
msgid "Is Template"
msgstr ""
-#: part/models.py:767
+#: part/models.py:786
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:777
+#: part/models.py:796
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:778
+#: part/models.py:797
msgid "Variant Of"
msgstr ""
-#: part/models.py:784
+#: part/models.py:803
msgid "Part description"
msgstr ""
-#: part/models.py:789 part/templates/part/category.html:87
-#: part/templates/part/part_base.html:300
-msgid "Keywords"
-msgstr ""
-
-#: part/models.py:790
+#: part/models.py:809
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:797 part/models.py:2272 part/models.py:2516
+#: part/models.py:816 part/models.py:2885 part/models.py:3129
#: part/templates/part/part_base.html:263
#: templates/InvenTree/settings/settings.html:229
#: templates/js/translated/notification.js:50
-#: templates/js/translated/part.js:1480 templates/js/translated/part.js:1724
+#: templates/js/translated/part.js:1491 templates/js/translated/part.js:1748
msgid "Category"
msgstr ""
-#: part/models.py:798
+#: part/models.py:817
msgid "Part category"
msgstr ""
-#: part/models.py:803 part/templates/part/part_base.html:272
-#: templates/js/translated/part.js:737 templates/js/translated/part.js:1431
-#: templates/js/translated/stock.js:1726
-msgid "IPN"
-msgstr ""
-
-#: part/models.py:804
+#: part/models.py:823
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:810
+#: part/models.py:829
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:811 part/templates/part/part_base.html:279
-#: report/models.py:171 templates/js/translated/part.js:741
-msgid "Revision"
-msgstr ""
-
-#: part/models.py:836
+#: part/models.py:855
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:881 part/templates/part/part_base.html:354
+#: part/models.py:900 part/templates/part/part_base.html:369
msgid "Default Supplier"
msgstr ""
-#: part/models.py:882
+#: part/models.py:901
msgid "Default supplier part"
msgstr ""
-#: part/models.py:889
+#: part/models.py:908
msgid "Default Expiry"
msgstr ""
-#: part/models.py:890
+#: part/models.py:909
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:895 part/templates/part/part_base.html:206
-msgid "Minimum Stock"
-msgstr ""
-
-#: part/models.py:896
+#: part/models.py:915
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:903
+#: part/models.py:922
msgid "Stock keeping units for this part"
msgstr ""
-#: part/models.py:909
+#: part/models.py:928
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:915
+#: part/models.py:934
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:921
+#: part/models.py:940
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:926
+#: part/models.py:945
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:931
+#: part/models.py:950
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:936
+#: part/models.py:955
msgid "Is this part active?"
msgstr ""
-#: part/models.py:941
+#: part/models.py:960
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:943
+#: part/models.py:962
msgid "Part notes"
msgstr ""
-#: part/models.py:945
+#: part/models.py:964
msgid "BOM checksum"
msgstr ""
-#: part/models.py:945
+#: part/models.py:964
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:948
+#: part/models.py:967
msgid "BOM checked by"
msgstr ""
-#: part/models.py:950
+#: part/models.py:969
msgid "BOM checked date"
msgstr ""
-#: part/models.py:954
+#: part/models.py:973
msgid "Creation User"
msgstr ""
-#: part/models.py:1790
+#: part/models.py:1819
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2319
+#: part/models.py:2682
+msgid "Currency used to cache pricing calculations"
+msgstr ""
+
+#: part/models.py:2687
+msgid "Updated"
+msgstr ""
+
+#: part/models.py:2688
+msgid "Timestamp of last pricing update"
+msgstr ""
+
+#: part/models.py:2705
+msgid "Minimum BOM Cost"
+msgstr ""
+
+#: part/models.py:2706
+msgid "Minimum cost of component parts"
+msgstr ""
+
+#: part/models.py:2711
+msgid "Maximum BOM Cost"
+msgstr ""
+
+#: part/models.py:2712
+msgid "Maximum cost of component parts"
+msgstr ""
+
+#: part/models.py:2717
+msgid "Minimum Purchase Cost"
+msgstr ""
+
+#: part/models.py:2718
+msgid "Minimum historical purchase cost"
+msgstr ""
+
+#: part/models.py:2723
+msgid "Maximum Purchase Cost"
+msgstr ""
+
+#: part/models.py:2724
+msgid "Maximum historical purchase cost"
+msgstr ""
+
+#: part/models.py:2729
+msgid "Minimum Internal Price"
+msgstr ""
+
+#: part/models.py:2730
+msgid "Minimum cost based on internal price breaks"
+msgstr ""
+
+#: part/models.py:2735
+msgid "Maximum Internal Price"
+msgstr ""
+
+#: part/models.py:2736
+msgid "Maximum cost based on internal price breaks"
+msgstr ""
+
+#: part/models.py:2741
+msgid "Minimum Supplier Price"
+msgstr ""
+
+#: part/models.py:2742
+msgid "Minimum price of part from external suppliers"
+msgstr ""
+
+#: part/models.py:2747
+msgid "Maximum Supplier Price"
+msgstr ""
+
+#: part/models.py:2748
+msgid "Maximum price of part from external suppliers"
+msgstr ""
+
+#: part/models.py:2753
+msgid "Minimum Variant Cost"
+msgstr ""
+
+#: part/models.py:2754
+msgid "Calculated minimum cost of variant parts"
+msgstr ""
+
+#: part/models.py:2759
+msgid "Maximum Variant Cost"
+msgstr ""
+
+#: part/models.py:2760
+msgid "Calculated maximum cost of variant parts"
+msgstr ""
+
+#: part/models.py:2766
+msgid "Calculated overall minimum cost"
+msgstr ""
+
+#: part/models.py:2772
+msgid "Calculated overall maximum cost"
+msgstr ""
+
+#: part/models.py:2777
+msgid "Minimum Sale Price"
+msgstr ""
+
+#: part/models.py:2778
+msgid "Minimum sale price based on price breaks"
+msgstr ""
+
+#: part/models.py:2783
+msgid "Maximum Sale Price"
+msgstr ""
+
+#: part/models.py:2784
+msgid "Maximum sale price based on price breaks"
+msgstr ""
+
+#: part/models.py:2789
+msgid "Minimum Sale Cost"
+msgstr ""
+
+#: part/models.py:2790
+msgid "Minimum historical sale price"
+msgstr ""
+
+#: part/models.py:2795
+msgid "Maximum Sale Cost"
+msgstr ""
+
+#: part/models.py:2796
+msgid "Maximum historical sale price"
+msgstr ""
+
+#: part/models.py:2932
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:2336
+#: part/models.py:2949
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2356 templates/js/translated/part.js:2070
-#: templates/js/translated/stock.js:1340
+#: part/models.py:2969 templates/js/translated/part.js:2094
+#: templates/js/translated/stock.js:1359
msgid "Test Name"
msgstr ""
-#: part/models.py:2357
+#: part/models.py:2970
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2362
+#: part/models.py:2975
msgid "Test Description"
msgstr ""
-#: part/models.py:2363
+#: part/models.py:2976
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2368 templates/js/translated/part.js:2079
-#: templates/js/translated/table_filters.js:310
+#: part/models.py:2981 templates/js/translated/part.js:2103
+#: templates/js/translated/table_filters.js:314
msgid "Required"
msgstr ""
-#: part/models.py:2369
+#: part/models.py:2982
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2374 templates/js/translated/part.js:2087
+#: part/models.py:2987 templates/js/translated/part.js:2111
msgid "Requires Value"
msgstr ""
-#: part/models.py:2375
+#: part/models.py:2988
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2380 templates/js/translated/part.js:2094
+#: part/models.py:2993 templates/js/translated/part.js:2118
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2381
+#: part/models.py:2994
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:2422
+#: part/models.py:3035
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:2430
+#: part/models.py:3043
msgid "Parameter Name"
msgstr ""
-#: part/models.py:2434
+#: part/models.py:3047
msgid "Parameter Units"
msgstr ""
-#: part/models.py:2439
+#: part/models.py:3052
msgid "Parameter description"
msgstr ""
-#: part/models.py:2472
+#: part/models.py:3085
msgid "Parent Part"
msgstr ""
-#: part/models.py:2474 part/models.py:2522 part/models.py:2523
+#: part/models.py:3087 part/models.py:3135 part/models.py:3136
#: templates/InvenTree/settings/settings.html:224
msgid "Parameter Template"
msgstr ""
-#: part/models.py:2476
+#: part/models.py:3089
msgid "Data"
msgstr ""
-#: part/models.py:2476
+#: part/models.py:3089
msgid "Parameter Value"
msgstr ""
-#: part/models.py:2527 templates/InvenTree/settings/settings.html:233
+#: part/models.py:3140 templates/InvenTree/settings/settings.html:233
msgid "Default Value"
msgstr ""
-#: part/models.py:2528
+#: part/models.py:3141
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:2565
+#: part/models.py:3178
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:2568 templates/js/translated/model_renderers.js:212
-msgid "Part ID"
-msgstr ""
-
-#: part/models.py:2569
+#: part/models.py:3182
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:2572
-msgid "Part Name"
-msgstr ""
-
-#: part/models.py:2576
-msgid "Part IPN"
-msgstr ""
-
-#: part/models.py:2577
+#: part/models.py:3190
msgid "Part IPN value"
msgstr ""
-#: part/models.py:2580
+#: part/models.py:3193
msgid "Level"
msgstr ""
-#: part/models.py:2581
+#: part/models.py:3194
msgid "BOM level"
msgstr ""
-#: part/models.py:2650
+#: part/models.py:3263
msgid "Select parent part"
msgstr ""
-#: part/models.py:2658
+#: part/models.py:3271
msgid "Sub part"
msgstr ""
-#: part/models.py:2659
+#: part/models.py:3272
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:2665
+#: part/models.py:3278
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:2669 part/templates/part/upload_bom.html:58
-#: templates/js/translated/bom.js:924 templates/js/translated/bom.js:1024
+#: part/models.py:3282 part/templates/part/upload_bom.html:58
+#: templates/js/translated/bom.js:933 templates/js/translated/bom.js:986
#: templates/js/translated/build.js:1858
#: templates/js/translated/table_filters.js:84
-#: templates/js/translated/table_filters.js:108
+#: templates/js/translated/table_filters.js:112
msgid "Optional"
msgstr ""
-#: part/models.py:2670
+#: part/models.py:3283
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:2675 templates/js/translated/bom.js:920
-#: templates/js/translated/bom.js:1033 templates/js/translated/build.js:1849
+#: part/models.py:3288 templates/js/translated/bom.js:929
+#: templates/js/translated/bom.js:995 templates/js/translated/build.js:1849
#: templates/js/translated/table_filters.js:88
msgid "Consumable"
msgstr ""
-#: part/models.py:2676
+#: part/models.py:3289
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:2680 part/templates/part/upload_bom.html:55
+#: part/models.py:3293 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:2681
+#: part/models.py:3294
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:2684
+#: part/models.py:3297
msgid "BOM item reference"
msgstr ""
-#: part/models.py:2687
+#: part/models.py:3300
msgid "BOM item notes"
msgstr ""
-#: part/models.py:2689
+#: part/models.py:3302
msgid "Checksum"
msgstr ""
-#: part/models.py:2689
+#: part/models.py:3302
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:2693 part/templates/part/upload_bom.html:57
-#: templates/js/translated/bom.js:1050
+#: part/models.py:3306 part/templates/part/upload_bom.html:57
+#: templates/js/translated/bom.js:1012
#: templates/js/translated/table_filters.js:76
-#: templates/js/translated/table_filters.js:104
+#: templates/js/translated/table_filters.js:108
msgid "Inherited"
msgstr ""
-#: part/models.py:2694
+#: part/models.py:3307
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:2699 part/templates/part/upload_bom.html:56
-#: templates/js/translated/bom.js:1042
+#: part/models.py:3312 part/templates/part/upload_bom.html:56
+#: templates/js/translated/bom.js:1004
msgid "Allow Variants"
msgstr ""
-#: part/models.py:2700
+#: part/models.py:3313
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:2786 stock/models.py:502
+#: part/models.py:3399 stock/models.py:518
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:2795 part/models.py:2797
+#: part/models.py:3408 part/models.py:3410
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:2902
+#: part/models.py:3537
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:2923
+#: part/models.py:3558
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:2936
+#: part/models.py:3571
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:2944
+#: part/models.py:3579
msgid "Substitute part"
msgstr ""
-#: part/models.py:2959
+#: part/models.py:3594
msgid "Part 1"
msgstr ""
-#: part/models.py:2963
+#: part/models.py:3598
msgid "Part 2"
msgstr ""
-#: part/models.py:2963
+#: part/models.py:3598
msgid "Select Related Part"
msgstr ""
-#: part/models.py:2981
+#: part/models.py:3616
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:2985
+#: part/models.py:3620
msgid "Duplicate relationship already exists"
msgstr ""
-#: part/serializers.py:154 part/serializers.py:185 stock/serializers.py:179
+#: part/serializers.py:154 part/serializers.py:182 stock/serializers.py:183
msgid "Purchase currency of this stock item"
msgstr ""
-#: part/serializers.py:829
+#: part/serializers.py:542
+msgid "Update"
+msgstr ""
+
+#: part/serializers.py:543
+msgid "Update pricing for this part"
+msgstr ""
+
+#: part/serializers.py:853
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:837
+#: part/serializers.py:861
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:838
+#: part/serializers.py:862
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:843
+#: part/serializers.py:867
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:844
+#: part/serializers.py:868
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:849
+#: part/serializers.py:873
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:850
+#: part/serializers.py:874
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:855
+#: part/serializers.py:879
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:856
+#: part/serializers.py:880
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/serializers.py:896
+#: part/serializers.py:920
msgid "Clear Existing BOM"
msgstr ""
-#: part/serializers.py:897
+#: part/serializers.py:921
msgid "Delete existing BOM items before uploading"
msgstr ""
-#: part/serializers.py:927
+#: part/serializers.py:951
msgid "No part column specified"
msgstr ""
-#: part/serializers.py:970
+#: part/serializers.py:994
msgid "Multiple matching parts found"
msgstr ""
-#: part/serializers.py:973
+#: part/serializers.py:997
msgid "No matching part found"
msgstr ""
-#: part/serializers.py:976
+#: part/serializers.py:1000
msgid "Part is not designated as a component"
msgstr ""
-#: part/serializers.py:985
+#: part/serializers.py:1009
msgid "Quantity not provided"
msgstr ""
-#: part/serializers.py:993
+#: part/serializers.py:1017
msgid "Invalid quantity"
msgstr ""
-#: part/serializers.py:1014
+#: part/serializers.py:1038
msgid "At least one BOM item is required"
msgstr ""
-#: part/tasks.py:21
+#: part/tasks.py:25
msgid "Low stock notification"
msgstr ""
-#: part/tasks.py:22
+#: part/tasks.py:26
#, python-brace-format
msgid "The available stock for {part.name} has fallen below the configured minimum level"
msgstr ""
@@ -5034,7 +5293,7 @@ msgstr ""
msgid "The BOM for %(part)s has not been validated."
msgstr ""
-#: part/templates/part/bom.html:30 part/templates/part/detail.html:269
+#: part/templates/part/bom.html:30 part/templates/part/detail.html:267
msgid "BOM actions"
msgstr ""
@@ -5070,10 +5329,6 @@ msgstr ""
msgid "Delete Category"
msgstr ""
-#: part/templates/part/category.html:81 part/templates/part/category.html:94
-msgid "Category Path"
-msgstr ""
-
#: part/templates/part/category.html:95
msgid "Top level part category"
msgstr ""
@@ -5091,12 +5346,12 @@ msgstr ""
msgid "Create new part"
msgstr ""
-#: part/templates/part/category.html:159 templates/js/translated/bom.js:392
+#: part/templates/part/category.html:159 templates/js/translated/bom.js:405
msgid "New Part"
msgstr ""
-#: part/templates/part/category.html:169 part/templates/part/detail.html:368
-#: part/templates/part/detail.html:399
+#: part/templates/part/category.html:169 part/templates/part/detail.html:366
+#: part/templates/part/detail.html:397
msgid "Options"
msgstr ""
@@ -5144,7 +5399,7 @@ msgstr ""
msgid "Import Parts"
msgstr ""
-#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:379
+#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:393
msgid "Duplicate Part"
msgstr ""
@@ -5176,7 +5431,8 @@ msgstr ""
msgid "Refresh scheduling data"
msgstr ""
-#: part/templates/part/detail.html:45 templates/js/translated/tables.js:524
+#: part/templates/part/detail.html:45 part/templates/part/prices.html:15
+#: templates/js/translated/tables.js:524
msgid "Refresh"
msgstr ""
@@ -5192,123 +5448,103 @@ msgstr ""
msgid "Sales Order Allocations"
msgstr ""
-#: part/templates/part/detail.html:143
+#: part/templates/part/detail.html:141
msgid "Part Notes"
msgstr ""
-#: part/templates/part/detail.html:158
+#: part/templates/part/detail.html:156
msgid "Part Variants"
msgstr ""
-#: part/templates/part/detail.html:162
+#: part/templates/part/detail.html:160
msgid "Create new variant"
msgstr ""
-#: part/templates/part/detail.html:163
+#: part/templates/part/detail.html:161
msgid "New Variant"
msgstr ""
-#: part/templates/part/detail.html:190
+#: part/templates/part/detail.html:188
msgid "Add new parameter"
msgstr ""
-#: part/templates/part/detail.html:227 part/templates/part/part_sidebar.html:54
+#: part/templates/part/detail.html:225 part/templates/part/part_sidebar.html:52
msgid "Related Parts"
msgstr ""
-#: part/templates/part/detail.html:231 part/templates/part/detail.html:232
+#: part/templates/part/detail.html:229 part/templates/part/detail.html:230
msgid "Add Related"
msgstr ""
-#: part/templates/part/detail.html:252 part/templates/part/part_sidebar.html:17
+#: part/templates/part/detail.html:250 part/templates/part/part_sidebar.html:17
msgid "Bill of Materials"
msgstr ""
-#: part/templates/part/detail.html:257
+#: part/templates/part/detail.html:255
msgid "Export actions"
msgstr ""
-#: part/templates/part/detail.html:261 templates/js/translated/bom.js:309
+#: part/templates/part/detail.html:259 templates/js/translated/bom.js:309
msgid "Export BOM"
msgstr ""
-#: part/templates/part/detail.html:263
+#: part/templates/part/detail.html:261
msgid "Print BOM Report"
msgstr ""
-#: part/templates/part/detail.html:273
+#: part/templates/part/detail.html:271
msgid "Upload BOM"
msgstr ""
-#: part/templates/part/detail.html:274 templates/js/translated/part.js:274
+#: part/templates/part/detail.html:272 templates/js/translated/part.js:270
msgid "Copy BOM"
msgstr ""
-#: part/templates/part/detail.html:275
+#: part/templates/part/detail.html:273
msgid "Validate BOM"
msgstr ""
-#: part/templates/part/detail.html:280 part/templates/part/detail.html:281
-#: templates/js/translated/bom.js:1202 templates/js/translated/bom.js:1203
+#: part/templates/part/detail.html:278 part/templates/part/detail.html:279
+#: templates/js/translated/bom.js:1267 templates/js/translated/bom.js:1268
msgid "Add BOM Item"
msgstr ""
-#: part/templates/part/detail.html:294
+#: part/templates/part/detail.html:292
msgid "Assemblies"
msgstr ""
-#: part/templates/part/detail.html:312
+#: part/templates/part/detail.html:310
msgid "Part Builds"
msgstr ""
-#: part/templates/part/detail.html:339 stock/templates/stock/item.html:38
+#: part/templates/part/detail.html:337 stock/templates/stock/item.html:38
msgid "Build Order Allocations"
msgstr ""
-#: part/templates/part/detail.html:355
+#: part/templates/part/detail.html:353
msgid "Part Suppliers"
msgstr ""
-#: part/templates/part/detail.html:385
+#: part/templates/part/detail.html:383
msgid "Part Manufacturers"
msgstr ""
-#: part/templates/part/detail.html:401
+#: part/templates/part/detail.html:399
msgid "Delete manufacturer parts"
msgstr ""
-#: part/templates/part/detail.html:658
+#: part/templates/part/detail.html:656
msgid "Related Part"
msgstr ""
-#: part/templates/part/detail.html:666
+#: part/templates/part/detail.html:664
msgid "Add Related Part"
msgstr ""
-#: part/templates/part/detail.html:758
+#: part/templates/part/detail.html:756
msgid "Add Test Result Template"
msgstr ""
-#: part/templates/part/detail.html:901
-#, python-format
-msgid "Purchase Unit Price - %(currency)s"
-msgstr ""
-
-#: part/templates/part/detail.html:913
-#, python-format
-msgid "Unit Price-Cost Difference - %(currency)s"
-msgstr ""
-
-#: part/templates/part/detail.html:925
-#, python-format
-msgid "Supplier Unit Cost - %(currency)s"
-msgstr ""
-
-#: part/templates/part/detail.html:1014
-#, python-format
-msgid "Unit Price - %(currency)s"
-msgstr ""
-
#: part/templates/part/import_wizard/ajax_match_fields.html:9
#: templates/patterns/wizard/match_fields.html:8
msgid "Missing selections for the following required columns"
@@ -5439,15 +5675,15 @@ msgid "Part is virtual (not a physical part)"
msgstr ""
#: part/templates/part/part_base.html:148
-#: templates/js/translated/company.js:659
-#: templates/js/translated/company.js:920
+#: templates/js/translated/company.js:660
+#: templates/js/translated/company.js:921
#: templates/js/translated/model_renderers.js:204
-#: templates/js/translated/part.js:652 templates/js/translated/part.js:729
+#: templates/js/translated/part.js:666 templates/js/translated/part.js:743
msgid "Inactive"
msgstr ""
#: part/templates/part/part_base.html:165
-#: part/templates/part/part_base.html:620
+#: part/templates/part/part_base.html:635
msgid "Show Part Details"
msgstr ""
@@ -5456,12 +5692,6 @@ msgstr ""
msgid "This part is a variant of %(link)s"
msgstr ""
-#: part/templates/part/part_base.html:200
-#: templates/js/translated/company.js:1027
-#: templates/js/translated/table_filters.js:209
-msgid "In Stock"
-msgstr ""
-
#: part/templates/part/part_base.html:221
#: stock/templates/stock/item_base.html:382
msgid "Allocated to Build Orders"
@@ -5472,100 +5702,91 @@ msgstr ""
msgid "Allocated to Sales Orders"
msgstr ""
-#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1100
+#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1165
msgid "Can Build"
msgstr ""
-#: part/templates/part/part_base.html:244 templates/js/translated/part.js:591
-#: templates/js/translated/part.js:611 templates/js/translated/part.js:1342
-#: templates/js/translated/part.js:1533
-msgid "Building"
-msgstr ""
-
#: part/templates/part/part_base.html:293
msgid "Minimum stock level"
msgstr ""
-#: part/templates/part/part_base.html:330
+#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1032
+#: templates/js/translated/part.js:783 templates/js/translated/part.js:1582
+#: templates/js/translated/pricing.js:124
+#: templates/js/translated/pricing.js:757
+msgid "Price Range"
+msgstr ""
+
+#: part/templates/part/part_base.html:345
msgid "Latest Serial Number"
msgstr ""
-#: part/templates/part/part_base.html:334
+#: part/templates/part/part_base.html:349
#: stock/templates/stock/item_base.html:331
msgid "Search for serial number"
msgstr ""
-#: part/templates/part/part_base.html:431
+#: part/templates/part/part_base.html:446
msgid "Link Barcode to Part"
msgstr ""
-#: part/templates/part/part_base.html:477 part/templates/part/prices.html:149
+#: part/templates/part/part_base.html:492
msgid "Calculate"
msgstr ""
-#: part/templates/part/part_base.html:520
+#: part/templates/part/part_base.html:535
msgid "No matching images found"
msgstr ""
-#: part/templates/part/part_base.html:614
+#: part/templates/part/part_base.html:629
msgid "Hide Part Details"
msgstr ""
-#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:24
+#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:78
+#: part/templates/part/prices.html:238 templates/js/translated/pricing.js:218
msgid "Supplier Pricing"
msgstr ""
#: part/templates/part/part_pricing.html:26
#: part/templates/part/part_pricing.html:52
-#: part/templates/part/part_pricing.html:103
-#: part/templates/part/part_pricing.html:118 part/templates/part/prices.html:28
-#: part/templates/part/prices.html:55 part/templates/part/prices.html:108
-#: part/templates/part/prices.html:125
+#: part/templates/part/part_pricing.html:95
+#: part/templates/part/part_pricing.html:110
msgid "Unit Cost"
msgstr ""
#: part/templates/part/part_pricing.html:32
#: part/templates/part/part_pricing.html:58
-#: part/templates/part/part_pricing.html:107
-#: part/templates/part/part_pricing.html:122 part/templates/part/prices.html:35
-#: part/templates/part/prices.html:62 part/templates/part/prices.html:113
-#: part/templates/part/prices.html:130
+#: part/templates/part/part_pricing.html:99
+#: part/templates/part/part_pricing.html:114
msgid "Total Cost"
msgstr ""
-#: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:43
-#: templates/js/translated/bom.js:1091
+#: part/templates/part/part_pricing.html:40
msgid "No supplier pricing available"
msgstr ""
-#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:52
-#: part/templates/part/prices.html:248
+#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:94
+#: part/templates/part/prices.html:262
msgid "BOM Pricing"
msgstr ""
-#: part/templates/part/part_pricing.html:66 part/templates/part/prices.html:72
+#: part/templates/part/part_pricing.html:66
msgid "Unit Purchase Price"
msgstr ""
-#: part/templates/part/part_pricing.html:72 part/templates/part/prices.html:79
+#: part/templates/part/part_pricing.html:72
msgid "Total Purchase Price"
msgstr ""
-#: part/templates/part/part_pricing.html:82 part/templates/part/prices.html:89
-msgid "Note: BOM pricing is incomplete for this part"
-msgstr ""
-
-#: part/templates/part/part_pricing.html:91 part/templates/part/prices.html:98
+#: part/templates/part/part_pricing.html:83
msgid "No BOM pricing available"
msgstr ""
-#: part/templates/part/part_pricing.html:100
-#: part/templates/part/prices.html:107
+#: part/templates/part/part_pricing.html:92
msgid "Internal Price"
msgstr ""
-#: part/templates/part/part_pricing.html:131
-#: part/templates/part/prices.html:139
+#: part/templates/part/part_pricing.html:123
msgid "No pricing information is available for this part."
msgstr ""
@@ -5573,7 +5794,8 @@ msgstr ""
#: report/templates/report/inventree_test_report_base.html:97
#: templates/InvenTree/settings/plugin.html:63
#: templates/InvenTree/settings/plugin_settings.html:38
-#: templates/js/translated/order.js:2001 templates/js/translated/stock.js:2478
+#: templates/js/translated/order.js:2035 templates/js/translated/pricing.js:537
+#: templates/js/translated/pricing.js:658 templates/js/translated/stock.js:2496
msgid "Date"
msgstr ""
@@ -5585,15 +5807,11 @@ msgstr ""
msgid "Variants"
msgstr ""
-#: part/templates/part/part_sidebar.html:27
-msgid "Used In"
-msgstr ""
-
-#: part/templates/part/part_sidebar.html:46
+#: part/templates/part/part_sidebar.html:44
msgid "Scheduling"
msgstr ""
-#: part/templates/part/part_sidebar.html:50
+#: part/templates/part/part_sidebar.html:48
msgid "Test Templates"
msgstr ""
@@ -5601,74 +5819,82 @@ msgstr ""
msgid "Select from existing images"
msgstr ""
-#: part/templates/part/prices.html:19
-msgid "Pricing ranges"
+#: part/templates/part/prices.html:11
+msgid "Pricing Overview"
msgstr ""
-#: part/templates/part/prices.html:25
-msgid "Show supplier cost"
+#: part/templates/part/prices.html:14
+msgid "Refresh Part Pricing"
msgstr ""
-#: part/templates/part/prices.html:26
-msgid "Show purchase price"
+#: part/templates/part/prices.html:25 stock/admin.py:106
+#: stock/templates/stock/item_base.html:440
+#: templates/js/translated/company.js:1039
+#: templates/js/translated/stock.js:1920
+msgid "Last Updated"
msgstr ""
-#: part/templates/part/prices.html:53
-msgid "Show BOM cost"
+#: part/templates/part/prices.html:34 part/templates/part/prices.html:126
+msgid "Price Category"
msgstr ""
-#: part/templates/part/prices.html:122
-msgid "Show sale cost"
+#: part/templates/part/prices.html:35 part/templates/part/prices.html:127
+msgid "Minimum"
msgstr ""
-#: part/templates/part/prices.html:123
-msgid "Show sale price"
+#: part/templates/part/prices.html:36 part/templates/part/prices.html:128
+msgid "Maximum"
msgstr ""
-#: part/templates/part/prices.html:145
-msgid "Calculation parameters"
+#: part/templates/part/prices.html:49 part/templates/part/prices.html:185
+msgid "Internal Pricing"
msgstr ""
-#: part/templates/part/prices.html:160 templates/js/translated/bom.js:1085
-msgid "Supplier Cost"
+#: part/templates/part/prices.html:64 part/templates/part/prices.html:217
+msgid "Purchase History"
msgstr ""
-#: part/templates/part/prices.html:161 part/templates/part/prices.html:182
-#: part/templates/part/prices.html:206 part/templates/part/prices.html:236
-#: part/templates/part/prices.html:262 part/templates/part/prices.html:291
+#: part/templates/part/prices.html:103 part/templates/part/prices.html:286
+msgid "Variant Pricing"
+msgstr ""
+
+#: part/templates/part/prices.html:111
+msgid "Overall Pricing"
+msgstr ""
+
+#: part/templates/part/prices.html:155 part/templates/part/prices.html:338
+msgid "Sale History"
+msgstr ""
+
+#: part/templates/part/prices.html:168
+msgid "Sale price data is not available for this part"
+msgstr ""
+
+#: part/templates/part/prices.html:175
+msgid "Price range data is not available for this part."
+msgstr ""
+
+#: part/templates/part/prices.html:186 part/templates/part/prices.html:218
+#: part/templates/part/prices.html:239 part/templates/part/prices.html:263
+#: part/templates/part/prices.html:287 part/templates/part/prices.html:310
+#: part/templates/part/prices.html:339
msgid "Jump to overview"
msgstr ""
-#: part/templates/part/prices.html:186
-msgid "Stock Pricing"
-msgstr ""
-
-#: part/templates/part/prices.html:195
-msgid "No stock pricing history is available for this part."
-msgstr ""
-
-#: part/templates/part/prices.html:205
-msgid "Internal Cost"
-msgstr ""
-
-#: part/templates/part/prices.html:220
+#: part/templates/part/prices.html:191
msgid "Add Internal Price Break"
msgstr ""
-#: part/templates/part/prices.html:235
-msgid "BOM Cost"
+#: part/templates/part/prices.html:309
+msgid "Sale Pricing"
msgstr ""
-#: part/templates/part/prices.html:261
-msgid "Sale Cost"
+#: part/templates/part/prices.html:315
+msgid "Add Sell Price Break"
msgstr ""
-#: part/templates/part/prices.html:302
-msgid "No sale pice history available for this part."
-msgstr ""
-
-#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:614
-#: templates/js/translated/part.js:1330 templates/js/translated/part.js:1332
+#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:628
+#: templates/js/translated/part.js:1351 templates/js/translated/part.js:1353
msgid "No Stock"
msgstr ""
@@ -5722,40 +5948,36 @@ msgstr ""
msgid "Create a new variant of template '%(full_name)s'."
msgstr ""
-#: part/templatetags/inventree_extras.py:177
+#: part/templatetags/inventree_extras.py:210
msgid "Unknown database"
msgstr ""
-#: part/templatetags/inventree_extras.py:229
+#: part/templatetags/inventree_extras.py:262
#, python-brace-format
msgid "{title} v{version}"
msgstr ""
-#: part/views.py:114
+#: part/views.py:109
msgid "Match References"
msgstr ""
-#: part/views.py:415
-msgid "None"
-msgstr ""
-
-#: part/views.py:477
+#: part/views.py:354
msgid "Part QR Code"
msgstr ""
-#: part/views.py:495
+#: part/views.py:372
msgid "Select Part Image"
msgstr ""
-#: part/views.py:521
+#: part/views.py:398
msgid "Updated part image"
msgstr ""
-#: part/views.py:524
+#: part/views.py:401
msgid "Part image not found"
msgstr ""
-#: part/views.py:613
+#: part/views.py:493
msgid "Part Pricing"
msgstr ""
@@ -6070,12 +6292,12 @@ msgid "Stock Item Test Report"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:79
-#: stock/models.py:650 stock/templates/stock/item_base.html:320
+#: stock/models.py:666 stock/templates/stock/item_base.html:320
#: templates/js/translated/build.js:472 templates/js/translated/build.js:624
#: templates/js/translated/build.js:1234 templates/js/translated/build.js:1735
#: templates/js/translated/model_renderers.js:118
-#: templates/js/translated/order.js:121 templates/js/translated/order.js:3592
-#: templates/js/translated/order.js:3679 templates/js/translated/stock.js:490
+#: templates/js/translated/order.js:121 templates/js/translated/order.js:3603
+#: templates/js/translated/order.js:3690 templates/js/translated/stock.js:509
msgid "Serial Number"
msgstr ""
@@ -6084,12 +6306,12 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:93
-#: stock/models.py:2085
+#: stock/models.py:2101
msgid "Test"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:94
-#: stock/models.py:2091
+#: stock/models.py:2107
msgid "Result"
msgstr ""
@@ -6107,383 +6329,435 @@ msgid "Installed Items"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:137
-#: templates/js/translated/stock.js:610 templates/js/translated/stock.js:780
-#: templates/js/translated/stock.js:2727
+#: stock/admin.py:87 templates/js/translated/stock.js:629
+#: templates/js/translated/stock.js:799 templates/js/translated/stock.js:2745
msgid "Serial"
msgstr ""
-#: stock/api.py:529
+#: stock/admin.py:23 stock/admin.py:90
+#: templates/js/translated/model_renderers.js:159
+msgid "Location ID"
+msgstr ""
+
+#: stock/admin.py:24 stock/admin.py:91
+msgid "Location Name"
+msgstr ""
+
+#: stock/admin.py:28 stock/templates/stock/location.html:123
+#: stock/templates/stock/location.html:129
+msgid "Location Path"
+msgstr ""
+
+#: stock/admin.py:83
+msgid "Stock Item ID"
+msgstr ""
+
+#: stock/admin.py:92 templates/js/translated/model_renderers.js:418
+msgid "Supplier Part ID"
+msgstr ""
+
+#: stock/admin.py:93
+msgid "Supplier ID"
+msgstr ""
+
+#: stock/admin.py:94
+msgid "Supplier Name"
+msgstr ""
+
+#: stock/admin.py:95
+msgid "Customer ID"
+msgstr ""
+
+#: stock/admin.py:96 stock/models.py:649
+#: stock/templates/stock/item_base.html:359
+msgid "Installed In"
+msgstr ""
+
+#: stock/admin.py:97 templates/js/translated/model_renderers.js:177
+msgid "Build ID"
+msgstr ""
+
+#: stock/admin.py:99
+msgid "Sales Order ID"
+msgstr ""
+
+#: stock/admin.py:100
+msgid "Purchase Order ID"
+msgstr ""
+
+#: stock/admin.py:107 templates/js/translated/stock.js:1890
+msgid "Stocktake"
+msgstr ""
+
+#: stock/admin.py:108 stock/models.py:724
+#: stock/templates/stock/item_base.html:427
+#: templates/js/translated/stock.js:1904
+msgid "Expiry Date"
+msgstr ""
+
+#: stock/api.py:539
msgid "Quantity is required"
msgstr ""
-#: stock/api.py:536
+#: stock/api.py:546
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:561
+#: stock/api.py:571
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/models.py:90 stock/models.py:746
+#: stock/models.py:106 stock/models.py:762
#: stock/templates/stock/item_base.html:250
msgid "Owner"
msgstr ""
-#: stock/models.py:91 stock/models.py:747
+#: stock/models.py:107 stock/models.py:763
msgid "Select Owner"
msgstr ""
-#: stock/models.py:508 stock/serializers.py:93
+#: stock/models.py:524 stock/serializers.py:97
msgid "Stock item cannot be created for virtual parts"
msgstr ""
-#: stock/models.py:525
+#: stock/models.py:541
#, python-brace-format
msgid "Part type ('{pf}') must be {pe}"
msgstr ""
-#: stock/models.py:535 stock/models.py:544
+#: stock/models.py:551 stock/models.py:560
msgid "Quantity must be 1 for item with a serial number"
msgstr ""
-#: stock/models.py:536
+#: stock/models.py:552
msgid "Serial number cannot be set if quantity greater than 1"
msgstr ""
-#: stock/models.py:558
+#: stock/models.py:574
msgid "Item cannot belong to itself"
msgstr ""
-#: stock/models.py:564
+#: stock/models.py:580
msgid "Item must have a build reference if is_building=True"
msgstr ""
-#: stock/models.py:578
+#: stock/models.py:594
msgid "Build reference does not point to the same part object"
msgstr ""
-#: stock/models.py:592
+#: stock/models.py:608
msgid "Parent Stock Item"
msgstr ""
-#: stock/models.py:602
+#: stock/models.py:618
msgid "Base part"
msgstr ""
-#: stock/models.py:610
+#: stock/models.py:626
msgid "Select a matching supplier part for this stock item"
msgstr ""
-#: stock/models.py:617 stock/templates/stock/location.html:17
+#: stock/models.py:633 stock/templates/stock/location.html:17
#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
msgstr ""
-#: stock/models.py:620
+#: stock/models.py:636
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:627
+#: stock/models.py:643
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:633 stock/templates/stock/item_base.html:359
-msgid "Installed In"
-msgstr ""
-
-#: stock/models.py:636
+#: stock/models.py:652
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:652
+#: stock/models.py:668
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:666
+#: stock/models.py:682
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:671
+#: stock/models.py:687
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:680
+#: stock/models.py:696
msgid "Source Build"
msgstr ""
-#: stock/models.py:682
+#: stock/models.py:698
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:693
+#: stock/models.py:709
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:696
+#: stock/models.py:712
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:702
+#: stock/models.py:718
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:708 stock/templates/stock/item_base.html:427
-#: templates/js/translated/stock.js:1885
-msgid "Expiry Date"
-msgstr ""
-
-#: stock/models.py:709
+#: stock/models.py:725
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:722
+#: stock/models.py:738
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:722
+#: stock/models.py:738
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:734 stock/templates/stock/item.html:132
+#: stock/models.py:750 stock/templates/stock/item.html:132
msgid "Stock Item Notes"
msgstr ""
-#: stock/models.py:742
+#: stock/models.py:758
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:770
+#: stock/models.py:786
msgid "Converted to part"
msgstr ""
-#: stock/models.py:1244
+#: stock/models.py:1260
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1250
+#: stock/models.py:1266
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1256
+#: stock/models.py:1272
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr ""
-#: stock/models.py:1259
+#: stock/models.py:1275
msgid "Serial numbers must be a list of integers"
msgstr ""
-#: stock/models.py:1262
+#: stock/models.py:1278
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1269
+#: stock/models.py:1285
#, python-brace-format
msgid "Serial numbers already exist: {exists}"
msgstr ""
-#: stock/models.py:1339
+#: stock/models.py:1355
msgid "Stock item has been assigned to a sales order"
msgstr ""
-#: stock/models.py:1342
+#: stock/models.py:1358
msgid "Stock item is installed in another item"
msgstr ""
-#: stock/models.py:1345
+#: stock/models.py:1361
msgid "Stock item contains other items"
msgstr ""
-#: stock/models.py:1348
+#: stock/models.py:1364
msgid "Stock item has been assigned to a customer"
msgstr ""
-#: stock/models.py:1351
+#: stock/models.py:1367
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:1354
+#: stock/models.py:1370
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1361 stock/serializers.py:963
+#: stock/models.py:1377 stock/serializers.py:962
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:1365
+#: stock/models.py:1381
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:1369
+#: stock/models.py:1385
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:1373
+#: stock/models.py:1389
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:1542
+#: stock/models.py:1558
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:2003
+#: stock/models.py:2019
msgid "Entry notes"
msgstr ""
-#: stock/models.py:2061
+#: stock/models.py:2077
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:2067
+#: stock/models.py:2083
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:2086
+#: stock/models.py:2102
msgid "Test name"
msgstr ""
-#: stock/models.py:2092
+#: stock/models.py:2108
msgid "Test result"
msgstr ""
-#: stock/models.py:2098
+#: stock/models.py:2114
msgid "Test output value"
msgstr ""
-#: stock/models.py:2105
+#: stock/models.py:2121
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2111
+#: stock/models.py:2127
msgid "Test notes"
msgstr ""
-#: stock/serializers.py:71
+#: stock/serializers.py:75
msgid "Serial number is too large"
msgstr ""
-#: stock/serializers.py:172
+#: stock/serializers.py:176
msgid "Purchase price of this stock item"
msgstr ""
-#: stock/serializers.py:292
+#: stock/serializers.py:286
msgid "Enter number of stock items to serialize"
msgstr ""
-#: stock/serializers.py:304
+#: stock/serializers.py:298
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({q})"
msgstr ""
-#: stock/serializers.py:310
+#: stock/serializers.py:304
msgid "Enter serial numbers for new items"
msgstr ""
-#: stock/serializers.py:321 stock/serializers.py:920 stock/serializers.py:1153
+#: stock/serializers.py:315 stock/serializers.py:919 stock/serializers.py:1152
msgid "Destination stock location"
msgstr ""
-#: stock/serializers.py:328
+#: stock/serializers.py:322
msgid "Optional note field"
msgstr ""
-#: stock/serializers.py:338
+#: stock/serializers.py:332
msgid "Serial numbers cannot be assigned to this part"
msgstr ""
-#: stock/serializers.py:359
+#: stock/serializers.py:353
msgid "Serial numbers already exist"
msgstr ""
-#: stock/serializers.py:399
+#: stock/serializers.py:393
msgid "Select stock item to install"
msgstr ""
-#: stock/serializers.py:412
+#: stock/serializers.py:406
msgid "Stock item is unavailable"
msgstr ""
-#: stock/serializers.py:419
+#: stock/serializers.py:413
msgid "Selected part is not in the Bill of Materials"
msgstr ""
-#: stock/serializers.py:456
+#: stock/serializers.py:450
msgid "Destination location for uninstalled item"
msgstr ""
-#: stock/serializers.py:461 stock/serializers.py:542
+#: stock/serializers.py:455 stock/serializers.py:536
msgid "Add transaction note (optional)"
msgstr ""
-#: stock/serializers.py:495
+#: stock/serializers.py:489
msgid "Select part to convert stock item into"
msgstr ""
-#: stock/serializers.py:506
+#: stock/serializers.py:500
msgid "Selected part is not a valid option for conversion"
msgstr ""
-#: stock/serializers.py:537
+#: stock/serializers.py:531
msgid "Destination location for returned item"
msgstr ""
-#: stock/serializers.py:775
+#: stock/serializers.py:774
msgid "Part must be salable"
msgstr ""
-#: stock/serializers.py:779
+#: stock/serializers.py:778
msgid "Item is allocated to a sales order"
msgstr ""
-#: stock/serializers.py:783
+#: stock/serializers.py:782
msgid "Item is allocated to a build order"
msgstr ""
-#: stock/serializers.py:814
+#: stock/serializers.py:813
msgid "Customer to assign stock items"
msgstr ""
-#: stock/serializers.py:820
+#: stock/serializers.py:819
msgid "Selected company is not a customer"
msgstr ""
-#: stock/serializers.py:828
+#: stock/serializers.py:827
msgid "Stock assignment notes"
msgstr ""
-#: stock/serializers.py:838 stock/serializers.py:1069
+#: stock/serializers.py:837 stock/serializers.py:1068
msgid "A list of stock items must be provided"
msgstr ""
-#: stock/serializers.py:927
+#: stock/serializers.py:926
msgid "Stock merging notes"
msgstr ""
-#: stock/serializers.py:932
+#: stock/serializers.py:931
msgid "Allow mismatched suppliers"
msgstr ""
-#: stock/serializers.py:933
+#: stock/serializers.py:932
msgid "Allow stock items with different supplier parts to be merged"
msgstr ""
-#: stock/serializers.py:938
+#: stock/serializers.py:937
msgid "Allow mismatched status"
msgstr ""
-#: stock/serializers.py:939
+#: stock/serializers.py:938
msgid "Allow stock items with different status codes to be merged"
msgstr ""
-#: stock/serializers.py:949
+#: stock/serializers.py:948
msgid "At least two stock items must be provided"
msgstr ""
-#: stock/serializers.py:1031
+#: stock/serializers.py:1030
msgid "StockItem primary key value"
msgstr ""
-#: stock/serializers.py:1059
+#: stock/serializers.py:1058
msgid "Stock transaction notes"
msgstr ""
@@ -6520,7 +6794,7 @@ msgstr ""
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2871
+#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2889
msgid "Install Stock Item"
msgstr ""
@@ -6528,7 +6802,7 @@ msgstr ""
msgid "Delete all test results for this stock item"
msgstr ""
-#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1522
+#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1541
msgid "Add Test Result"
msgstr ""
@@ -6687,7 +6961,7 @@ msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:431
-#: templates/js/translated/table_filters.js:277
+#: templates/js/translated/table_filters.js:281
msgid "Expired"
msgstr ""
@@ -6697,16 +6971,10 @@ msgid "This StockItem expires on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/table_filters.js:283
+#: templates/js/translated/table_filters.js:287
msgid "Stale"
msgstr ""
-#: stock/templates/stock/item_base.html:440
-#: templates/js/translated/company.js:1038
-#: templates/js/translated/stock.js:1901
-msgid "Last Updated"
-msgstr ""
-
#: stock/templates/stock/item_base.html:445
msgid "Last Stocktake"
msgstr ""
@@ -6783,11 +7051,6 @@ msgstr ""
msgid "Delete location"
msgstr ""
-#: stock/templates/stock/location.html:123
-#: stock/templates/stock/location.html:129
-msgid "Location Path"
-msgstr ""
-
#: stock/templates/stock/location.html:130
msgid "Top level stock location"
msgstr ""
@@ -6960,6 +7223,14 @@ msgstr ""
msgid "Overdue Sales Orders"
msgstr ""
+#: templates/InvenTree/index.html:312
+msgid "InvenTree News"
+msgstr ""
+
+#: templates/InvenTree/index.html:314
+msgid "Current News"
+msgstr ""
+
#: templates/InvenTree/notifications/history.html:9
msgid "Notification History"
msgstr ""
@@ -7026,30 +7297,6 @@ msgstr ""
msgid "Category Settings"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:8
-msgid "Currency Settings"
-msgstr ""
-
-#: templates/InvenTree/settings/currencies.html:19
-msgid "Base Currency"
-msgstr ""
-
-#: templates/InvenTree/settings/currencies.html:24
-msgid "Exchange Rates"
-msgstr ""
-
-#: templates/InvenTree/settings/currencies.html:38
-msgid "Last Update"
-msgstr ""
-
-#: templates/InvenTree/settings/currencies.html:44
-msgid "Never"
-msgstr ""
-
-#: templates/InvenTree/settings/currencies.html:49
-msgid "Update Now"
-msgstr ""
-
#: templates/InvenTree/settings/global.html:9
msgid "Server Settings"
msgstr ""
@@ -7090,15 +7337,15 @@ msgstr ""
msgid "Part Settings"
msgstr ""
-#: templates/InvenTree/settings/part.html:46
+#: templates/InvenTree/settings/part.html:40
msgid "Part Import"
msgstr ""
-#: templates/InvenTree/settings/part.html:50
+#: templates/InvenTree/settings/part.html:44
msgid "Import Part"
msgstr ""
-#: templates/InvenTree/settings/part.html:64
+#: templates/InvenTree/settings/part.html:58
msgid "Part Parameter Templates"
msgstr ""
@@ -7125,11 +7372,6 @@ msgstr ""
msgid "External plugins are not enabled for this InvenTree installation"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:62
-#: templates/InvenTree/settings/plugin_settings.html:33
-msgid "Author"
-msgstr ""
-
#: templates/InvenTree/settings/plugin.html:64
#: templates/InvenTree/settings/plugin_settings.html:43
msgid "Version"
@@ -7239,6 +7481,39 @@ msgstr ""
msgid "Purchase Order Settings"
msgstr ""
+#: templates/InvenTree/settings/pricing.html:7
+msgid "Pricing Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:24
+msgid "Currency Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:30
+msgid "Update Now"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:39
+#: templates/InvenTree/settings/pricing.html:43
+msgid "Last Update"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:43
+msgid "Never"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:53
+msgid "Base Currency"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:58
+msgid "Exchange Rates"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:60
+msgid "Rate"
+msgstr ""
+
#: templates/InvenTree/settings/report.html:8
#: templates/InvenTree/settings/user_reports.html:9
msgid "Report Settings"
@@ -7295,6 +7570,7 @@ msgid "No part parameter templates found"
msgstr ""
#: templates/InvenTree/settings/settings.html:338
+#: templates/js/translated/news.js:28
#: templates/js/translated/notification.js:36
msgid "ID"
msgstr ""
@@ -7357,10 +7633,6 @@ msgstr ""
msgid "Server Configuration"
msgstr ""
-#: templates/InvenTree/settings/sidebar.html:35
-msgid "Currencies"
-msgstr ""
-
#: templates/InvenTree/settings/sidebar.html:43
msgid "Categories"
msgstr ""
@@ -7380,7 +7652,7 @@ msgid "Change Password"
msgstr ""
#: templates/InvenTree/settings/user.html:23
-#: templates/js/translated/helpers.js:31 templates/notes_buttons.html:3
+#: templates/js/translated/helpers.js:33 templates/notes_buttons.html:3
#: templates/notes_buttons.html:4
msgid "Edit"
msgstr ""
@@ -7890,7 +8162,7 @@ msgid "The following parts are low on required stock"
msgstr ""
#: templates/email/build_order_required_stock.html:18
-#: templates/js/translated/bom.js:1566
+#: templates/js/translated/bom.js:1629
msgid "Required Quantity"
msgstr ""
@@ -7904,7 +8176,7 @@ msgid "Click on the following link to view this part"
msgstr ""
#: templates/email/low_stock_notification.html:19
-#: templates/js/translated/part.js:2566
+#: templates/js/translated/part.js:2423
msgid "Minimum Quantity"
msgstr ""
@@ -8057,7 +8329,7 @@ msgstr ""
msgid "Unlink"
msgstr ""
-#: templates/js/translated/barcode.js:500 templates/js/translated/stock.js:1054
+#: templates/js/translated/barcode.js:500 templates/js/translated/stock.js:1073
msgid "Remove stock item"
msgstr ""
@@ -8127,10 +8399,10 @@ msgstr ""
msgid "Row Data"
msgstr ""
-#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:646
+#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:659
#: templates/js/translated/modals.js:56 templates/js/translated/modals.js:601
#: templates/js/translated/modals.js:695 templates/js/translated/modals.js:1003
-#: templates/js/translated/order.js:1179 templates/modals.html:15
+#: templates/js/translated/order.js:1213 templates/modals.html:15
#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50
msgid "Close"
msgstr ""
@@ -8140,12 +8412,12 @@ msgid "Download BOM Template"
msgstr ""
#: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312
-#: templates/js/translated/order.js:960 templates/js/translated/tables.js:145
+#: templates/js/translated/order.js:994 templates/js/translated/tables.js:145
msgid "Format"
msgstr ""
#: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313
-#: templates/js/translated/order.js:961
+#: templates/js/translated/order.js:995
msgid "Select file format"
msgstr ""
@@ -8197,118 +8469,130 @@ msgstr ""
msgid "Include part supplier data in exported BOM"
msgstr ""
-#: templates/js/translated/bom.js:537
+#: templates/js/translated/bom.js:358
+msgid "Include Pricing Data"
+msgstr ""
+
+#: templates/js/translated/bom.js:359
+msgid "Include part pricing data in exported BOM"
+msgstr ""
+
+#: templates/js/translated/bom.js:550
msgid "Remove substitute part"
msgstr ""
-#: templates/js/translated/bom.js:591
+#: templates/js/translated/bom.js:604
msgid "Select and add a new substitute part using the input below"
msgstr ""
-#: templates/js/translated/bom.js:602
+#: templates/js/translated/bom.js:615
msgid "Are you sure you wish to remove this substitute part link?"
msgstr ""
-#: templates/js/translated/bom.js:608
+#: templates/js/translated/bom.js:621
msgid "Remove Substitute Part"
msgstr ""
-#: templates/js/translated/bom.js:647
+#: templates/js/translated/bom.js:660
msgid "Add Substitute"
msgstr ""
-#: templates/js/translated/bom.js:648
+#: templates/js/translated/bom.js:661
msgid "Edit BOM Item Substitutes"
msgstr ""
-#: templates/js/translated/bom.js:710
+#: templates/js/translated/bom.js:723
msgid "All selected BOM items will be deleted"
msgstr ""
-#: templates/js/translated/bom.js:726
+#: templates/js/translated/bom.js:739
msgid "Delete selected BOM items?"
msgstr ""
-#: templates/js/translated/bom.js:860
+#: templates/js/translated/bom.js:868
msgid "Load BOM for subassembly"
msgstr ""
-#: templates/js/translated/bom.js:870
+#: templates/js/translated/bom.js:878
msgid "Substitutes Available"
msgstr ""
-#: templates/js/translated/bom.js:874 templates/js/translated/build.js:1835
+#: templates/js/translated/bom.js:882 templates/js/translated/build.js:1835
msgid "Variant stock allowed"
msgstr ""
-#: templates/js/translated/bom.js:983 templates/js/translated/build.js:1907
-#: templates/js/translated/order.js:3927
-msgid "No Stock Available"
-msgstr ""
-
-#: templates/js/translated/bom.js:988 templates/js/translated/build.js:1911
-msgid "Includes variant and substitute stock"
-msgstr ""
-
-#: templates/js/translated/bom.js:990 templates/js/translated/build.js:1913
-#: templates/js/translated/part.js:761 templates/js/translated/part.js:1539
-msgid "Includes variant stock"
-msgstr ""
-
-#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1915
-msgid "Includes substitute stock"
-msgstr ""
-
-#: templates/js/translated/bom.js:1010
+#: templates/js/translated/bom.js:972
msgid "Substitutes"
msgstr ""
-#: templates/js/translated/bom.js:1061 templates/js/translated/bom.js:1195
+#: templates/js/translated/bom.js:1023 templates/js/translated/bom.js:1260
msgid "View BOM"
msgstr ""
-#: templates/js/translated/bom.js:1071
-msgid "Purchase Price Range"
+#: templates/js/translated/bom.js:1094
+msgid "BOM pricing is complete"
msgstr ""
-#: templates/js/translated/bom.js:1078
-msgid "Purchase Price Average"
+#: templates/js/translated/bom.js:1099
+msgid "BOM pricing is incomplete"
msgstr ""
-#: templates/js/translated/bom.js:1106 templates/js/translated/build.js:1898
+#: templates/js/translated/bom.js:1106
+msgid "No pricing available"
+msgstr ""
+
+#: templates/js/translated/bom.js:1137 templates/js/translated/build.js:1907
+#: templates/js/translated/order.js:3924
+msgid "No Stock Available"
+msgstr ""
+
+#: templates/js/translated/bom.js:1142 templates/js/translated/build.js:1911
+msgid "Includes variant and substitute stock"
+msgstr ""
+
+#: templates/js/translated/bom.js:1144 templates/js/translated/build.js:1913
+#: templates/js/translated/part.js:775 templates/js/translated/part.js:1550
+msgid "Includes variant stock"
+msgstr ""
+
+#: templates/js/translated/bom.js:1146 templates/js/translated/build.js:1915
+msgid "Includes substitute stock"
+msgstr ""
+
+#: templates/js/translated/bom.js:1171 templates/js/translated/build.js:1898
#: templates/js/translated/build.js:1985
msgid "Consumable item"
msgstr ""
-#: templates/js/translated/bom.js:1166
+#: templates/js/translated/bom.js:1231
msgid "Validate BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1168
+#: templates/js/translated/bom.js:1233
msgid "This line has been validated"
msgstr ""
-#: templates/js/translated/bom.js:1170
+#: templates/js/translated/bom.js:1235
msgid "Edit substitute parts"
msgstr ""
-#: templates/js/translated/bom.js:1172 templates/js/translated/bom.js:1369
+#: templates/js/translated/bom.js:1237 templates/js/translated/bom.js:1433
msgid "Edit BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1174
+#: templates/js/translated/bom.js:1239
msgid "Delete BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1280 templates/js/translated/build.js:1679
+#: templates/js/translated/bom.js:1344 templates/js/translated/build.js:1679
msgid "No BOM items found"
msgstr ""
-#: templates/js/translated/bom.js:1549 templates/js/translated/build.js:1818
+#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1818
msgid "Required Part"
msgstr ""
-#: templates/js/translated/bom.js:1575
+#: templates/js/translated/bom.js:1638
msgid "Inherited from parent BOM"
msgstr ""
@@ -8353,12 +8637,12 @@ msgid "Complete Build Order"
msgstr ""
#: templates/js/translated/build.js:311 templates/js/translated/stock.js:92
-#: templates/js/translated/stock.js:214
+#: templates/js/translated/stock.js:233
msgid "Next available serial number"
msgstr ""
#: templates/js/translated/build.js:313 templates/js/translated/stock.js:94
-#: templates/js/translated/stock.js:216
+#: templates/js/translated/stock.js:235
msgid "Latest serial number"
msgstr ""
@@ -8455,12 +8739,12 @@ msgid "No required tests for this build"
msgstr ""
#: templates/js/translated/build.js:1775 templates/js/translated/build.js:2765
-#: templates/js/translated/order.js:3627
+#: templates/js/translated/order.js:3638
msgid "Edit stock allocation"
msgstr ""
#: templates/js/translated/build.js:1777 templates/js/translated/build.js:2766
-#: templates/js/translated/order.js:3628
+#: templates/js/translated/order.js:3639
msgid "Delete stock allocation"
msgstr ""
@@ -8480,20 +8764,15 @@ msgstr ""
msgid "Quantity Per"
msgstr ""
-#: templates/js/translated/build.js:1901 templates/js/translated/order.js:3934
+#: templates/js/translated/build.js:1901 templates/js/translated/order.js:3931
msgid "Insufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3932
+#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3929
msgid "Sufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1937 templates/js/translated/build.js:2195
-#: templates/js/translated/build.js:2761 templates/js/translated/order.js:3946
-msgid "Allocated"
-msgstr ""
-
-#: templates/js/translated/build.js:1993 templates/js/translated/order.js:4026
+#: templates/js/translated/build.js:1993 templates/js/translated/order.js:4023
msgid "Build stock"
msgstr ""
@@ -8501,21 +8780,21 @@ msgstr ""
msgid "Order stock"
msgstr ""
-#: templates/js/translated/build.js:2000 templates/js/translated/order.js:4019
+#: templates/js/translated/build.js:2000 templates/js/translated/order.js:4016
msgid "Allocate stock"
msgstr ""
#: templates/js/translated/build.js:2039 templates/js/translated/label.js:172
-#: templates/js/translated/order.js:1007 templates/js/translated/order.js:3154
+#: templates/js/translated/order.js:1041 templates/js/translated/order.js:3165
#: templates/js/translated/report.js:225
msgid "Select Parts"
msgstr ""
-#: templates/js/translated/build.js:2040 templates/js/translated/order.js:3155
+#: templates/js/translated/build.js:2040 templates/js/translated/order.js:3166
msgid "You must select at least one part to allocate"
msgstr ""
-#: templates/js/translated/build.js:2089 templates/js/translated/order.js:3103
+#: templates/js/translated/build.js:2089 templates/js/translated/order.js:3114
msgid "Specify stock allocation quantity"
msgstr ""
@@ -8527,7 +8806,7 @@ msgstr ""
msgid "All selected parts have been fully allocated"
msgstr ""
-#: templates/js/translated/build.js:2183 templates/js/translated/order.js:3169
+#: templates/js/translated/build.js:2183 templates/js/translated/order.js:3180
msgid "Select source location (leave blank to take from all locations)"
msgstr ""
@@ -8535,11 +8814,11 @@ msgstr ""
msgid "Allocate Stock Items to Build Order"
msgstr ""
-#: templates/js/translated/build.js:2222 templates/js/translated/order.js:3266
+#: templates/js/translated/build.js:2222 templates/js/translated/order.js:3277
msgid "No matching stock locations"
msgstr ""
-#: templates/js/translated/build.js:2294 templates/js/translated/order.js:3343
+#: templates/js/translated/build.js:2294 templates/js/translated/order.js:3354
msgid "No matching stock items"
msgstr ""
@@ -8571,9 +8850,9 @@ msgstr ""
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:2558 templates/js/translated/part.js:1423
-#: templates/js/translated/part.js:1957 templates/js/translated/stock.js:1686
-#: templates/js/translated/stock.js:2390
+#: templates/js/translated/build.js:2558 templates/js/translated/part.js:1444
+#: templates/js/translated/part.js:1981 templates/js/translated/stock.js:1705
+#: templates/js/translated/stock.js:2408
msgid "Select"
msgstr ""
@@ -8585,7 +8864,7 @@ msgstr ""
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2636 templates/js/translated/stock.js:2657
+#: templates/js/translated/build.js:2636 templates/js/translated/stock.js:2675
msgid "No user information"
msgstr ""
@@ -8593,118 +8872,144 @@ msgstr ""
msgid "No parts allocated for"
msgstr ""
-#: templates/js/translated/company.js:66
+#: templates/js/translated/company.js:67
msgid "Add Manufacturer"
msgstr ""
-#: templates/js/translated/company.js:79 templates/js/translated/company.js:181
+#: templates/js/translated/company.js:80 templates/js/translated/company.js:182
msgid "Add Manufacturer Part"
msgstr ""
-#: templates/js/translated/company.js:100
+#: templates/js/translated/company.js:101
msgid "Edit Manufacturer Part"
msgstr ""
-#: templates/js/translated/company.js:169 templates/js/translated/order.js:576
+#: templates/js/translated/company.js:170 templates/js/translated/order.js:576
msgid "Add Supplier"
msgstr ""
-#: templates/js/translated/company.js:197 templates/js/translated/order.js:828
+#: templates/js/translated/company.js:198 templates/js/translated/order.js:862
msgid "Add Supplier Part"
msgstr ""
-#: templates/js/translated/company.js:297
+#: templates/js/translated/company.js:298
msgid "All selected supplier parts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:313
+#: templates/js/translated/company.js:314
msgid "Delete Supplier Parts"
msgstr ""
-#: templates/js/translated/company.js:385
+#: templates/js/translated/company.js:386
msgid "Add new Company"
msgstr ""
-#: templates/js/translated/company.js:462
+#: templates/js/translated/company.js:463
msgid "Parts Supplied"
msgstr ""
-#: templates/js/translated/company.js:471
+#: templates/js/translated/company.js:472
msgid "Parts Manufactured"
msgstr ""
-#: templates/js/translated/company.js:486
+#: templates/js/translated/company.js:487
msgid "No company information found"
msgstr ""
-#: templates/js/translated/company.js:527
+#: templates/js/translated/company.js:528
msgid "All selected manufacturer parts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:542
+#: templates/js/translated/company.js:543
msgid "Delete Manufacturer Parts"
msgstr ""
-#: templates/js/translated/company.js:576
+#: templates/js/translated/company.js:577
msgid "All selected parameters will be deleted"
msgstr ""
-#: templates/js/translated/company.js:590
+#: templates/js/translated/company.js:591
msgid "Delete Parameters"
msgstr ""
-#: templates/js/translated/company.js:631
+#: templates/js/translated/company.js:632
msgid "No manufacturer parts found"
msgstr ""
-#: templates/js/translated/company.js:651
-#: templates/js/translated/company.js:912 templates/js/translated/part.js:636
-#: templates/js/translated/part.js:721
+#: templates/js/translated/company.js:652
+#: templates/js/translated/company.js:913 templates/js/translated/part.js:650
+#: templates/js/translated/part.js:735
msgid "Template part"
msgstr ""
-#: templates/js/translated/company.js:655
-#: templates/js/translated/company.js:916 templates/js/translated/part.js:640
-#: templates/js/translated/part.js:725
+#: templates/js/translated/company.js:656
+#: templates/js/translated/company.js:917 templates/js/translated/part.js:654
+#: templates/js/translated/part.js:739
msgid "Assembled part"
msgstr ""
-#: templates/js/translated/company.js:783 templates/js/translated/part.js:828
+#: templates/js/translated/company.js:784 templates/js/translated/part.js:855
msgid "No parameters found"
msgstr ""
-#: templates/js/translated/company.js:820 templates/js/translated/part.js:870
+#: templates/js/translated/company.js:821 templates/js/translated/part.js:897
msgid "Edit parameter"
msgstr ""
-#: templates/js/translated/company.js:821 templates/js/translated/part.js:871
+#: templates/js/translated/company.js:822 templates/js/translated/part.js:898
msgid "Delete parameter"
msgstr ""
-#: templates/js/translated/company.js:840 templates/js/translated/part.js:888
+#: templates/js/translated/company.js:841 templates/js/translated/part.js:915
msgid "Edit Parameter"
msgstr ""
-#: templates/js/translated/company.js:851 templates/js/translated/part.js:900
+#: templates/js/translated/company.js:852 templates/js/translated/part.js:927
msgid "Delete Parameter"
msgstr ""
-#: templates/js/translated/company.js:891
+#: templates/js/translated/company.js:892
msgid "No supplier parts found"
msgstr ""
-#: templates/js/translated/company.js:1032
+#: templates/js/translated/company.js:1033
msgid "Availability"
msgstr ""
-#: templates/js/translated/company.js:1055
+#: templates/js/translated/company.js:1056
msgid "Edit supplier part"
msgstr ""
-#: templates/js/translated/company.js:1056
+#: templates/js/translated/company.js:1057
msgid "Delete supplier part"
msgstr ""
+#: templates/js/translated/company.js:1112
+#: templates/js/translated/pricing.js:423
+msgid "Delete Price Break"
+msgstr ""
+
+#: templates/js/translated/company.js:1128
+#: templates/js/translated/pricing.js:437
+msgid "Edit Price Break"
+msgstr ""
+
+#: templates/js/translated/company.js:1145
+msgid "No price break information found"
+msgstr ""
+
+#: templates/js/translated/company.js:1174
+msgid "Last updated"
+msgstr ""
+
+#: templates/js/translated/company.js:1180
+msgid "Edit price break"
+msgstr ""
+
+#: templates/js/translated/company.js:1181
+msgid "Delete price break"
+msgstr ""
+
#: templates/js/translated/filters.js:178
#: templates/js/translated/filters.js:441
msgid "true"
@@ -8785,27 +9090,27 @@ msgstr ""
msgid "Clear input"
msgstr ""
-#: templates/js/translated/forms.js:2638
+#: templates/js/translated/forms.js:2628
msgid "File Column"
msgstr ""
-#: templates/js/translated/forms.js:2638
+#: templates/js/translated/forms.js:2628
msgid "Field Name"
msgstr ""
-#: templates/js/translated/forms.js:2650
+#: templates/js/translated/forms.js:2640
msgid "Select Columns"
msgstr ""
-#: templates/js/translated/helpers.js:24
+#: templates/js/translated/helpers.js:26
msgid "YES"
msgstr ""
-#: templates/js/translated/helpers.js:26
+#: templates/js/translated/helpers.js:28
msgid "NO"
msgstr ""
-#: templates/js/translated/helpers.js:363
+#: templates/js/translated/helpers.js:434
msgid "Notes updated"
msgstr ""
@@ -8814,7 +9119,7 @@ msgid "Labels sent to printer"
msgstr ""
#: templates/js/translated/label.js:60 templates/js/translated/report.js:118
-#: templates/js/translated/stock.js:1078
+#: templates/js/translated/stock.js:1097
msgid "Select Stock Items"
msgstr ""
@@ -8934,14 +9239,6 @@ msgstr ""
msgid "Stock ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:159
-msgid "Location ID"
-msgstr ""
-
-#: templates/js/translated/model_renderers.js:177
-msgid "Build ID"
-msgstr ""
-
#: templates/js/translated/model_renderers.js:278
#: templates/js/translated/model_renderers.js:303
msgid "Order ID"
@@ -8952,16 +9249,12 @@ msgstr ""
msgid "Shipment ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:338
-msgid "Category ID"
-msgstr ""
-
#: templates/js/translated/model_renderers.js:381
msgid "Manufacturer Part ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:418
-msgid "Supplier Part ID"
+#: templates/js/translated/news.js:23
+msgid "No news found"
msgstr ""
#: templates/js/translated/notification.js:42
@@ -9104,659 +9397,688 @@ msgstr ""
msgid "Duplication Options"
msgstr ""
-#: templates/js/translated/order.js:957
+#: templates/js/translated/order.js:991
msgid "Export Order"
msgstr ""
-#: templates/js/translated/order.js:1008
+#: templates/js/translated/order.js:1042
msgid "At least one purchaseable part must be selected"
msgstr ""
-#: templates/js/translated/order.js:1033
+#: templates/js/translated/order.js:1067
msgid "Quantity to order"
msgstr ""
-#: templates/js/translated/order.js:1042
+#: templates/js/translated/order.js:1076
msgid "New supplier part"
msgstr ""
-#: templates/js/translated/order.js:1060
+#: templates/js/translated/order.js:1094
msgid "New purchase order"
msgstr ""
-#: templates/js/translated/order.js:1093
+#: templates/js/translated/order.js:1127
msgid "Add to purchase order"
msgstr ""
-#: templates/js/translated/order.js:1233
+#: templates/js/translated/order.js:1267
msgid "No matching supplier parts"
msgstr ""
-#: templates/js/translated/order.js:1252
+#: templates/js/translated/order.js:1286
msgid "No matching purchase orders"
msgstr ""
-#: templates/js/translated/order.js:1429
+#: templates/js/translated/order.js:1463
msgid "Select Line Items"
msgstr ""
-#: templates/js/translated/order.js:1430
+#: templates/js/translated/order.js:1464
msgid "At least one line item must be selected"
msgstr ""
-#: templates/js/translated/order.js:1450 templates/js/translated/order.js:1563
+#: templates/js/translated/order.js:1484 templates/js/translated/order.js:1597
msgid "Add batch code"
msgstr ""
-#: templates/js/translated/order.js:1456 templates/js/translated/order.js:1574
+#: templates/js/translated/order.js:1490 templates/js/translated/order.js:1608
msgid "Add serial numbers"
msgstr ""
-#: templates/js/translated/order.js:1471
+#: templates/js/translated/order.js:1505
msgid "Received Quantity"
msgstr ""
-#: templates/js/translated/order.js:1482
+#: templates/js/translated/order.js:1516
msgid "Quantity to receive"
msgstr ""
-#: templates/js/translated/order.js:1546 templates/js/translated/stock.js:2146
+#: templates/js/translated/order.js:1580 templates/js/translated/stock.js:2164
msgid "Stock Status"
msgstr ""
-#: templates/js/translated/order.js:1639
+#: templates/js/translated/order.js:1673
msgid "Order Code"
msgstr ""
-#: templates/js/translated/order.js:1640
+#: templates/js/translated/order.js:1674
msgid "Ordered"
msgstr ""
-#: templates/js/translated/order.js:1642
+#: templates/js/translated/order.js:1676
msgid "Quantity to Receive"
msgstr ""
-#: templates/js/translated/order.js:1661
+#: templates/js/translated/order.js:1695
msgid "Confirm receipt of items"
msgstr ""
-#: templates/js/translated/order.js:1662
+#: templates/js/translated/order.js:1696
msgid "Receive Purchase Order Items"
msgstr ""
-#: templates/js/translated/order.js:1940 templates/js/translated/part.js:941
+#: templates/js/translated/order.js:1974 templates/js/translated/part.js:968
msgid "No purchase orders found"
msgstr ""
-#: templates/js/translated/order.js:1967 templates/js/translated/order.js:2798
+#: templates/js/translated/order.js:2001 templates/js/translated/order.js:2809
msgid "Order is overdue"
msgstr ""
-#: templates/js/translated/order.js:2017 templates/js/translated/order.js:2863
-#: templates/js/translated/order.js:3004
+#: templates/js/translated/order.js:2051 templates/js/translated/order.js:2874
+#: templates/js/translated/order.js:3015
msgid "Items"
msgstr ""
-#: templates/js/translated/order.js:2115 templates/js/translated/order.js:4078
+#: templates/js/translated/order.js:2154 templates/js/translated/order.js:4075
msgid "Duplicate Line Item"
msgstr ""
-#: templates/js/translated/order.js:2132 templates/js/translated/order.js:4100
+#: templates/js/translated/order.js:2171 templates/js/translated/order.js:4097
msgid "Edit Line Item"
msgstr ""
-#: templates/js/translated/order.js:2145 templates/js/translated/order.js:4111
+#: templates/js/translated/order.js:2184 templates/js/translated/order.js:4108
msgid "Delete Line Item"
msgstr ""
-#: templates/js/translated/order.js:2188
+#: templates/js/translated/order.js:2227
msgid "No line items found"
msgstr ""
-#: templates/js/translated/order.js:2215 templates/js/translated/order.js:3812
+#: templates/js/translated/order.js:2254 templates/js/translated/order.js:3827
msgid "Total"
msgstr ""
-#: templates/js/translated/order.js:2270 templates/js/translated/part.js:1043
-#: templates/js/translated/part.js:1095
+#: templates/js/translated/order.js:2309 templates/js/translated/part.js:1070
+#: templates/js/translated/part.js:1122
msgid "Total Quantity"
msgstr ""
-#: templates/js/translated/order.js:2301 templates/js/translated/order.js:2500
-#: templates/js/translated/order.js:3837 templates/js/translated/order.js:4342
-#: templates/js/translated/part.js:2199 templates/js/translated/part.js:2797
+#: templates/js/translated/order.js:2340 templates/js/translated/order.js:2527
+#: templates/js/translated/order.js:3852 templates/js/translated/order.js:4343
+#: templates/js/translated/pricing.js:260
+#: templates/js/translated/pricing.js:329
+#: templates/js/translated/pricing.js:545
msgid "Unit Price"
msgstr ""
-#: templates/js/translated/order.js:2316 templates/js/translated/order.js:2516
-#: templates/js/translated/order.js:3853 templates/js/translated/order.js:4358
+#: templates/js/translated/order.js:2350 templates/js/translated/order.js:2537
+#: templates/js/translated/order.js:3862 templates/js/translated/order.js:4353
msgid "Total Price"
msgstr ""
-#: templates/js/translated/order.js:2357 templates/js/translated/order.js:3895
-#: templates/js/translated/part.js:1079
+#: templates/js/translated/order.js:2380 templates/js/translated/order.js:3892
+#: templates/js/translated/part.js:1106
msgid "This line item is overdue"
msgstr ""
-#: templates/js/translated/order.js:2416 templates/js/translated/part.js:1130
+#: templates/js/translated/order.js:2439 templates/js/translated/part.js:1151
msgid "Receive line item"
msgstr ""
-#: templates/js/translated/order.js:2420 templates/js/translated/order.js:4032
+#: templates/js/translated/order.js:2443 templates/js/translated/order.js:4029
msgid "Duplicate line item"
msgstr ""
-#: templates/js/translated/order.js:2421 templates/js/translated/order.js:4033
+#: templates/js/translated/order.js:2444 templates/js/translated/order.js:4030
msgid "Edit line item"
msgstr ""
-#: templates/js/translated/order.js:2422 templates/js/translated/order.js:4037
+#: templates/js/translated/order.js:2445 templates/js/translated/order.js:4034
msgid "Delete line item"
msgstr ""
-#: templates/js/translated/order.js:2564 templates/js/translated/order.js:4406
+#: templates/js/translated/order.js:2574 templates/js/translated/order.js:4389
msgid "Duplicate line"
msgstr ""
-#: templates/js/translated/order.js:2565 templates/js/translated/order.js:4407
+#: templates/js/translated/order.js:2575 templates/js/translated/order.js:4390
msgid "Edit line"
msgstr ""
-#: templates/js/translated/order.js:2566 templates/js/translated/order.js:4408
+#: templates/js/translated/order.js:2576 templates/js/translated/order.js:4391
msgid "Delete line"
msgstr ""
-#: templates/js/translated/order.js:2595 templates/js/translated/order.js:4437
+#: templates/js/translated/order.js:2606 templates/js/translated/order.js:4420
msgid "Duplicate Line"
msgstr ""
-#: templates/js/translated/order.js:2616 templates/js/translated/order.js:4458
+#: templates/js/translated/order.js:2627 templates/js/translated/order.js:4441
msgid "Edit Line"
msgstr ""
-#: templates/js/translated/order.js:2627 templates/js/translated/order.js:4469
+#: templates/js/translated/order.js:2638 templates/js/translated/order.js:4452
msgid "Delete Line"
msgstr ""
-#: templates/js/translated/order.js:2638
+#: templates/js/translated/order.js:2649
msgid "No matching line"
msgstr ""
-#: templates/js/translated/order.js:2749
+#: templates/js/translated/order.js:2760
msgid "No sales orders found"
msgstr ""
-#: templates/js/translated/order.js:2812
+#: templates/js/translated/order.js:2823
msgid "Invalid Customer"
msgstr ""
-#: templates/js/translated/order.js:2910
+#: templates/js/translated/order.js:2921
msgid "Edit shipment"
msgstr ""
-#: templates/js/translated/order.js:2913
+#: templates/js/translated/order.js:2924
msgid "Complete shipment"
msgstr ""
-#: templates/js/translated/order.js:2918
+#: templates/js/translated/order.js:2929
msgid "Delete shipment"
msgstr ""
-#: templates/js/translated/order.js:2938
+#: templates/js/translated/order.js:2949
msgid "Edit Shipment"
msgstr ""
-#: templates/js/translated/order.js:2955
+#: templates/js/translated/order.js:2966
msgid "Delete Shipment"
msgstr ""
-#: templates/js/translated/order.js:2989
+#: templates/js/translated/order.js:3000
msgid "No matching shipments found"
msgstr ""
-#: templates/js/translated/order.js:2999
+#: templates/js/translated/order.js:3010
msgid "Shipment Reference"
msgstr ""
-#: templates/js/translated/order.js:3023
+#: templates/js/translated/order.js:3034
msgid "Not shipped"
msgstr ""
-#: templates/js/translated/order.js:3029
+#: templates/js/translated/order.js:3040
msgid "Tracking"
msgstr ""
-#: templates/js/translated/order.js:3033
+#: templates/js/translated/order.js:3044
msgid "Invoice"
msgstr ""
-#: templates/js/translated/order.js:3202
+#: templates/js/translated/order.js:3213
msgid "Add Shipment"
msgstr ""
-#: templates/js/translated/order.js:3253
+#: templates/js/translated/order.js:3264
msgid "Confirm stock allocation"
msgstr ""
-#: templates/js/translated/order.js:3254
+#: templates/js/translated/order.js:3265
msgid "Allocate Stock Items to Sales Order"
msgstr ""
-#: templates/js/translated/order.js:3462
+#: templates/js/translated/order.js:3473
msgid "No sales order allocations found"
msgstr ""
-#: templates/js/translated/order.js:3541
+#: templates/js/translated/order.js:3552
msgid "Edit Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:3558
+#: templates/js/translated/order.js:3569
msgid "Confirm Delete Operation"
msgstr ""
-#: templates/js/translated/order.js:3559
+#: templates/js/translated/order.js:3570
msgid "Delete Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:3604 templates/js/translated/order.js:3693
-#: templates/js/translated/stock.js:1602
+#: templates/js/translated/order.js:3615 templates/js/translated/order.js:3704
+#: templates/js/translated/stock.js:1621
msgid "Shipped to customer"
msgstr ""
-#: templates/js/translated/order.js:3612 templates/js/translated/order.js:3702
+#: templates/js/translated/order.js:3623 templates/js/translated/order.js:3713
msgid "Stock location not specified"
msgstr ""
-#: templates/js/translated/order.js:4016
+#: templates/js/translated/order.js:4013
msgid "Allocate serial numbers"
msgstr ""
-#: templates/js/translated/order.js:4022
+#: templates/js/translated/order.js:4019
msgid "Purchase stock"
msgstr ""
-#: templates/js/translated/order.js:4029 templates/js/translated/order.js:4227
+#: templates/js/translated/order.js:4026 templates/js/translated/order.js:4224
msgid "Calculate price"
msgstr ""
-#: templates/js/translated/order.js:4041
+#: templates/js/translated/order.js:4038
msgid "Cannot be deleted as items have been shipped"
msgstr ""
-#: templates/js/translated/order.js:4044
+#: templates/js/translated/order.js:4041
msgid "Cannot be deleted as items have been allocated"
msgstr ""
-#: templates/js/translated/order.js:4126
+#: templates/js/translated/order.js:4123
msgid "Allocate Serial Numbers"
msgstr ""
-#: templates/js/translated/order.js:4235
+#: templates/js/translated/order.js:4232
msgid "Update Unit Price"
msgstr ""
-#: templates/js/translated/order.js:4249
+#: templates/js/translated/order.js:4246
msgid "No matching line items"
msgstr ""
-#: templates/js/translated/order.js:4480
+#: templates/js/translated/order.js:4463
msgid "No matching lines"
msgstr ""
-#: templates/js/translated/part.js:56
+#: templates/js/translated/part.js:52
msgid "Part Attributes"
msgstr ""
-#: templates/js/translated/part.js:60
+#: templates/js/translated/part.js:56
msgid "Part Creation Options"
msgstr ""
-#: templates/js/translated/part.js:64
+#: templates/js/translated/part.js:60
msgid "Part Duplication Options"
msgstr ""
-#: templates/js/translated/part.js:68
+#: templates/js/translated/part.js:64
msgid "Supplier Options"
msgstr ""
-#: templates/js/translated/part.js:82
+#: templates/js/translated/part.js:78
msgid "Add Part Category"
msgstr ""
-#: templates/js/translated/part.js:166
+#: templates/js/translated/part.js:162
msgid "Create Initial Stock"
msgstr ""
-#: templates/js/translated/part.js:167
+#: templates/js/translated/part.js:163
msgid "Create an initial stock item for this part"
msgstr ""
-#: templates/js/translated/part.js:174
+#: templates/js/translated/part.js:170
msgid "Initial Stock Quantity"
msgstr ""
-#: templates/js/translated/part.js:175
+#: templates/js/translated/part.js:171
msgid "Specify initial stock quantity for this part"
msgstr ""
-#: templates/js/translated/part.js:182
+#: templates/js/translated/part.js:178
msgid "Select destination stock location"
msgstr ""
-#: templates/js/translated/part.js:200
+#: templates/js/translated/part.js:196
msgid "Copy Category Parameters"
msgstr ""
-#: templates/js/translated/part.js:201
+#: templates/js/translated/part.js:197
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: templates/js/translated/part.js:209
+#: templates/js/translated/part.js:205
msgid "Add Supplier Data"
msgstr ""
-#: templates/js/translated/part.js:210
+#: templates/js/translated/part.js:206
msgid "Create initial supplier data for this part"
msgstr ""
-#: templates/js/translated/part.js:266
+#: templates/js/translated/part.js:262
msgid "Copy Image"
msgstr ""
-#: templates/js/translated/part.js:267
+#: templates/js/translated/part.js:263
msgid "Copy image from original part"
msgstr ""
-#: templates/js/translated/part.js:275
+#: templates/js/translated/part.js:271
msgid "Copy bill of materials from original part"
msgstr ""
-#: templates/js/translated/part.js:282
+#: templates/js/translated/part.js:278
msgid "Copy Parameters"
msgstr ""
-#: templates/js/translated/part.js:283
+#: templates/js/translated/part.js:279
msgid "Copy parameter data from original part"
msgstr ""
-#: templates/js/translated/part.js:296
+#: templates/js/translated/part.js:292
msgid "Parent part category"
msgstr ""
-#: templates/js/translated/part.js:306 templates/js/translated/stock.js:118
+#: templates/js/translated/part.js:302 templates/js/translated/stock.js:118
msgid "Icon (optional) - Explore all available icons on"
msgstr ""
-#: templates/js/translated/part.js:322
+#: templates/js/translated/part.js:318
msgid "Edit Part Category"
msgstr ""
-#: templates/js/translated/part.js:335
+#: templates/js/translated/part.js:331
msgid "Are you sure you want to delete this part category?"
msgstr ""
-#: templates/js/translated/part.js:337
-msgid "Any child categories will be moved to the parent of this category"
+#: templates/js/translated/part.js:336
+msgid "Move to parent category"
msgstr ""
-#: templates/js/translated/part.js:338
-msgid "Any parts in this category will be moved to the parent of this category"
-msgstr ""
-
-#: templates/js/translated/part.js:343
+#: templates/js/translated/part.js:345
msgid "Delete Part Category"
msgstr ""
-#: templates/js/translated/part.js:369
+#: templates/js/translated/part.js:349
+msgid "Action for parts in this category"
+msgstr ""
+
+#: templates/js/translated/part.js:354
+msgid "Action for child categories"
+msgstr ""
+
+#: templates/js/translated/part.js:383
msgid "Edit Part"
msgstr ""
-#: templates/js/translated/part.js:371
+#: templates/js/translated/part.js:385
msgid "Part edited"
msgstr ""
-#: templates/js/translated/part.js:382
+#: templates/js/translated/part.js:396
msgid "Create Part Variant"
msgstr ""
-#: templates/js/translated/part.js:434
+#: templates/js/translated/part.js:448
msgid "Active Part"
msgstr ""
-#: templates/js/translated/part.js:435
+#: templates/js/translated/part.js:449
msgid "Part cannot be deleted as it is currently active"
msgstr ""
-#: templates/js/translated/part.js:449
+#: templates/js/translated/part.js:463
msgid "Deleting this part cannot be reversed"
msgstr ""
-#: templates/js/translated/part.js:451
+#: templates/js/translated/part.js:465
msgid "Any stock items for this part will be deleted"
msgstr ""
-#: templates/js/translated/part.js:452
+#: templates/js/translated/part.js:466
msgid "This part will be removed from any Bills of Material"
msgstr ""
-#: templates/js/translated/part.js:453
+#: templates/js/translated/part.js:467
msgid "All manufacturer and supplier information for this part will be deleted"
msgstr ""
-#: templates/js/translated/part.js:460
+#: templates/js/translated/part.js:474
msgid "Delete Part"
msgstr ""
-#: templates/js/translated/part.js:496
+#: templates/js/translated/part.js:510
msgid "You are subscribed to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:498
+#: templates/js/translated/part.js:512
msgid "You have subscribed to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:503
+#: templates/js/translated/part.js:517
msgid "Subscribe to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:505
+#: templates/js/translated/part.js:519
msgid "You have unsubscribed to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:522
+#: templates/js/translated/part.js:536
msgid "Validating the BOM will mark each line item as valid"
msgstr ""
-#: templates/js/translated/part.js:532
+#: templates/js/translated/part.js:546
msgid "Validate Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:535
+#: templates/js/translated/part.js:549
msgid "Validated Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:560
+#: templates/js/translated/part.js:574
msgid "Copy Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:584 templates/js/translated/part.js:1521
-#: templates/js/translated/table_filters.js:476
+#: templates/js/translated/part.js:598 templates/js/translated/part.js:1532
+#: templates/js/translated/table_filters.js:480
msgid "Low stock"
msgstr ""
-#: templates/js/translated/part.js:594
+#: templates/js/translated/part.js:608
msgid "No stock available"
msgstr ""
-#: templates/js/translated/part.js:628 templates/js/translated/part.js:713
+#: templates/js/translated/part.js:642 templates/js/translated/part.js:727
msgid "Trackable part"
msgstr ""
-#: templates/js/translated/part.js:632 templates/js/translated/part.js:717
+#: templates/js/translated/part.js:646 templates/js/translated/part.js:731
msgid "Virtual part"
msgstr ""
-#: templates/js/translated/part.js:644
+#: templates/js/translated/part.js:658
msgid "Subscribed part"
msgstr ""
-#: templates/js/translated/part.js:648
+#: templates/js/translated/part.js:662
msgid "Salable part"
msgstr ""
-#: templates/js/translated/part.js:776
+#: templates/js/translated/part.js:800
msgid "No variants found"
msgstr ""
-#: templates/js/translated/part.js:1200
+#: templates/js/translated/part.js:1221
msgid "Delete part relationship"
msgstr ""
-#: templates/js/translated/part.js:1224
+#: templates/js/translated/part.js:1245
msgid "Delete Part Relationship"
msgstr ""
-#: templates/js/translated/part.js:1291 templates/js/translated/part.js:1609
+#: templates/js/translated/part.js:1312 templates/js/translated/part.js:1633
msgid "No parts found"
msgstr ""
-#: templates/js/translated/part.js:1488
+#: templates/js/translated/part.js:1499
msgid "No category"
msgstr ""
-#: templates/js/translated/part.js:1519
+#: templates/js/translated/part.js:1530
msgid "No stock"
msgstr ""
-#: templates/js/translated/part.js:1543
+#: templates/js/translated/part.js:1554
msgid "Allocated to build orders"
msgstr ""
-#: templates/js/translated/part.js:1547
+#: templates/js/translated/part.js:1558
msgid "Allocated to sales orders"
msgstr ""
-#: templates/js/translated/part.js:1633 templates/js/translated/part.js:1876
-#: templates/js/translated/stock.js:2349
+#: templates/js/translated/part.js:1657 templates/js/translated/part.js:1900
+#: templates/js/translated/stock.js:2367
msgid "Display as list"
msgstr ""
-#: templates/js/translated/part.js:1649
+#: templates/js/translated/part.js:1673
msgid "Display as grid"
msgstr ""
-#: templates/js/translated/part.js:1715
+#: templates/js/translated/part.js:1739
msgid "Set the part category for the selected parts"
msgstr ""
-#: templates/js/translated/part.js:1720
+#: templates/js/translated/part.js:1744
msgid "Set Part Category"
msgstr ""
-#: templates/js/translated/part.js:1725
+#: templates/js/translated/part.js:1749
msgid "Select Part Category"
msgstr ""
-#: templates/js/translated/part.js:1738
+#: templates/js/translated/part.js:1762
msgid "Category is required"
msgstr ""
-#: templates/js/translated/part.js:1896 templates/js/translated/stock.js:2369
+#: templates/js/translated/part.js:1920 templates/js/translated/stock.js:2387
msgid "Display as tree"
msgstr ""
-#: templates/js/translated/part.js:1976
+#: templates/js/translated/part.js:2000
msgid "Load Subcategories"
msgstr ""
-#: templates/js/translated/part.js:1992
+#: templates/js/translated/part.js:2016
msgid "Subscribed category"
msgstr ""
-#: templates/js/translated/part.js:2056
+#: templates/js/translated/part.js:2080
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:2107 templates/js/translated/stock.js:1299
+#: templates/js/translated/part.js:2131 templates/js/translated/stock.js:1318
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:2108 templates/js/translated/stock.js:1300
-#: templates/js/translated/stock.js:1560
+#: templates/js/translated/part.js:2132 templates/js/translated/stock.js:1319
+#: templates/js/translated/stock.js:1579
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:2114
+#: templates/js/translated/part.js:2138
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:2136
+#: templates/js/translated/part.js:2160
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2150
+#: templates/js/translated/part.js:2174
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2175
-#, python-brace-format
-msgid "No ${human_name} information found"
-msgstr ""
-
-#: templates/js/translated/part.js:2232
-#, python-brace-format
-msgid "Edit ${human_name}"
-msgstr ""
-
-#: templates/js/translated/part.js:2233
-#, python-brace-format
-msgid "Delete ${human_name}"
-msgstr ""
-
-#: templates/js/translated/part.js:2398 templates/js/translated/part.js:2399
+#: templates/js/translated/part.js:2255 templates/js/translated/part.js:2256
msgid "No date specified"
msgstr ""
-#: templates/js/translated/part.js:2401
+#: templates/js/translated/part.js:2258
msgid "Specified date is in the past"
msgstr ""
-#: templates/js/translated/part.js:2407
+#: templates/js/translated/part.js:2264
msgid "Speculative"
msgstr ""
-#: templates/js/translated/part.js:2457
+#: templates/js/translated/part.js:2314
msgid "No scheduling information available for this part"
msgstr ""
-#: templates/js/translated/part.js:2463
+#: templates/js/translated/part.js:2320
msgid "Error fetching scheduling information for this part"
msgstr ""
-#: templates/js/translated/part.js:2559
+#: templates/js/translated/part.js:2416
msgid "Scheduled Stock Quantities"
msgstr ""
-#: templates/js/translated/part.js:2575
+#: templates/js/translated/part.js:2432
msgid "Maximum Quantity"
msgstr ""
-#: templates/js/translated/part.js:2620
+#: templates/js/translated/part.js:2477
msgid "Minimum Stock Level"
msgstr ""
-#: templates/js/translated/part.js:2721
-msgid "Single Price"
-msgstr ""
-
-#: templates/js/translated/part.js:2740
-msgid "Single Price Difference"
-msgstr ""
-
#: templates/js/translated/plugin.js:23
msgid "The Plugin was installed"
msgstr ""
+#: templates/js/translated/pricing.js:54
+msgid "No BOM data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:196
+msgid "No supplier pricing data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:305
+msgid "No price break data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:361
+#, python-brace-format
+msgid "Edit ${human_name}"
+msgstr ""
+
+#: templates/js/translated/pricing.js:362
+#, python-brace-format
+msgid "Delete ${human_name}"
+msgstr ""
+
+#: templates/js/translated/pricing.js:480
+msgid "No purchase history data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:502
+msgid "Purchase Price History"
+msgstr ""
+
+#: templates/js/translated/pricing.js:602
+msgid "No sales history data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:624
+msgid "Sale Price History"
+msgstr ""
+
+#: templates/js/translated/pricing.js:708
+msgid "No variant data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:748
+msgid "Variant Part"
+msgstr ""
+
#: templates/js/translated/report.js:67
msgid "items selected"
msgstr ""
@@ -9855,364 +10177,364 @@ msgstr ""
msgid "Are you sure you want to delete this stock location?"
msgstr ""
-#: templates/js/translated/stock.js:175
-msgid "Any child locations will be moved to the parent of this location"
+#: templates/js/translated/stock.js:180
+msgid "Move to parent stock location"
msgstr ""
-#: templates/js/translated/stock.js:176
-msgid "Any stock items in this location will be moved to the parent of this location"
-msgstr ""
-
-#: templates/js/translated/stock.js:182
+#: templates/js/translated/stock.js:189
msgid "Delete Stock Location"
msgstr ""
-#: templates/js/translated/stock.js:227
+#: templates/js/translated/stock.js:193
+msgid "Action for stock items in this stock location"
+msgstr ""
+
+#: templates/js/translated/stock.js:198
+msgid "Action for sub-locations"
+msgstr ""
+
+#: templates/js/translated/stock.js:246
msgid "This part cannot be serialized"
msgstr ""
-#: templates/js/translated/stock.js:266
+#: templates/js/translated/stock.js:285
msgid "Enter initial quantity for this stock item"
msgstr ""
-#: templates/js/translated/stock.js:272
+#: templates/js/translated/stock.js:291
msgid "Enter serial numbers for new stock (or leave blank)"
msgstr ""
-#: templates/js/translated/stock.js:337
+#: templates/js/translated/stock.js:356
msgid "Stock item duplicated"
msgstr ""
-#: templates/js/translated/stock.js:357
+#: templates/js/translated/stock.js:376
msgid "Duplicate Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:373
+#: templates/js/translated/stock.js:392
msgid "Are you sure you want to delete this stock item?"
msgstr ""
-#: templates/js/translated/stock.js:378
+#: templates/js/translated/stock.js:397
msgid "Delete Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:399
+#: templates/js/translated/stock.js:418
msgid "Edit Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:449
+#: templates/js/translated/stock.js:468
msgid "Created new stock item"
msgstr ""
-#: templates/js/translated/stock.js:462
+#: templates/js/translated/stock.js:481
msgid "Created multiple stock items"
msgstr ""
-#: templates/js/translated/stock.js:487
+#: templates/js/translated/stock.js:506
msgid "Find Serial Number"
msgstr ""
-#: templates/js/translated/stock.js:491 templates/js/translated/stock.js:492
+#: templates/js/translated/stock.js:510 templates/js/translated/stock.js:511
msgid "Enter serial number"
msgstr ""
-#: templates/js/translated/stock.js:508
+#: templates/js/translated/stock.js:527
msgid "Enter a serial number"
msgstr ""
-#: templates/js/translated/stock.js:528
+#: templates/js/translated/stock.js:547
msgid "No matching serial number"
msgstr ""
-#: templates/js/translated/stock.js:537
+#: templates/js/translated/stock.js:556
msgid "More than one matching result found"
msgstr ""
-#: templates/js/translated/stock.js:660
+#: templates/js/translated/stock.js:679
msgid "Confirm stock assignment"
msgstr ""
-#: templates/js/translated/stock.js:661
+#: templates/js/translated/stock.js:680
msgid "Assign Stock to Customer"
msgstr ""
-#: templates/js/translated/stock.js:738
+#: templates/js/translated/stock.js:757
msgid "Warning: Merge operation cannot be reversed"
msgstr ""
-#: templates/js/translated/stock.js:739
+#: templates/js/translated/stock.js:758
msgid "Some information will be lost when merging stock items"
msgstr ""
-#: templates/js/translated/stock.js:741
+#: templates/js/translated/stock.js:760
msgid "Stock transaction history will be deleted for merged items"
msgstr ""
-#: templates/js/translated/stock.js:742
+#: templates/js/translated/stock.js:761
msgid "Supplier part information will be deleted for merged items"
msgstr ""
-#: templates/js/translated/stock.js:828
+#: templates/js/translated/stock.js:847
msgid "Confirm stock item merge"
msgstr ""
-#: templates/js/translated/stock.js:829
+#: templates/js/translated/stock.js:848
msgid "Merge Stock Items"
msgstr ""
-#: templates/js/translated/stock.js:924
+#: templates/js/translated/stock.js:943
msgid "Transfer Stock"
msgstr ""
-#: templates/js/translated/stock.js:925
+#: templates/js/translated/stock.js:944
msgid "Move"
msgstr ""
-#: templates/js/translated/stock.js:931
+#: templates/js/translated/stock.js:950
msgid "Count Stock"
msgstr ""
-#: templates/js/translated/stock.js:932
+#: templates/js/translated/stock.js:951
msgid "Count"
msgstr ""
-#: templates/js/translated/stock.js:936
+#: templates/js/translated/stock.js:955
msgid "Remove Stock"
msgstr ""
-#: templates/js/translated/stock.js:937
+#: templates/js/translated/stock.js:956
msgid "Take"
msgstr ""
-#: templates/js/translated/stock.js:941
+#: templates/js/translated/stock.js:960
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:942 users/models.py:218
+#: templates/js/translated/stock.js:961 users/models.py:220
msgid "Add"
msgstr ""
-#: templates/js/translated/stock.js:946
+#: templates/js/translated/stock.js:965
msgid "Delete Stock"
msgstr ""
-#: templates/js/translated/stock.js:1039
+#: templates/js/translated/stock.js:1058
msgid "Quantity cannot be adjusted for serialized stock"
msgstr ""
-#: templates/js/translated/stock.js:1039
+#: templates/js/translated/stock.js:1058
msgid "Specify stock quantity"
msgstr ""
-#: templates/js/translated/stock.js:1079
+#: templates/js/translated/stock.js:1098
msgid "You must select at least one available stock item"
msgstr ""
-#: templates/js/translated/stock.js:1102
+#: templates/js/translated/stock.js:1121
msgid "Confirm stock adjustment"
msgstr ""
-#: templates/js/translated/stock.js:1238
+#: templates/js/translated/stock.js:1257
msgid "PASS"
msgstr ""
-#: templates/js/translated/stock.js:1240
+#: templates/js/translated/stock.js:1259
msgid "FAIL"
msgstr ""
-#: templates/js/translated/stock.js:1245
+#: templates/js/translated/stock.js:1264
msgid "NO RESULT"
msgstr ""
-#: templates/js/translated/stock.js:1292
+#: templates/js/translated/stock.js:1311
msgid "Pass test"
msgstr ""
-#: templates/js/translated/stock.js:1295
+#: templates/js/translated/stock.js:1314
msgid "Add test result"
msgstr ""
-#: templates/js/translated/stock.js:1321
+#: templates/js/translated/stock.js:1340
msgid "No test results found"
msgstr ""
-#: templates/js/translated/stock.js:1378
+#: templates/js/translated/stock.js:1397
msgid "Test Date"
msgstr ""
-#: templates/js/translated/stock.js:1543
+#: templates/js/translated/stock.js:1562
msgid "Edit Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1565
+#: templates/js/translated/stock.js:1584
msgid "Delete Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1594
+#: templates/js/translated/stock.js:1613
msgid "In production"
msgstr ""
-#: templates/js/translated/stock.js:1598
+#: templates/js/translated/stock.js:1617
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:1606
+#: templates/js/translated/stock.js:1625
msgid "Assigned to Sales Order"
msgstr ""
-#: templates/js/translated/stock.js:1612
+#: templates/js/translated/stock.js:1631
msgid "No stock location set"
msgstr ""
-#: templates/js/translated/stock.js:1781
+#: templates/js/translated/stock.js:1800
msgid "Stock item is in production"
msgstr ""
-#: templates/js/translated/stock.js:1786
+#: templates/js/translated/stock.js:1805
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/translated/stock.js:1789
+#: templates/js/translated/stock.js:1808
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/translated/stock.js:1792
+#: templates/js/translated/stock.js:1811
msgid "Serialized stock item has been allocated"
msgstr ""
-#: templates/js/translated/stock.js:1794
+#: templates/js/translated/stock.js:1813
msgid "Stock item has been fully allocated"
msgstr ""
-#: templates/js/translated/stock.js:1796
+#: templates/js/translated/stock.js:1815
msgid "Stock item has been partially allocated"
msgstr ""
-#: templates/js/translated/stock.js:1799
+#: templates/js/translated/stock.js:1818
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:1803
+#: templates/js/translated/stock.js:1822
msgid "Stock item has expired"
msgstr ""
-#: templates/js/translated/stock.js:1805
+#: templates/js/translated/stock.js:1824
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/translated/stock.js:1812
+#: templates/js/translated/stock.js:1831
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/translated/stock.js:1814
+#: templates/js/translated/stock.js:1833
msgid "Stock item is lost"
msgstr ""
-#: templates/js/translated/stock.js:1816
+#: templates/js/translated/stock.js:1835
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/translated/stock.js:1820
-#: templates/js/translated/table_filters.js:204
+#: templates/js/translated/stock.js:1839
+#: templates/js/translated/table_filters.js:208
msgid "Depleted"
msgstr ""
-#: templates/js/translated/stock.js:1871
-msgid "Stocktake"
-msgstr ""
-
-#: templates/js/translated/stock.js:1950
+#: templates/js/translated/stock.js:1969
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/translated/stock.js:1988
+#: templates/js/translated/stock.js:2006
msgid "No stock items matching query"
msgstr ""
-#: templates/js/translated/stock.js:2161
+#: templates/js/translated/stock.js:2179
msgid "Set Stock Status"
msgstr ""
-#: templates/js/translated/stock.js:2175
+#: templates/js/translated/stock.js:2193
msgid "Select Status Code"
msgstr ""
-#: templates/js/translated/stock.js:2176
+#: templates/js/translated/stock.js:2194
msgid "Status code must be selected"
msgstr ""
-#: templates/js/translated/stock.js:2408
+#: templates/js/translated/stock.js:2426
msgid "Load Subloactions"
msgstr ""
-#: templates/js/translated/stock.js:2503
+#: templates/js/translated/stock.js:2521
msgid "Details"
msgstr ""
-#: templates/js/translated/stock.js:2519
+#: templates/js/translated/stock.js:2537
msgid "Part information unavailable"
msgstr ""
-#: templates/js/translated/stock.js:2541
+#: templates/js/translated/stock.js:2559
msgid "Location no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2560
+#: templates/js/translated/stock.js:2578
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2579
+#: templates/js/translated/stock.js:2597
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2597
+#: templates/js/translated/stock.js:2615
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2620
+#: templates/js/translated/stock.js:2638
msgid "Added"
msgstr ""
-#: templates/js/translated/stock.js:2628
+#: templates/js/translated/stock.js:2646
msgid "Removed"
msgstr ""
-#: templates/js/translated/stock.js:2704
+#: templates/js/translated/stock.js:2722
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:2755 templates/js/translated/stock.js:2791
+#: templates/js/translated/stock.js:2773 templates/js/translated/stock.js:2809
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2804
+#: templates/js/translated/stock.js:2822
msgid "Select stock item to uninstall"
msgstr ""
-#: templates/js/translated/stock.js:2825
+#: templates/js/translated/stock.js:2843
msgid "Install another stock item into this item"
msgstr ""
-#: templates/js/translated/stock.js:2826
+#: templates/js/translated/stock.js:2844
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: templates/js/translated/stock.js:2828
+#: templates/js/translated/stock.js:2846
msgid "The Stock Item links to a Part which is the BOM for this Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2829
+#: templates/js/translated/stock.js:2847
msgid "The Stock Item is currently available in stock"
msgstr ""
-#: templates/js/translated/stock.js:2830
+#: templates/js/translated/stock.js:2848
msgid "The Stock Item is not already installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:2831
+#: templates/js/translated/stock.js:2849
msgid "The Stock Item is tracked by either a batch code or serial number"
msgstr ""
-#: templates/js/translated/stock.js:2844
+#: templates/js/translated/stock.js:2862
msgid "Select part to install"
msgstr ""
@@ -10236,215 +10558,220 @@ msgstr ""
msgid "Allow Variant Stock"
msgstr ""
-#: templates/js/translated/table_filters.js:126
-#: templates/js/translated/table_filters.js:199
+#: templates/js/translated/table_filters.js:92
+#: templates/js/translated/table_filters.js:508
+msgid "Has Pricing"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:130
+#: templates/js/translated/table_filters.js:203
msgid "Include sublocations"
msgstr ""
-#: templates/js/translated/table_filters.js:127
+#: templates/js/translated/table_filters.js:131
msgid "Include locations"
msgstr ""
-#: templates/js/translated/table_filters.js:137
-#: templates/js/translated/table_filters.js:138
-#: templates/js/translated/table_filters.js:445
+#: templates/js/translated/table_filters.js:141
+#: templates/js/translated/table_filters.js:142
+#: templates/js/translated/table_filters.js:449
msgid "Include subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:142
-#: templates/js/translated/table_filters.js:488
+#: templates/js/translated/table_filters.js:146
+#: templates/js/translated/table_filters.js:492
msgid "Subscribed"
msgstr ""
-#: templates/js/translated/table_filters.js:152
-#: templates/js/translated/table_filters.js:234
-msgid "Is Serialized"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:155
-#: templates/js/translated/table_filters.js:241
-msgid "Serial number GTE"
-msgstr ""
-
#: templates/js/translated/table_filters.js:156
-#: templates/js/translated/table_filters.js:242
-msgid "Serial number greater than or equal to"
+#: templates/js/translated/table_filters.js:238
+msgid "Is Serialized"
msgstr ""
#: templates/js/translated/table_filters.js:159
#: templates/js/translated/table_filters.js:245
-msgid "Serial number LTE"
+msgid "Serial number GTE"
msgstr ""
#: templates/js/translated/table_filters.js:160
#: templates/js/translated/table_filters.js:246
-msgid "Serial number less than or equal to"
+msgid "Serial number greater than or equal to"
msgstr ""
#: templates/js/translated/table_filters.js:163
+#: templates/js/translated/table_filters.js:249
+msgid "Serial number LTE"
+msgstr ""
+
#: templates/js/translated/table_filters.js:164
-#: templates/js/translated/table_filters.js:237
-#: templates/js/translated/table_filters.js:238
+#: templates/js/translated/table_filters.js:250
+msgid "Serial number less than or equal to"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:167
+#: templates/js/translated/table_filters.js:168
+#: templates/js/translated/table_filters.js:241
+#: templates/js/translated/table_filters.js:242
msgid "Serial number"
msgstr ""
-#: templates/js/translated/table_filters.js:168
-#: templates/js/translated/table_filters.js:259
+#: templates/js/translated/table_filters.js:172
+#: templates/js/translated/table_filters.js:263
msgid "Batch code"
msgstr ""
-#: templates/js/translated/table_filters.js:179
-#: templates/js/translated/table_filters.js:417
+#: templates/js/translated/table_filters.js:183
+#: templates/js/translated/table_filters.js:421
msgid "Active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:180
+#: templates/js/translated/table_filters.js:184
msgid "Show stock for active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:185
+#: templates/js/translated/table_filters.js:189
msgid "Part is an assembly"
msgstr ""
-#: templates/js/translated/table_filters.js:189
+#: templates/js/translated/table_filters.js:193
msgid "Is allocated"
msgstr ""
-#: templates/js/translated/table_filters.js:190
+#: templates/js/translated/table_filters.js:194
msgid "Item has been allocated"
msgstr ""
-#: templates/js/translated/table_filters.js:195
+#: templates/js/translated/table_filters.js:199
msgid "Stock is available for use"
msgstr ""
-#: templates/js/translated/table_filters.js:200
+#: templates/js/translated/table_filters.js:204
msgid "Include stock in sublocations"
msgstr ""
-#: templates/js/translated/table_filters.js:205
+#: templates/js/translated/table_filters.js:209
msgid "Show stock items which are depleted"
msgstr ""
-#: templates/js/translated/table_filters.js:210
+#: templates/js/translated/table_filters.js:214
msgid "Show items which are in stock"
msgstr ""
-#: templates/js/translated/table_filters.js:214
+#: templates/js/translated/table_filters.js:218
msgid "In Production"
msgstr ""
-#: templates/js/translated/table_filters.js:215
+#: templates/js/translated/table_filters.js:219
msgid "Show items which are in production"
msgstr ""
-#: templates/js/translated/table_filters.js:219
+#: templates/js/translated/table_filters.js:223
msgid "Include Variants"
msgstr ""
-#: templates/js/translated/table_filters.js:220
+#: templates/js/translated/table_filters.js:224
msgid "Include stock items for variant parts"
msgstr ""
-#: templates/js/translated/table_filters.js:224
+#: templates/js/translated/table_filters.js:228
msgid "Installed"
msgstr ""
-#: templates/js/translated/table_filters.js:225
+#: templates/js/translated/table_filters.js:229
msgid "Show stock items which are installed in another item"
msgstr ""
-#: templates/js/translated/table_filters.js:230
+#: templates/js/translated/table_filters.js:234
msgid "Show items which have been assigned to a customer"
msgstr ""
-#: templates/js/translated/table_filters.js:250
-#: templates/js/translated/table_filters.js:251
+#: templates/js/translated/table_filters.js:254
+#: templates/js/translated/table_filters.js:255
msgid "Stock status"
msgstr ""
-#: templates/js/translated/table_filters.js:254
+#: templates/js/translated/table_filters.js:258
msgid "Has batch code"
msgstr ""
-#: templates/js/translated/table_filters.js:262
+#: templates/js/translated/table_filters.js:266
msgid "Tracked"
msgstr ""
-#: templates/js/translated/table_filters.js:263
+#: templates/js/translated/table_filters.js:267
msgid "Stock item is tracked by either batch code or serial number"
msgstr ""
-#: templates/js/translated/table_filters.js:268
+#: templates/js/translated/table_filters.js:272
msgid "Has purchase price"
msgstr ""
-#: templates/js/translated/table_filters.js:269
+#: templates/js/translated/table_filters.js:273
msgid "Show stock items which have a purchase price set"
msgstr ""
-#: templates/js/translated/table_filters.js:278
+#: templates/js/translated/table_filters.js:282
msgid "Show stock items which have expired"
msgstr ""
-#: templates/js/translated/table_filters.js:284
+#: templates/js/translated/table_filters.js:288
msgid "Show stock which is close to expiring"
msgstr ""
-#: templates/js/translated/table_filters.js:296
+#: templates/js/translated/table_filters.js:300
msgid "Test Passed"
msgstr ""
-#: templates/js/translated/table_filters.js:300
+#: templates/js/translated/table_filters.js:304
msgid "Include Installed Items"
msgstr ""
-#: templates/js/translated/table_filters.js:319
+#: templates/js/translated/table_filters.js:323
msgid "Build status"
msgstr ""
-#: templates/js/translated/table_filters.js:332
-#: templates/js/translated/table_filters.js:373
+#: templates/js/translated/table_filters.js:336
+#: templates/js/translated/table_filters.js:377
msgid "Assigned to me"
msgstr ""
-#: templates/js/translated/table_filters.js:349
-#: templates/js/translated/table_filters.js:360
-#: templates/js/translated/table_filters.js:390
+#: templates/js/translated/table_filters.js:353
+#: templates/js/translated/table_filters.js:364
+#: templates/js/translated/table_filters.js:394
msgid "Order status"
msgstr ""
-#: templates/js/translated/table_filters.js:365
-#: templates/js/translated/table_filters.js:382
-#: templates/js/translated/table_filters.js:395
+#: templates/js/translated/table_filters.js:369
+#: templates/js/translated/table_filters.js:386
+#: templates/js/translated/table_filters.js:399
msgid "Outstanding"
msgstr ""
-#: templates/js/translated/table_filters.js:446
+#: templates/js/translated/table_filters.js:450
msgid "Include parts in subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:451
+#: templates/js/translated/table_filters.js:455
msgid "Show active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:459
+#: templates/js/translated/table_filters.js:463
msgid "Available stock"
msgstr ""
-#: templates/js/translated/table_filters.js:467
+#: templates/js/translated/table_filters.js:471
msgid "Has IPN"
msgstr ""
-#: templates/js/translated/table_filters.js:468
+#: templates/js/translated/table_filters.js:472
msgid "Part has internal part number"
msgstr ""
-#: templates/js/translated/table_filters.js:472
+#: templates/js/translated/table_filters.js:476
msgid "In stock"
msgstr ""
-#: templates/js/translated/table_filters.js:480
+#: templates/js/translated/table_filters.js:484
msgid "Purchasable"
msgstr ""
@@ -10554,6 +10881,10 @@ msgstr ""
msgid "Show all notifications and history"
msgstr ""
+#: templates/price_data.html:7
+msgid "No data"
+msgstr ""
+
#: templates/qr_code.html:11
msgid "QR data not provided"
msgstr ""
@@ -10738,35 +11069,35 @@ msgstr ""
msgid "Important dates"
msgstr ""
-#: users/models.py:205
+#: users/models.py:207
msgid "Permission set"
msgstr ""
-#: users/models.py:213
+#: users/models.py:215
msgid "Group"
msgstr ""
-#: users/models.py:216
+#: users/models.py:218
msgid "View"
msgstr ""
-#: users/models.py:216
+#: users/models.py:218
msgid "Permission to view items"
msgstr ""
-#: users/models.py:218
+#: users/models.py:220
msgid "Permission to add items"
msgstr ""
-#: users/models.py:220
+#: users/models.py:222
msgid "Change"
msgstr ""
-#: users/models.py:220
+#: users/models.py:222
msgid "Permissions to edit items"
msgstr ""
-#: users/models.py:222
+#: users/models.py:224
msgid "Permission to delete items"
msgstr ""
diff --git a/InvenTree/locale/da/LC_MESSAGES/django.po b/InvenTree/locale/da/LC_MESSAGES/django.po
index a7772dc9d4..a84bc97cc6 100644
--- a/InvenTree/locale/da/LC_MESSAGES/django.po
+++ b/InvenTree/locale/da/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-11-04 14:07+0000\n"
-"PO-Revision-Date: 2022-11-04 19:03\n"
+"POT-Creation-Date: 2022-11-14 04:59+0000\n"
+"PO-Revision-Date: 2022-11-14 14:51\n"
"Last-Translator: \n"
"Language-Team: Danish\n"
"Language: da_DK\n"
@@ -17,7 +17,7 @@ msgstr ""
"X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n"
"X-Crowdin-File-ID: 154\n"
-#: InvenTree/api.py:54
+#: InvenTree/api.py:61
msgid "API endpoint not found"
msgstr "API endpoint ikke fundet"
@@ -25,27 +25,27 @@ msgstr "API endpoint ikke fundet"
msgid "Error details can be found in the admin panel"
msgstr "Fejloplysninger kan findes i admin panelet"
-#: InvenTree/fields.py:120
+#: InvenTree/fields.py:129
msgid "Enter date"
msgstr "Angiv dato"
-#: InvenTree/fields.py:195 build/serializers.py:387
-#: build/templates/build/sidebar.html:21 company/models.py:525
-#: company/templates/company/sidebar.html:25 order/models.py:920
+#: InvenTree/fields.py:204 build/serializers.py:387
+#: build/templates/build/sidebar.html:21 company/models.py:529
+#: company/templates/company/sidebar.html:25 order/models.py:943
#: order/templates/order/po_sidebar.html:11
-#: order/templates/order/so_sidebar.html:17
-#: part/templates/part/part_sidebar.html:59
+#: order/templates/order/so_sidebar.html:17 part/admin.py:27
+#: part/templates/part/part_sidebar.html:57
#: report/templates/report/inventree_build_order_base.html:172
-#: stock/models.py:2002 stock/models.py:2110 stock/serializers.py:327
-#: stock/serializers.py:460 stock/serializers.py:541 stock/serializers.py:827
-#: stock/serializers.py:926 stock/serializers.py:1058
+#: stock/admin.py:103 stock/models.py:2018 stock/models.py:2126
+#: stock/serializers.py:321 stock/serializers.py:454 stock/serializers.py:535
+#: stock/serializers.py:826 stock/serializers.py:925 stock/serializers.py:1057
#: stock/templates/stock/stock_sidebar.html:25
-#: templates/js/translated/barcode.js:108 templates/js/translated/bom.js:1146
-#: templates/js/translated/company.js:1022
-#: templates/js/translated/order.js:2404 templates/js/translated/order.js:2552
-#: templates/js/translated/order.js:3048 templates/js/translated/order.js:3999
-#: templates/js/translated/order.js:4394 templates/js/translated/stock.js:1374
-#: templates/js/translated/stock.js:1982
+#: templates/js/translated/barcode.js:108 templates/js/translated/bom.js:1211
+#: templates/js/translated/company.js:1023
+#: templates/js/translated/order.js:2427 templates/js/translated/order.js:2561
+#: templates/js/translated/order.js:3059 templates/js/translated/order.js:3996
+#: templates/js/translated/order.js:4377 templates/js/translated/stock.js:1393
+#: templates/js/translated/stock.js:2000
msgid "Notes"
msgstr "Bemærkninger"
@@ -122,43 +122,43 @@ msgstr ""
msgid "Supplied URL is not a valid image file"
msgstr ""
-#: InvenTree/helpers.py:602 order/models.py:325 order/models.py:477
+#: InvenTree/helpers.py:589 order/models.py:329 order/models.py:496
msgid "Invalid quantity provided"
msgstr ""
-#: InvenTree/helpers.py:610
+#: InvenTree/helpers.py:597
msgid "Empty serial number string"
msgstr ""
-#: InvenTree/helpers.py:640
+#: InvenTree/helpers.py:627
msgid "Duplicate serial"
msgstr ""
-#: InvenTree/helpers.py:673 InvenTree/helpers.py:708
+#: InvenTree/helpers.py:660 InvenTree/helpers.py:695
#, python-brace-format
msgid "Invalid group range: {g}"
msgstr ""
-#: InvenTree/helpers.py:702
+#: InvenTree/helpers.py:689
#, python-brace-format
msgid "Group range {g} exceeds allowed quantity ({q})"
msgstr ""
-#: InvenTree/helpers.py:726 InvenTree/helpers.py:733 InvenTree/helpers.py:748
+#: InvenTree/helpers.py:713 InvenTree/helpers.py:720 InvenTree/helpers.py:735
#, python-brace-format
msgid "Invalid group sequence: {g}"
msgstr ""
-#: InvenTree/helpers.py:758
+#: InvenTree/helpers.py:745
msgid "No serial numbers found"
msgstr ""
-#: InvenTree/helpers.py:761
+#: InvenTree/helpers.py:748
#, python-brace-format
msgid "Number of unique serial numbers ({s}) must match quantity ({q})"
msgstr ""
-#: InvenTree/helpers.py:960
+#: InvenTree/helpers.py:947
msgid "Remove HTML tags from this value"
msgstr ""
@@ -194,7 +194,7 @@ msgstr ""
msgid "Missing external link"
msgstr ""
-#: InvenTree/models.py:405 stock/models.py:2104
+#: InvenTree/models.py:405 stock/models.py:2120
#: templates/js/translated/attachment.js:103
#: templates/js/translated/attachment.js:241
msgid "Attachment"
@@ -204,18 +204,19 @@ msgstr ""
msgid "Select file to attach"
msgstr ""
-#: InvenTree/models.py:412 company/models.py:125 company/models.py:277
-#: company/models.py:512 order/models.py:84 order/models.py:1259
-#: part/models.py:816 part/templates/part/part_scheduling.html:11
+#: InvenTree/models.py:412 common/models.py:2313 company/models.py:129
+#: company/models.py:281 company/models.py:516 order/models.py:85
+#: order/models.py:1282 part/admin.py:25 part/models.py:835
+#: part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
-#: templates/js/translated/company.js:691
-#: templates/js/translated/company.js:1011
-#: templates/js/translated/order.js:3037 templates/js/translated/part.js:1569
+#: stock/admin.py:102 templates/js/translated/company.js:692
+#: templates/js/translated/company.js:1012
+#: templates/js/translated/order.js:3048 templates/js/translated/part.js:1593
msgid "Link"
msgstr ""
-#: InvenTree/models.py:413 build/models.py:290 part/models.py:817
-#: stock/models.py:660
+#: InvenTree/models.py:413 build/models.py:290 part/models.py:836
+#: stock/models.py:676
msgid "Link to external URL"
msgstr ""
@@ -228,12 +229,12 @@ msgstr ""
msgid "File comment"
msgstr ""
-#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1744
-#: common/models.py:1745 common/models.py:1968 common/models.py:1969
-#: common/models.py:2231 common/models.py:2232 part/models.py:2254
-#: part/models.py:2274 plugin/models.py:264 plugin/models.py:265
+#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1756
+#: common/models.py:1757 common/models.py:1980 common/models.py:1981
+#: common/models.py:2243 common/models.py:2244 part/models.py:2867
+#: part/models.py:2887 plugin/models.py:264 plugin/models.py:265
#: report/templates/report/inventree_test_report_base.html:96
-#: templates/js/translated/stock.js:2651
+#: templates/js/translated/stock.js:2669
msgid "User"
msgstr ""
@@ -270,44 +271,45 @@ msgstr ""
msgid "Invalid choice"
msgstr ""
-#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1954
-#: company/models.py:359 label/models.py:101 part/models.py:760
-#: part/models.py:2429 plugin/models.py:94 report/models.py:152
+#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1966
+#: company/models.py:363 label/models.py:101 part/models.py:779
+#: part/models.py:3042 plugin/models.py:94 report/models.py:152
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/plugin.html:60
#: templates/InvenTree/settings/plugin.html:104
#: templates/InvenTree/settings/plugin_settings.html:23
#: templates/InvenTree/settings/settings.html:344
-#: templates/js/translated/company.js:580
-#: templates/js/translated/company.js:793
+#: templates/js/translated/company.js:581
+#: templates/js/translated/company.js:794
#: templates/js/translated/notification.js:71
-#: templates/js/translated/part.js:686 templates/js/translated/part.js:838
-#: templates/js/translated/part.js:1964 templates/js/translated/stock.js:2396
+#: templates/js/translated/part.js:700 templates/js/translated/part.js:865
+#: templates/js/translated/part.js:1988 templates/js/translated/stock.js:2414
msgid "Name"
msgstr ""
#: InvenTree/models.py:564 build/models.py:163
-#: build/templates/build/detail.html:24 company/models.py:283
-#: company/models.py:518 company/templates/company/company_base.html:71
+#: build/templates/build/detail.html:24 company/models.py:287
+#: company/models.py:522 company/templates/company/company_base.html:71
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:108 label/models.py:108
-#: order/models.py:82 part/models.py:783 part/models.py:2438
-#: part/templates/part/category.html:75 part/templates/part/part_base.html:172
+#: order/models.py:83 part/admin.py:141 part/admin.py:222 part/models.py:802
+#: part/models.py:3051 part/templates/part/category.html:75
+#: part/templates/part/part_base.html:172
#: part/templates/part/part_scheduling.html:12 report/models.py:165
#: report/models.py:507 report/models.py:551
#: report/templates/report/inventree_build_order_base.html:117
-#: stock/templates/stock/location.html:117
+#: stock/admin.py:25 stock/templates/stock/location.html:117
#: templates/InvenTree/settings/plugin_settings.html:28
#: templates/InvenTree/settings/settings.html:355
-#: templates/js/translated/bom.js:579 templates/js/translated/bom.js:887
-#: templates/js/translated/build.js:2580 templates/js/translated/company.js:444
-#: templates/js/translated/company.js:702
-#: templates/js/translated/company.js:986 templates/js/translated/order.js:1988
-#: templates/js/translated/order.js:2220 templates/js/translated/order.js:2826
-#: templates/js/translated/part.js:745 templates/js/translated/part.js:1187
-#: templates/js/translated/part.js:1464 templates/js/translated/part.js:2000
-#: templates/js/translated/part.js:2075 templates/js/translated/stock.js:1748
-#: templates/js/translated/stock.js:2428 templates/js/translated/stock.js:2488
+#: templates/js/translated/bom.js:592 templates/js/translated/bom.js:895
+#: templates/js/translated/build.js:2580 templates/js/translated/company.js:445
+#: templates/js/translated/company.js:703
+#: templates/js/translated/company.js:987 templates/js/translated/order.js:2022
+#: templates/js/translated/order.js:2259 templates/js/translated/order.js:2837
+#: templates/js/translated/part.js:759 templates/js/translated/part.js:1208
+#: templates/js/translated/part.js:1475 templates/js/translated/part.js:2024
+#: templates/js/translated/part.js:2099 templates/js/translated/stock.js:1767
+#: templates/js/translated/stock.js:2446 templates/js/translated/stock.js:2506
msgid "Description"
msgstr ""
@@ -320,7 +322,7 @@ msgid "parent"
msgstr ""
#: InvenTree/models.py:580 InvenTree/models.py:581
-#: templates/js/translated/part.js:2009 templates/js/translated/stock.js:2437
+#: templates/js/translated/part.js:2033 templates/js/translated/stock.js:2455
msgid "Path"
msgstr ""
@@ -332,7 +334,7 @@ msgstr ""
msgid "Third party barcode data"
msgstr ""
-#: InvenTree/models.py:688 order/serializers.py:486
+#: InvenTree/models.py:688 order/serializers.py:477
msgid "Barcode Hash"
msgstr ""
@@ -352,187 +354,187 @@ msgstr ""
msgid "An error has been logged by the server."
msgstr ""
-#: InvenTree/serializers.py:58 part/models.py:2774
+#: InvenTree/serializers.py:58 part/models.py:3387
msgid "Must be a valid number"
msgstr ""
-#: InvenTree/serializers.py:265
+#: InvenTree/serializers.py:266
msgid "Filename"
msgstr ""
-#: InvenTree/serializers.py:300
+#: InvenTree/serializers.py:301
msgid "Invalid value"
msgstr ""
-#: InvenTree/serializers.py:322
+#: InvenTree/serializers.py:323
msgid "Data File"
msgstr ""
-#: InvenTree/serializers.py:323
+#: InvenTree/serializers.py:324
msgid "Select data file for upload"
msgstr ""
-#: InvenTree/serializers.py:344
+#: InvenTree/serializers.py:345
msgid "Unsupported file type"
msgstr ""
-#: InvenTree/serializers.py:350
+#: InvenTree/serializers.py:351
msgid "File is too large"
msgstr ""
-#: InvenTree/serializers.py:371
+#: InvenTree/serializers.py:372
msgid "No columns found in file"
msgstr ""
-#: InvenTree/serializers.py:374
+#: InvenTree/serializers.py:375
msgid "No data rows found in file"
msgstr ""
-#: InvenTree/serializers.py:497
+#: InvenTree/serializers.py:498
msgid "No data rows provided"
msgstr ""
-#: InvenTree/serializers.py:500
+#: InvenTree/serializers.py:501
msgid "No data columns supplied"
msgstr ""
-#: InvenTree/serializers.py:577
+#: InvenTree/serializers.py:578
#, python-brace-format
msgid "Missing required column: '{name}'"
msgstr ""
-#: InvenTree/serializers.py:586
+#: InvenTree/serializers.py:587
#, python-brace-format
msgid "Duplicate column: '{col}'"
msgstr ""
-#: InvenTree/serializers.py:605
+#: InvenTree/serializers.py:606
#: templates/InvenTree/settings/mixins/urls.html:14
msgid "URL"
msgstr ""
-#: InvenTree/serializers.py:606
+#: InvenTree/serializers.py:607
msgid "URL of remote image file"
msgstr ""
-#: InvenTree/serializers.py:620
+#: InvenTree/serializers.py:621
msgid "Downloading images from remote URL is not enabled"
msgstr ""
-#: InvenTree/settings.py:621
+#: InvenTree/settings.py:627
msgid "Czech"
msgstr ""
-#: InvenTree/settings.py:622
+#: InvenTree/settings.py:628
msgid "Danish"
msgstr ""
-#: InvenTree/settings.py:623
+#: InvenTree/settings.py:629
msgid "German"
msgstr ""
-#: InvenTree/settings.py:624
+#: InvenTree/settings.py:630
msgid "Greek"
msgstr ""
-#: InvenTree/settings.py:625
+#: InvenTree/settings.py:631
msgid "English"
msgstr ""
-#: InvenTree/settings.py:626
+#: InvenTree/settings.py:632
msgid "Spanish"
msgstr ""
-#: InvenTree/settings.py:627
+#: InvenTree/settings.py:633
msgid "Spanish (Mexican)"
msgstr ""
-#: InvenTree/settings.py:628
+#: InvenTree/settings.py:634
msgid "Farsi / Persian"
msgstr ""
-#: InvenTree/settings.py:629
+#: InvenTree/settings.py:635
msgid "French"
msgstr ""
-#: InvenTree/settings.py:630
+#: InvenTree/settings.py:636
msgid "Hebrew"
msgstr ""
-#: InvenTree/settings.py:631
+#: InvenTree/settings.py:637
msgid "Hungarian"
msgstr ""
-#: InvenTree/settings.py:632
+#: InvenTree/settings.py:638
msgid "Italian"
msgstr ""
-#: InvenTree/settings.py:633
+#: InvenTree/settings.py:639
msgid "Japanese"
msgstr ""
-#: InvenTree/settings.py:634
+#: InvenTree/settings.py:640
msgid "Korean"
msgstr ""
-#: InvenTree/settings.py:635
+#: InvenTree/settings.py:641
msgid "Dutch"
msgstr ""
-#: InvenTree/settings.py:636
+#: InvenTree/settings.py:642
msgid "Norwegian"
msgstr ""
-#: InvenTree/settings.py:637
+#: InvenTree/settings.py:643
msgid "Polish"
msgstr ""
-#: InvenTree/settings.py:638
+#: InvenTree/settings.py:644
msgid "Portuguese"
msgstr ""
-#: InvenTree/settings.py:639
+#: InvenTree/settings.py:645
msgid "Portuguese (Brazilian)"
msgstr ""
-#: InvenTree/settings.py:640
+#: InvenTree/settings.py:646
msgid "Russian"
msgstr ""
-#: InvenTree/settings.py:641
+#: InvenTree/settings.py:647
msgid "Swedish"
msgstr ""
-#: InvenTree/settings.py:642
+#: InvenTree/settings.py:648
msgid "Thai"
msgstr ""
-#: InvenTree/settings.py:643
+#: InvenTree/settings.py:649
msgid "Turkish"
msgstr ""
-#: InvenTree/settings.py:644
+#: InvenTree/settings.py:650
msgid "Vietnamese"
msgstr ""
-#: InvenTree/settings.py:645
+#: InvenTree/settings.py:651
msgid "Chinese"
msgstr ""
-#: InvenTree/status.py:99
+#: InvenTree/status.py:98
msgid "Background worker check failed"
msgstr ""
-#: InvenTree/status.py:103
+#: InvenTree/status.py:102
msgid "Email backend not configured"
msgstr ""
-#: InvenTree/status.py:106
+#: InvenTree/status.py:105
msgid "InvenTree system health checks failed"
msgstr ""
#: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140
-#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:342
+#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:346
msgid "Pending"
msgstr ""
@@ -561,8 +563,8 @@ msgstr ""
msgid "Returned"
msgstr ""
-#: InvenTree/status_codes.py:141 order/models.py:1142
-#: templates/js/translated/order.js:3625 templates/js/translated/order.js:3974
+#: InvenTree/status_codes.py:141 order/models.py:1165
+#: templates/js/translated/order.js:3636 templates/js/translated/order.js:3971
msgid "Shipped"
msgstr ""
@@ -646,7 +648,7 @@ msgstr ""
msgid "Split child item"
msgstr ""
-#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2086
+#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2104
msgid "Merged stock items"
msgstr ""
@@ -654,7 +656,7 @@ msgstr ""
msgid "Converted to variant"
msgstr ""
-#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:229
+#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:233
msgid "Sent to customer"
msgstr ""
@@ -746,7 +748,7 @@ msgstr ""
#: build/models.py:111 build/templates/build/build_base.html:13
#: build/templates/build/index.html:8 build/templates/build/index.html:12
-#: order/templates/order/sales_order_detail.html:120
+#: order/templates/order/sales_order_detail.html:125
#: order/templates/order/so_sidebar.html:13
#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221
#: templates/InvenTree/search.html:141
@@ -759,15 +761,15 @@ msgstr ""
msgid "Build Order Reference"
msgstr ""
-#: build/models.py:155 order/models.py:240 order/models.py:632
-#: order/models.py:918 part/models.py:2684
+#: build/models.py:155 order/models.py:241 order/models.py:651
+#: order/models.py:941 part/admin.py:224 part/models.py:3297
#: part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:92
-#: templates/js/translated/bom.js:716 templates/js/translated/bom.js:897
-#: templates/js/translated/build.js:1843 templates/js/translated/order.js:2251
-#: templates/js/translated/order.js:2481 templates/js/translated/order.js:3818
-#: templates/js/translated/order.js:4323
+#: templates/js/translated/bom.js:729 templates/js/translated/bom.js:905
+#: templates/js/translated/build.js:1843 templates/js/translated/order.js:2290
+#: templates/js/translated/order.js:2508 templates/js/translated/order.js:3833
+#: templates/js/translated/order.js:4324 templates/js/translated/pricing.js:119
msgid "Reference"
msgstr ""
@@ -785,39 +787,40 @@ msgid "BuildOrder to which this build is allocated"
msgstr ""
#: build/models.py:180 build/templates/build/build_base.html:80
-#: build/templates/build/detail.html:29 company/models.py:680
-#: order/models.py:1015 order/models.py:1126 order/models.py:1127
-#: part/models.py:343 part/models.py:2200 part/models.py:2215
-#: part/models.py:2234 part/models.py:2252 part/models.py:2351
-#: part/models.py:2472 part/models.py:2564 part/models.py:2649
-#: part/models.py:2943 part/serializers.py:828
+#: build/templates/build/detail.html:29 company/models.py:684
+#: order/models.py:1038 order/models.py:1149 order/models.py:1150
+#: part/models.py:362 part/models.py:2700 part/models.py:2813
+#: part/models.py:2828 part/models.py:2847 part/models.py:2865
+#: part/models.py:2964 part/models.py:3085 part/models.py:3177
+#: part/models.py:3262 part/models.py:3578 part/serializers.py:852
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
#: report/templates/report/inventree_build_order_base.html:109
#: report/templates/report/inventree_po_report.html:89
-#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:86
-#: stock/serializers.py:494 templates/InvenTree/search.html:82
+#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:90
+#: stock/serializers.py:488 templates/InvenTree/search.html:82
#: templates/email/build_order_completed.html:17
#: templates/email/build_order_required_stock.html:17
#: templates/email/low_stock_notification.html:16
#: templates/email/overdue_build_order.html:16
-#: templates/js/translated/barcode.js:479 templates/js/translated/bom.js:578
-#: templates/js/translated/bom.js:715 templates/js/translated/bom.js:841
+#: templates/js/translated/barcode.js:479 templates/js/translated/bom.js:591
+#: templates/js/translated/bom.js:728 templates/js/translated/bom.js:849
#: templates/js/translated/build.js:1214 templates/js/translated/build.js:1711
#: templates/js/translated/build.js:2194 templates/js/translated/build.js:2585
-#: templates/js/translated/company.js:301
-#: templates/js/translated/company.js:531
-#: templates/js/translated/company.js:643
-#: templates/js/translated/company.js:904 templates/js/translated/order.js:106
-#: templates/js/translated/order.js:1134 templates/js/translated/order.js:1638
-#: templates/js/translated/order.js:2205 templates/js/translated/order.js:3180
-#: templates/js/translated/order.js:3576 templates/js/translated/order.js:3802
-#: templates/js/translated/part.js:1172 templates/js/translated/part.js:1244
-#: templates/js/translated/part.js:1442 templates/js/translated/stock.js:586
-#: templates/js/translated/stock.js:751 templates/js/translated/stock.js:958
-#: templates/js/translated/stock.js:1700 templates/js/translated/stock.js:2514
-#: templates/js/translated/stock.js:2709 templates/js/translated/stock.js:2843
+#: templates/js/translated/company.js:302
+#: templates/js/translated/company.js:532
+#: templates/js/translated/company.js:644
+#: templates/js/translated/company.js:905 templates/js/translated/order.js:106
+#: templates/js/translated/order.js:1168 templates/js/translated/order.js:1672
+#: templates/js/translated/order.js:2244 templates/js/translated/order.js:3191
+#: templates/js/translated/order.js:3587 templates/js/translated/order.js:3817
+#: templates/js/translated/part.js:1193 templates/js/translated/part.js:1265
+#: templates/js/translated/part.js:1452 templates/js/translated/pricing.js:102
+#: templates/js/translated/stock.js:605 templates/js/translated/stock.js:770
+#: templates/js/translated/stock.js:977 templates/js/translated/stock.js:1719
+#: templates/js/translated/stock.js:2532 templates/js/translated/stock.js:2727
+#: templates/js/translated/stock.js:2861
msgid "Part"
msgstr ""
@@ -834,7 +837,7 @@ msgid "SalesOrder to which this build is allocated"
msgstr ""
#: build/models.py:202 build/serializers.py:822
-#: templates/js/translated/build.js:2182 templates/js/translated/order.js:3168
+#: templates/js/translated/build.js:2182 templates/js/translated/order.js:3179
msgid "Source Location"
msgstr ""
@@ -874,8 +877,8 @@ msgstr ""
msgid "Build status code"
msgstr ""
-#: build/models.py:245 build/serializers.py:224 order/serializers.py:464
-#: stock/models.py:664 templates/js/translated/order.js:1496
+#: build/models.py:245 build/serializers.py:224 order/serializers.py:455
+#: stock/models.py:680 templates/js/translated/order.js:1530
msgid "Batch Code"
msgstr ""
@@ -883,12 +886,12 @@ msgstr ""
msgid "Batch code for this build output"
msgstr ""
-#: build/models.py:252 order/models.py:86 part/models.py:952
-#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2839
+#: build/models.py:252 order/models.py:87 part/models.py:971
+#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2850
msgid "Creation Date"
msgstr ""
-#: build/models.py:256 order/models.py:662
+#: build/models.py:256 order/models.py:681
msgid "Target completion date"
msgstr ""
@@ -896,7 +899,7 @@ msgstr ""
msgid "Target date for build completion. Build will be overdue after this date."
msgstr ""
-#: build/models.py:260 order/models.py:291
+#: build/models.py:260 order/models.py:292
#: templates/js/translated/build.js:2662
msgid "Completion Date"
msgstr ""
@@ -914,11 +917,11 @@ msgid "User who issued this build order"
msgstr ""
#: build/models.py:283 build/templates/build/build_base.html:193
-#: build/templates/build/detail.html:115 order/models.py:100
+#: build/templates/build/detail.html:115 order/models.py:101
#: order/templates/order/order_base.html:185
-#: order/templates/order/sales_order_base.html:183 part/models.py:956
+#: order/templates/order/sales_order_base.html:183 part/models.py:975
#: report/templates/report/inventree_build_order_base.html:158
-#: templates/js/translated/build.js:2642 templates/js/translated/order.js:2022
+#: templates/js/translated/build.js:2642 templates/js/translated/order.js:2056
msgid "Responsible"
msgstr ""
@@ -929,7 +932,7 @@ msgstr ""
#: build/models.py:289 build/templates/build/detail.html:101
#: company/templates/company/manufacturer_part.html:107
#: company/templates/company/supplier_part.html:188
-#: part/templates/part/part_base.html:361 stock/models.py:658
+#: part/templates/part/part_base.html:376 stock/models.py:674
#: stock/templates/stock/item_base.html:203
msgid "External Link"
msgstr ""
@@ -968,11 +971,11 @@ msgstr ""
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr ""
-#: build/models.py:1191 order/models.py:1393
+#: build/models.py:1191 order/models.py:1416
msgid "Stock item is over-allocated"
msgstr ""
-#: build/models.py:1197 order/models.py:1396
+#: build/models.py:1197 order/models.py:1419
msgid "Allocation quantity must be greater than zero"
msgstr ""
@@ -994,18 +997,18 @@ msgstr ""
msgid "Build to allocate parts"
msgstr ""
-#: build/models.py:1346 build/serializers.py:663 order/serializers.py:1039
-#: order/serializers.py:1060 stock/serializers.py:398 stock/serializers.py:758
-#: stock/serializers.py:884 stock/templates/stock/item_base.html:10
+#: build/models.py:1346 build/serializers.py:663 order/serializers.py:1032
+#: order/serializers.py:1053 stock/serializers.py:392 stock/serializers.py:757
+#: stock/serializers.py:883 stock/templates/stock/item_base.html:10
#: stock/templates/stock/item_base.html:23
#: stock/templates/stock/item_base.html:197
#: templates/js/translated/build.js:790 templates/js/translated/build.js:795
#: templates/js/translated/build.js:2196 templates/js/translated/build.js:2747
-#: templates/js/translated/order.js:107 templates/js/translated/order.js:3181
-#: templates/js/translated/order.js:3483 templates/js/translated/order.js:3488
-#: templates/js/translated/order.js:3583 templates/js/translated/order.js:3675
-#: templates/js/translated/stock.js:587 templates/js/translated/stock.js:752
-#: templates/js/translated/stock.js:2587
+#: templates/js/translated/order.js:107 templates/js/translated/order.js:3192
+#: templates/js/translated/order.js:3494 templates/js/translated/order.js:3499
+#: templates/js/translated/order.js:3594 templates/js/translated/order.js:3686
+#: templates/js/translated/stock.js:606 templates/js/translated/stock.js:771
+#: templates/js/translated/stock.js:2605
msgid "Stock Item"
msgstr ""
@@ -1015,12 +1018,10 @@ msgstr ""
#: build/models.py:1359 build/serializers.py:192
#: build/templates/build/build_base.html:85
-#: build/templates/build/detail.html:34 common/models.py:1776
-#: company/templates/company/supplier_part.html:341 order/models.py:911
-#: order/models.py:1437 order/serializers.py:1213
-#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:40
-#: part/models.py:2665 part/templates/part/detail.html:938
-#: part/templates/part/detail.html:1024
+#: build/templates/build/detail.html:34 common/models.py:1788
+#: order/models.py:934 order/models.py:1460 order/serializers.py:1206
+#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:223
+#: part/forms.py:40 part/models.py:3278
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_build_order_base.html:113
@@ -1028,25 +1029,29 @@ msgstr ""
#: report/templates/report/inventree_so_report.html:91
#: report/templates/report/inventree_test_report_base.html:81
#: report/templates/report/inventree_test_report_base.html:139
-#: stock/serializers.py:291 stock/templates/stock/item_base.html:290
+#: stock/admin.py:86 stock/serializers.py:285
+#: stock/templates/stock/item_base.html:290
#: stock/templates/stock/item_base.html:298
#: templates/email/build_order_completed.html:18
-#: templates/js/translated/barcode.js:481 templates/js/translated/bom.js:717
-#: templates/js/translated/bom.js:905 templates/js/translated/build.js:474
+#: templates/js/translated/barcode.js:481 templates/js/translated/bom.js:730
+#: templates/js/translated/bom.js:913 templates/js/translated/build.js:474
#: templates/js/translated/build.js:626 templates/js/translated/build.js:817
#: templates/js/translated/build.js:1236 templates/js/translated/build.js:1737
#: templates/js/translated/build.js:2197
+#: templates/js/translated/company.js:1159
#: templates/js/translated/model_renderers.js:120
-#: templates/js/translated/order.js:123 templates/js/translated/order.js:1137
-#: templates/js/translated/order.js:2257 templates/js/translated/order.js:2487
-#: templates/js/translated/order.js:3182 templates/js/translated/order.js:3502
-#: templates/js/translated/order.js:3589 templates/js/translated/order.js:3681
-#: templates/js/translated/order.js:3824 templates/js/translated/order.js:4329
-#: templates/js/translated/part.js:1036 templates/js/translated/part.js:2220
-#: templates/js/translated/part.js:2689 templates/js/translated/part.js:2730
-#: templates/js/translated/part.js:2808 templates/js/translated/stock.js:458
-#: templates/js/translated/stock.js:612 templates/js/translated/stock.js:782
-#: templates/js/translated/stock.js:2636 templates/js/translated/stock.js:2721
+#: templates/js/translated/order.js:123 templates/js/translated/order.js:1171
+#: templates/js/translated/order.js:2296 templates/js/translated/order.js:2514
+#: templates/js/translated/order.js:3193 templates/js/translated/order.js:3513
+#: templates/js/translated/order.js:3600 templates/js/translated/order.js:3692
+#: templates/js/translated/order.js:3839 templates/js/translated/order.js:4330
+#: templates/js/translated/part.js:1063 templates/js/translated/part.js:2546
+#: templates/js/translated/pricing.js:114
+#: templates/js/translated/pricing.js:207
+#: templates/js/translated/pricing.js:255
+#: templates/js/translated/pricing.js:349 templates/js/translated/stock.js:477
+#: templates/js/translated/stock.js:631 templates/js/translated/stock.js:801
+#: templates/js/translated/stock.js:2654 templates/js/translated/stock.js:2739
msgid "Quantity"
msgstr ""
@@ -1087,10 +1092,10 @@ msgstr ""
msgid "Enter quantity for build output"
msgstr ""
-#: build/serializers.py:207 build/serializers.py:683 order/models.py:323
-#: order/serializers.py:304 order/serializers.py:459 part/serializers.py:558
-#: part/serializers.py:991 stock/models.py:518 stock/models.py:1253
-#: stock/serializers.py:300
+#: build/serializers.py:207 build/serializers.py:683 order/models.py:327
+#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:644
+#: part/serializers.py:1015 stock/models.py:534 stock/models.py:1269
+#: stock/serializers.py:294
msgid "Quantity must be greater than zero"
msgstr ""
@@ -1102,9 +1107,9 @@ msgstr ""
msgid "Integer quantity required, as the bill of materials contains trackable parts"
msgstr ""
-#: build/serializers.py:231 order/serializers.py:472 order/serializers.py:1217
-#: stock/serializers.py:309 templates/js/translated/order.js:1507
-#: templates/js/translated/stock.js:271 templates/js/translated/stock.js:459
+#: build/serializers.py:231 order/serializers.py:463 order/serializers.py:1210
+#: stock/serializers.py:303 templates/js/translated/order.js:1541
+#: templates/js/translated/stock.js:290 templates/js/translated/stock.js:478
msgid "Serial Numbers"
msgstr ""
@@ -1120,7 +1125,7 @@ msgstr ""
msgid "Automatically allocate required items with matching serial numbers"
msgstr ""
-#: build/serializers.py:281 stock/api.py:589
+#: build/serializers.py:281 stock/api.py:599
msgid "The following serial numbers already exist or are invalid"
msgstr ""
@@ -1128,18 +1133,18 @@ msgstr ""
msgid "A list of build outputs must be provided"
msgstr ""
-#: build/serializers.py:369 order/serializers.py:445 order/serializers.py:556
-#: stock/serializers.py:320 stock/serializers.py:455 stock/serializers.py:536
-#: stock/serializers.py:919 stock/serializers.py:1152
+#: build/serializers.py:369 order/serializers.py:436 order/serializers.py:547
+#: stock/serializers.py:314 stock/serializers.py:449 stock/serializers.py:530
+#: stock/serializers.py:918 stock/serializers.py:1151
#: stock/templates/stock/item_base.html:388
#: templates/js/translated/barcode.js:480
#: templates/js/translated/barcode.js:724 templates/js/translated/build.js:802
-#: templates/js/translated/build.js:1749 templates/js/translated/order.js:1534
-#: templates/js/translated/order.js:3495 templates/js/translated/order.js:3600
-#: templates/js/translated/order.js:3608 templates/js/translated/order.js:3689
-#: templates/js/translated/part.js:181 templates/js/translated/stock.js:588
-#: templates/js/translated/stock.js:753 templates/js/translated/stock.js:960
-#: templates/js/translated/stock.js:1856 templates/js/translated/stock.js:2528
+#: templates/js/translated/build.js:1749 templates/js/translated/order.js:1568
+#: templates/js/translated/order.js:3506 templates/js/translated/order.js:3611
+#: templates/js/translated/order.js:3619 templates/js/translated/order.js:3700
+#: templates/js/translated/part.js:177 templates/js/translated/stock.js:607
+#: templates/js/translated/stock.js:772 templates/js/translated/stock.js:979
+#: templates/js/translated/stock.js:1875 templates/js/translated/stock.js:2546
msgid "Location"
msgstr ""
@@ -1148,12 +1153,13 @@ msgid "Location for completed build outputs"
msgstr ""
#: build/serializers.py:376 build/templates/build/build_base.html:145
-#: build/templates/build/detail.html:62 order/models.py:651
-#: order/serializers.py:482 stock/templates/stock/item_base.html:421
+#: build/templates/build/detail.html:62 order/models.py:670
+#: order/serializers.py:473 stock/admin.py:89
+#: stock/templates/stock/item_base.html:421
#: templates/js/translated/barcode.js:214 templates/js/translated/build.js:2614
-#: templates/js/translated/order.js:1643 templates/js/translated/order.js:1992
-#: templates/js/translated/order.js:2831 templates/js/translated/stock.js:1831
-#: templates/js/translated/stock.js:2605 templates/js/translated/stock.js:2737
+#: templates/js/translated/order.js:1677 templates/js/translated/order.js:2026
+#: templates/js/translated/order.js:2842 templates/js/translated/stock.js:1850
+#: templates/js/translated/stock.js:2623 templates/js/translated/stock.js:2755
msgid "Status"
msgstr ""
@@ -1213,7 +1219,7 @@ msgstr ""
msgid "Required stock has not been fully allocated"
msgstr ""
-#: build/serializers.py:545 order/serializers.py:208 order/serializers.py:1107
+#: build/serializers.py:545 order/serializers.py:202 order/serializers.py:1100
msgid "Accept Incomplete"
msgstr ""
@@ -1229,8 +1235,8 @@ msgstr ""
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:595 build/serializers.py:640 part/models.py:2801
-#: part/models.py:2935
+#: build/serializers.py:595 build/serializers.py:640 part/models.py:3414
+#: part/models.py:3570
msgid "BOM Item"
msgstr ""
@@ -1246,11 +1252,11 @@ msgstr ""
msgid "bom_item.part must point to the same part as the build order"
msgstr ""
-#: build/serializers.py:669 stock/serializers.py:771
+#: build/serializers.py:669 stock/serializers.py:770
msgid "Item must be in stock"
msgstr ""
-#: build/serializers.py:727 order/serializers.py:1097
+#: build/serializers.py:727 order/serializers.py:1090
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr ""
@@ -1267,7 +1273,7 @@ msgstr ""
msgid "This stock item has already been allocated to this build output"
msgstr ""
-#: build/serializers.py:768 order/serializers.py:1381
+#: build/serializers.py:768 order/serializers.py:1374
msgid "Allocation items must be provided"
msgstr ""
@@ -1382,13 +1388,13 @@ msgid "Stock has not been fully allocated to this Build Order"
msgstr ""
#: build/templates/build/build_base.html:154
-#: build/templates/build/detail.html:131 order/models.py:924
+#: build/templates/build/detail.html:131 order/models.py:947
#: order/templates/order/order_base.html:171
#: order/templates/order/sales_order_base.html:164
#: report/templates/report/inventree_build_order_base.html:125
-#: templates/js/translated/build.js:2654 templates/js/translated/order.js:2009
-#: templates/js/translated/order.js:2351 templates/js/translated/order.js:2847
-#: templates/js/translated/order.js:3887 templates/js/translated/part.js:1051
+#: templates/js/translated/build.js:2654 templates/js/translated/order.js:2043
+#: templates/js/translated/order.js:2374 templates/js/translated/order.js:2858
+#: templates/js/translated/order.js:3884 templates/js/translated/part.js:1078
msgid "Target Date"
msgstr ""
@@ -1401,29 +1407,29 @@ msgstr ""
#: build/templates/build/build_base.html:204
#: order/templates/order/order_base.html:107
#: order/templates/order/sales_order_base.html:94
-#: templates/js/translated/table_filters.js:328
-#: templates/js/translated/table_filters.js:369
-#: templates/js/translated/table_filters.js:399
+#: templates/js/translated/table_filters.js:332
+#: templates/js/translated/table_filters.js:373
+#: templates/js/translated/table_filters.js:403
msgid "Overdue"
msgstr ""
#: build/templates/build/build_base.html:166
#: build/templates/build/detail.html:67 build/templates/build/detail.html:142
#: order/templates/order/sales_order_base.html:171
-#: templates/js/translated/table_filters.js:408
+#: templates/js/translated/table_filters.js:412
msgid "Completed"
msgstr ""
#: build/templates/build/build_base.html:179
-#: build/templates/build/detail.html:94 order/models.py:1119
-#: order/models.py:1213 order/models.py:1344
+#: build/templates/build/detail.html:94 order/models.py:1142
+#: order/models.py:1236 order/models.py:1367
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
#: report/templates/report/inventree_build_order_base.html:135
#: report/templates/report/inventree_so_report.html:77
#: stock/templates/stock/item_base.html:368
#: templates/email/overdue_sales_order.html:15
-#: templates/js/translated/order.js:2793
+#: templates/js/translated/order.js:2804 templates/js/translated/pricing.js:637
msgid "Sales Order"
msgstr ""
@@ -1449,8 +1455,8 @@ msgstr ""
msgid "Stock can be taken from any available location."
msgstr ""
-#: build/templates/build/detail.html:49 order/models.py:1037
-#: templates/js/translated/order.js:1644 templates/js/translated/order.js:2393
+#: build/templates/build/detail.html:49 order/models.py:1060
+#: templates/js/translated/order.js:1678 templates/js/translated/order.js:2416
msgid "Destination"
msgstr ""
@@ -1462,14 +1468,14 @@ msgstr ""
msgid "Allocated Parts"
msgstr ""
-#: build/templates/build/detail.html:80
+#: build/templates/build/detail.html:80 stock/admin.py:88
#: stock/templates/stock/item_base.html:168
#: templates/js/translated/build.js:1240
#: templates/js/translated/model_renderers.js:124
-#: templates/js/translated/stock.js:1026 templates/js/translated/stock.js:1845
-#: templates/js/translated/stock.js:2744
-#: templates/js/translated/table_filters.js:167
-#: templates/js/translated/table_filters.js:258
+#: templates/js/translated/stock.js:1045 templates/js/translated/stock.js:1864
+#: templates/js/translated/stock.js:2762
+#: templates/js/translated/table_filters.js:171
+#: templates/js/translated/table_filters.js:262
msgid "Batch"
msgstr ""
@@ -1527,7 +1533,7 @@ msgstr ""
#: build/templates/build/detail.html:187
#: company/templates/company/detail.html:37
#: company/templates/company/detail.html:85
-#: part/templates/part/category.html:178 templates/js/translated/order.js:1177
+#: part/templates/part/category.html:178 templates/js/translated/order.js:1211
msgid "Order Parts"
msgstr ""
@@ -1597,10 +1603,10 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:151
#: company/templates/company/manufacturer_part_sidebar.html:9
#: order/templates/order/po_sidebar.html:9
-#: order/templates/order/purchase_order_detail.html:82
-#: order/templates/order/sales_order_detail.html:135
-#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:212
-#: part/templates/part/part_sidebar.html:57 stock/templates/stock/item.html:117
+#: order/templates/order/purchase_order_detail.html:86
+#: order/templates/order/sales_order_detail.html:140
+#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:210
+#: part/templates/part/part_sidebar.html:55 stock/templates/stock/item.html:117
#: stock/templates/stock/stock_sidebar.html:23
msgid "Attachments"
msgstr ""
@@ -1617,7 +1623,7 @@ msgstr ""
msgid "All untracked stock items have been allocated"
msgstr ""
-#: build/templates/build/index.html:18 part/templates/part/detail.html:318
+#: build/templates/build/index.html:18 part/templates/part/detail.html:316
msgid "New Build Order"
msgstr ""
@@ -1734,7 +1740,7 @@ msgstr ""
msgid "Show the `about` modal only to superusers"
msgstr ""
-#: common/models.py:833 company/models.py:94 company/models.py:95
+#: common/models.py:833 company/models.py:98 company/models.py:99
msgid "Company name"
msgstr ""
@@ -1902,9 +1908,9 @@ msgstr ""
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:1002 part/models.py:2474 report/models.py:158
-#: templates/js/translated/table_filters.js:38
-#: templates/js/translated/table_filters.js:492
+#: common/models.py:1002 part/admin.py:41 part/models.py:3087
+#: report/models.py:158 templates/js/translated/table_filters.js:38
+#: templates/js/translated/table_filters.js:496
msgid "Template"
msgstr ""
@@ -1912,9 +1918,10 @@ msgstr ""
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:1009 part/models.py:908 templates/js/translated/bom.js:1531
-#: templates/js/translated/table_filters.js:184
-#: templates/js/translated/table_filters.js:455
+#: common/models.py:1009 part/admin.py:37 part/admin.py:229 part/models.py:927
+#: templates/js/translated/bom.js:1594
+#: templates/js/translated/table_filters.js:188
+#: templates/js/translated/table_filters.js:459
msgid "Assembly"
msgstr ""
@@ -1922,8 +1929,8 @@ msgstr ""
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:1016 part/models.py:914
-#: templates/js/translated/table_filters.js:463
+#: common/models.py:1016 part/admin.py:38 part/models.py:933
+#: templates/js/translated/table_filters.js:467
msgid "Component"
msgstr ""
@@ -1931,7 +1938,7 @@ msgstr ""
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:1023 part/models.py:925
+#: common/models.py:1023 part/admin.py:39 part/models.py:944
msgid "Purchaseable"
msgstr ""
@@ -1939,8 +1946,8 @@ msgstr ""
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:1030 part/models.py:930
-#: templates/js/translated/table_filters.js:484
+#: common/models.py:1030 part/admin.py:40 part/models.py:949
+#: templates/js/translated/table_filters.js:488
msgid "Salable"
msgstr ""
@@ -1948,10 +1955,10 @@ msgstr ""
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:1037 part/models.py:920
+#: common/models.py:1037 part/admin.py:42 part/models.py:939
#: templates/js/translated/table_filters.js:46
-#: templates/js/translated/table_filters.js:116
-#: templates/js/translated/table_filters.js:496
+#: templates/js/translated/table_filters.js:120
+#: templates/js/translated/table_filters.js:500
msgid "Trackable"
msgstr ""
@@ -1959,10 +1966,10 @@ msgstr ""
msgid "Parts are trackable by default"
msgstr ""
-#: common/models.py:1044 part/models.py:940
+#: common/models.py:1044 part/admin.py:43 part/models.py:959
#: part/templates/part/part_base.html:156
#: templates/js/translated/table_filters.js:42
-#: templates/js/translated/table_filters.js:500
+#: templates/js/translated/table_filters.js:504
msgid "Virtual"
msgstr ""
@@ -1979,791 +1986,837 @@ msgid "Display the import wizard in some part views"
msgstr ""
#: common/models.py:1058
-msgid "Show Price in Forms"
-msgstr ""
-
-#: common/models.py:1059
-msgid "Display part price in some forms"
-msgstr ""
-
-#: common/models.py:1070
-msgid "Show Price in BOM"
-msgstr ""
-
-#: common/models.py:1071
-msgid "Include pricing information in BOM tables"
-msgstr ""
-
-#: common/models.py:1082
-msgid "Show Price History"
-msgstr ""
-
-#: common/models.py:1083
-msgid "Display historical pricing for Part"
-msgstr ""
-
-#: common/models.py:1089
msgid "Show related parts"
msgstr ""
-#: common/models.py:1090
+#: common/models.py:1059
msgid "Display related parts for a part"
msgstr ""
-#: common/models.py:1096
+#: common/models.py:1065
msgid "Create initial stock"
msgstr ""
-#: common/models.py:1097
+#: common/models.py:1066
msgid "Create initial stock on part creation"
msgstr ""
-#: common/models.py:1103
-msgid "Internal Prices"
-msgstr ""
-
-#: common/models.py:1104
-msgid "Enable internal prices for parts"
-msgstr ""
-
-#: common/models.py:1110
-msgid "Internal Price as BOM-Price"
-msgstr ""
-
-#: common/models.py:1111
-msgid "Use the internal price (if set) in BOM-price calculations"
-msgstr ""
-
-#: common/models.py:1117
+#: common/models.py:1072
msgid "Part Name Display Format"
msgstr ""
-#: common/models.py:1118
+#: common/models.py:1073
msgid "Format to display the part name"
msgstr ""
-#: common/models.py:1125
+#: common/models.py:1080
msgid "Part Category Default Icon"
msgstr ""
-#: common/models.py:1126
+#: common/models.py:1081
msgid "Part category default icon (empty means no icon)"
msgstr ""
-#: common/models.py:1131
-msgid "Enable label printing"
+#: common/models.py:1086
+msgid "Pricing Decimal Places"
msgstr ""
-#: common/models.py:1132
-msgid "Enable label printing from the web interface"
+#: common/models.py:1087
+msgid "Number of decimal places to display when rendering pricing data"
msgstr ""
-#: common/models.py:1138
-msgid "Label Image DPI"
+#: common/models.py:1097
+msgid "Pricing Rebuild Time"
msgstr ""
-#: common/models.py:1139
-msgid "DPI resolution when generating image files to supply to label printing plugins"
+#: common/models.py:1098
+msgid "Number of days before part pricing is automatically updated"
msgstr ""
-#: common/models.py:1148
-msgid "Enable Reports"
-msgstr ""
-
-#: common/models.py:1149
-msgid "Enable generation of reports"
-msgstr ""
-
-#: common/models.py:1155 templates/stats.html:25
-msgid "Debug Mode"
-msgstr ""
-
-#: common/models.py:1156
-msgid "Generate reports in debug mode (HTML output)"
-msgstr ""
-
-#: common/models.py:1162
-msgid "Page Size"
-msgstr ""
-
-#: common/models.py:1163
-msgid "Default page size for PDF reports"
-msgstr ""
-
-#: common/models.py:1173
-msgid "Enable Test Reports"
-msgstr ""
-
-#: common/models.py:1174
-msgid "Enable generation of test reports"
-msgstr ""
-
-#: common/models.py:1180
-msgid "Attach Test Reports"
-msgstr ""
-
-#: common/models.py:1181
-msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item"
-msgstr ""
-
-#: common/models.py:1187
-msgid "Globally Unique Serials"
-msgstr ""
-
-#: common/models.py:1188
-msgid "Serial numbers for stock items must be globally unique"
-msgstr ""
-
-#: common/models.py:1194
-msgid "Batch Code Template"
-msgstr ""
-
-#: common/models.py:1195
-msgid "Template for generating default batch codes for stock items"
-msgstr ""
-
-#: common/models.py:1200
-msgid "Stock Expiry"
-msgstr ""
-
-#: common/models.py:1201
-msgid "Enable stock expiry functionality"
-msgstr ""
-
-#: common/models.py:1207
-msgid "Sell Expired Stock"
-msgstr ""
-
-#: common/models.py:1208
-msgid "Allow sale of expired stock"
-msgstr ""
-
-#: common/models.py:1214
-msgid "Stock Stale Time"
-msgstr ""
-
-#: common/models.py:1215
-msgid "Number of days stock items are considered stale before expiring"
-msgstr ""
-
-#: common/models.py:1217
+#: common/models.py:1099 common/models.py:1208
msgid "days"
msgstr ""
-#: common/models.py:1222
+#: common/models.py:1108
+msgid "Internal Prices"
+msgstr ""
+
+#: common/models.py:1109
+msgid "Enable internal prices for parts"
+msgstr ""
+
+#: common/models.py:1115
+msgid "Internal Price Override"
+msgstr ""
+
+#: common/models.py:1116
+msgid "If available, internal prices override price range calculations"
+msgstr ""
+
+#: common/models.py:1122
+msgid "Enable label printing"
+msgstr ""
+
+#: common/models.py:1123
+msgid "Enable label printing from the web interface"
+msgstr ""
+
+#: common/models.py:1129
+msgid "Label Image DPI"
+msgstr ""
+
+#: common/models.py:1130
+msgid "DPI resolution when generating image files to supply to label printing plugins"
+msgstr ""
+
+#: common/models.py:1139
+msgid "Enable Reports"
+msgstr ""
+
+#: common/models.py:1140
+msgid "Enable generation of reports"
+msgstr ""
+
+#: common/models.py:1146 templates/stats.html:25
+msgid "Debug Mode"
+msgstr ""
+
+#: common/models.py:1147
+msgid "Generate reports in debug mode (HTML output)"
+msgstr ""
+
+#: common/models.py:1153
+msgid "Page Size"
+msgstr ""
+
+#: common/models.py:1154
+msgid "Default page size for PDF reports"
+msgstr ""
+
+#: common/models.py:1164
+msgid "Enable Test Reports"
+msgstr ""
+
+#: common/models.py:1165
+msgid "Enable generation of test reports"
+msgstr ""
+
+#: common/models.py:1171
+msgid "Attach Test Reports"
+msgstr ""
+
+#: common/models.py:1172
+msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item"
+msgstr ""
+
+#: common/models.py:1178
+msgid "Globally Unique Serials"
+msgstr ""
+
+#: common/models.py:1179
+msgid "Serial numbers for stock items must be globally unique"
+msgstr ""
+
+#: common/models.py:1185
+msgid "Batch Code Template"
+msgstr ""
+
+#: common/models.py:1186
+msgid "Template for generating default batch codes for stock items"
+msgstr ""
+
+#: common/models.py:1191
+msgid "Stock Expiry"
+msgstr ""
+
+#: common/models.py:1192
+msgid "Enable stock expiry functionality"
+msgstr ""
+
+#: common/models.py:1198
+msgid "Sell Expired Stock"
+msgstr ""
+
+#: common/models.py:1199
+msgid "Allow sale of expired stock"
+msgstr ""
+
+#: common/models.py:1205
+msgid "Stock Stale Time"
+msgstr ""
+
+#: common/models.py:1206
+msgid "Number of days stock items are considered stale before expiring"
+msgstr ""
+
+#: common/models.py:1213
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:1223
+#: common/models.py:1214
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:1229
+#: common/models.py:1220
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:1230
+#: common/models.py:1221
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:1236
+#: common/models.py:1227
msgid "Stock Location Default Icon"
msgstr ""
-#: common/models.py:1237
+#: common/models.py:1228
msgid "Stock location default icon (empty means no icon)"
msgstr ""
-#: common/models.py:1242
+#: common/models.py:1233
msgid "Build Order Reference Pattern"
msgstr ""
-#: common/models.py:1243
+#: common/models.py:1234
msgid "Required pattern for generating Build Order reference field"
msgstr ""
-#: common/models.py:1249
+#: common/models.py:1240
msgid "Sales Order Reference Pattern"
msgstr ""
-#: common/models.py:1250
+#: common/models.py:1241
msgid "Required pattern for generating Sales Order reference field"
msgstr ""
-#: common/models.py:1256
+#: common/models.py:1247
msgid "Sales Order Default Shipment"
msgstr ""
-#: common/models.py:1257
+#: common/models.py:1248
msgid "Enable creation of default shipment with sales orders"
msgstr ""
-#: common/models.py:1263
+#: common/models.py:1254
+msgid "Edit Completed Sales Orders"
+msgstr ""
+
+#: common/models.py:1255
+msgid "Allow editing of sales orders after they have been shipped or completed"
+msgstr ""
+
+#: common/models.py:1261
msgid "Purchase Order Reference Pattern"
msgstr ""
-#: common/models.py:1264
+#: common/models.py:1262
msgid "Required pattern for generating Purchase Order reference field"
msgstr ""
-#: common/models.py:1271
+#: common/models.py:1268
+msgid "Edit Completed Purchase Orders"
+msgstr ""
+
+#: common/models.py:1269
+msgid "Allow editing of purchase orders after they have been shipped or completed"
+msgstr ""
+
+#: common/models.py:1276
msgid "Enable password forgot"
msgstr ""
-#: common/models.py:1272
+#: common/models.py:1277
msgid "Enable password forgot function on the login pages"
msgstr ""
-#: common/models.py:1278
+#: common/models.py:1283
msgid "Enable registration"
msgstr ""
-#: common/models.py:1279
+#: common/models.py:1284
msgid "Enable self-registration for users on the login pages"
msgstr ""
-#: common/models.py:1285
+#: common/models.py:1290
msgid "Enable SSO"
msgstr ""
-#: common/models.py:1286
+#: common/models.py:1291
msgid "Enable SSO on the login pages"
msgstr ""
-#: common/models.py:1292
+#: common/models.py:1297
msgid "Email required"
msgstr ""
-#: common/models.py:1293
+#: common/models.py:1298
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/models.py:1299
+#: common/models.py:1304
msgid "Auto-fill SSO users"
msgstr ""
-#: common/models.py:1300
+#: common/models.py:1305
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/models.py:1306
+#: common/models.py:1311
msgid "Mail twice"
msgstr ""
-#: common/models.py:1307
+#: common/models.py:1312
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/models.py:1313
+#: common/models.py:1318
msgid "Password twice"
msgstr ""
-#: common/models.py:1314
+#: common/models.py:1319
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/models.py:1320
+#: common/models.py:1325
msgid "Group on signup"
msgstr ""
-#: common/models.py:1321
+#: common/models.py:1326
msgid "Group to which new users are assigned on registration"
msgstr ""
-#: common/models.py:1327
+#: common/models.py:1332
msgid "Enforce MFA"
msgstr ""
-#: common/models.py:1328
+#: common/models.py:1333
msgid "Users must use multifactor security."
msgstr ""
-#: common/models.py:1334
+#: common/models.py:1339
msgid "Check plugins on startup"
msgstr ""
-#: common/models.py:1335
+#: common/models.py:1340
msgid "Check that all plugins are installed on startup - enable in container environments"
msgstr ""
-#: common/models.py:1342
+#: common/models.py:1347
msgid "Check plugin signatures"
msgstr ""
-#: common/models.py:1343
+#: common/models.py:1348
msgid "Check and show signatures for plugins"
msgstr ""
-#: common/models.py:1350
+#: common/models.py:1355
msgid "Enable URL integration"
msgstr ""
-#: common/models.py:1351
+#: common/models.py:1356
msgid "Enable plugins to add URL routes"
msgstr ""
-#: common/models.py:1358
+#: common/models.py:1363
msgid "Enable navigation integration"
msgstr ""
-#: common/models.py:1359
+#: common/models.py:1364
msgid "Enable plugins to integrate into navigation"
msgstr ""
-#: common/models.py:1366
+#: common/models.py:1371
msgid "Enable app integration"
msgstr ""
-#: common/models.py:1367
+#: common/models.py:1372
msgid "Enable plugins to add apps"
msgstr ""
-#: common/models.py:1374
+#: common/models.py:1379
msgid "Enable schedule integration"
msgstr ""
-#: common/models.py:1375
+#: common/models.py:1380
msgid "Enable plugins to run scheduled tasks"
msgstr ""
-#: common/models.py:1382
+#: common/models.py:1387
msgid "Enable event integration"
msgstr ""
-#: common/models.py:1383
+#: common/models.py:1388
msgid "Enable plugins to respond to internal events"
msgstr ""
-#: common/models.py:1402 common/models.py:1737
+#: common/models.py:1407 common/models.py:1749
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:1424
+#: common/models.py:1429
msgid "Show subscribed parts"
msgstr ""
-#: common/models.py:1425
+#: common/models.py:1430
msgid "Show subscribed parts on the homepage"
msgstr ""
-#: common/models.py:1431
+#: common/models.py:1436
msgid "Show subscribed categories"
msgstr ""
-#: common/models.py:1432
+#: common/models.py:1437
msgid "Show subscribed part categories on the homepage"
msgstr ""
-#: common/models.py:1438
+#: common/models.py:1443
msgid "Show latest parts"
msgstr ""
-#: common/models.py:1439
+#: common/models.py:1444
msgid "Show latest parts on the homepage"
msgstr ""
-#: common/models.py:1445
+#: common/models.py:1450
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:1446
+#: common/models.py:1451
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:1452
+#: common/models.py:1457
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:1453
+#: common/models.py:1458
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:1459
+#: common/models.py:1464
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:1460
+#: common/models.py:1465
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:1466
+#: common/models.py:1471
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:1467
+#: common/models.py:1472
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:1473
+#: common/models.py:1478
msgid "Show low stock"
msgstr ""
-#: common/models.py:1474
+#: common/models.py:1479
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:1480
+#: common/models.py:1485
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:1481
+#: common/models.py:1486
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:1487
+#: common/models.py:1492
msgid "Show needed stock"
msgstr ""
-#: common/models.py:1488
+#: common/models.py:1493
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:1494
+#: common/models.py:1499
msgid "Show expired stock"
msgstr ""
-#: common/models.py:1495
+#: common/models.py:1500
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:1501
+#: common/models.py:1506
msgid "Show stale stock"
msgstr ""
-#: common/models.py:1502
+#: common/models.py:1507
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:1508
+#: common/models.py:1513
msgid "Show pending builds"
msgstr ""
-#: common/models.py:1509
+#: common/models.py:1514
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:1515
+#: common/models.py:1520
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:1516
+#: common/models.py:1521
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:1522
+#: common/models.py:1527
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:1523
+#: common/models.py:1528
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:1529
+#: common/models.py:1534
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:1530
+#: common/models.py:1535
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:1536
+#: common/models.py:1541
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:1537
+#: common/models.py:1542
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:1543
+#: common/models.py:1548
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:1544
+#: common/models.py:1549
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:1550
+#: common/models.py:1555
+msgid "Show News"
+msgstr ""
+
+#: common/models.py:1556
+msgid "Show news on the homepage"
+msgstr ""
+
+#: common/models.py:1562
msgid "Inline label display"
msgstr ""
-#: common/models.py:1551
+#: common/models.py:1563
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1557
+#: common/models.py:1569
msgid "Inline report display"
msgstr ""
-#: common/models.py:1558
+#: common/models.py:1570
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1564
+#: common/models.py:1576
msgid "Search Parts"
msgstr ""
-#: common/models.py:1565
+#: common/models.py:1577
msgid "Display parts in search preview window"
msgstr ""
-#: common/models.py:1571
+#: common/models.py:1583
msgid "Seach Supplier Parts"
msgstr ""
-#: common/models.py:1572
+#: common/models.py:1584
msgid "Display supplier parts in search preview window"
msgstr ""
-#: common/models.py:1578
+#: common/models.py:1590
msgid "Search Manufacturer Parts"
msgstr ""
-#: common/models.py:1579
+#: common/models.py:1591
msgid "Display manufacturer parts in search preview window"
msgstr ""
-#: common/models.py:1585
+#: common/models.py:1597
msgid "Hide Inactive Parts"
msgstr ""
-#: common/models.py:1586
+#: common/models.py:1598
msgid "Excluded inactive parts from search preview window"
msgstr ""
-#: common/models.py:1592
+#: common/models.py:1604
msgid "Search Categories"
msgstr ""
-#: common/models.py:1593
+#: common/models.py:1605
msgid "Display part categories in search preview window"
msgstr ""
-#: common/models.py:1599
+#: common/models.py:1611
msgid "Search Stock"
msgstr ""
-#: common/models.py:1600
+#: common/models.py:1612
msgid "Display stock items in search preview window"
msgstr ""
-#: common/models.py:1606
+#: common/models.py:1618
msgid "Hide Unavailable Stock Items"
msgstr ""
-#: common/models.py:1607
+#: common/models.py:1619
msgid "Exclude stock items which are not available from the search preview window"
msgstr ""
-#: common/models.py:1613
+#: common/models.py:1625
msgid "Search Locations"
msgstr ""
-#: common/models.py:1614
+#: common/models.py:1626
msgid "Display stock locations in search preview window"
msgstr ""
-#: common/models.py:1620
+#: common/models.py:1632
msgid "Search Companies"
msgstr ""
-#: common/models.py:1621
+#: common/models.py:1633
msgid "Display companies in search preview window"
msgstr ""
-#: common/models.py:1627
+#: common/models.py:1639
msgid "Search Build Orders"
msgstr ""
-#: common/models.py:1628
+#: common/models.py:1640
msgid "Display build orders in search preview window"
msgstr ""
-#: common/models.py:1634
+#: common/models.py:1646
msgid "Search Purchase Orders"
msgstr ""
-#: common/models.py:1635
+#: common/models.py:1647
msgid "Display purchase orders in search preview window"
msgstr ""
-#: common/models.py:1641
+#: common/models.py:1653
msgid "Exclude Inactive Purchase Orders"
msgstr ""
-#: common/models.py:1642
+#: common/models.py:1654
msgid "Exclude inactive purchase orders from search preview window"
msgstr ""
-#: common/models.py:1648
+#: common/models.py:1660
msgid "Search Sales Orders"
msgstr ""
-#: common/models.py:1649
+#: common/models.py:1661
msgid "Display sales orders in search preview window"
msgstr ""
-#: common/models.py:1655
+#: common/models.py:1667
msgid "Exclude Inactive Sales Orders"
msgstr ""
-#: common/models.py:1656
+#: common/models.py:1668
msgid "Exclude inactive sales orders from search preview window"
msgstr ""
-#: common/models.py:1662
+#: common/models.py:1674
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:1663
+#: common/models.py:1675
msgid "Number of results to show in each section of the search preview window"
msgstr ""
-#: common/models.py:1669
+#: common/models.py:1681
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:1670
+#: common/models.py:1682
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:1676
+#: common/models.py:1688
msgid "Escape Key Closes Forms"
msgstr ""
-#: common/models.py:1677
+#: common/models.py:1689
msgid "Use the escape key to close modal forms"
msgstr ""
-#: common/models.py:1683
+#: common/models.py:1695
msgid "Fixed Navbar"
msgstr ""
-#: common/models.py:1684
+#: common/models.py:1696
msgid "The navbar position is fixed to the top of the screen"
msgstr ""
-#: common/models.py:1690
+#: common/models.py:1702
msgid "Date Format"
msgstr ""
-#: common/models.py:1691
+#: common/models.py:1703
msgid "Preferred format for displaying dates"
msgstr ""
-#: common/models.py:1705 part/templates/part/detail.html:41
+#: common/models.py:1717 part/templates/part/detail.html:41
msgid "Part Scheduling"
msgstr ""
-#: common/models.py:1706
+#: common/models.py:1718
msgid "Display part scheduling information"
msgstr ""
-#: common/models.py:1712
+#: common/models.py:1724
msgid "Table String Length"
msgstr ""
-#: common/models.py:1713
+#: common/models.py:1725
msgid "Maximimum length limit for strings displayed in table views"
msgstr ""
-#: common/models.py:1777
+#: common/models.py:1789
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1784 company/serializers.py:372
-#: company/templates/company/supplier_part.html:346 order/models.py:952
-#: templates/js/translated/part.js:1103 templates/js/translated/part.js:2225
+#: common/models.py:1796 company/serializers.py:393 order/models.py:975
+#: templates/js/translated/company.js:1164 templates/js/translated/part.js:1130
+#: templates/js/translated/pricing.js:354
msgid "Price"
msgstr ""
-#: common/models.py:1785
+#: common/models.py:1797
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1945 common/models.py:2123
+#: common/models.py:1957 common/models.py:2135
msgid "Endpoint"
msgstr ""
-#: common/models.py:1946
+#: common/models.py:1958
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:1955
+#: common/models.py:1967
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:1960 part/models.py:935 plugin/models.py:100
-#: templates/js/translated/table_filters.js:34
-#: templates/js/translated/table_filters.js:112
-#: templates/js/translated/table_filters.js:324
-#: templates/js/translated/table_filters.js:450
+#: common/models.py:1972 part/admin.py:36 part/models.py:954
+#: plugin/models.py:100 templates/js/translated/table_filters.js:34
+#: templates/js/translated/table_filters.js:116
+#: templates/js/translated/table_filters.js:328
+#: templates/js/translated/table_filters.js:454
msgid "Active"
msgstr ""
-#: common/models.py:1961
+#: common/models.py:1973
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:1975
+#: common/models.py:1987
msgid "Token"
msgstr ""
-#: common/models.py:1976
+#: common/models.py:1988
msgid "Token for access"
msgstr ""
-#: common/models.py:1983
+#: common/models.py:1995
msgid "Secret"
msgstr ""
-#: common/models.py:1984
+#: common/models.py:1996
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:2090
+#: common/models.py:2102
msgid "Message ID"
msgstr ""
-#: common/models.py:2091
+#: common/models.py:2103
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:2099
+#: common/models.py:2111
msgid "Host"
msgstr ""
-#: common/models.py:2100
+#: common/models.py:2112
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:2107
+#: common/models.py:2119
msgid "Header"
msgstr ""
-#: common/models.py:2108
+#: common/models.py:2120
msgid "Header of this message"
msgstr ""
-#: common/models.py:2114
+#: common/models.py:2126
msgid "Body"
msgstr ""
-#: common/models.py:2115
+#: common/models.py:2127
msgid "Body of this message"
msgstr ""
-#: common/models.py:2124
+#: common/models.py:2136
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:2129
+#: common/models.py:2141
msgid "Worked on"
msgstr ""
-#: common/models.py:2130
+#: common/models.py:2142
msgid "Was the work on this message finished?"
msgstr ""
+#: common/models.py:2302
+msgid "Id"
+msgstr ""
+
+#: common/models.py:2308 templates/js/translated/news.js:34
+msgid "Title"
+msgstr ""
+
+#: common/models.py:2318 templates/js/translated/news.js:50
+msgid "Published"
+msgstr ""
+
+#: common/models.py:2323 templates/InvenTree/settings/plugin.html:62
+#: templates/InvenTree/settings/plugin_settings.html:33
+#: templates/js/translated/news.js:46
+msgid "Author"
+msgstr ""
+
+#: common/models.py:2328 templates/js/translated/news.js:42
+msgid "Summary"
+msgstr ""
+
+#: common/models.py:2333
+msgid "Read"
+msgstr ""
+
+#: common/models.py:2334
+msgid "Was this news item read?"
+msgstr ""
+
#: common/notifications.py:293
#, python-brace-format
msgid "New {verbose_name}"
@@ -2785,15 +2838,15 @@ msgstr ""
msgid "Error raised by plugin"
msgstr ""
-#: common/views.py:85 order/templates/order/purchase_order_detail.html:23
-#: order/views.py:102 part/views.py:112
+#: common/views.py:85 order/templates/order/purchase_order_detail.html:25
+#: order/views.py:102 part/views.py:107
#: templates/patterns/wizard/upload.html:37
msgid "Upload File"
msgstr ""
#: common/views.py:86 order/views.py:103
#: part/templates/part/import_wizard/ajax_match_fields.html:45
-#: part/views.py:113 templates/patterns/wizard/match_fields.html:51
+#: part/views.py:108 templates/patterns/wizard/match_fields.html:51
msgid "Match Fields"
msgstr ""
@@ -2816,298 +2869,301 @@ msgstr ""
msgid "Previous Step"
msgstr ""
-#: company/models.py:99
+#: company/models.py:103
msgid "Company description"
msgstr ""
-#: company/models.py:100
+#: company/models.py:104
msgid "Description of the company"
msgstr ""
-#: company/models.py:106 company/templates/company/company_base.html:100
+#: company/models.py:110 company/templates/company/company_base.html:100
#: templates/InvenTree/settings/plugin_settings.html:55
-#: templates/js/translated/company.js:448
+#: templates/js/translated/company.js:449
msgid "Website"
msgstr ""
-#: company/models.py:107
+#: company/models.py:111
msgid "Company website URL"
msgstr ""
-#: company/models.py:111 company/templates/company/company_base.html:118
+#: company/models.py:115 company/templates/company/company_base.html:118
msgid "Address"
msgstr ""
-#: company/models.py:112
+#: company/models.py:116
msgid "Company address"
msgstr ""
-#: company/models.py:115
+#: company/models.py:119
msgid "Phone number"
msgstr ""
-#: company/models.py:116
+#: company/models.py:120
msgid "Contact phone number"
msgstr ""
-#: company/models.py:119 company/templates/company/company_base.html:132
+#: company/models.py:123 company/templates/company/company_base.html:132
#: templates/InvenTree/settings/user.html:48
msgid "Email"
msgstr ""
-#: company/models.py:119
+#: company/models.py:123
msgid "Contact email address"
msgstr ""
-#: company/models.py:122 company/templates/company/company_base.html:139
+#: company/models.py:126 company/templates/company/company_base.html:139
msgid "Contact"
msgstr ""
-#: company/models.py:123
+#: company/models.py:127
msgid "Point of contact"
msgstr ""
-#: company/models.py:125
+#: company/models.py:129
msgid "Link to external company information"
msgstr ""
-#: company/models.py:136 part/models.py:829
+#: company/models.py:140 part/models.py:848
msgid "Image"
msgstr ""
-#: company/models.py:139 company/templates/company/detail.html:185
+#: company/models.py:143 company/templates/company/detail.html:185
msgid "Company Notes"
msgstr ""
-#: company/models.py:141
+#: company/models.py:145
msgid "is customer"
msgstr ""
-#: company/models.py:141
+#: company/models.py:145
msgid "Do you sell items to this company?"
msgstr ""
-#: company/models.py:143
+#: company/models.py:147
msgid "is supplier"
msgstr ""
-#: company/models.py:143
+#: company/models.py:147
msgid "Do you purchase items from this company?"
msgstr ""
-#: company/models.py:145
+#: company/models.py:149
msgid "is manufacturer"
msgstr ""
-#: company/models.py:145
+#: company/models.py:149
msgid "Does this company manufacture parts?"
msgstr ""
-#: company/models.py:149 company/serializers.py:378
-#: company/templates/company/company_base.html:106 part/serializers.py:153
-#: part/serializers.py:184 stock/serializers.py:178
+#: company/models.py:153 company/serializers.py:399
+#: company/templates/company/company_base.html:106 part/models.py:2681
+#: part/serializers.py:153 part/serializers.py:181 stock/serializers.py:182
+#: templates/InvenTree/settings/pricing.html:59
msgid "Currency"
msgstr ""
-#: company/models.py:152
+#: company/models.py:156
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:249 company/models.py:483 stock/models.py:600
-#: stock/serializers.py:85 stock/templates/stock/item_base.html:143
-#: templates/js/translated/bom.js:568
+#: company/models.py:253 company/models.py:487 stock/models.py:616
+#: stock/serializers.py:89 stock/templates/stock/item_base.html:143
+#: templates/js/translated/bom.js:581
msgid "Base Part"
msgstr ""
-#: company/models.py:253 company/models.py:487
+#: company/models.py:257 company/models.py:491
msgid "Select part"
msgstr ""
-#: company/models.py:264 company/templates/company/company_base.html:76
+#: company/models.py:268 company/templates/company/company_base.html:76
#: company/templates/company/manufacturer_part.html:90
#: company/templates/company/supplier_part.html:152
#: stock/templates/stock/item_base.html:210
-#: templates/js/translated/company.js:432
-#: templates/js/translated/company.js:533
-#: templates/js/translated/company.js:668
-#: templates/js/translated/company.js:956 templates/js/translated/part.js:236
-#: templates/js/translated/table_filters.js:427
+#: templates/js/translated/company.js:433
+#: templates/js/translated/company.js:534
+#: templates/js/translated/company.js:669
+#: templates/js/translated/company.js:957 templates/js/translated/part.js:232
+#: templates/js/translated/table_filters.js:431
msgid "Manufacturer"
msgstr ""
-#: company/models.py:265 templates/js/translated/part.js:237
+#: company/models.py:269 templates/js/translated/part.js:233
msgid "Select manufacturer"
msgstr ""
-#: company/models.py:271 company/templates/company/manufacturer_part.html:101
+#: company/models.py:275 company/templates/company/manufacturer_part.html:101
#: company/templates/company/supplier_part.html:160
-#: templates/js/translated/company.js:304
-#: templates/js/translated/company.js:532
-#: templates/js/translated/company.js:684
-#: templates/js/translated/company.js:975 templates/js/translated/order.js:2239
-#: templates/js/translated/part.js:247 templates/js/translated/part.js:1025
+#: templates/js/translated/company.js:305
+#: templates/js/translated/company.js:533
+#: templates/js/translated/company.js:685
+#: templates/js/translated/company.js:976 templates/js/translated/order.js:2278
+#: templates/js/translated/part.js:243 templates/js/translated/part.js:1052
msgid "MPN"
msgstr ""
-#: company/models.py:272 templates/js/translated/part.js:248
+#: company/models.py:276 templates/js/translated/part.js:244
msgid "Manufacturer Part Number"
msgstr ""
-#: company/models.py:278
+#: company/models.py:282
msgid "URL for external manufacturer part link"
msgstr ""
-#: company/models.py:284
+#: company/models.py:288
msgid "Manufacturer part description"
msgstr ""
-#: company/models.py:329 company/models.py:353 company/models.py:506
+#: company/models.py:333 company/models.py:357 company/models.py:510
#: company/templates/company/manufacturer_part.html:7
#: company/templates/company/manufacturer_part.html:24
#: stock/templates/stock/item_base.html:220
msgid "Manufacturer Part"
msgstr ""
-#: company/models.py:360
+#: company/models.py:364
msgid "Parameter name"
msgstr ""
-#: company/models.py:366
+#: company/models.py:370
#: report/templates/report/inventree_test_report_base.html:95
-#: stock/models.py:2097 templates/js/translated/company.js:581
-#: templates/js/translated/company.js:799 templates/js/translated/part.js:847
-#: templates/js/translated/stock.js:1360
+#: stock/models.py:2113 templates/js/translated/company.js:582
+#: templates/js/translated/company.js:800 templates/js/translated/part.js:874
+#: templates/js/translated/stock.js:1379
msgid "Value"
msgstr ""
-#: company/models.py:367
+#: company/models.py:371
msgid "Parameter value"
msgstr ""
-#: company/models.py:373 part/models.py:902 part/models.py:2434
-#: part/templates/part/part_base.html:286
+#: company/models.py:377 part/admin.py:26 part/models.py:921
+#: part/models.py:3047 part/templates/part/part_base.html:286
#: templates/InvenTree/settings/settings.html:349
-#: templates/js/translated/company.js:805 templates/js/translated/part.js:853
+#: templates/js/translated/company.js:806 templates/js/translated/part.js:880
msgid "Units"
msgstr ""
-#: company/models.py:374
+#: company/models.py:378
msgid "Parameter units"
msgstr ""
-#: company/models.py:451
+#: company/models.py:455
msgid "Linked manufacturer part must reference the same base part"
msgstr ""
-#: company/models.py:493 company/templates/company/company_base.html:81
-#: company/templates/company/supplier_part.html:136 order/models.py:263
-#: order/templates/order/order_base.html:121 part/bom.py:237 part/bom.py:265
+#: company/models.py:497 company/templates/company/company_base.html:81
+#: company/templates/company/supplier_part.html:136 order/models.py:264
+#: order/templates/order/order_base.html:121 part/bom.py:252 part/bom.py:280
#: stock/templates/stock/item_base.html:227
#: templates/email/overdue_purchase_order.html:16
-#: templates/js/translated/company.js:303
-#: templates/js/translated/company.js:436
-#: templates/js/translated/company.js:929 templates/js/translated/order.js:1975
-#: templates/js/translated/part.js:217 templates/js/translated/part.js:993
-#: templates/js/translated/table_filters.js:431
+#: templates/js/translated/company.js:304
+#: templates/js/translated/company.js:437
+#: templates/js/translated/company.js:930 templates/js/translated/order.js:2009
+#: templates/js/translated/part.js:213 templates/js/translated/part.js:1020
+#: templates/js/translated/pricing.js:231
+#: templates/js/translated/table_filters.js:435
msgid "Supplier"
msgstr ""
-#: company/models.py:494 templates/js/translated/part.js:218
+#: company/models.py:498 templates/js/translated/part.js:214
msgid "Select supplier"
msgstr ""
-#: company/models.py:499 company/templates/company/supplier_part.html:146
-#: part/bom.py:238 part/bom.py:266 templates/js/translated/company.js:302
-#: templates/js/translated/order.js:2226 templates/js/translated/part.js:228
-#: templates/js/translated/part.js:1011
+#: company/models.py:503 company/templates/company/supplier_part.html:146
+#: part/bom.py:253 part/bom.py:281 templates/js/translated/company.js:303
+#: templates/js/translated/order.js:2265 templates/js/translated/part.js:224
+#: templates/js/translated/part.js:1038 templates/js/translated/pricing.js:243
msgid "SKU"
msgstr ""
-#: company/models.py:500 templates/js/translated/part.js:229
+#: company/models.py:504 templates/js/translated/part.js:225
msgid "Supplier stock keeping unit"
msgstr ""
-#: company/models.py:507
+#: company/models.py:511
msgid "Select manufacturer part"
msgstr ""
-#: company/models.py:513
+#: company/models.py:517
msgid "URL for external supplier part link"
msgstr ""
-#: company/models.py:519
+#: company/models.py:523
msgid "Supplier part description"
msgstr ""
-#: company/models.py:524 company/templates/company/supplier_part.html:181
-#: part/models.py:2687 part/templates/part/upload_bom.html:59
+#: company/models.py:528 company/templates/company/supplier_part.html:181
+#: part/admin.py:225 part/models.py:3300 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_po_report.html:92
-#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:403
+#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:397
msgid "Note"
msgstr ""
-#: company/models.py:528 part/models.py:1788
+#: company/models.py:532 part/models.py:1817
msgid "base cost"
msgstr ""
-#: company/models.py:528 part/models.py:1788
+#: company/models.py:532 part/models.py:1817
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
-#: company/models.py:530 company/templates/company/supplier_part.html:167
-#: stock/models.py:626 stock/templates/stock/item_base.html:243
-#: templates/js/translated/company.js:991 templates/js/translated/stock.js:1978
+#: company/models.py:534 company/templates/company/supplier_part.html:167
+#: stock/admin.py:101 stock/models.py:642
+#: stock/templates/stock/item_base.html:243
+#: templates/js/translated/company.js:992 templates/js/translated/stock.js:1996
msgid "Packaging"
msgstr ""
-#: company/models.py:530
+#: company/models.py:534
msgid "Part packaging"
msgstr ""
-#: company/models.py:533 company/serializers.py:242
+#: company/models.py:537 company/serializers.py:242
#: company/templates/company/supplier_part.html:174
-#: templates/js/translated/company.js:996 templates/js/translated/order.js:820
-#: templates/js/translated/order.js:1215 templates/js/translated/order.js:1470
-#: templates/js/translated/order.js:2270 templates/js/translated/order.js:2287
-#: templates/js/translated/part.js:1043 templates/js/translated/part.js:1095
+#: templates/js/translated/company.js:997 templates/js/translated/order.js:826
+#: templates/js/translated/order.js:1249 templates/js/translated/order.js:1504
+#: templates/js/translated/order.js:2309 templates/js/translated/order.js:2326
+#: templates/js/translated/part.js:1070 templates/js/translated/part.js:1122
msgid "Pack Quantity"
msgstr ""
-#: company/models.py:534
+#: company/models.py:538
msgid "Unit quantity supplied in a single pack"
msgstr ""
-#: company/models.py:540 part/models.py:1790
+#: company/models.py:544 part/models.py:1819
msgid "multiple"
msgstr ""
-#: company/models.py:540
+#: company/models.py:544
msgid "Order multiple"
msgstr ""
-#: company/models.py:548 company/templates/company/supplier_part.html:115
+#: company/models.py:552 company/templates/company/supplier_part.html:115
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:18
-#: templates/js/translated/bom.js:963 templates/js/translated/build.js:1873
-#: templates/js/translated/build.js:2754 templates/js/translated/part.js:598
-#: templates/js/translated/part.js:601
-#: templates/js/translated/table_filters.js:194
+#: templates/js/translated/bom.js:1117 templates/js/translated/build.js:1873
+#: templates/js/translated/build.js:2754 templates/js/translated/part.js:612
+#: templates/js/translated/part.js:615
+#: templates/js/translated/table_filters.js:198
msgid "Available"
msgstr ""
-#: company/models.py:549
+#: company/models.py:553
msgid "Quantity available from supplier"
msgstr ""
-#: company/models.py:553
+#: company/models.py:557
msgid "Availability Updated"
msgstr ""
-#: company/models.py:554
+#: company/models.py:558
msgid "Date of last update of availability data"
msgstr ""
-#: company/models.py:682
+#: company/models.py:686
msgid "last updated"
msgstr ""
@@ -3121,7 +3177,7 @@ msgstr ""
#: company/templates/company/company_base.html:8
#: company/templates/company/company_base.html:12
-#: templates/InvenTree/search.html:179 templates/js/translated/company.js:421
+#: templates/InvenTree/search.html:179 templates/js/translated/company.js:422
msgid "Company"
msgstr ""
@@ -3139,7 +3195,7 @@ msgid "Edit company information"
msgstr ""
#: company/templates/company/company_base.html:34
-#: templates/js/translated/company.js:364
+#: templates/js/translated/company.js:365
msgid "Edit Company"
msgstr ""
@@ -3162,14 +3218,14 @@ msgstr ""
msgid "Download image from URL"
msgstr ""
-#: company/templates/company/company_base.html:86 order/models.py:646
-#: order/templates/order/sales_order_base.html:116 stock/models.py:645
-#: stock/models.py:646 stock/serializers.py:813
+#: company/templates/company/company_base.html:86 order/models.py:665
+#: order/templates/order/sales_order_base.html:116 stock/models.py:661
+#: stock/models.py:662 stock/serializers.py:812
#: stock/templates/stock/item_base.html:399
#: templates/email/overdue_sales_order.html:16
-#: templates/js/translated/company.js:428 templates/js/translated/order.js:2808
-#: templates/js/translated/stock.js:2569
-#: templates/js/translated/table_filters.js:435
+#: templates/js/translated/company.js:429 templates/js/translated/order.js:2819
+#: templates/js/translated/stock.js:2587
+#: templates/js/translated/table_filters.js:439
msgid "Customer"
msgstr ""
@@ -3182,12 +3238,12 @@ msgid "Phone"
msgstr ""
#: company/templates/company/company_base.html:208
-#: part/templates/part/part_base.html:499
+#: part/templates/part/part_base.html:514
msgid "Upload Image"
msgstr ""
#: company/templates/company/company_base.html:223
-#: part/templates/part/part_base.html:554
+#: part/templates/part/part_base.html:569
msgid "Download Image"
msgstr ""
@@ -3203,7 +3259,7 @@ msgstr ""
#: company/templates/company/detail.html:19
#: company/templates/company/manufacturer_part.html:123
-#: part/templates/part/detail.html:359
+#: part/templates/part/detail.html:357
msgid "New Supplier Part"
msgstr ""
@@ -3232,7 +3288,7 @@ msgstr ""
msgid "Create new manufacturer part"
msgstr ""
-#: company/templates/company/detail.html:66 part/templates/part/detail.html:389
+#: company/templates/company/detail.html:66 part/templates/part/detail.html:387
msgid "New Manufacturer Part"
msgstr ""
@@ -3246,7 +3302,7 @@ msgstr ""
#: order/templates/order/order_base.html:13
#: order/templates/order/purchase_orders.html:8
#: order/templates/order/purchase_orders.html:12
-#: part/templates/part/detail.html:84 part/templates/part/part_sidebar.html:37
+#: part/templates/part/detail.html:84 part/templates/part/part_sidebar.html:35
#: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200
#: templates/InvenTree/settings/sidebar.html:49
#: templates/js/translated/search.js:293 templates/navbar.html:50
@@ -3269,7 +3325,7 @@ msgstr ""
#: order/templates/order/sales_order_base.html:13
#: order/templates/order/sales_orders.html:8
#: order/templates/order/sales_orders.html:15
-#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:41
+#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:39
#: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220
#: templates/InvenTree/settings/sidebar.html:51
#: templates/js/translated/search.js:317 templates/navbar.html:61
@@ -3297,8 +3353,7 @@ msgid "Supplier List"
msgstr ""
#: company/templates/company/manufacturer_part.html:15 company/views.py:38
-#: part/templates/part/prices.html:172 templates/InvenTree/search.html:181
-#: templates/navbar.html:49
+#: templates/InvenTree/search.html:181 templates/navbar.html:49
msgid "Manufacturers"
msgstr ""
@@ -3309,12 +3364,12 @@ msgid "Order part"
msgstr ""
#: company/templates/company/manufacturer_part.html:39
-#: templates/js/translated/company.js:716
+#: templates/js/translated/company.js:717
msgid "Edit manufacturer part"
msgstr ""
#: company/templates/company/manufacturer_part.html:43
-#: templates/js/translated/company.js:717
+#: templates/js/translated/company.js:718
msgid "Delete manufacturer part"
msgstr ""
@@ -3329,35 +3384,36 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:119
#: company/templates/company/supplier_part.html:15 company/views.py:32
-#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:168
+#: part/admin.py:46 part/templates/part/part_sidebar.html:33
#: templates/InvenTree/search.html:191 templates/navbar.html:48
msgid "Suppliers"
msgstr ""
#: company/templates/company/manufacturer_part.html:136
-#: part/templates/part/detail.html:370
+#: part/templates/part/detail.html:368
msgid "Delete supplier parts"
msgstr ""
#: company/templates/company/manufacturer_part.html:136
#: company/templates/company/manufacturer_part.html:183
-#: part/templates/part/detail.html:371 part/templates/part/detail.html:401
-#: templates/js/translated/forms.js:455 templates/js/translated/helpers.js:36
-#: users/models.py:222
+#: part/templates/part/detail.html:369 part/templates/part/detail.html:399
+#: templates/js/translated/forms.js:455 templates/js/translated/helpers.js:38
+#: templates/js/translated/part.js:340 templates/js/translated/stock.js:184
+#: users/models.py:224
msgid "Delete"
msgstr ""
#: company/templates/company/manufacturer_part.html:166
#: company/templates/company/manufacturer_part_sidebar.html:5
#: part/templates/part/category_sidebar.html:19
-#: part/templates/part/detail.html:186 part/templates/part/part_sidebar.html:8
+#: part/templates/part/detail.html:184 part/templates/part/part_sidebar.html:8
msgid "Parameters"
msgstr ""
#: company/templates/company/manufacturer_part.html:170
-#: part/templates/part/detail.html:191
+#: part/templates/part/detail.html:189
#: templates/InvenTree/settings/category.html:12
-#: templates/InvenTree/settings/part.html:68
+#: templates/InvenTree/settings/part.html:62
msgid "New Parameter"
msgstr ""
@@ -3366,7 +3422,7 @@ msgid "Delete parameters"
msgstr ""
#: company/templates/company/manufacturer_part.html:245
-#: part/templates/part/detail.html:827
+#: part/templates/part/detail.html:825
msgid "Add Parameter"
msgstr ""
@@ -3387,10 +3443,10 @@ msgid "Assigned Stock Items"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:609
+#: company/templates/company/supplier_part.html:24 stock/models.py:625
#: stock/templates/stock/item_base.html:236
-#: templates/js/translated/company.js:945 templates/js/translated/order.js:1135
-#: templates/js/translated/stock.js:1935
+#: templates/js/translated/company.js:946 templates/js/translated/order.js:1169
+#: templates/js/translated/stock.js:1954
msgid "Supplier Part"
msgstr ""
@@ -3441,13 +3497,13 @@ msgstr ""
#: company/templates/company/supplier_part.html:64
#: company/templates/company/supplier_part.html:65
-#: templates/js/translated/company.js:247
+#: templates/js/translated/company.js:248
msgid "Edit Supplier Part"
msgstr ""
#: company/templates/company/supplier_part.html:69
#: company/templates/company/supplier_part.html:70
-#: templates/js/translated/company.js:222
+#: templates/js/translated/company.js:223
msgid "Duplicate Supplier Part"
msgstr ""
@@ -3482,7 +3538,7 @@ msgstr ""
#: company/templates/company/supplier_part.html:204
#: part/templates/part/detail.html:25 stock/templates/stock/location.html:198
-#: templates/js/translated/stock.js:435
+#: templates/js/translated/stock.js:454
msgid "New Stock Item"
msgstr ""
@@ -3492,47 +3548,20 @@ msgid "Supplier Part Orders"
msgstr ""
#: company/templates/company/supplier_part.html:242
-#: part/templates/part/prices.html:10
msgid "Pricing Information"
msgstr ""
#: company/templates/company/supplier_part.html:247
-#: company/templates/company/supplier_part.html:388
-#: part/templates/part/prices.html:276 templates/js/translated/part.js:2297
+#: company/templates/company/supplier_part.html:317
+#: templates/js/translated/pricing.js:413
msgid "Add Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:282
+#: company/templates/company/supplier_part.html:285
msgid "Link Barcode to Supplier Part"
msgstr ""
-#: company/templates/company/supplier_part.html:300
-msgid "No price break information found"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:314
-#: templates/js/translated/part.js:2307
-msgid "Delete Price Break"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:328
-#: templates/js/translated/part.js:2321
-msgid "Edit Price Break"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:353
-msgid "Edit price break"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:354
-msgid "Delete price break"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:363
-msgid "Last updated"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:444
+#: company/templates/company/supplier_part.html:375
msgid "Update Part Availability"
msgstr ""
@@ -3542,9 +3571,9 @@ msgstr ""
#: stock/templates/stock/stock_app_base.html:10
#: templates/InvenTree/search.html:153
#: templates/InvenTree/settings/sidebar.html:45
-#: templates/js/translated/part.js:749 templates/js/translated/part.js:1335
-#: templates/js/translated/part.js:1501 templates/js/translated/stock.js:959
-#: templates/js/translated/stock.js:1760 templates/navbar.html:31
+#: templates/js/translated/part.js:763 templates/js/translated/part.js:1356
+#: templates/js/translated/part.js:1512 templates/js/translated/stock.js:978
+#: templates/js/translated/stock.js:1779 templates/navbar.html:31
msgid "Stock"
msgstr ""
@@ -3558,19 +3587,20 @@ msgid "Supplier Part Pricing"
msgstr ""
#: company/templates/company/supplier_part_navbar.html:29
-#: part/templates/part/part_sidebar.html:31
+#: part/templates/part/part_sidebar.html:30
+#: templates/InvenTree/settings/sidebar.html:35
msgid "Pricing"
msgstr ""
#: company/templates/company/supplier_part_sidebar.html:5
#: part/templates/part/category.html:198
-#: part/templates/part/category_sidebar.html:17
+#: part/templates/part/category_sidebar.html:17 stock/admin.py:31
#: stock/templates/stock/location.html:168
#: stock/templates/stock/location.html:182
#: stock/templates/stock/location.html:194
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:155 templates/js/translated/search.js:225
-#: templates/js/translated/stock.js:2446 users/models.py:40
+#: templates/js/translated/stock.js:2464 users/models.py:40
msgid "Stock Items"
msgstr ""
@@ -3672,438 +3702,439 @@ msgstr ""
msgid "No matching purchase order found"
msgstr ""
-#: order/models.py:82
+#: order/models.py:83
msgid "Order description"
msgstr ""
-#: order/models.py:84 order/models.py:1260
+#: order/models.py:85 order/models.py:1283
msgid "Link to external page"
msgstr ""
-#: order/models.py:92
+#: order/models.py:93
msgid "Created By"
msgstr ""
-#: order/models.py:99
+#: order/models.py:100
msgid "User or group responsible for this order"
msgstr ""
-#: order/models.py:104
+#: order/models.py:105
msgid "Order notes"
msgstr ""
-#: order/models.py:241 order/models.py:633
+#: order/models.py:242 order/models.py:652
msgid "Order reference"
msgstr ""
-#: order/models.py:249 order/models.py:651
+#: order/models.py:250 order/models.py:670
msgid "Purchase order status"
msgstr ""
-#: order/models.py:264
+#: order/models.py:265
msgid "Company from which the items are being ordered"
msgstr ""
-#: order/models.py:267 order/templates/order/order_base.html:133
-#: templates/js/translated/order.js:1984
+#: order/models.py:268 order/templates/order/order_base.html:133
+#: templates/js/translated/order.js:2018
msgid "Supplier Reference"
msgstr ""
-#: order/models.py:267
+#: order/models.py:268
msgid "Supplier order reference code"
msgstr ""
-#: order/models.py:274
+#: order/models.py:275
msgid "received by"
msgstr ""
-#: order/models.py:279
+#: order/models.py:280
msgid "Issue Date"
msgstr ""
-#: order/models.py:280
+#: order/models.py:281
msgid "Date order was issued"
msgstr ""
-#: order/models.py:285
+#: order/models.py:286
msgid "Target Delivery Date"
msgstr ""
-#: order/models.py:286
+#: order/models.py:287
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr ""
-#: order/models.py:292
+#: order/models.py:293
msgid "Date order was completed"
msgstr ""
-#: order/models.py:328
+#: order/models.py:332
msgid "Part supplier must match PO supplier"
msgstr ""
-#: order/models.py:472
+#: order/models.py:491
msgid "Quantity must be a positive number"
msgstr ""
-#: order/models.py:647
+#: order/models.py:666
msgid "Company to which the items are being sold"
msgstr ""
-#: order/models.py:658
+#: order/models.py:677
msgid "Customer Reference "
msgstr ""
-#: order/models.py:658
+#: order/models.py:677
msgid "Customer order reference code"
msgstr ""
-#: order/models.py:663
+#: order/models.py:682
msgid "Target date for order completion. Order will be overdue after this date."
msgstr ""
-#: order/models.py:666 order/models.py:1218
-#: templates/js/translated/order.js:2855 templates/js/translated/order.js:3017
+#: order/models.py:685 order/models.py:1241
+#: templates/js/translated/order.js:2866 templates/js/translated/order.js:3028
msgid "Shipment Date"
msgstr ""
-#: order/models.py:673
+#: order/models.py:692
msgid "shipped by"
msgstr ""
-#: order/models.py:728
+#: order/models.py:747
msgid "Order cannot be completed as no parts have been assigned"
msgstr ""
-#: order/models.py:732
+#: order/models.py:751
msgid "Only a pending order can be marked as complete"
msgstr ""
-#: order/models.py:735 templates/js/translated/order.js:419
+#: order/models.py:754 templates/js/translated/order.js:419
msgid "Order cannot be completed as there are incomplete shipments"
msgstr ""
-#: order/models.py:738
+#: order/models.py:757
msgid "Order cannot be completed as there are incomplete line items"
msgstr ""
-#: order/models.py:912
+#: order/models.py:935
msgid "Item quantity"
msgstr ""
-#: order/models.py:918
+#: order/models.py:941
msgid "Line item reference"
msgstr ""
-#: order/models.py:920
+#: order/models.py:943
msgid "Line item notes"
msgstr ""
-#: order/models.py:925
+#: order/models.py:948
msgid "Target shipping date for this line item"
msgstr ""
-#: order/models.py:943
+#: order/models.py:966
msgid "Context"
msgstr ""
-#: order/models.py:944
+#: order/models.py:967
msgid "Additional context for this line"
msgstr ""
-#: order/models.py:953
+#: order/models.py:976
msgid "Unit price"
msgstr ""
-#: order/models.py:983
+#: order/models.py:1006
msgid "Supplier part must match supplier"
msgstr ""
-#: order/models.py:991
+#: order/models.py:1014
msgid "deleted"
msgstr ""
-#: order/models.py:997 order/models.py:1077 order/models.py:1118
-#: order/models.py:1212 order/models.py:1344
-#: templates/js/translated/order.js:3473
+#: order/models.py:1020 order/models.py:1100 order/models.py:1141
+#: order/models.py:1235 order/models.py:1367
+#: templates/js/translated/order.js:3484
msgid "Order"
msgstr ""
-#: order/models.py:998 order/models.py:1077
+#: order/models.py:1021 order/models.py:1100
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report.html:76
#: stock/templates/stock/item_base.html:182
#: templates/email/overdue_purchase_order.html:15
-#: templates/js/translated/order.js:619 templates/js/translated/order.js:1136
-#: templates/js/translated/order.js:1959 templates/js/translated/part.js:970
-#: templates/js/translated/stock.js:1915 templates/js/translated/stock.js:2550
+#: templates/js/translated/order.js:619 templates/js/translated/order.js:1170
+#: templates/js/translated/order.js:1993 templates/js/translated/part.js:997
+#: templates/js/translated/pricing.js:515 templates/js/translated/stock.js:1934
+#: templates/js/translated/stock.js:2568
msgid "Purchase Order"
msgstr ""
-#: order/models.py:1016
+#: order/models.py:1039
msgid "Supplier part"
msgstr ""
-#: order/models.py:1023 order/templates/order/order_base.html:178
-#: templates/js/translated/order.js:1641 templates/js/translated/order.js:2373
-#: templates/js/translated/part.js:1087 templates/js/translated/part.js:1125
-#: templates/js/translated/table_filters.js:346
+#: order/models.py:1046 order/templates/order/order_base.html:178
+#: templates/js/translated/order.js:1675 templates/js/translated/order.js:2396
+#: templates/js/translated/part.js:1114 templates/js/translated/part.js:1146
+#: templates/js/translated/table_filters.js:350
msgid "Received"
msgstr ""
-#: order/models.py:1024
+#: order/models.py:1047
msgid "Number of items received"
msgstr ""
-#: order/models.py:1031 part/templates/part/prices.html:181 stock/models.py:741
-#: stock/serializers.py:169 stock/templates/stock/item_base.html:189
-#: templates/js/translated/stock.js:1966
+#: order/models.py:1054 stock/models.py:757 stock/serializers.py:173
+#: stock/templates/stock/item_base.html:189
+#: templates/js/translated/stock.js:1985
msgid "Purchase Price"
msgstr ""
-#: order/models.py:1032
+#: order/models.py:1055
msgid "Unit purchase price"
msgstr ""
-#: order/models.py:1040
+#: order/models.py:1063
msgid "Where does the Purchaser want this item to be stored?"
msgstr ""
-#: order/models.py:1106
+#: order/models.py:1129
msgid "Virtual part cannot be assigned to a sales order"
msgstr ""
-#: order/models.py:1111
+#: order/models.py:1134
msgid "Only salable parts can be assigned to a sales order"
msgstr ""
-#: order/models.py:1137 part/templates/part/part_pricing.html:115
-#: part/templates/part/prices.html:121 part/templates/part/prices.html:290
+#: order/models.py:1160 part/templates/part/part_pricing.html:107
+#: part/templates/part/prices.html:139 templates/js/translated/pricing.js:665
msgid "Sale Price"
msgstr ""
-#: order/models.py:1138
+#: order/models.py:1161
msgid "Unit sale price"
msgstr ""
-#: order/models.py:1143
+#: order/models.py:1166
msgid "Shipped quantity"
msgstr ""
-#: order/models.py:1219
+#: order/models.py:1242
msgid "Date of shipment"
msgstr ""
-#: order/models.py:1226
+#: order/models.py:1249
msgid "Checked By"
msgstr ""
-#: order/models.py:1227
+#: order/models.py:1250
msgid "User who checked this shipment"
msgstr ""
-#: order/models.py:1234 order/models.py:1419 order/serializers.py:1228
-#: order/serializers.py:1356 templates/js/translated/model_renderers.js:314
+#: order/models.py:1257 order/models.py:1442 order/serializers.py:1221
+#: order/serializers.py:1349 templates/js/translated/model_renderers.js:314
msgid "Shipment"
msgstr ""
-#: order/models.py:1235
+#: order/models.py:1258
msgid "Shipment number"
msgstr ""
-#: order/models.py:1239
+#: order/models.py:1262
msgid "Shipment notes"
msgstr ""
-#: order/models.py:1245
+#: order/models.py:1268
msgid "Tracking Number"
msgstr ""
-#: order/models.py:1246
+#: order/models.py:1269
msgid "Shipment tracking information"
msgstr ""
-#: order/models.py:1253
+#: order/models.py:1276
msgid "Invoice Number"
msgstr ""
-#: order/models.py:1254
+#: order/models.py:1277
msgid "Reference number for associated invoice"
msgstr ""
-#: order/models.py:1272
+#: order/models.py:1295
msgid "Shipment has already been sent"
msgstr ""
-#: order/models.py:1275
+#: order/models.py:1298
msgid "Shipment has no allocated stock items"
msgstr ""
-#: order/models.py:1378 order/models.py:1380
+#: order/models.py:1401 order/models.py:1403
msgid "Stock item has not been assigned"
msgstr ""
-#: order/models.py:1384
+#: order/models.py:1407
msgid "Cannot allocate stock item to a line with a different part"
msgstr ""
-#: order/models.py:1386
+#: order/models.py:1409
msgid "Cannot allocate stock to a line without a part"
msgstr ""
-#: order/models.py:1389
+#: order/models.py:1412
msgid "Allocation quantity cannot exceed stock quantity"
msgstr ""
-#: order/models.py:1399 order/serializers.py:1090
+#: order/models.py:1422 order/serializers.py:1083
msgid "Quantity must be 1 for serialized stock item"
msgstr ""
-#: order/models.py:1402
+#: order/models.py:1425
msgid "Sales order does not match shipment"
msgstr ""
-#: order/models.py:1403
+#: order/models.py:1426
msgid "Shipment does not match sales order"
msgstr ""
-#: order/models.py:1411
+#: order/models.py:1434
msgid "Line"
msgstr ""
-#: order/models.py:1420
+#: order/models.py:1443
msgid "Sales order shipment reference"
msgstr ""
-#: order/models.py:1433 templates/js/translated/notification.js:55
+#: order/models.py:1456 templates/js/translated/notification.js:55
msgid "Item"
msgstr ""
-#: order/models.py:1434
+#: order/models.py:1457
msgid "Select stock item to allocate"
msgstr ""
-#: order/models.py:1437
+#: order/models.py:1460
msgid "Enter stock allocation quantity"
msgstr ""
-#: order/serializers.py:67
+#: order/serializers.py:63
msgid "Price currency"
msgstr ""
-#: order/serializers.py:199
+#: order/serializers.py:193
msgid "Order cannot be cancelled"
msgstr ""
-#: order/serializers.py:209 order/serializers.py:1108
+#: order/serializers.py:203 order/serializers.py:1101
msgid "Allow order to be closed with incomplete line items"
msgstr ""
-#: order/serializers.py:220 order/serializers.py:1119
+#: order/serializers.py:214 order/serializers.py:1112
msgid "Order has incomplete line items"
msgstr ""
-#: order/serializers.py:311
+#: order/serializers.py:305
msgid "Order is not open"
msgstr ""
-#: order/serializers.py:335
+#: order/serializers.py:327
msgid "Purchase price currency"
msgstr ""
-#: order/serializers.py:354
+#: order/serializers.py:346
msgid "Supplier part must be specified"
msgstr ""
-#: order/serializers.py:359
+#: order/serializers.py:351
msgid "Purchase order must be specified"
msgstr ""
-#: order/serializers.py:365
+#: order/serializers.py:357
msgid "Supplier must match purchase order"
msgstr ""
-#: order/serializers.py:366
+#: order/serializers.py:358
msgid "Purchase order must match supplier"
msgstr ""
-#: order/serializers.py:430 order/serializers.py:1196
+#: order/serializers.py:421 order/serializers.py:1189
msgid "Line Item"
msgstr ""
-#: order/serializers.py:436
+#: order/serializers.py:427
msgid "Line item does not match purchase order"
msgstr ""
-#: order/serializers.py:446 order/serializers.py:557
+#: order/serializers.py:437 order/serializers.py:548
msgid "Select destination location for received items"
msgstr ""
-#: order/serializers.py:465 templates/js/translated/order.js:1497
+#: order/serializers.py:456 templates/js/translated/order.js:1531
msgid "Enter batch code for incoming stock items"
msgstr ""
-#: order/serializers.py:473 templates/js/translated/order.js:1508
+#: order/serializers.py:464 templates/js/translated/order.js:1542
msgid "Enter serial numbers for incoming stock items"
msgstr ""
-#: order/serializers.py:487
+#: order/serializers.py:478
msgid "Unique identifier field"
msgstr ""
-#: order/serializers.py:501
+#: order/serializers.py:492
msgid "Barcode is already in use"
msgstr ""
-#: order/serializers.py:527
+#: order/serializers.py:518
msgid "An integer quantity must be provided for trackable parts"
msgstr ""
-#: order/serializers.py:573
+#: order/serializers.py:564
msgid "Line items must be provided"
msgstr ""
-#: order/serializers.py:590
+#: order/serializers.py:581
msgid "Destination location must be specified"
msgstr ""
-#: order/serializers.py:601
+#: order/serializers.py:592
msgid "Supplied barcode values must be unique"
msgstr ""
-#: order/serializers.py:907
+#: order/serializers.py:900
msgid "Sale price currency"
msgstr ""
-#: order/serializers.py:988
+#: order/serializers.py:981
msgid "No shipment details provided"
msgstr ""
-#: order/serializers.py:1051 order/serializers.py:1205
+#: order/serializers.py:1044 order/serializers.py:1198
msgid "Line item is not associated with this order"
msgstr ""
-#: order/serializers.py:1073
+#: order/serializers.py:1066
msgid "Quantity must be positive"
msgstr ""
-#: order/serializers.py:1218
+#: order/serializers.py:1211
msgid "Enter serial numbers to allocate"
msgstr ""
-#: order/serializers.py:1240 order/serializers.py:1364
+#: order/serializers.py:1233 order/serializers.py:1357
msgid "Shipment has already been shipped"
msgstr ""
-#: order/serializers.py:1243 order/serializers.py:1367
+#: order/serializers.py:1236 order/serializers.py:1360
msgid "Shipment is not associated with this order"
msgstr ""
-#: order/serializers.py:1297
+#: order/serializers.py:1290
msgid "No match found for the following serial numbers"
msgstr ""
-#: order/serializers.py:1307
+#: order/serializers.py:1300
msgid "The following serial numbers are already allocated"
msgstr ""
@@ -4154,7 +4185,8 @@ msgid "Duplicate order"
msgstr ""
#: order/templates/order/order_base.html:61
-msgid "Place order"
+#: order/templates/order/order_base.html:62
+msgid "Submit Order"
msgstr ""
#: order/templates/order/order_base.html:65
@@ -4162,7 +4194,7 @@ msgid "Receive items"
msgstr ""
#: order/templates/order/order_base.html:67
-#: order/templates/order/purchase_order_detail.html:30
+#: order/templates/order/purchase_order_detail.html:32
msgid "Receive Items"
msgstr ""
@@ -4248,9 +4280,9 @@ msgstr ""
#: part/templates/part/import_wizard/match_references.html:49
#: templates/js/translated/bom.js:102 templates/js/translated/build.js:479
#: templates/js/translated/build.js:631 templates/js/translated/build.js:2078
-#: templates/js/translated/order.js:1084 templates/js/translated/order.js:1586
-#: templates/js/translated/order.js:3092 templates/js/translated/stock.js:625
-#: templates/js/translated/stock.js:793
+#: templates/js/translated/order.js:1118 templates/js/translated/order.js:1620
+#: templates/js/translated/order.js:3103 templates/js/translated/stock.js:644
+#: templates/js/translated/stock.js:812
#: templates/patterns/wizard/match_fields.html:70
msgid "Remove row"
msgstr ""
@@ -4278,42 +4310,42 @@ msgstr ""
msgid "Received Stock"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:17
+#: order/templates/order/purchase_order_detail.html:19
msgid "Purchase Order Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:26
-#: order/templates/order/sales_order_detail.html:22
-#: order/templates/order/sales_order_detail.html:255
+#: order/templates/order/purchase_order_detail.html:28
+#: order/templates/order/sales_order_detail.html:24
+#: order/templates/order/sales_order_detail.html:260
#: templates/js/translated/order.js:728
msgid "Add Line Item"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:29
+#: order/templates/order/purchase_order_detail.html:31
msgid "Receive selected items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:48
-#: order/templates/order/sales_order_detail.html:42
+#: order/templates/order/purchase_order_detail.html:50
+#: order/templates/order/sales_order_detail.html:45
msgid "Extra Lines"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:53
-#: order/templates/order/sales_order_detail.html:47
-#: order/templates/order/sales_order_detail.html:280
+#: order/templates/order/purchase_order_detail.html:56
+#: order/templates/order/sales_order_detail.html:51
+#: order/templates/order/sales_order_detail.html:291
msgid "Add Extra Line"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:72
+#: order/templates/order/purchase_order_detail.html:76
msgid "Received Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:97
-#: order/templates/order/sales_order_detail.html:150
+#: order/templates/order/purchase_order_detail.html:101
+#: order/templates/order/sales_order_detail.html:155
msgid "Order Notes"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:232
+#: order/templates/order/purchase_order_detail.html:239
msgid "Add Order Line"
msgstr ""
@@ -4345,12 +4377,12 @@ msgid "This Sales Order has not been fully allocated"
msgstr ""
#: order/templates/order/sales_order_base.html:123
-#: templates/js/translated/order.js:2821
+#: templates/js/translated/order.js:2832
msgid "Customer Reference"
msgstr ""
#: order/templates/order/sales_order_base.html:141
-#: order/templates/order/sales_order_detail.html:104
+#: order/templates/order/sales_order_detail.html:109
#: order/templates/order/so_sidebar.html:11
msgid "Completed Shipments"
msgstr ""
@@ -4359,22 +4391,22 @@ msgstr ""
msgid "Edit Sales Order"
msgstr ""
-#: order/templates/order/sales_order_detail.html:17
+#: order/templates/order/sales_order_detail.html:18
msgid "Sales Order Items"
msgstr ""
-#: order/templates/order/sales_order_detail.html:68
+#: order/templates/order/sales_order_detail.html:73
#: order/templates/order/so_sidebar.html:8
msgid "Pending Shipments"
msgstr ""
-#: order/templates/order/sales_order_detail.html:72
-#: templates/attachment_table.html:6 templates/js/translated/bom.js:1158
+#: order/templates/order/sales_order_detail.html:77
+#: templates/attachment_table.html:6 templates/js/translated/bom.js:1223
#: templates/js/translated/build.js:1979
msgid "Actions"
msgstr ""
-#: order/templates/order/sales_order_detail.html:81
+#: order/templates/order/sales_order_detail.html:86
msgid "New Shipment"
msgstr ""
@@ -4400,617 +4432,844 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/api.py:516
+#: part/admin.py:19 part/admin.py:219 part/models.py:3181 stock/admin.py:84
+#: templates/js/translated/model_renderers.js:212
+msgid "Part ID"
+msgstr ""
+
+#: part/admin.py:20 part/admin.py:221 part/models.py:3185 stock/admin.py:85
+msgid "Part Name"
+msgstr ""
+
+#: part/admin.py:21
+msgid "Part Description"
+msgstr ""
+
+#: part/admin.py:22 part/models.py:822 part/templates/part/part_base.html:272
+#: templates/js/translated/part.js:751 templates/js/translated/part.js:1469
+#: templates/js/translated/stock.js:1745
+msgid "IPN"
+msgstr ""
+
+#: part/admin.py:23 part/models.py:830 part/templates/part/part_base.html:279
+#: report/models.py:171 templates/js/translated/part.js:755
+msgid "Revision"
+msgstr ""
+
+#: part/admin.py:24 part/admin.py:145 part/models.py:808
+#: part/templates/part/category.html:87 part/templates/part/part_base.html:300
+msgid "Keywords"
+msgstr ""
+
+#: part/admin.py:28 part/admin.py:139
+#: templates/js/translated/model_renderers.js:338
+msgid "Category ID"
+msgstr ""
+
+#: part/admin.py:29 part/admin.py:140
+msgid "Category Name"
+msgstr ""
+
+#: part/admin.py:30 part/admin.py:144
+msgid "Default Location ID"
+msgstr ""
+
+#: part/admin.py:31
+msgid "Default Supplier ID"
+msgstr ""
+
+#: part/admin.py:33 part/models.py:914 part/templates/part/part_base.html:206
+msgid "Minimum Stock"
+msgstr ""
+
+#: part/admin.py:47 part/templates/part/part_base.html:200
+#: templates/js/translated/company.js:1028
+#: templates/js/translated/table_filters.js:213
+msgid "In Stock"
+msgstr ""
+
+#: part/admin.py:48 part/bom.py:145 part/templates/part/part_base.html:213
+#: templates/js/translated/bom.js:1155 templates/js/translated/build.js:1925
+#: templates/js/translated/part.js:602 templates/js/translated/part.js:622
+#: templates/js/translated/part.js:1359 templates/js/translated/part.js:1537
+#: templates/js/translated/table_filters.js:68
+msgid "On Order"
+msgstr ""
+
+#: part/admin.py:49 part/templates/part/part_sidebar.html:27
+msgid "Used In"
+msgstr ""
+
+#: part/admin.py:50 templates/js/translated/build.js:1937
+#: templates/js/translated/build.js:2195 templates/js/translated/build.js:2761
+#: templates/js/translated/order.js:3943
+msgid "Allocated"
+msgstr ""
+
+#: part/admin.py:51 part/templates/part/part_base.html:244
+#: templates/js/translated/part.js:605 templates/js/translated/part.js:625
+#: templates/js/translated/part.js:1363 templates/js/translated/part.js:1544
+msgid "Building"
+msgstr ""
+
+#: part/admin.py:52 part/models.py:2765
+msgid "Minimum Cost"
+msgstr ""
+
+#: part/admin.py:53 part/models.py:2771
+msgid "Maximum Cost"
+msgstr ""
+
+#: part/admin.py:142 part/admin.py:216 stock/admin.py:26 stock/admin.py:98
+msgid "Parent ID"
+msgstr ""
+
+#: part/admin.py:143 part/admin.py:218 stock/admin.py:27
+msgid "Parent Name"
+msgstr ""
+
+#: part/admin.py:146 part/templates/part/category.html:81
+#: part/templates/part/category.html:94
+msgid "Category Path"
+msgstr ""
+
+#: part/admin.py:149 part/models.py:363 part/templates/part/cat_link.html:3
+#: part/templates/part/category.html:23 part/templates/part/category.html:134
+#: part/templates/part/category.html:154
+#: part/templates/part/category_sidebar.html:9
+#: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84
+#: templates/InvenTree/settings/sidebar.html:41
+#: templates/js/translated/part.js:2043 templates/js/translated/search.js:146
+#: templates/navbar.html:24 users/models.py:38
+msgid "Parts"
+msgstr ""
+
+#: part/admin.py:211
+msgid "BOM Level"
+msgstr ""
+
+#: part/admin.py:213
+msgid "BOM Item ID"
+msgstr ""
+
+#: part/admin.py:217
+msgid "Parent IPN"
+msgstr ""
+
+#: part/admin.py:220 part/models.py:3189
+msgid "Part IPN"
+msgstr ""
+
+#: part/admin.py:226 templates/js/translated/pricing.js:91
+#: templates/js/translated/pricing.js:727
+msgid "Minimum Price"
+msgstr ""
+
+#: part/admin.py:227 templates/js/translated/pricing.js:86
+#: templates/js/translated/pricing.js:735
+msgid "Maximum Price"
+msgstr ""
+
+#: part/api.py:532
msgid "Incoming Purchase Order"
msgstr ""
-#: part/api.py:536
+#: part/api.py:552
msgid "Outgoing Sales Order"
msgstr ""
-#: part/api.py:554
+#: part/api.py:570
msgid "Stock produced by Build Order"
msgstr ""
-#: part/api.py:640
+#: part/api.py:656
msgid "Stock required for Build Order"
msgstr ""
-#: part/api.py:777
+#: part/api.py:814
msgid "Valid"
msgstr ""
-#: part/api.py:778
+#: part/api.py:815
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/api.py:784
+#: part/api.py:821
msgid "This option must be selected"
msgstr ""
-#: part/api.py:1207
+#: part/api.py:1261
msgid "Must be greater than zero"
msgstr ""
-#: part/api.py:1211
+#: part/api.py:1265
msgid "Must be a valid quantity"
msgstr ""
-#: part/api.py:1226
+#: part/api.py:1280
msgid "Specify location for initial part stock"
msgstr ""
-#: part/api.py:1257 part/api.py:1261 part/api.py:1276 part/api.py:1280
+#: part/api.py:1311 part/api.py:1315 part/api.py:1330 part/api.py:1334
msgid "This field is required"
msgstr ""
-#: part/bom.py:127 part/models.py:98 part/models.py:838
-#: part/templates/part/category.html:109 part/templates/part/part_base.html:345
+#: part/bom.py:142 part/models.py:116 part/models.py:857
+#: part/templates/part/category.html:109 part/templates/part/part_base.html:360
msgid "Default Location"
msgstr ""
-#: part/bom.py:128 templates/email/low_stock_notification.html:17
+#: part/bom.py:143 templates/email/low_stock_notification.html:17
msgid "Total Stock"
msgstr ""
-#: part/bom.py:129 part/templates/part/part_base.html:195
-#: templates/js/translated/order.js:3913
+#: part/bom.py:144 part/templates/part/part_base.html:195
+#: templates/js/translated/order.js:3910
msgid "Available Stock"
msgstr ""
-#: part/bom.py:130 part/templates/part/part_base.html:213
-#: templates/js/translated/bom.js:1001 templates/js/translated/build.js:1925
-#: templates/js/translated/part.js:588 templates/js/translated/part.js:608
-#: templates/js/translated/part.js:1338 templates/js/translated/part.js:1526
-#: templates/js/translated/table_filters.js:68
-msgid "On Order"
-msgstr ""
-
#: part/forms.py:41
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:99
+#: part/models.py:117
msgid "Default location for parts in this category"
msgstr ""
-#: part/models.py:102
+#: part/models.py:120
msgid "Default keywords"
msgstr ""
-#: part/models.py:102
+#: part/models.py:120
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:107 stock/models.py:85
+#: part/models.py:125 stock/models.py:101
msgid "Icon"
msgstr ""
-#: part/models.py:108 stock/models.py:86
+#: part/models.py:126 stock/models.py:102
msgid "Icon (optional)"
msgstr ""
-#: part/models.py:122 part/models.py:2517 part/templates/part/category.html:16
+#: part/models.py:140 part/models.py:3130 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
-#: part/models.py:123 part/templates/part/category.html:129
+#: part/models.py:141 part/templates/part/category.html:129
#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200
#: users/models.py:37
msgid "Part Categories"
msgstr ""
-#: part/models.py:344 part/templates/part/cat_link.html:3
-#: part/templates/part/category.html:23 part/templates/part/category.html:134
-#: part/templates/part/category.html:154
-#: part/templates/part/category_sidebar.html:9
-#: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84
-#: templates/InvenTree/settings/sidebar.html:41
-#: templates/js/translated/part.js:2019 templates/js/translated/search.js:146
-#: templates/navbar.html:24 users/models.py:38
-msgid "Parts"
-msgstr ""
-
-#: part/models.py:429
+#: part/models.py:448
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:499 part/models.py:511
+#: part/models.py:518 part/models.py:530
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:601
+#: part/models.py:620
msgid "Stock item with this serial number already exists"
msgstr ""
-#: part/models.py:732
+#: part/models.py:751
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:759 part/models.py:2573
+#: part/models.py:778 part/models.py:3186
msgid "Part name"
msgstr ""
-#: part/models.py:766
+#: part/models.py:785
msgid "Is Template"
msgstr ""
-#: part/models.py:767
+#: part/models.py:786
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:777
+#: part/models.py:796
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:778
+#: part/models.py:797
msgid "Variant Of"
msgstr ""
-#: part/models.py:784
+#: part/models.py:803
msgid "Part description"
msgstr ""
-#: part/models.py:789 part/templates/part/category.html:87
-#: part/templates/part/part_base.html:300
-msgid "Keywords"
-msgstr ""
-
-#: part/models.py:790
+#: part/models.py:809
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:797 part/models.py:2272 part/models.py:2516
+#: part/models.py:816 part/models.py:2885 part/models.py:3129
#: part/templates/part/part_base.html:263
#: templates/InvenTree/settings/settings.html:229
#: templates/js/translated/notification.js:50
-#: templates/js/translated/part.js:1480 templates/js/translated/part.js:1724
+#: templates/js/translated/part.js:1491 templates/js/translated/part.js:1748
msgid "Category"
msgstr ""
-#: part/models.py:798
+#: part/models.py:817
msgid "Part category"
msgstr ""
-#: part/models.py:803 part/templates/part/part_base.html:272
-#: templates/js/translated/part.js:737 templates/js/translated/part.js:1431
-#: templates/js/translated/stock.js:1726
-msgid "IPN"
-msgstr ""
-
-#: part/models.py:804
+#: part/models.py:823
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:810
+#: part/models.py:829
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:811 part/templates/part/part_base.html:279
-#: report/models.py:171 templates/js/translated/part.js:741
-msgid "Revision"
-msgstr ""
-
-#: part/models.py:836
+#: part/models.py:855
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:881 part/templates/part/part_base.html:354
+#: part/models.py:900 part/templates/part/part_base.html:369
msgid "Default Supplier"
msgstr ""
-#: part/models.py:882
+#: part/models.py:901
msgid "Default supplier part"
msgstr ""
-#: part/models.py:889
+#: part/models.py:908
msgid "Default Expiry"
msgstr ""
-#: part/models.py:890
+#: part/models.py:909
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:895 part/templates/part/part_base.html:206
-msgid "Minimum Stock"
-msgstr ""
-
-#: part/models.py:896
+#: part/models.py:915
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:903
+#: part/models.py:922
msgid "Stock keeping units for this part"
msgstr ""
-#: part/models.py:909
+#: part/models.py:928
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:915
+#: part/models.py:934
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:921
+#: part/models.py:940
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:926
+#: part/models.py:945
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:931
+#: part/models.py:950
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:936
+#: part/models.py:955
msgid "Is this part active?"
msgstr ""
-#: part/models.py:941
+#: part/models.py:960
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:943
+#: part/models.py:962
msgid "Part notes"
msgstr ""
-#: part/models.py:945
+#: part/models.py:964
msgid "BOM checksum"
msgstr ""
-#: part/models.py:945
+#: part/models.py:964
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:948
+#: part/models.py:967
msgid "BOM checked by"
msgstr ""
-#: part/models.py:950
+#: part/models.py:969
msgid "BOM checked date"
msgstr ""
-#: part/models.py:954
+#: part/models.py:973
msgid "Creation User"
msgstr ""
-#: part/models.py:1790
+#: part/models.py:1819
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2319
+#: part/models.py:2682
+msgid "Currency used to cache pricing calculations"
+msgstr ""
+
+#: part/models.py:2687
+msgid "Updated"
+msgstr ""
+
+#: part/models.py:2688
+msgid "Timestamp of last pricing update"
+msgstr ""
+
+#: part/models.py:2705
+msgid "Minimum BOM Cost"
+msgstr ""
+
+#: part/models.py:2706
+msgid "Minimum cost of component parts"
+msgstr ""
+
+#: part/models.py:2711
+msgid "Maximum BOM Cost"
+msgstr ""
+
+#: part/models.py:2712
+msgid "Maximum cost of component parts"
+msgstr ""
+
+#: part/models.py:2717
+msgid "Minimum Purchase Cost"
+msgstr ""
+
+#: part/models.py:2718
+msgid "Minimum historical purchase cost"
+msgstr ""
+
+#: part/models.py:2723
+msgid "Maximum Purchase Cost"
+msgstr ""
+
+#: part/models.py:2724
+msgid "Maximum historical purchase cost"
+msgstr ""
+
+#: part/models.py:2729
+msgid "Minimum Internal Price"
+msgstr ""
+
+#: part/models.py:2730
+msgid "Minimum cost based on internal price breaks"
+msgstr ""
+
+#: part/models.py:2735
+msgid "Maximum Internal Price"
+msgstr ""
+
+#: part/models.py:2736
+msgid "Maximum cost based on internal price breaks"
+msgstr ""
+
+#: part/models.py:2741
+msgid "Minimum Supplier Price"
+msgstr ""
+
+#: part/models.py:2742
+msgid "Minimum price of part from external suppliers"
+msgstr ""
+
+#: part/models.py:2747
+msgid "Maximum Supplier Price"
+msgstr ""
+
+#: part/models.py:2748
+msgid "Maximum price of part from external suppliers"
+msgstr ""
+
+#: part/models.py:2753
+msgid "Minimum Variant Cost"
+msgstr ""
+
+#: part/models.py:2754
+msgid "Calculated minimum cost of variant parts"
+msgstr ""
+
+#: part/models.py:2759
+msgid "Maximum Variant Cost"
+msgstr ""
+
+#: part/models.py:2760
+msgid "Calculated maximum cost of variant parts"
+msgstr ""
+
+#: part/models.py:2766
+msgid "Calculated overall minimum cost"
+msgstr ""
+
+#: part/models.py:2772
+msgid "Calculated overall maximum cost"
+msgstr ""
+
+#: part/models.py:2777
+msgid "Minimum Sale Price"
+msgstr ""
+
+#: part/models.py:2778
+msgid "Minimum sale price based on price breaks"
+msgstr ""
+
+#: part/models.py:2783
+msgid "Maximum Sale Price"
+msgstr ""
+
+#: part/models.py:2784
+msgid "Maximum sale price based on price breaks"
+msgstr ""
+
+#: part/models.py:2789
+msgid "Minimum Sale Cost"
+msgstr ""
+
+#: part/models.py:2790
+msgid "Minimum historical sale price"
+msgstr ""
+
+#: part/models.py:2795
+msgid "Maximum Sale Cost"
+msgstr ""
+
+#: part/models.py:2796
+msgid "Maximum historical sale price"
+msgstr ""
+
+#: part/models.py:2932
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:2336
+#: part/models.py:2949
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2356 templates/js/translated/part.js:2070
-#: templates/js/translated/stock.js:1340
+#: part/models.py:2969 templates/js/translated/part.js:2094
+#: templates/js/translated/stock.js:1359
msgid "Test Name"
msgstr ""
-#: part/models.py:2357
+#: part/models.py:2970
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2362
+#: part/models.py:2975
msgid "Test Description"
msgstr ""
-#: part/models.py:2363
+#: part/models.py:2976
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2368 templates/js/translated/part.js:2079
-#: templates/js/translated/table_filters.js:310
+#: part/models.py:2981 templates/js/translated/part.js:2103
+#: templates/js/translated/table_filters.js:314
msgid "Required"
msgstr ""
-#: part/models.py:2369
+#: part/models.py:2982
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2374 templates/js/translated/part.js:2087
+#: part/models.py:2987 templates/js/translated/part.js:2111
msgid "Requires Value"
msgstr ""
-#: part/models.py:2375
+#: part/models.py:2988
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2380 templates/js/translated/part.js:2094
+#: part/models.py:2993 templates/js/translated/part.js:2118
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2381
+#: part/models.py:2994
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:2422
+#: part/models.py:3035
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:2430
+#: part/models.py:3043
msgid "Parameter Name"
msgstr ""
-#: part/models.py:2434
+#: part/models.py:3047
msgid "Parameter Units"
msgstr ""
-#: part/models.py:2439
+#: part/models.py:3052
msgid "Parameter description"
msgstr ""
-#: part/models.py:2472
+#: part/models.py:3085
msgid "Parent Part"
msgstr ""
-#: part/models.py:2474 part/models.py:2522 part/models.py:2523
+#: part/models.py:3087 part/models.py:3135 part/models.py:3136
#: templates/InvenTree/settings/settings.html:224
msgid "Parameter Template"
msgstr ""
-#: part/models.py:2476
+#: part/models.py:3089
msgid "Data"
msgstr ""
-#: part/models.py:2476
+#: part/models.py:3089
msgid "Parameter Value"
msgstr ""
-#: part/models.py:2527 templates/InvenTree/settings/settings.html:233
+#: part/models.py:3140 templates/InvenTree/settings/settings.html:233
msgid "Default Value"
msgstr ""
-#: part/models.py:2528
+#: part/models.py:3141
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:2565
+#: part/models.py:3178
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:2568 templates/js/translated/model_renderers.js:212
-msgid "Part ID"
-msgstr ""
-
-#: part/models.py:2569
+#: part/models.py:3182
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:2572
-msgid "Part Name"
-msgstr ""
-
-#: part/models.py:2576
-msgid "Part IPN"
-msgstr ""
-
-#: part/models.py:2577
+#: part/models.py:3190
msgid "Part IPN value"
msgstr ""
-#: part/models.py:2580
+#: part/models.py:3193
msgid "Level"
msgstr ""
-#: part/models.py:2581
+#: part/models.py:3194
msgid "BOM level"
msgstr ""
-#: part/models.py:2650
+#: part/models.py:3263
msgid "Select parent part"
msgstr ""
-#: part/models.py:2658
+#: part/models.py:3271
msgid "Sub part"
msgstr ""
-#: part/models.py:2659
+#: part/models.py:3272
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:2665
+#: part/models.py:3278
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:2669 part/templates/part/upload_bom.html:58
-#: templates/js/translated/bom.js:924 templates/js/translated/bom.js:1024
+#: part/models.py:3282 part/templates/part/upload_bom.html:58
+#: templates/js/translated/bom.js:933 templates/js/translated/bom.js:986
#: templates/js/translated/build.js:1858
#: templates/js/translated/table_filters.js:84
-#: templates/js/translated/table_filters.js:108
+#: templates/js/translated/table_filters.js:112
msgid "Optional"
msgstr ""
-#: part/models.py:2670
+#: part/models.py:3283
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:2675 templates/js/translated/bom.js:920
-#: templates/js/translated/bom.js:1033 templates/js/translated/build.js:1849
+#: part/models.py:3288 templates/js/translated/bom.js:929
+#: templates/js/translated/bom.js:995 templates/js/translated/build.js:1849
#: templates/js/translated/table_filters.js:88
msgid "Consumable"
msgstr ""
-#: part/models.py:2676
+#: part/models.py:3289
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:2680 part/templates/part/upload_bom.html:55
+#: part/models.py:3293 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:2681
+#: part/models.py:3294
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:2684
+#: part/models.py:3297
msgid "BOM item reference"
msgstr ""
-#: part/models.py:2687
+#: part/models.py:3300
msgid "BOM item notes"
msgstr ""
-#: part/models.py:2689
+#: part/models.py:3302
msgid "Checksum"
msgstr ""
-#: part/models.py:2689
+#: part/models.py:3302
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:2693 part/templates/part/upload_bom.html:57
-#: templates/js/translated/bom.js:1050
+#: part/models.py:3306 part/templates/part/upload_bom.html:57
+#: templates/js/translated/bom.js:1012
#: templates/js/translated/table_filters.js:76
-#: templates/js/translated/table_filters.js:104
+#: templates/js/translated/table_filters.js:108
msgid "Inherited"
msgstr ""
-#: part/models.py:2694
+#: part/models.py:3307
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:2699 part/templates/part/upload_bom.html:56
-#: templates/js/translated/bom.js:1042
+#: part/models.py:3312 part/templates/part/upload_bom.html:56
+#: templates/js/translated/bom.js:1004
msgid "Allow Variants"
msgstr ""
-#: part/models.py:2700
+#: part/models.py:3313
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:2786 stock/models.py:502
+#: part/models.py:3399 stock/models.py:518
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:2795 part/models.py:2797
+#: part/models.py:3408 part/models.py:3410
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:2902
+#: part/models.py:3537
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:2923
+#: part/models.py:3558
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:2936
+#: part/models.py:3571
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:2944
+#: part/models.py:3579
msgid "Substitute part"
msgstr ""
-#: part/models.py:2959
+#: part/models.py:3594
msgid "Part 1"
msgstr ""
-#: part/models.py:2963
+#: part/models.py:3598
msgid "Part 2"
msgstr ""
-#: part/models.py:2963
+#: part/models.py:3598
msgid "Select Related Part"
msgstr ""
-#: part/models.py:2981
+#: part/models.py:3616
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:2985
+#: part/models.py:3620
msgid "Duplicate relationship already exists"
msgstr ""
-#: part/serializers.py:154 part/serializers.py:185 stock/serializers.py:179
+#: part/serializers.py:154 part/serializers.py:182 stock/serializers.py:183
msgid "Purchase currency of this stock item"
msgstr ""
-#: part/serializers.py:829
+#: part/serializers.py:542
+msgid "Update"
+msgstr ""
+
+#: part/serializers.py:543
+msgid "Update pricing for this part"
+msgstr ""
+
+#: part/serializers.py:853
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:837
+#: part/serializers.py:861
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:838
+#: part/serializers.py:862
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:843
+#: part/serializers.py:867
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:844
+#: part/serializers.py:868
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:849
+#: part/serializers.py:873
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:850
+#: part/serializers.py:874
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:855
+#: part/serializers.py:879
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:856
+#: part/serializers.py:880
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/serializers.py:896
+#: part/serializers.py:920
msgid "Clear Existing BOM"
msgstr ""
-#: part/serializers.py:897
+#: part/serializers.py:921
msgid "Delete existing BOM items before uploading"
msgstr ""
-#: part/serializers.py:927
+#: part/serializers.py:951
msgid "No part column specified"
msgstr ""
-#: part/serializers.py:970
+#: part/serializers.py:994
msgid "Multiple matching parts found"
msgstr ""
-#: part/serializers.py:973
+#: part/serializers.py:997
msgid "No matching part found"
msgstr ""
-#: part/serializers.py:976
+#: part/serializers.py:1000
msgid "Part is not designated as a component"
msgstr ""
-#: part/serializers.py:985
+#: part/serializers.py:1009
msgid "Quantity not provided"
msgstr ""
-#: part/serializers.py:993
+#: part/serializers.py:1017
msgid "Invalid quantity"
msgstr ""
-#: part/serializers.py:1014
+#: part/serializers.py:1038
msgid "At least one BOM item is required"
msgstr ""
-#: part/tasks.py:21
+#: part/tasks.py:25
msgid "Low stock notification"
msgstr ""
-#: part/tasks.py:22
+#: part/tasks.py:26
#, python-brace-format
msgid "The available stock for {part.name} has fallen below the configured minimum level"
msgstr ""
@@ -5034,7 +5293,7 @@ msgstr ""
msgid "The BOM for %(part)s has not been validated."
msgstr ""
-#: part/templates/part/bom.html:30 part/templates/part/detail.html:269
+#: part/templates/part/bom.html:30 part/templates/part/detail.html:267
msgid "BOM actions"
msgstr ""
@@ -5070,10 +5329,6 @@ msgstr ""
msgid "Delete Category"
msgstr ""
-#: part/templates/part/category.html:81 part/templates/part/category.html:94
-msgid "Category Path"
-msgstr ""
-
#: part/templates/part/category.html:95
msgid "Top level part category"
msgstr ""
@@ -5091,12 +5346,12 @@ msgstr ""
msgid "Create new part"
msgstr ""
-#: part/templates/part/category.html:159 templates/js/translated/bom.js:392
+#: part/templates/part/category.html:159 templates/js/translated/bom.js:405
msgid "New Part"
msgstr ""
-#: part/templates/part/category.html:169 part/templates/part/detail.html:368
-#: part/templates/part/detail.html:399
+#: part/templates/part/category.html:169 part/templates/part/detail.html:366
+#: part/templates/part/detail.html:397
msgid "Options"
msgstr ""
@@ -5144,7 +5399,7 @@ msgstr ""
msgid "Import Parts"
msgstr ""
-#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:379
+#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:393
msgid "Duplicate Part"
msgstr ""
@@ -5176,7 +5431,8 @@ msgstr ""
msgid "Refresh scheduling data"
msgstr ""
-#: part/templates/part/detail.html:45 templates/js/translated/tables.js:524
+#: part/templates/part/detail.html:45 part/templates/part/prices.html:15
+#: templates/js/translated/tables.js:524
msgid "Refresh"
msgstr ""
@@ -5192,123 +5448,103 @@ msgstr ""
msgid "Sales Order Allocations"
msgstr ""
-#: part/templates/part/detail.html:143
+#: part/templates/part/detail.html:141
msgid "Part Notes"
msgstr ""
-#: part/templates/part/detail.html:158
+#: part/templates/part/detail.html:156
msgid "Part Variants"
msgstr ""
-#: part/templates/part/detail.html:162
+#: part/templates/part/detail.html:160
msgid "Create new variant"
msgstr ""
-#: part/templates/part/detail.html:163
+#: part/templates/part/detail.html:161
msgid "New Variant"
msgstr ""
-#: part/templates/part/detail.html:190
+#: part/templates/part/detail.html:188
msgid "Add new parameter"
msgstr ""
-#: part/templates/part/detail.html:227 part/templates/part/part_sidebar.html:54
+#: part/templates/part/detail.html:225 part/templates/part/part_sidebar.html:52
msgid "Related Parts"
msgstr ""
-#: part/templates/part/detail.html:231 part/templates/part/detail.html:232
+#: part/templates/part/detail.html:229 part/templates/part/detail.html:230
msgid "Add Related"
msgstr ""
-#: part/templates/part/detail.html:252 part/templates/part/part_sidebar.html:17
+#: part/templates/part/detail.html:250 part/templates/part/part_sidebar.html:17
msgid "Bill of Materials"
msgstr ""
-#: part/templates/part/detail.html:257
+#: part/templates/part/detail.html:255
msgid "Export actions"
msgstr ""
-#: part/templates/part/detail.html:261 templates/js/translated/bom.js:309
+#: part/templates/part/detail.html:259 templates/js/translated/bom.js:309
msgid "Export BOM"
msgstr ""
-#: part/templates/part/detail.html:263
+#: part/templates/part/detail.html:261
msgid "Print BOM Report"
msgstr ""
-#: part/templates/part/detail.html:273
+#: part/templates/part/detail.html:271
msgid "Upload BOM"
msgstr ""
-#: part/templates/part/detail.html:274 templates/js/translated/part.js:274
+#: part/templates/part/detail.html:272 templates/js/translated/part.js:270
msgid "Copy BOM"
msgstr ""
-#: part/templates/part/detail.html:275
+#: part/templates/part/detail.html:273
msgid "Validate BOM"
msgstr ""
-#: part/templates/part/detail.html:280 part/templates/part/detail.html:281
-#: templates/js/translated/bom.js:1202 templates/js/translated/bom.js:1203
+#: part/templates/part/detail.html:278 part/templates/part/detail.html:279
+#: templates/js/translated/bom.js:1267 templates/js/translated/bom.js:1268
msgid "Add BOM Item"
msgstr ""
-#: part/templates/part/detail.html:294
+#: part/templates/part/detail.html:292
msgid "Assemblies"
msgstr ""
-#: part/templates/part/detail.html:312
+#: part/templates/part/detail.html:310
msgid "Part Builds"
msgstr ""
-#: part/templates/part/detail.html:339 stock/templates/stock/item.html:38
+#: part/templates/part/detail.html:337 stock/templates/stock/item.html:38
msgid "Build Order Allocations"
msgstr ""
-#: part/templates/part/detail.html:355
+#: part/templates/part/detail.html:353
msgid "Part Suppliers"
msgstr ""
-#: part/templates/part/detail.html:385
+#: part/templates/part/detail.html:383
msgid "Part Manufacturers"
msgstr ""
-#: part/templates/part/detail.html:401
+#: part/templates/part/detail.html:399
msgid "Delete manufacturer parts"
msgstr ""
-#: part/templates/part/detail.html:658
+#: part/templates/part/detail.html:656
msgid "Related Part"
msgstr ""
-#: part/templates/part/detail.html:666
+#: part/templates/part/detail.html:664
msgid "Add Related Part"
msgstr ""
-#: part/templates/part/detail.html:758
+#: part/templates/part/detail.html:756
msgid "Add Test Result Template"
msgstr ""
-#: part/templates/part/detail.html:901
-#, python-format
-msgid "Purchase Unit Price - %(currency)s"
-msgstr ""
-
-#: part/templates/part/detail.html:913
-#, python-format
-msgid "Unit Price-Cost Difference - %(currency)s"
-msgstr ""
-
-#: part/templates/part/detail.html:925
-#, python-format
-msgid "Supplier Unit Cost - %(currency)s"
-msgstr ""
-
-#: part/templates/part/detail.html:1014
-#, python-format
-msgid "Unit Price - %(currency)s"
-msgstr ""
-
#: part/templates/part/import_wizard/ajax_match_fields.html:9
#: templates/patterns/wizard/match_fields.html:8
msgid "Missing selections for the following required columns"
@@ -5439,15 +5675,15 @@ msgid "Part is virtual (not a physical part)"
msgstr ""
#: part/templates/part/part_base.html:148
-#: templates/js/translated/company.js:659
-#: templates/js/translated/company.js:920
+#: templates/js/translated/company.js:660
+#: templates/js/translated/company.js:921
#: templates/js/translated/model_renderers.js:204
-#: templates/js/translated/part.js:652 templates/js/translated/part.js:729
+#: templates/js/translated/part.js:666 templates/js/translated/part.js:743
msgid "Inactive"
msgstr ""
#: part/templates/part/part_base.html:165
-#: part/templates/part/part_base.html:620
+#: part/templates/part/part_base.html:635
msgid "Show Part Details"
msgstr ""
@@ -5456,12 +5692,6 @@ msgstr ""
msgid "This part is a variant of %(link)s"
msgstr ""
-#: part/templates/part/part_base.html:200
-#: templates/js/translated/company.js:1027
-#: templates/js/translated/table_filters.js:209
-msgid "In Stock"
-msgstr ""
-
#: part/templates/part/part_base.html:221
#: stock/templates/stock/item_base.html:382
msgid "Allocated to Build Orders"
@@ -5472,100 +5702,91 @@ msgstr ""
msgid "Allocated to Sales Orders"
msgstr ""
-#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1100
+#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1165
msgid "Can Build"
msgstr ""
-#: part/templates/part/part_base.html:244 templates/js/translated/part.js:591
-#: templates/js/translated/part.js:611 templates/js/translated/part.js:1342
-#: templates/js/translated/part.js:1533
-msgid "Building"
-msgstr ""
-
#: part/templates/part/part_base.html:293
msgid "Minimum stock level"
msgstr ""
-#: part/templates/part/part_base.html:330
+#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1032
+#: templates/js/translated/part.js:783 templates/js/translated/part.js:1582
+#: templates/js/translated/pricing.js:124
+#: templates/js/translated/pricing.js:757
+msgid "Price Range"
+msgstr ""
+
+#: part/templates/part/part_base.html:345
msgid "Latest Serial Number"
msgstr ""
-#: part/templates/part/part_base.html:334
+#: part/templates/part/part_base.html:349
#: stock/templates/stock/item_base.html:331
msgid "Search for serial number"
msgstr ""
-#: part/templates/part/part_base.html:431
+#: part/templates/part/part_base.html:446
msgid "Link Barcode to Part"
msgstr ""
-#: part/templates/part/part_base.html:477 part/templates/part/prices.html:149
+#: part/templates/part/part_base.html:492
msgid "Calculate"
msgstr ""
-#: part/templates/part/part_base.html:520
+#: part/templates/part/part_base.html:535
msgid "No matching images found"
msgstr ""
-#: part/templates/part/part_base.html:614
+#: part/templates/part/part_base.html:629
msgid "Hide Part Details"
msgstr ""
-#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:24
+#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:78
+#: part/templates/part/prices.html:238 templates/js/translated/pricing.js:218
msgid "Supplier Pricing"
msgstr ""
#: part/templates/part/part_pricing.html:26
#: part/templates/part/part_pricing.html:52
-#: part/templates/part/part_pricing.html:103
-#: part/templates/part/part_pricing.html:118 part/templates/part/prices.html:28
-#: part/templates/part/prices.html:55 part/templates/part/prices.html:108
-#: part/templates/part/prices.html:125
+#: part/templates/part/part_pricing.html:95
+#: part/templates/part/part_pricing.html:110
msgid "Unit Cost"
msgstr ""
#: part/templates/part/part_pricing.html:32
#: part/templates/part/part_pricing.html:58
-#: part/templates/part/part_pricing.html:107
-#: part/templates/part/part_pricing.html:122 part/templates/part/prices.html:35
-#: part/templates/part/prices.html:62 part/templates/part/prices.html:113
-#: part/templates/part/prices.html:130
+#: part/templates/part/part_pricing.html:99
+#: part/templates/part/part_pricing.html:114
msgid "Total Cost"
msgstr ""
-#: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:43
-#: templates/js/translated/bom.js:1091
+#: part/templates/part/part_pricing.html:40
msgid "No supplier pricing available"
msgstr ""
-#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:52
-#: part/templates/part/prices.html:248
+#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:94
+#: part/templates/part/prices.html:262
msgid "BOM Pricing"
msgstr ""
-#: part/templates/part/part_pricing.html:66 part/templates/part/prices.html:72
+#: part/templates/part/part_pricing.html:66
msgid "Unit Purchase Price"
msgstr ""
-#: part/templates/part/part_pricing.html:72 part/templates/part/prices.html:79
+#: part/templates/part/part_pricing.html:72
msgid "Total Purchase Price"
msgstr ""
-#: part/templates/part/part_pricing.html:82 part/templates/part/prices.html:89
-msgid "Note: BOM pricing is incomplete for this part"
-msgstr ""
-
-#: part/templates/part/part_pricing.html:91 part/templates/part/prices.html:98
+#: part/templates/part/part_pricing.html:83
msgid "No BOM pricing available"
msgstr ""
-#: part/templates/part/part_pricing.html:100
-#: part/templates/part/prices.html:107
+#: part/templates/part/part_pricing.html:92
msgid "Internal Price"
msgstr ""
-#: part/templates/part/part_pricing.html:131
-#: part/templates/part/prices.html:139
+#: part/templates/part/part_pricing.html:123
msgid "No pricing information is available for this part."
msgstr ""
@@ -5573,7 +5794,8 @@ msgstr ""
#: report/templates/report/inventree_test_report_base.html:97
#: templates/InvenTree/settings/plugin.html:63
#: templates/InvenTree/settings/plugin_settings.html:38
-#: templates/js/translated/order.js:2001 templates/js/translated/stock.js:2478
+#: templates/js/translated/order.js:2035 templates/js/translated/pricing.js:537
+#: templates/js/translated/pricing.js:658 templates/js/translated/stock.js:2496
msgid "Date"
msgstr ""
@@ -5585,15 +5807,11 @@ msgstr ""
msgid "Variants"
msgstr ""
-#: part/templates/part/part_sidebar.html:27
-msgid "Used In"
-msgstr ""
-
-#: part/templates/part/part_sidebar.html:46
+#: part/templates/part/part_sidebar.html:44
msgid "Scheduling"
msgstr ""
-#: part/templates/part/part_sidebar.html:50
+#: part/templates/part/part_sidebar.html:48
msgid "Test Templates"
msgstr ""
@@ -5601,74 +5819,82 @@ msgstr ""
msgid "Select from existing images"
msgstr ""
-#: part/templates/part/prices.html:19
-msgid "Pricing ranges"
+#: part/templates/part/prices.html:11
+msgid "Pricing Overview"
msgstr ""
-#: part/templates/part/prices.html:25
-msgid "Show supplier cost"
+#: part/templates/part/prices.html:14
+msgid "Refresh Part Pricing"
msgstr ""
-#: part/templates/part/prices.html:26
-msgid "Show purchase price"
+#: part/templates/part/prices.html:25 stock/admin.py:106
+#: stock/templates/stock/item_base.html:440
+#: templates/js/translated/company.js:1039
+#: templates/js/translated/stock.js:1920
+msgid "Last Updated"
msgstr ""
-#: part/templates/part/prices.html:53
-msgid "Show BOM cost"
+#: part/templates/part/prices.html:34 part/templates/part/prices.html:126
+msgid "Price Category"
msgstr ""
-#: part/templates/part/prices.html:122
-msgid "Show sale cost"
+#: part/templates/part/prices.html:35 part/templates/part/prices.html:127
+msgid "Minimum"
msgstr ""
-#: part/templates/part/prices.html:123
-msgid "Show sale price"
+#: part/templates/part/prices.html:36 part/templates/part/prices.html:128
+msgid "Maximum"
msgstr ""
-#: part/templates/part/prices.html:145
-msgid "Calculation parameters"
+#: part/templates/part/prices.html:49 part/templates/part/prices.html:185
+msgid "Internal Pricing"
msgstr ""
-#: part/templates/part/prices.html:160 templates/js/translated/bom.js:1085
-msgid "Supplier Cost"
+#: part/templates/part/prices.html:64 part/templates/part/prices.html:217
+msgid "Purchase History"
msgstr ""
-#: part/templates/part/prices.html:161 part/templates/part/prices.html:182
-#: part/templates/part/prices.html:206 part/templates/part/prices.html:236
-#: part/templates/part/prices.html:262 part/templates/part/prices.html:291
+#: part/templates/part/prices.html:103 part/templates/part/prices.html:286
+msgid "Variant Pricing"
+msgstr ""
+
+#: part/templates/part/prices.html:111
+msgid "Overall Pricing"
+msgstr ""
+
+#: part/templates/part/prices.html:155 part/templates/part/prices.html:338
+msgid "Sale History"
+msgstr ""
+
+#: part/templates/part/prices.html:168
+msgid "Sale price data is not available for this part"
+msgstr ""
+
+#: part/templates/part/prices.html:175
+msgid "Price range data is not available for this part."
+msgstr ""
+
+#: part/templates/part/prices.html:186 part/templates/part/prices.html:218
+#: part/templates/part/prices.html:239 part/templates/part/prices.html:263
+#: part/templates/part/prices.html:287 part/templates/part/prices.html:310
+#: part/templates/part/prices.html:339
msgid "Jump to overview"
msgstr ""
-#: part/templates/part/prices.html:186
-msgid "Stock Pricing"
-msgstr ""
-
-#: part/templates/part/prices.html:195
-msgid "No stock pricing history is available for this part."
-msgstr ""
-
-#: part/templates/part/prices.html:205
-msgid "Internal Cost"
-msgstr ""
-
-#: part/templates/part/prices.html:220
+#: part/templates/part/prices.html:191
msgid "Add Internal Price Break"
msgstr ""
-#: part/templates/part/prices.html:235
-msgid "BOM Cost"
+#: part/templates/part/prices.html:309
+msgid "Sale Pricing"
msgstr ""
-#: part/templates/part/prices.html:261
-msgid "Sale Cost"
+#: part/templates/part/prices.html:315
+msgid "Add Sell Price Break"
msgstr ""
-#: part/templates/part/prices.html:302
-msgid "No sale pice history available for this part."
-msgstr ""
-
-#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:614
-#: templates/js/translated/part.js:1330 templates/js/translated/part.js:1332
+#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:628
+#: templates/js/translated/part.js:1351 templates/js/translated/part.js:1353
msgid "No Stock"
msgstr ""
@@ -5722,40 +5948,36 @@ msgstr ""
msgid "Create a new variant of template '%(full_name)s'."
msgstr ""
-#: part/templatetags/inventree_extras.py:177
+#: part/templatetags/inventree_extras.py:210
msgid "Unknown database"
msgstr ""
-#: part/templatetags/inventree_extras.py:229
+#: part/templatetags/inventree_extras.py:262
#, python-brace-format
msgid "{title} v{version}"
msgstr ""
-#: part/views.py:114
+#: part/views.py:109
msgid "Match References"
msgstr ""
-#: part/views.py:415
-msgid "None"
-msgstr ""
-
-#: part/views.py:477
+#: part/views.py:354
msgid "Part QR Code"
msgstr ""
-#: part/views.py:495
+#: part/views.py:372
msgid "Select Part Image"
msgstr ""
-#: part/views.py:521
+#: part/views.py:398
msgid "Updated part image"
msgstr ""
-#: part/views.py:524
+#: part/views.py:401
msgid "Part image not found"
msgstr ""
-#: part/views.py:613
+#: part/views.py:493
msgid "Part Pricing"
msgstr ""
@@ -6070,12 +6292,12 @@ msgid "Stock Item Test Report"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:79
-#: stock/models.py:650 stock/templates/stock/item_base.html:320
+#: stock/models.py:666 stock/templates/stock/item_base.html:320
#: templates/js/translated/build.js:472 templates/js/translated/build.js:624
#: templates/js/translated/build.js:1234 templates/js/translated/build.js:1735
#: templates/js/translated/model_renderers.js:118
-#: templates/js/translated/order.js:121 templates/js/translated/order.js:3592
-#: templates/js/translated/order.js:3679 templates/js/translated/stock.js:490
+#: templates/js/translated/order.js:121 templates/js/translated/order.js:3603
+#: templates/js/translated/order.js:3690 templates/js/translated/stock.js:509
msgid "Serial Number"
msgstr ""
@@ -6084,12 +6306,12 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:93
-#: stock/models.py:2085
+#: stock/models.py:2101
msgid "Test"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:94
-#: stock/models.py:2091
+#: stock/models.py:2107
msgid "Result"
msgstr ""
@@ -6107,383 +6329,435 @@ msgid "Installed Items"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:137
-#: templates/js/translated/stock.js:610 templates/js/translated/stock.js:780
-#: templates/js/translated/stock.js:2727
+#: stock/admin.py:87 templates/js/translated/stock.js:629
+#: templates/js/translated/stock.js:799 templates/js/translated/stock.js:2745
msgid "Serial"
msgstr ""
-#: stock/api.py:529
+#: stock/admin.py:23 stock/admin.py:90
+#: templates/js/translated/model_renderers.js:159
+msgid "Location ID"
+msgstr ""
+
+#: stock/admin.py:24 stock/admin.py:91
+msgid "Location Name"
+msgstr ""
+
+#: stock/admin.py:28 stock/templates/stock/location.html:123
+#: stock/templates/stock/location.html:129
+msgid "Location Path"
+msgstr ""
+
+#: stock/admin.py:83
+msgid "Stock Item ID"
+msgstr ""
+
+#: stock/admin.py:92 templates/js/translated/model_renderers.js:418
+msgid "Supplier Part ID"
+msgstr ""
+
+#: stock/admin.py:93
+msgid "Supplier ID"
+msgstr ""
+
+#: stock/admin.py:94
+msgid "Supplier Name"
+msgstr ""
+
+#: stock/admin.py:95
+msgid "Customer ID"
+msgstr ""
+
+#: stock/admin.py:96 stock/models.py:649
+#: stock/templates/stock/item_base.html:359
+msgid "Installed In"
+msgstr ""
+
+#: stock/admin.py:97 templates/js/translated/model_renderers.js:177
+msgid "Build ID"
+msgstr ""
+
+#: stock/admin.py:99
+msgid "Sales Order ID"
+msgstr ""
+
+#: stock/admin.py:100
+msgid "Purchase Order ID"
+msgstr ""
+
+#: stock/admin.py:107 templates/js/translated/stock.js:1890
+msgid "Stocktake"
+msgstr ""
+
+#: stock/admin.py:108 stock/models.py:724
+#: stock/templates/stock/item_base.html:427
+#: templates/js/translated/stock.js:1904
+msgid "Expiry Date"
+msgstr ""
+
+#: stock/api.py:539
msgid "Quantity is required"
msgstr ""
-#: stock/api.py:536
+#: stock/api.py:546
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:561
+#: stock/api.py:571
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/models.py:90 stock/models.py:746
+#: stock/models.py:106 stock/models.py:762
#: stock/templates/stock/item_base.html:250
msgid "Owner"
msgstr ""
-#: stock/models.py:91 stock/models.py:747
+#: stock/models.py:107 stock/models.py:763
msgid "Select Owner"
msgstr ""
-#: stock/models.py:508 stock/serializers.py:93
+#: stock/models.py:524 stock/serializers.py:97
msgid "Stock item cannot be created for virtual parts"
msgstr ""
-#: stock/models.py:525
+#: stock/models.py:541
#, python-brace-format
msgid "Part type ('{pf}') must be {pe}"
msgstr ""
-#: stock/models.py:535 stock/models.py:544
+#: stock/models.py:551 stock/models.py:560
msgid "Quantity must be 1 for item with a serial number"
msgstr ""
-#: stock/models.py:536
+#: stock/models.py:552
msgid "Serial number cannot be set if quantity greater than 1"
msgstr ""
-#: stock/models.py:558
+#: stock/models.py:574
msgid "Item cannot belong to itself"
msgstr ""
-#: stock/models.py:564
+#: stock/models.py:580
msgid "Item must have a build reference if is_building=True"
msgstr ""
-#: stock/models.py:578
+#: stock/models.py:594
msgid "Build reference does not point to the same part object"
msgstr ""
-#: stock/models.py:592
+#: stock/models.py:608
msgid "Parent Stock Item"
msgstr ""
-#: stock/models.py:602
+#: stock/models.py:618
msgid "Base part"
msgstr ""
-#: stock/models.py:610
+#: stock/models.py:626
msgid "Select a matching supplier part for this stock item"
msgstr ""
-#: stock/models.py:617 stock/templates/stock/location.html:17
+#: stock/models.py:633 stock/templates/stock/location.html:17
#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
msgstr ""
-#: stock/models.py:620
+#: stock/models.py:636
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:627
+#: stock/models.py:643
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:633 stock/templates/stock/item_base.html:359
-msgid "Installed In"
-msgstr ""
-
-#: stock/models.py:636
+#: stock/models.py:652
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:652
+#: stock/models.py:668
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:666
+#: stock/models.py:682
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:671
+#: stock/models.py:687
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:680
+#: stock/models.py:696
msgid "Source Build"
msgstr ""
-#: stock/models.py:682
+#: stock/models.py:698
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:693
+#: stock/models.py:709
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:696
+#: stock/models.py:712
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:702
+#: stock/models.py:718
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:708 stock/templates/stock/item_base.html:427
-#: templates/js/translated/stock.js:1885
-msgid "Expiry Date"
-msgstr ""
-
-#: stock/models.py:709
+#: stock/models.py:725
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:722
+#: stock/models.py:738
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:722
+#: stock/models.py:738
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:734 stock/templates/stock/item.html:132
+#: stock/models.py:750 stock/templates/stock/item.html:132
msgid "Stock Item Notes"
msgstr ""
-#: stock/models.py:742
+#: stock/models.py:758
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:770
+#: stock/models.py:786
msgid "Converted to part"
msgstr ""
-#: stock/models.py:1244
+#: stock/models.py:1260
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1250
+#: stock/models.py:1266
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1256
+#: stock/models.py:1272
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr ""
-#: stock/models.py:1259
+#: stock/models.py:1275
msgid "Serial numbers must be a list of integers"
msgstr ""
-#: stock/models.py:1262
+#: stock/models.py:1278
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1269
+#: stock/models.py:1285
#, python-brace-format
msgid "Serial numbers already exist: {exists}"
msgstr ""
-#: stock/models.py:1339
+#: stock/models.py:1355
msgid "Stock item has been assigned to a sales order"
msgstr ""
-#: stock/models.py:1342
+#: stock/models.py:1358
msgid "Stock item is installed in another item"
msgstr ""
-#: stock/models.py:1345
+#: stock/models.py:1361
msgid "Stock item contains other items"
msgstr ""
-#: stock/models.py:1348
+#: stock/models.py:1364
msgid "Stock item has been assigned to a customer"
msgstr ""
-#: stock/models.py:1351
+#: stock/models.py:1367
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:1354
+#: stock/models.py:1370
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1361 stock/serializers.py:963
+#: stock/models.py:1377 stock/serializers.py:962
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:1365
+#: stock/models.py:1381
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:1369
+#: stock/models.py:1385
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:1373
+#: stock/models.py:1389
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:1542
+#: stock/models.py:1558
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:2003
+#: stock/models.py:2019
msgid "Entry notes"
msgstr ""
-#: stock/models.py:2061
+#: stock/models.py:2077
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:2067
+#: stock/models.py:2083
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:2086
+#: stock/models.py:2102
msgid "Test name"
msgstr ""
-#: stock/models.py:2092
+#: stock/models.py:2108
msgid "Test result"
msgstr ""
-#: stock/models.py:2098
+#: stock/models.py:2114
msgid "Test output value"
msgstr ""
-#: stock/models.py:2105
+#: stock/models.py:2121
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2111
+#: stock/models.py:2127
msgid "Test notes"
msgstr ""
-#: stock/serializers.py:71
+#: stock/serializers.py:75
msgid "Serial number is too large"
msgstr ""
-#: stock/serializers.py:172
+#: stock/serializers.py:176
msgid "Purchase price of this stock item"
msgstr ""
-#: stock/serializers.py:292
+#: stock/serializers.py:286
msgid "Enter number of stock items to serialize"
msgstr ""
-#: stock/serializers.py:304
+#: stock/serializers.py:298
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({q})"
msgstr ""
-#: stock/serializers.py:310
+#: stock/serializers.py:304
msgid "Enter serial numbers for new items"
msgstr ""
-#: stock/serializers.py:321 stock/serializers.py:920 stock/serializers.py:1153
+#: stock/serializers.py:315 stock/serializers.py:919 stock/serializers.py:1152
msgid "Destination stock location"
msgstr ""
-#: stock/serializers.py:328
+#: stock/serializers.py:322
msgid "Optional note field"
msgstr ""
-#: stock/serializers.py:338
+#: stock/serializers.py:332
msgid "Serial numbers cannot be assigned to this part"
msgstr ""
-#: stock/serializers.py:359
+#: stock/serializers.py:353
msgid "Serial numbers already exist"
msgstr ""
-#: stock/serializers.py:399
+#: stock/serializers.py:393
msgid "Select stock item to install"
msgstr ""
-#: stock/serializers.py:412
+#: stock/serializers.py:406
msgid "Stock item is unavailable"
msgstr ""
-#: stock/serializers.py:419
+#: stock/serializers.py:413
msgid "Selected part is not in the Bill of Materials"
msgstr ""
-#: stock/serializers.py:456
+#: stock/serializers.py:450
msgid "Destination location for uninstalled item"
msgstr ""
-#: stock/serializers.py:461 stock/serializers.py:542
+#: stock/serializers.py:455 stock/serializers.py:536
msgid "Add transaction note (optional)"
msgstr ""
-#: stock/serializers.py:495
+#: stock/serializers.py:489
msgid "Select part to convert stock item into"
msgstr ""
-#: stock/serializers.py:506
+#: stock/serializers.py:500
msgid "Selected part is not a valid option for conversion"
msgstr ""
-#: stock/serializers.py:537
+#: stock/serializers.py:531
msgid "Destination location for returned item"
msgstr ""
-#: stock/serializers.py:775
+#: stock/serializers.py:774
msgid "Part must be salable"
msgstr ""
-#: stock/serializers.py:779
+#: stock/serializers.py:778
msgid "Item is allocated to a sales order"
msgstr ""
-#: stock/serializers.py:783
+#: stock/serializers.py:782
msgid "Item is allocated to a build order"
msgstr ""
-#: stock/serializers.py:814
+#: stock/serializers.py:813
msgid "Customer to assign stock items"
msgstr ""
-#: stock/serializers.py:820
+#: stock/serializers.py:819
msgid "Selected company is not a customer"
msgstr ""
-#: stock/serializers.py:828
+#: stock/serializers.py:827
msgid "Stock assignment notes"
msgstr ""
-#: stock/serializers.py:838 stock/serializers.py:1069
+#: stock/serializers.py:837 stock/serializers.py:1068
msgid "A list of stock items must be provided"
msgstr ""
-#: stock/serializers.py:927
+#: stock/serializers.py:926
msgid "Stock merging notes"
msgstr ""
-#: stock/serializers.py:932
+#: stock/serializers.py:931
msgid "Allow mismatched suppliers"
msgstr ""
-#: stock/serializers.py:933
+#: stock/serializers.py:932
msgid "Allow stock items with different supplier parts to be merged"
msgstr ""
-#: stock/serializers.py:938
+#: stock/serializers.py:937
msgid "Allow mismatched status"
msgstr ""
-#: stock/serializers.py:939
+#: stock/serializers.py:938
msgid "Allow stock items with different status codes to be merged"
msgstr ""
-#: stock/serializers.py:949
+#: stock/serializers.py:948
msgid "At least two stock items must be provided"
msgstr ""
-#: stock/serializers.py:1031
+#: stock/serializers.py:1030
msgid "StockItem primary key value"
msgstr ""
-#: stock/serializers.py:1059
+#: stock/serializers.py:1058
msgid "Stock transaction notes"
msgstr ""
@@ -6520,7 +6794,7 @@ msgstr ""
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2871
+#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2889
msgid "Install Stock Item"
msgstr ""
@@ -6528,7 +6802,7 @@ msgstr ""
msgid "Delete all test results for this stock item"
msgstr ""
-#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1522
+#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1541
msgid "Add Test Result"
msgstr ""
@@ -6687,7 +6961,7 @@ msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:431
-#: templates/js/translated/table_filters.js:277
+#: templates/js/translated/table_filters.js:281
msgid "Expired"
msgstr ""
@@ -6697,16 +6971,10 @@ msgid "This StockItem expires on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/table_filters.js:283
+#: templates/js/translated/table_filters.js:287
msgid "Stale"
msgstr ""
-#: stock/templates/stock/item_base.html:440
-#: templates/js/translated/company.js:1038
-#: templates/js/translated/stock.js:1901
-msgid "Last Updated"
-msgstr ""
-
#: stock/templates/stock/item_base.html:445
msgid "Last Stocktake"
msgstr ""
@@ -6783,11 +7051,6 @@ msgstr ""
msgid "Delete location"
msgstr ""
-#: stock/templates/stock/location.html:123
-#: stock/templates/stock/location.html:129
-msgid "Location Path"
-msgstr ""
-
#: stock/templates/stock/location.html:130
msgid "Top level stock location"
msgstr ""
@@ -6960,6 +7223,14 @@ msgstr ""
msgid "Overdue Sales Orders"
msgstr ""
+#: templates/InvenTree/index.html:312
+msgid "InvenTree News"
+msgstr ""
+
+#: templates/InvenTree/index.html:314
+msgid "Current News"
+msgstr ""
+
#: templates/InvenTree/notifications/history.html:9
msgid "Notification History"
msgstr ""
@@ -7026,30 +7297,6 @@ msgstr ""
msgid "Category Settings"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:8
-msgid "Currency Settings"
-msgstr ""
-
-#: templates/InvenTree/settings/currencies.html:19
-msgid "Base Currency"
-msgstr ""
-
-#: templates/InvenTree/settings/currencies.html:24
-msgid "Exchange Rates"
-msgstr ""
-
-#: templates/InvenTree/settings/currencies.html:38
-msgid "Last Update"
-msgstr ""
-
-#: templates/InvenTree/settings/currencies.html:44
-msgid "Never"
-msgstr ""
-
-#: templates/InvenTree/settings/currencies.html:49
-msgid "Update Now"
-msgstr ""
-
#: templates/InvenTree/settings/global.html:9
msgid "Server Settings"
msgstr ""
@@ -7090,15 +7337,15 @@ msgstr ""
msgid "Part Settings"
msgstr ""
-#: templates/InvenTree/settings/part.html:46
+#: templates/InvenTree/settings/part.html:40
msgid "Part Import"
msgstr ""
-#: templates/InvenTree/settings/part.html:50
+#: templates/InvenTree/settings/part.html:44
msgid "Import Part"
msgstr ""
-#: templates/InvenTree/settings/part.html:64
+#: templates/InvenTree/settings/part.html:58
msgid "Part Parameter Templates"
msgstr ""
@@ -7125,11 +7372,6 @@ msgstr ""
msgid "External plugins are not enabled for this InvenTree installation"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:62
-#: templates/InvenTree/settings/plugin_settings.html:33
-msgid "Author"
-msgstr ""
-
#: templates/InvenTree/settings/plugin.html:64
#: templates/InvenTree/settings/plugin_settings.html:43
msgid "Version"
@@ -7239,6 +7481,39 @@ msgstr ""
msgid "Purchase Order Settings"
msgstr ""
+#: templates/InvenTree/settings/pricing.html:7
+msgid "Pricing Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:24
+msgid "Currency Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:30
+msgid "Update Now"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:39
+#: templates/InvenTree/settings/pricing.html:43
+msgid "Last Update"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:43
+msgid "Never"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:53
+msgid "Base Currency"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:58
+msgid "Exchange Rates"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:60
+msgid "Rate"
+msgstr ""
+
#: templates/InvenTree/settings/report.html:8
#: templates/InvenTree/settings/user_reports.html:9
msgid "Report Settings"
@@ -7295,6 +7570,7 @@ msgid "No part parameter templates found"
msgstr ""
#: templates/InvenTree/settings/settings.html:338
+#: templates/js/translated/news.js:28
#: templates/js/translated/notification.js:36
msgid "ID"
msgstr ""
@@ -7357,10 +7633,6 @@ msgstr ""
msgid "Server Configuration"
msgstr ""
-#: templates/InvenTree/settings/sidebar.html:35
-msgid "Currencies"
-msgstr ""
-
#: templates/InvenTree/settings/sidebar.html:43
msgid "Categories"
msgstr ""
@@ -7380,7 +7652,7 @@ msgid "Change Password"
msgstr ""
#: templates/InvenTree/settings/user.html:23
-#: templates/js/translated/helpers.js:31 templates/notes_buttons.html:3
+#: templates/js/translated/helpers.js:33 templates/notes_buttons.html:3
#: templates/notes_buttons.html:4
msgid "Edit"
msgstr ""
@@ -7890,7 +8162,7 @@ msgid "The following parts are low on required stock"
msgstr ""
#: templates/email/build_order_required_stock.html:18
-#: templates/js/translated/bom.js:1566
+#: templates/js/translated/bom.js:1629
msgid "Required Quantity"
msgstr ""
@@ -7904,7 +8176,7 @@ msgid "Click on the following link to view this part"
msgstr ""
#: templates/email/low_stock_notification.html:19
-#: templates/js/translated/part.js:2566
+#: templates/js/translated/part.js:2423
msgid "Minimum Quantity"
msgstr ""
@@ -8057,7 +8329,7 @@ msgstr ""
msgid "Unlink"
msgstr ""
-#: templates/js/translated/barcode.js:500 templates/js/translated/stock.js:1054
+#: templates/js/translated/barcode.js:500 templates/js/translated/stock.js:1073
msgid "Remove stock item"
msgstr ""
@@ -8127,10 +8399,10 @@ msgstr ""
msgid "Row Data"
msgstr ""
-#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:646
+#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:659
#: templates/js/translated/modals.js:56 templates/js/translated/modals.js:601
#: templates/js/translated/modals.js:695 templates/js/translated/modals.js:1003
-#: templates/js/translated/order.js:1179 templates/modals.html:15
+#: templates/js/translated/order.js:1213 templates/modals.html:15
#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50
msgid "Close"
msgstr ""
@@ -8140,12 +8412,12 @@ msgid "Download BOM Template"
msgstr ""
#: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312
-#: templates/js/translated/order.js:960 templates/js/translated/tables.js:145
+#: templates/js/translated/order.js:994 templates/js/translated/tables.js:145
msgid "Format"
msgstr ""
#: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313
-#: templates/js/translated/order.js:961
+#: templates/js/translated/order.js:995
msgid "Select file format"
msgstr ""
@@ -8197,118 +8469,130 @@ msgstr ""
msgid "Include part supplier data in exported BOM"
msgstr ""
-#: templates/js/translated/bom.js:537
+#: templates/js/translated/bom.js:358
+msgid "Include Pricing Data"
+msgstr ""
+
+#: templates/js/translated/bom.js:359
+msgid "Include part pricing data in exported BOM"
+msgstr ""
+
+#: templates/js/translated/bom.js:550
msgid "Remove substitute part"
msgstr ""
-#: templates/js/translated/bom.js:591
+#: templates/js/translated/bom.js:604
msgid "Select and add a new substitute part using the input below"
msgstr ""
-#: templates/js/translated/bom.js:602
+#: templates/js/translated/bom.js:615
msgid "Are you sure you wish to remove this substitute part link?"
msgstr ""
-#: templates/js/translated/bom.js:608
+#: templates/js/translated/bom.js:621
msgid "Remove Substitute Part"
msgstr ""
-#: templates/js/translated/bom.js:647
+#: templates/js/translated/bom.js:660
msgid "Add Substitute"
msgstr ""
-#: templates/js/translated/bom.js:648
+#: templates/js/translated/bom.js:661
msgid "Edit BOM Item Substitutes"
msgstr ""
-#: templates/js/translated/bom.js:710
+#: templates/js/translated/bom.js:723
msgid "All selected BOM items will be deleted"
msgstr ""
-#: templates/js/translated/bom.js:726
+#: templates/js/translated/bom.js:739
msgid "Delete selected BOM items?"
msgstr ""
-#: templates/js/translated/bom.js:860
+#: templates/js/translated/bom.js:868
msgid "Load BOM for subassembly"
msgstr ""
-#: templates/js/translated/bom.js:870
+#: templates/js/translated/bom.js:878
msgid "Substitutes Available"
msgstr ""
-#: templates/js/translated/bom.js:874 templates/js/translated/build.js:1835
+#: templates/js/translated/bom.js:882 templates/js/translated/build.js:1835
msgid "Variant stock allowed"
msgstr ""
-#: templates/js/translated/bom.js:983 templates/js/translated/build.js:1907
-#: templates/js/translated/order.js:3927
-msgid "No Stock Available"
-msgstr ""
-
-#: templates/js/translated/bom.js:988 templates/js/translated/build.js:1911
-msgid "Includes variant and substitute stock"
-msgstr ""
-
-#: templates/js/translated/bom.js:990 templates/js/translated/build.js:1913
-#: templates/js/translated/part.js:761 templates/js/translated/part.js:1539
-msgid "Includes variant stock"
-msgstr ""
-
-#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1915
-msgid "Includes substitute stock"
-msgstr ""
-
-#: templates/js/translated/bom.js:1010
+#: templates/js/translated/bom.js:972
msgid "Substitutes"
msgstr ""
-#: templates/js/translated/bom.js:1061 templates/js/translated/bom.js:1195
+#: templates/js/translated/bom.js:1023 templates/js/translated/bom.js:1260
msgid "View BOM"
msgstr ""
-#: templates/js/translated/bom.js:1071
-msgid "Purchase Price Range"
+#: templates/js/translated/bom.js:1094
+msgid "BOM pricing is complete"
msgstr ""
-#: templates/js/translated/bom.js:1078
-msgid "Purchase Price Average"
+#: templates/js/translated/bom.js:1099
+msgid "BOM pricing is incomplete"
msgstr ""
-#: templates/js/translated/bom.js:1106 templates/js/translated/build.js:1898
+#: templates/js/translated/bom.js:1106
+msgid "No pricing available"
+msgstr ""
+
+#: templates/js/translated/bom.js:1137 templates/js/translated/build.js:1907
+#: templates/js/translated/order.js:3924
+msgid "No Stock Available"
+msgstr ""
+
+#: templates/js/translated/bom.js:1142 templates/js/translated/build.js:1911
+msgid "Includes variant and substitute stock"
+msgstr ""
+
+#: templates/js/translated/bom.js:1144 templates/js/translated/build.js:1913
+#: templates/js/translated/part.js:775 templates/js/translated/part.js:1550
+msgid "Includes variant stock"
+msgstr ""
+
+#: templates/js/translated/bom.js:1146 templates/js/translated/build.js:1915
+msgid "Includes substitute stock"
+msgstr ""
+
+#: templates/js/translated/bom.js:1171 templates/js/translated/build.js:1898
#: templates/js/translated/build.js:1985
msgid "Consumable item"
msgstr ""
-#: templates/js/translated/bom.js:1166
+#: templates/js/translated/bom.js:1231
msgid "Validate BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1168
+#: templates/js/translated/bom.js:1233
msgid "This line has been validated"
msgstr ""
-#: templates/js/translated/bom.js:1170
+#: templates/js/translated/bom.js:1235
msgid "Edit substitute parts"
msgstr ""
-#: templates/js/translated/bom.js:1172 templates/js/translated/bom.js:1369
+#: templates/js/translated/bom.js:1237 templates/js/translated/bom.js:1433
msgid "Edit BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1174
+#: templates/js/translated/bom.js:1239
msgid "Delete BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1280 templates/js/translated/build.js:1679
+#: templates/js/translated/bom.js:1344 templates/js/translated/build.js:1679
msgid "No BOM items found"
msgstr ""
-#: templates/js/translated/bom.js:1549 templates/js/translated/build.js:1818
+#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1818
msgid "Required Part"
msgstr ""
-#: templates/js/translated/bom.js:1575
+#: templates/js/translated/bom.js:1638
msgid "Inherited from parent BOM"
msgstr ""
@@ -8353,12 +8637,12 @@ msgid "Complete Build Order"
msgstr ""
#: templates/js/translated/build.js:311 templates/js/translated/stock.js:92
-#: templates/js/translated/stock.js:214
+#: templates/js/translated/stock.js:233
msgid "Next available serial number"
msgstr ""
#: templates/js/translated/build.js:313 templates/js/translated/stock.js:94
-#: templates/js/translated/stock.js:216
+#: templates/js/translated/stock.js:235
msgid "Latest serial number"
msgstr ""
@@ -8455,12 +8739,12 @@ msgid "No required tests for this build"
msgstr ""
#: templates/js/translated/build.js:1775 templates/js/translated/build.js:2765
-#: templates/js/translated/order.js:3627
+#: templates/js/translated/order.js:3638
msgid "Edit stock allocation"
msgstr ""
#: templates/js/translated/build.js:1777 templates/js/translated/build.js:2766
-#: templates/js/translated/order.js:3628
+#: templates/js/translated/order.js:3639
msgid "Delete stock allocation"
msgstr ""
@@ -8480,20 +8764,15 @@ msgstr ""
msgid "Quantity Per"
msgstr ""
-#: templates/js/translated/build.js:1901 templates/js/translated/order.js:3934
+#: templates/js/translated/build.js:1901 templates/js/translated/order.js:3931
msgid "Insufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3932
+#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3929
msgid "Sufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1937 templates/js/translated/build.js:2195
-#: templates/js/translated/build.js:2761 templates/js/translated/order.js:3946
-msgid "Allocated"
-msgstr ""
-
-#: templates/js/translated/build.js:1993 templates/js/translated/order.js:4026
+#: templates/js/translated/build.js:1993 templates/js/translated/order.js:4023
msgid "Build stock"
msgstr ""
@@ -8501,21 +8780,21 @@ msgstr ""
msgid "Order stock"
msgstr ""
-#: templates/js/translated/build.js:2000 templates/js/translated/order.js:4019
+#: templates/js/translated/build.js:2000 templates/js/translated/order.js:4016
msgid "Allocate stock"
msgstr ""
#: templates/js/translated/build.js:2039 templates/js/translated/label.js:172
-#: templates/js/translated/order.js:1007 templates/js/translated/order.js:3154
+#: templates/js/translated/order.js:1041 templates/js/translated/order.js:3165
#: templates/js/translated/report.js:225
msgid "Select Parts"
msgstr ""
-#: templates/js/translated/build.js:2040 templates/js/translated/order.js:3155
+#: templates/js/translated/build.js:2040 templates/js/translated/order.js:3166
msgid "You must select at least one part to allocate"
msgstr ""
-#: templates/js/translated/build.js:2089 templates/js/translated/order.js:3103
+#: templates/js/translated/build.js:2089 templates/js/translated/order.js:3114
msgid "Specify stock allocation quantity"
msgstr ""
@@ -8527,7 +8806,7 @@ msgstr ""
msgid "All selected parts have been fully allocated"
msgstr ""
-#: templates/js/translated/build.js:2183 templates/js/translated/order.js:3169
+#: templates/js/translated/build.js:2183 templates/js/translated/order.js:3180
msgid "Select source location (leave blank to take from all locations)"
msgstr ""
@@ -8535,11 +8814,11 @@ msgstr ""
msgid "Allocate Stock Items to Build Order"
msgstr ""
-#: templates/js/translated/build.js:2222 templates/js/translated/order.js:3266
+#: templates/js/translated/build.js:2222 templates/js/translated/order.js:3277
msgid "No matching stock locations"
msgstr ""
-#: templates/js/translated/build.js:2294 templates/js/translated/order.js:3343
+#: templates/js/translated/build.js:2294 templates/js/translated/order.js:3354
msgid "No matching stock items"
msgstr ""
@@ -8571,9 +8850,9 @@ msgstr ""
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:2558 templates/js/translated/part.js:1423
-#: templates/js/translated/part.js:1957 templates/js/translated/stock.js:1686
-#: templates/js/translated/stock.js:2390
+#: templates/js/translated/build.js:2558 templates/js/translated/part.js:1444
+#: templates/js/translated/part.js:1981 templates/js/translated/stock.js:1705
+#: templates/js/translated/stock.js:2408
msgid "Select"
msgstr ""
@@ -8585,7 +8864,7 @@ msgstr ""
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2636 templates/js/translated/stock.js:2657
+#: templates/js/translated/build.js:2636 templates/js/translated/stock.js:2675
msgid "No user information"
msgstr ""
@@ -8593,118 +8872,144 @@ msgstr ""
msgid "No parts allocated for"
msgstr ""
-#: templates/js/translated/company.js:66
+#: templates/js/translated/company.js:67
msgid "Add Manufacturer"
msgstr ""
-#: templates/js/translated/company.js:79 templates/js/translated/company.js:181
+#: templates/js/translated/company.js:80 templates/js/translated/company.js:182
msgid "Add Manufacturer Part"
msgstr ""
-#: templates/js/translated/company.js:100
+#: templates/js/translated/company.js:101
msgid "Edit Manufacturer Part"
msgstr ""
-#: templates/js/translated/company.js:169 templates/js/translated/order.js:576
+#: templates/js/translated/company.js:170 templates/js/translated/order.js:576
msgid "Add Supplier"
msgstr ""
-#: templates/js/translated/company.js:197 templates/js/translated/order.js:828
+#: templates/js/translated/company.js:198 templates/js/translated/order.js:862
msgid "Add Supplier Part"
msgstr ""
-#: templates/js/translated/company.js:297
+#: templates/js/translated/company.js:298
msgid "All selected supplier parts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:313
+#: templates/js/translated/company.js:314
msgid "Delete Supplier Parts"
msgstr ""
-#: templates/js/translated/company.js:385
+#: templates/js/translated/company.js:386
msgid "Add new Company"
msgstr ""
-#: templates/js/translated/company.js:462
+#: templates/js/translated/company.js:463
msgid "Parts Supplied"
msgstr ""
-#: templates/js/translated/company.js:471
+#: templates/js/translated/company.js:472
msgid "Parts Manufactured"
msgstr ""
-#: templates/js/translated/company.js:486
+#: templates/js/translated/company.js:487
msgid "No company information found"
msgstr ""
-#: templates/js/translated/company.js:527
+#: templates/js/translated/company.js:528
msgid "All selected manufacturer parts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:542
+#: templates/js/translated/company.js:543
msgid "Delete Manufacturer Parts"
msgstr ""
-#: templates/js/translated/company.js:576
+#: templates/js/translated/company.js:577
msgid "All selected parameters will be deleted"
msgstr ""
-#: templates/js/translated/company.js:590
+#: templates/js/translated/company.js:591
msgid "Delete Parameters"
msgstr ""
-#: templates/js/translated/company.js:631
+#: templates/js/translated/company.js:632
msgid "No manufacturer parts found"
msgstr ""
-#: templates/js/translated/company.js:651
-#: templates/js/translated/company.js:912 templates/js/translated/part.js:636
-#: templates/js/translated/part.js:721
+#: templates/js/translated/company.js:652
+#: templates/js/translated/company.js:913 templates/js/translated/part.js:650
+#: templates/js/translated/part.js:735
msgid "Template part"
msgstr ""
-#: templates/js/translated/company.js:655
-#: templates/js/translated/company.js:916 templates/js/translated/part.js:640
-#: templates/js/translated/part.js:725
+#: templates/js/translated/company.js:656
+#: templates/js/translated/company.js:917 templates/js/translated/part.js:654
+#: templates/js/translated/part.js:739
msgid "Assembled part"
msgstr ""
-#: templates/js/translated/company.js:783 templates/js/translated/part.js:828
+#: templates/js/translated/company.js:784 templates/js/translated/part.js:855
msgid "No parameters found"
msgstr ""
-#: templates/js/translated/company.js:820 templates/js/translated/part.js:870
+#: templates/js/translated/company.js:821 templates/js/translated/part.js:897
msgid "Edit parameter"
msgstr ""
-#: templates/js/translated/company.js:821 templates/js/translated/part.js:871
+#: templates/js/translated/company.js:822 templates/js/translated/part.js:898
msgid "Delete parameter"
msgstr ""
-#: templates/js/translated/company.js:840 templates/js/translated/part.js:888
+#: templates/js/translated/company.js:841 templates/js/translated/part.js:915
msgid "Edit Parameter"
msgstr ""
-#: templates/js/translated/company.js:851 templates/js/translated/part.js:900
+#: templates/js/translated/company.js:852 templates/js/translated/part.js:927
msgid "Delete Parameter"
msgstr ""
-#: templates/js/translated/company.js:891
+#: templates/js/translated/company.js:892
msgid "No supplier parts found"
msgstr ""
-#: templates/js/translated/company.js:1032
+#: templates/js/translated/company.js:1033
msgid "Availability"
msgstr ""
-#: templates/js/translated/company.js:1055
+#: templates/js/translated/company.js:1056
msgid "Edit supplier part"
msgstr ""
-#: templates/js/translated/company.js:1056
+#: templates/js/translated/company.js:1057
msgid "Delete supplier part"
msgstr ""
+#: templates/js/translated/company.js:1112
+#: templates/js/translated/pricing.js:423
+msgid "Delete Price Break"
+msgstr ""
+
+#: templates/js/translated/company.js:1128
+#: templates/js/translated/pricing.js:437
+msgid "Edit Price Break"
+msgstr ""
+
+#: templates/js/translated/company.js:1145
+msgid "No price break information found"
+msgstr ""
+
+#: templates/js/translated/company.js:1174
+msgid "Last updated"
+msgstr ""
+
+#: templates/js/translated/company.js:1180
+msgid "Edit price break"
+msgstr ""
+
+#: templates/js/translated/company.js:1181
+msgid "Delete price break"
+msgstr ""
+
#: templates/js/translated/filters.js:178
#: templates/js/translated/filters.js:441
msgid "true"
@@ -8785,27 +9090,27 @@ msgstr ""
msgid "Clear input"
msgstr ""
-#: templates/js/translated/forms.js:2638
+#: templates/js/translated/forms.js:2628
msgid "File Column"
msgstr ""
-#: templates/js/translated/forms.js:2638
+#: templates/js/translated/forms.js:2628
msgid "Field Name"
msgstr ""
-#: templates/js/translated/forms.js:2650
+#: templates/js/translated/forms.js:2640
msgid "Select Columns"
msgstr ""
-#: templates/js/translated/helpers.js:24
+#: templates/js/translated/helpers.js:26
msgid "YES"
msgstr ""
-#: templates/js/translated/helpers.js:26
+#: templates/js/translated/helpers.js:28
msgid "NO"
msgstr ""
-#: templates/js/translated/helpers.js:363
+#: templates/js/translated/helpers.js:434
msgid "Notes updated"
msgstr ""
@@ -8814,7 +9119,7 @@ msgid "Labels sent to printer"
msgstr ""
#: templates/js/translated/label.js:60 templates/js/translated/report.js:118
-#: templates/js/translated/stock.js:1078
+#: templates/js/translated/stock.js:1097
msgid "Select Stock Items"
msgstr ""
@@ -8934,14 +9239,6 @@ msgstr ""
msgid "Stock ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:159
-msgid "Location ID"
-msgstr ""
-
-#: templates/js/translated/model_renderers.js:177
-msgid "Build ID"
-msgstr ""
-
#: templates/js/translated/model_renderers.js:278
#: templates/js/translated/model_renderers.js:303
msgid "Order ID"
@@ -8952,16 +9249,12 @@ msgstr ""
msgid "Shipment ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:338
-msgid "Category ID"
-msgstr ""
-
#: templates/js/translated/model_renderers.js:381
msgid "Manufacturer Part ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:418
-msgid "Supplier Part ID"
+#: templates/js/translated/news.js:23
+msgid "No news found"
msgstr ""
#: templates/js/translated/notification.js:42
@@ -9104,659 +9397,688 @@ msgstr ""
msgid "Duplication Options"
msgstr ""
-#: templates/js/translated/order.js:957
+#: templates/js/translated/order.js:991
msgid "Export Order"
msgstr ""
-#: templates/js/translated/order.js:1008
+#: templates/js/translated/order.js:1042
msgid "At least one purchaseable part must be selected"
msgstr ""
-#: templates/js/translated/order.js:1033
+#: templates/js/translated/order.js:1067
msgid "Quantity to order"
msgstr ""
-#: templates/js/translated/order.js:1042
+#: templates/js/translated/order.js:1076
msgid "New supplier part"
msgstr ""
-#: templates/js/translated/order.js:1060
+#: templates/js/translated/order.js:1094
msgid "New purchase order"
msgstr ""
-#: templates/js/translated/order.js:1093
+#: templates/js/translated/order.js:1127
msgid "Add to purchase order"
msgstr ""
-#: templates/js/translated/order.js:1233
+#: templates/js/translated/order.js:1267
msgid "No matching supplier parts"
msgstr ""
-#: templates/js/translated/order.js:1252
+#: templates/js/translated/order.js:1286
msgid "No matching purchase orders"
msgstr ""
-#: templates/js/translated/order.js:1429
+#: templates/js/translated/order.js:1463
msgid "Select Line Items"
msgstr ""
-#: templates/js/translated/order.js:1430
+#: templates/js/translated/order.js:1464
msgid "At least one line item must be selected"
msgstr ""
-#: templates/js/translated/order.js:1450 templates/js/translated/order.js:1563
+#: templates/js/translated/order.js:1484 templates/js/translated/order.js:1597
msgid "Add batch code"
msgstr ""
-#: templates/js/translated/order.js:1456 templates/js/translated/order.js:1574
+#: templates/js/translated/order.js:1490 templates/js/translated/order.js:1608
msgid "Add serial numbers"
msgstr ""
-#: templates/js/translated/order.js:1471
+#: templates/js/translated/order.js:1505
msgid "Received Quantity"
msgstr ""
-#: templates/js/translated/order.js:1482
+#: templates/js/translated/order.js:1516
msgid "Quantity to receive"
msgstr ""
-#: templates/js/translated/order.js:1546 templates/js/translated/stock.js:2146
+#: templates/js/translated/order.js:1580 templates/js/translated/stock.js:2164
msgid "Stock Status"
msgstr ""
-#: templates/js/translated/order.js:1639
+#: templates/js/translated/order.js:1673
msgid "Order Code"
msgstr ""
-#: templates/js/translated/order.js:1640
+#: templates/js/translated/order.js:1674
msgid "Ordered"
msgstr ""
-#: templates/js/translated/order.js:1642
+#: templates/js/translated/order.js:1676
msgid "Quantity to Receive"
msgstr ""
-#: templates/js/translated/order.js:1661
+#: templates/js/translated/order.js:1695
msgid "Confirm receipt of items"
msgstr ""
-#: templates/js/translated/order.js:1662
+#: templates/js/translated/order.js:1696
msgid "Receive Purchase Order Items"
msgstr ""
-#: templates/js/translated/order.js:1940 templates/js/translated/part.js:941
+#: templates/js/translated/order.js:1974 templates/js/translated/part.js:968
msgid "No purchase orders found"
msgstr ""
-#: templates/js/translated/order.js:1967 templates/js/translated/order.js:2798
+#: templates/js/translated/order.js:2001 templates/js/translated/order.js:2809
msgid "Order is overdue"
msgstr ""
-#: templates/js/translated/order.js:2017 templates/js/translated/order.js:2863
-#: templates/js/translated/order.js:3004
+#: templates/js/translated/order.js:2051 templates/js/translated/order.js:2874
+#: templates/js/translated/order.js:3015
msgid "Items"
msgstr ""
-#: templates/js/translated/order.js:2115 templates/js/translated/order.js:4078
+#: templates/js/translated/order.js:2154 templates/js/translated/order.js:4075
msgid "Duplicate Line Item"
msgstr ""
-#: templates/js/translated/order.js:2132 templates/js/translated/order.js:4100
+#: templates/js/translated/order.js:2171 templates/js/translated/order.js:4097
msgid "Edit Line Item"
msgstr ""
-#: templates/js/translated/order.js:2145 templates/js/translated/order.js:4111
+#: templates/js/translated/order.js:2184 templates/js/translated/order.js:4108
msgid "Delete Line Item"
msgstr ""
-#: templates/js/translated/order.js:2188
+#: templates/js/translated/order.js:2227
msgid "No line items found"
msgstr ""
-#: templates/js/translated/order.js:2215 templates/js/translated/order.js:3812
+#: templates/js/translated/order.js:2254 templates/js/translated/order.js:3827
msgid "Total"
msgstr ""
-#: templates/js/translated/order.js:2270 templates/js/translated/part.js:1043
-#: templates/js/translated/part.js:1095
+#: templates/js/translated/order.js:2309 templates/js/translated/part.js:1070
+#: templates/js/translated/part.js:1122
msgid "Total Quantity"
msgstr ""
-#: templates/js/translated/order.js:2301 templates/js/translated/order.js:2500
-#: templates/js/translated/order.js:3837 templates/js/translated/order.js:4342
-#: templates/js/translated/part.js:2199 templates/js/translated/part.js:2797
+#: templates/js/translated/order.js:2340 templates/js/translated/order.js:2527
+#: templates/js/translated/order.js:3852 templates/js/translated/order.js:4343
+#: templates/js/translated/pricing.js:260
+#: templates/js/translated/pricing.js:329
+#: templates/js/translated/pricing.js:545
msgid "Unit Price"
msgstr ""
-#: templates/js/translated/order.js:2316 templates/js/translated/order.js:2516
-#: templates/js/translated/order.js:3853 templates/js/translated/order.js:4358
+#: templates/js/translated/order.js:2350 templates/js/translated/order.js:2537
+#: templates/js/translated/order.js:3862 templates/js/translated/order.js:4353
msgid "Total Price"
msgstr ""
-#: templates/js/translated/order.js:2357 templates/js/translated/order.js:3895
-#: templates/js/translated/part.js:1079
+#: templates/js/translated/order.js:2380 templates/js/translated/order.js:3892
+#: templates/js/translated/part.js:1106
msgid "This line item is overdue"
msgstr ""
-#: templates/js/translated/order.js:2416 templates/js/translated/part.js:1130
+#: templates/js/translated/order.js:2439 templates/js/translated/part.js:1151
msgid "Receive line item"
msgstr ""
-#: templates/js/translated/order.js:2420 templates/js/translated/order.js:4032
+#: templates/js/translated/order.js:2443 templates/js/translated/order.js:4029
msgid "Duplicate line item"
msgstr ""
-#: templates/js/translated/order.js:2421 templates/js/translated/order.js:4033
+#: templates/js/translated/order.js:2444 templates/js/translated/order.js:4030
msgid "Edit line item"
msgstr ""
-#: templates/js/translated/order.js:2422 templates/js/translated/order.js:4037
+#: templates/js/translated/order.js:2445 templates/js/translated/order.js:4034
msgid "Delete line item"
msgstr ""
-#: templates/js/translated/order.js:2564 templates/js/translated/order.js:4406
+#: templates/js/translated/order.js:2574 templates/js/translated/order.js:4389
msgid "Duplicate line"
msgstr ""
-#: templates/js/translated/order.js:2565 templates/js/translated/order.js:4407
+#: templates/js/translated/order.js:2575 templates/js/translated/order.js:4390
msgid "Edit line"
msgstr ""
-#: templates/js/translated/order.js:2566 templates/js/translated/order.js:4408
+#: templates/js/translated/order.js:2576 templates/js/translated/order.js:4391
msgid "Delete line"
msgstr ""
-#: templates/js/translated/order.js:2595 templates/js/translated/order.js:4437
+#: templates/js/translated/order.js:2606 templates/js/translated/order.js:4420
msgid "Duplicate Line"
msgstr ""
-#: templates/js/translated/order.js:2616 templates/js/translated/order.js:4458
+#: templates/js/translated/order.js:2627 templates/js/translated/order.js:4441
msgid "Edit Line"
msgstr ""
-#: templates/js/translated/order.js:2627 templates/js/translated/order.js:4469
+#: templates/js/translated/order.js:2638 templates/js/translated/order.js:4452
msgid "Delete Line"
msgstr ""
-#: templates/js/translated/order.js:2638
+#: templates/js/translated/order.js:2649
msgid "No matching line"
msgstr ""
-#: templates/js/translated/order.js:2749
+#: templates/js/translated/order.js:2760
msgid "No sales orders found"
msgstr ""
-#: templates/js/translated/order.js:2812
+#: templates/js/translated/order.js:2823
msgid "Invalid Customer"
msgstr ""
-#: templates/js/translated/order.js:2910
+#: templates/js/translated/order.js:2921
msgid "Edit shipment"
msgstr ""
-#: templates/js/translated/order.js:2913
+#: templates/js/translated/order.js:2924
msgid "Complete shipment"
msgstr ""
-#: templates/js/translated/order.js:2918
+#: templates/js/translated/order.js:2929
msgid "Delete shipment"
msgstr ""
-#: templates/js/translated/order.js:2938
+#: templates/js/translated/order.js:2949
msgid "Edit Shipment"
msgstr ""
-#: templates/js/translated/order.js:2955
+#: templates/js/translated/order.js:2966
msgid "Delete Shipment"
msgstr ""
-#: templates/js/translated/order.js:2989
+#: templates/js/translated/order.js:3000
msgid "No matching shipments found"
msgstr ""
-#: templates/js/translated/order.js:2999
+#: templates/js/translated/order.js:3010
msgid "Shipment Reference"
msgstr ""
-#: templates/js/translated/order.js:3023
+#: templates/js/translated/order.js:3034
msgid "Not shipped"
msgstr ""
-#: templates/js/translated/order.js:3029
+#: templates/js/translated/order.js:3040
msgid "Tracking"
msgstr ""
-#: templates/js/translated/order.js:3033
+#: templates/js/translated/order.js:3044
msgid "Invoice"
msgstr ""
-#: templates/js/translated/order.js:3202
+#: templates/js/translated/order.js:3213
msgid "Add Shipment"
msgstr ""
-#: templates/js/translated/order.js:3253
+#: templates/js/translated/order.js:3264
msgid "Confirm stock allocation"
msgstr ""
-#: templates/js/translated/order.js:3254
+#: templates/js/translated/order.js:3265
msgid "Allocate Stock Items to Sales Order"
msgstr ""
-#: templates/js/translated/order.js:3462
+#: templates/js/translated/order.js:3473
msgid "No sales order allocations found"
msgstr ""
-#: templates/js/translated/order.js:3541
+#: templates/js/translated/order.js:3552
msgid "Edit Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:3558
+#: templates/js/translated/order.js:3569
msgid "Confirm Delete Operation"
msgstr ""
-#: templates/js/translated/order.js:3559
+#: templates/js/translated/order.js:3570
msgid "Delete Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:3604 templates/js/translated/order.js:3693
-#: templates/js/translated/stock.js:1602
+#: templates/js/translated/order.js:3615 templates/js/translated/order.js:3704
+#: templates/js/translated/stock.js:1621
msgid "Shipped to customer"
msgstr ""
-#: templates/js/translated/order.js:3612 templates/js/translated/order.js:3702
+#: templates/js/translated/order.js:3623 templates/js/translated/order.js:3713
msgid "Stock location not specified"
msgstr ""
-#: templates/js/translated/order.js:4016
+#: templates/js/translated/order.js:4013
msgid "Allocate serial numbers"
msgstr ""
-#: templates/js/translated/order.js:4022
+#: templates/js/translated/order.js:4019
msgid "Purchase stock"
msgstr ""
-#: templates/js/translated/order.js:4029 templates/js/translated/order.js:4227
+#: templates/js/translated/order.js:4026 templates/js/translated/order.js:4224
msgid "Calculate price"
msgstr ""
-#: templates/js/translated/order.js:4041
+#: templates/js/translated/order.js:4038
msgid "Cannot be deleted as items have been shipped"
msgstr ""
-#: templates/js/translated/order.js:4044
+#: templates/js/translated/order.js:4041
msgid "Cannot be deleted as items have been allocated"
msgstr ""
-#: templates/js/translated/order.js:4126
+#: templates/js/translated/order.js:4123
msgid "Allocate Serial Numbers"
msgstr ""
-#: templates/js/translated/order.js:4235
+#: templates/js/translated/order.js:4232
msgid "Update Unit Price"
msgstr ""
-#: templates/js/translated/order.js:4249
+#: templates/js/translated/order.js:4246
msgid "No matching line items"
msgstr ""
-#: templates/js/translated/order.js:4480
+#: templates/js/translated/order.js:4463
msgid "No matching lines"
msgstr ""
-#: templates/js/translated/part.js:56
+#: templates/js/translated/part.js:52
msgid "Part Attributes"
msgstr ""
-#: templates/js/translated/part.js:60
+#: templates/js/translated/part.js:56
msgid "Part Creation Options"
msgstr ""
-#: templates/js/translated/part.js:64
+#: templates/js/translated/part.js:60
msgid "Part Duplication Options"
msgstr ""
-#: templates/js/translated/part.js:68
+#: templates/js/translated/part.js:64
msgid "Supplier Options"
msgstr ""
-#: templates/js/translated/part.js:82
+#: templates/js/translated/part.js:78
msgid "Add Part Category"
msgstr ""
-#: templates/js/translated/part.js:166
+#: templates/js/translated/part.js:162
msgid "Create Initial Stock"
msgstr ""
-#: templates/js/translated/part.js:167
+#: templates/js/translated/part.js:163
msgid "Create an initial stock item for this part"
msgstr ""
-#: templates/js/translated/part.js:174
+#: templates/js/translated/part.js:170
msgid "Initial Stock Quantity"
msgstr ""
-#: templates/js/translated/part.js:175
+#: templates/js/translated/part.js:171
msgid "Specify initial stock quantity for this part"
msgstr ""
-#: templates/js/translated/part.js:182
+#: templates/js/translated/part.js:178
msgid "Select destination stock location"
msgstr ""
-#: templates/js/translated/part.js:200
+#: templates/js/translated/part.js:196
msgid "Copy Category Parameters"
msgstr ""
-#: templates/js/translated/part.js:201
+#: templates/js/translated/part.js:197
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: templates/js/translated/part.js:209
+#: templates/js/translated/part.js:205
msgid "Add Supplier Data"
msgstr ""
-#: templates/js/translated/part.js:210
+#: templates/js/translated/part.js:206
msgid "Create initial supplier data for this part"
msgstr ""
-#: templates/js/translated/part.js:266
+#: templates/js/translated/part.js:262
msgid "Copy Image"
msgstr ""
-#: templates/js/translated/part.js:267
+#: templates/js/translated/part.js:263
msgid "Copy image from original part"
msgstr ""
-#: templates/js/translated/part.js:275
+#: templates/js/translated/part.js:271
msgid "Copy bill of materials from original part"
msgstr ""
-#: templates/js/translated/part.js:282
+#: templates/js/translated/part.js:278
msgid "Copy Parameters"
msgstr ""
-#: templates/js/translated/part.js:283
+#: templates/js/translated/part.js:279
msgid "Copy parameter data from original part"
msgstr ""
-#: templates/js/translated/part.js:296
+#: templates/js/translated/part.js:292
msgid "Parent part category"
msgstr ""
-#: templates/js/translated/part.js:306 templates/js/translated/stock.js:118
+#: templates/js/translated/part.js:302 templates/js/translated/stock.js:118
msgid "Icon (optional) - Explore all available icons on"
msgstr ""
-#: templates/js/translated/part.js:322
+#: templates/js/translated/part.js:318
msgid "Edit Part Category"
msgstr ""
-#: templates/js/translated/part.js:335
+#: templates/js/translated/part.js:331
msgid "Are you sure you want to delete this part category?"
msgstr ""
-#: templates/js/translated/part.js:337
-msgid "Any child categories will be moved to the parent of this category"
+#: templates/js/translated/part.js:336
+msgid "Move to parent category"
msgstr ""
-#: templates/js/translated/part.js:338
-msgid "Any parts in this category will be moved to the parent of this category"
-msgstr ""
-
-#: templates/js/translated/part.js:343
+#: templates/js/translated/part.js:345
msgid "Delete Part Category"
msgstr ""
-#: templates/js/translated/part.js:369
+#: templates/js/translated/part.js:349
+msgid "Action for parts in this category"
+msgstr ""
+
+#: templates/js/translated/part.js:354
+msgid "Action for child categories"
+msgstr ""
+
+#: templates/js/translated/part.js:383
msgid "Edit Part"
msgstr ""
-#: templates/js/translated/part.js:371
+#: templates/js/translated/part.js:385
msgid "Part edited"
msgstr ""
-#: templates/js/translated/part.js:382
+#: templates/js/translated/part.js:396
msgid "Create Part Variant"
msgstr ""
-#: templates/js/translated/part.js:434
+#: templates/js/translated/part.js:448
msgid "Active Part"
msgstr ""
-#: templates/js/translated/part.js:435
+#: templates/js/translated/part.js:449
msgid "Part cannot be deleted as it is currently active"
msgstr ""
-#: templates/js/translated/part.js:449
+#: templates/js/translated/part.js:463
msgid "Deleting this part cannot be reversed"
msgstr ""
-#: templates/js/translated/part.js:451
+#: templates/js/translated/part.js:465
msgid "Any stock items for this part will be deleted"
msgstr ""
-#: templates/js/translated/part.js:452
+#: templates/js/translated/part.js:466
msgid "This part will be removed from any Bills of Material"
msgstr ""
-#: templates/js/translated/part.js:453
+#: templates/js/translated/part.js:467
msgid "All manufacturer and supplier information for this part will be deleted"
msgstr ""
-#: templates/js/translated/part.js:460
+#: templates/js/translated/part.js:474
msgid "Delete Part"
msgstr ""
-#: templates/js/translated/part.js:496
+#: templates/js/translated/part.js:510
msgid "You are subscribed to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:498
+#: templates/js/translated/part.js:512
msgid "You have subscribed to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:503
+#: templates/js/translated/part.js:517
msgid "Subscribe to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:505
+#: templates/js/translated/part.js:519
msgid "You have unsubscribed to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:522
+#: templates/js/translated/part.js:536
msgid "Validating the BOM will mark each line item as valid"
msgstr ""
-#: templates/js/translated/part.js:532
+#: templates/js/translated/part.js:546
msgid "Validate Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:535
+#: templates/js/translated/part.js:549
msgid "Validated Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:560
+#: templates/js/translated/part.js:574
msgid "Copy Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:584 templates/js/translated/part.js:1521
-#: templates/js/translated/table_filters.js:476
+#: templates/js/translated/part.js:598 templates/js/translated/part.js:1532
+#: templates/js/translated/table_filters.js:480
msgid "Low stock"
msgstr ""
-#: templates/js/translated/part.js:594
+#: templates/js/translated/part.js:608
msgid "No stock available"
msgstr ""
-#: templates/js/translated/part.js:628 templates/js/translated/part.js:713
+#: templates/js/translated/part.js:642 templates/js/translated/part.js:727
msgid "Trackable part"
msgstr ""
-#: templates/js/translated/part.js:632 templates/js/translated/part.js:717
+#: templates/js/translated/part.js:646 templates/js/translated/part.js:731
msgid "Virtual part"
msgstr ""
-#: templates/js/translated/part.js:644
+#: templates/js/translated/part.js:658
msgid "Subscribed part"
msgstr ""
-#: templates/js/translated/part.js:648
+#: templates/js/translated/part.js:662
msgid "Salable part"
msgstr ""
-#: templates/js/translated/part.js:776
+#: templates/js/translated/part.js:800
msgid "No variants found"
msgstr ""
-#: templates/js/translated/part.js:1200
+#: templates/js/translated/part.js:1221
msgid "Delete part relationship"
msgstr ""
-#: templates/js/translated/part.js:1224
+#: templates/js/translated/part.js:1245
msgid "Delete Part Relationship"
msgstr ""
-#: templates/js/translated/part.js:1291 templates/js/translated/part.js:1609
+#: templates/js/translated/part.js:1312 templates/js/translated/part.js:1633
msgid "No parts found"
msgstr ""
-#: templates/js/translated/part.js:1488
+#: templates/js/translated/part.js:1499
msgid "No category"
msgstr ""
-#: templates/js/translated/part.js:1519
+#: templates/js/translated/part.js:1530
msgid "No stock"
msgstr ""
-#: templates/js/translated/part.js:1543
+#: templates/js/translated/part.js:1554
msgid "Allocated to build orders"
msgstr ""
-#: templates/js/translated/part.js:1547
+#: templates/js/translated/part.js:1558
msgid "Allocated to sales orders"
msgstr ""
-#: templates/js/translated/part.js:1633 templates/js/translated/part.js:1876
-#: templates/js/translated/stock.js:2349
+#: templates/js/translated/part.js:1657 templates/js/translated/part.js:1900
+#: templates/js/translated/stock.js:2367
msgid "Display as list"
msgstr ""
-#: templates/js/translated/part.js:1649
+#: templates/js/translated/part.js:1673
msgid "Display as grid"
msgstr ""
-#: templates/js/translated/part.js:1715
+#: templates/js/translated/part.js:1739
msgid "Set the part category for the selected parts"
msgstr ""
-#: templates/js/translated/part.js:1720
+#: templates/js/translated/part.js:1744
msgid "Set Part Category"
msgstr ""
-#: templates/js/translated/part.js:1725
+#: templates/js/translated/part.js:1749
msgid "Select Part Category"
msgstr ""
-#: templates/js/translated/part.js:1738
+#: templates/js/translated/part.js:1762
msgid "Category is required"
msgstr ""
-#: templates/js/translated/part.js:1896 templates/js/translated/stock.js:2369
+#: templates/js/translated/part.js:1920 templates/js/translated/stock.js:2387
msgid "Display as tree"
msgstr ""
-#: templates/js/translated/part.js:1976
+#: templates/js/translated/part.js:2000
msgid "Load Subcategories"
msgstr ""
-#: templates/js/translated/part.js:1992
+#: templates/js/translated/part.js:2016
msgid "Subscribed category"
msgstr ""
-#: templates/js/translated/part.js:2056
+#: templates/js/translated/part.js:2080
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:2107 templates/js/translated/stock.js:1299
+#: templates/js/translated/part.js:2131 templates/js/translated/stock.js:1318
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:2108 templates/js/translated/stock.js:1300
-#: templates/js/translated/stock.js:1560
+#: templates/js/translated/part.js:2132 templates/js/translated/stock.js:1319
+#: templates/js/translated/stock.js:1579
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:2114
+#: templates/js/translated/part.js:2138
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:2136
+#: templates/js/translated/part.js:2160
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2150
+#: templates/js/translated/part.js:2174
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2175
-#, python-brace-format
-msgid "No ${human_name} information found"
-msgstr ""
-
-#: templates/js/translated/part.js:2232
-#, python-brace-format
-msgid "Edit ${human_name}"
-msgstr ""
-
-#: templates/js/translated/part.js:2233
-#, python-brace-format
-msgid "Delete ${human_name}"
-msgstr ""
-
-#: templates/js/translated/part.js:2398 templates/js/translated/part.js:2399
+#: templates/js/translated/part.js:2255 templates/js/translated/part.js:2256
msgid "No date specified"
msgstr ""
-#: templates/js/translated/part.js:2401
+#: templates/js/translated/part.js:2258
msgid "Specified date is in the past"
msgstr ""
-#: templates/js/translated/part.js:2407
+#: templates/js/translated/part.js:2264
msgid "Speculative"
msgstr ""
-#: templates/js/translated/part.js:2457
+#: templates/js/translated/part.js:2314
msgid "No scheduling information available for this part"
msgstr ""
-#: templates/js/translated/part.js:2463
+#: templates/js/translated/part.js:2320
msgid "Error fetching scheduling information for this part"
msgstr ""
-#: templates/js/translated/part.js:2559
+#: templates/js/translated/part.js:2416
msgid "Scheduled Stock Quantities"
msgstr ""
-#: templates/js/translated/part.js:2575
+#: templates/js/translated/part.js:2432
msgid "Maximum Quantity"
msgstr ""
-#: templates/js/translated/part.js:2620
+#: templates/js/translated/part.js:2477
msgid "Minimum Stock Level"
msgstr ""
-#: templates/js/translated/part.js:2721
-msgid "Single Price"
-msgstr ""
-
-#: templates/js/translated/part.js:2740
-msgid "Single Price Difference"
-msgstr ""
-
#: templates/js/translated/plugin.js:23
msgid "The Plugin was installed"
msgstr ""
+#: templates/js/translated/pricing.js:54
+msgid "No BOM data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:196
+msgid "No supplier pricing data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:305
+msgid "No price break data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:361
+#, python-brace-format
+msgid "Edit ${human_name}"
+msgstr ""
+
+#: templates/js/translated/pricing.js:362
+#, python-brace-format
+msgid "Delete ${human_name}"
+msgstr ""
+
+#: templates/js/translated/pricing.js:480
+msgid "No purchase history data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:502
+msgid "Purchase Price History"
+msgstr ""
+
+#: templates/js/translated/pricing.js:602
+msgid "No sales history data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:624
+msgid "Sale Price History"
+msgstr ""
+
+#: templates/js/translated/pricing.js:708
+msgid "No variant data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:748
+msgid "Variant Part"
+msgstr ""
+
#: templates/js/translated/report.js:67
msgid "items selected"
msgstr ""
@@ -9855,364 +10177,364 @@ msgstr ""
msgid "Are you sure you want to delete this stock location?"
msgstr ""
-#: templates/js/translated/stock.js:175
-msgid "Any child locations will be moved to the parent of this location"
+#: templates/js/translated/stock.js:180
+msgid "Move to parent stock location"
msgstr ""
-#: templates/js/translated/stock.js:176
-msgid "Any stock items in this location will be moved to the parent of this location"
-msgstr ""
-
-#: templates/js/translated/stock.js:182
+#: templates/js/translated/stock.js:189
msgid "Delete Stock Location"
msgstr ""
-#: templates/js/translated/stock.js:227
+#: templates/js/translated/stock.js:193
+msgid "Action for stock items in this stock location"
+msgstr ""
+
+#: templates/js/translated/stock.js:198
+msgid "Action for sub-locations"
+msgstr ""
+
+#: templates/js/translated/stock.js:246
msgid "This part cannot be serialized"
msgstr ""
-#: templates/js/translated/stock.js:266
+#: templates/js/translated/stock.js:285
msgid "Enter initial quantity for this stock item"
msgstr ""
-#: templates/js/translated/stock.js:272
+#: templates/js/translated/stock.js:291
msgid "Enter serial numbers for new stock (or leave blank)"
msgstr ""
-#: templates/js/translated/stock.js:337
+#: templates/js/translated/stock.js:356
msgid "Stock item duplicated"
msgstr ""
-#: templates/js/translated/stock.js:357
+#: templates/js/translated/stock.js:376
msgid "Duplicate Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:373
+#: templates/js/translated/stock.js:392
msgid "Are you sure you want to delete this stock item?"
msgstr ""
-#: templates/js/translated/stock.js:378
+#: templates/js/translated/stock.js:397
msgid "Delete Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:399
+#: templates/js/translated/stock.js:418
msgid "Edit Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:449
+#: templates/js/translated/stock.js:468
msgid "Created new stock item"
msgstr ""
-#: templates/js/translated/stock.js:462
+#: templates/js/translated/stock.js:481
msgid "Created multiple stock items"
msgstr ""
-#: templates/js/translated/stock.js:487
+#: templates/js/translated/stock.js:506
msgid "Find Serial Number"
msgstr ""
-#: templates/js/translated/stock.js:491 templates/js/translated/stock.js:492
+#: templates/js/translated/stock.js:510 templates/js/translated/stock.js:511
msgid "Enter serial number"
msgstr ""
-#: templates/js/translated/stock.js:508
+#: templates/js/translated/stock.js:527
msgid "Enter a serial number"
msgstr ""
-#: templates/js/translated/stock.js:528
+#: templates/js/translated/stock.js:547
msgid "No matching serial number"
msgstr ""
-#: templates/js/translated/stock.js:537
+#: templates/js/translated/stock.js:556
msgid "More than one matching result found"
msgstr ""
-#: templates/js/translated/stock.js:660
+#: templates/js/translated/stock.js:679
msgid "Confirm stock assignment"
msgstr ""
-#: templates/js/translated/stock.js:661
+#: templates/js/translated/stock.js:680
msgid "Assign Stock to Customer"
msgstr ""
-#: templates/js/translated/stock.js:738
+#: templates/js/translated/stock.js:757
msgid "Warning: Merge operation cannot be reversed"
msgstr ""
-#: templates/js/translated/stock.js:739
+#: templates/js/translated/stock.js:758
msgid "Some information will be lost when merging stock items"
msgstr ""
-#: templates/js/translated/stock.js:741
+#: templates/js/translated/stock.js:760
msgid "Stock transaction history will be deleted for merged items"
msgstr ""
-#: templates/js/translated/stock.js:742
+#: templates/js/translated/stock.js:761
msgid "Supplier part information will be deleted for merged items"
msgstr ""
-#: templates/js/translated/stock.js:828
+#: templates/js/translated/stock.js:847
msgid "Confirm stock item merge"
msgstr ""
-#: templates/js/translated/stock.js:829
+#: templates/js/translated/stock.js:848
msgid "Merge Stock Items"
msgstr ""
-#: templates/js/translated/stock.js:924
+#: templates/js/translated/stock.js:943
msgid "Transfer Stock"
msgstr ""
-#: templates/js/translated/stock.js:925
+#: templates/js/translated/stock.js:944
msgid "Move"
msgstr ""
-#: templates/js/translated/stock.js:931
+#: templates/js/translated/stock.js:950
msgid "Count Stock"
msgstr ""
-#: templates/js/translated/stock.js:932
+#: templates/js/translated/stock.js:951
msgid "Count"
msgstr ""
-#: templates/js/translated/stock.js:936
+#: templates/js/translated/stock.js:955
msgid "Remove Stock"
msgstr ""
-#: templates/js/translated/stock.js:937
+#: templates/js/translated/stock.js:956
msgid "Take"
msgstr ""
-#: templates/js/translated/stock.js:941
+#: templates/js/translated/stock.js:960
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:942 users/models.py:218
+#: templates/js/translated/stock.js:961 users/models.py:220
msgid "Add"
msgstr ""
-#: templates/js/translated/stock.js:946
+#: templates/js/translated/stock.js:965
msgid "Delete Stock"
msgstr ""
-#: templates/js/translated/stock.js:1039
+#: templates/js/translated/stock.js:1058
msgid "Quantity cannot be adjusted for serialized stock"
msgstr ""
-#: templates/js/translated/stock.js:1039
+#: templates/js/translated/stock.js:1058
msgid "Specify stock quantity"
msgstr ""
-#: templates/js/translated/stock.js:1079
+#: templates/js/translated/stock.js:1098
msgid "You must select at least one available stock item"
msgstr ""
-#: templates/js/translated/stock.js:1102
+#: templates/js/translated/stock.js:1121
msgid "Confirm stock adjustment"
msgstr ""
-#: templates/js/translated/stock.js:1238
+#: templates/js/translated/stock.js:1257
msgid "PASS"
msgstr ""
-#: templates/js/translated/stock.js:1240
+#: templates/js/translated/stock.js:1259
msgid "FAIL"
msgstr ""
-#: templates/js/translated/stock.js:1245
+#: templates/js/translated/stock.js:1264
msgid "NO RESULT"
msgstr ""
-#: templates/js/translated/stock.js:1292
+#: templates/js/translated/stock.js:1311
msgid "Pass test"
msgstr ""
-#: templates/js/translated/stock.js:1295
+#: templates/js/translated/stock.js:1314
msgid "Add test result"
msgstr ""
-#: templates/js/translated/stock.js:1321
+#: templates/js/translated/stock.js:1340
msgid "No test results found"
msgstr ""
-#: templates/js/translated/stock.js:1378
+#: templates/js/translated/stock.js:1397
msgid "Test Date"
msgstr ""
-#: templates/js/translated/stock.js:1543
+#: templates/js/translated/stock.js:1562
msgid "Edit Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1565
+#: templates/js/translated/stock.js:1584
msgid "Delete Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1594
+#: templates/js/translated/stock.js:1613
msgid "In production"
msgstr ""
-#: templates/js/translated/stock.js:1598
+#: templates/js/translated/stock.js:1617
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:1606
+#: templates/js/translated/stock.js:1625
msgid "Assigned to Sales Order"
msgstr ""
-#: templates/js/translated/stock.js:1612
+#: templates/js/translated/stock.js:1631
msgid "No stock location set"
msgstr ""
-#: templates/js/translated/stock.js:1781
+#: templates/js/translated/stock.js:1800
msgid "Stock item is in production"
msgstr ""
-#: templates/js/translated/stock.js:1786
+#: templates/js/translated/stock.js:1805
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/translated/stock.js:1789
+#: templates/js/translated/stock.js:1808
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/translated/stock.js:1792
+#: templates/js/translated/stock.js:1811
msgid "Serialized stock item has been allocated"
msgstr ""
-#: templates/js/translated/stock.js:1794
+#: templates/js/translated/stock.js:1813
msgid "Stock item has been fully allocated"
msgstr ""
-#: templates/js/translated/stock.js:1796
+#: templates/js/translated/stock.js:1815
msgid "Stock item has been partially allocated"
msgstr ""
-#: templates/js/translated/stock.js:1799
+#: templates/js/translated/stock.js:1818
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:1803
+#: templates/js/translated/stock.js:1822
msgid "Stock item has expired"
msgstr ""
-#: templates/js/translated/stock.js:1805
+#: templates/js/translated/stock.js:1824
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/translated/stock.js:1812
+#: templates/js/translated/stock.js:1831
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/translated/stock.js:1814
+#: templates/js/translated/stock.js:1833
msgid "Stock item is lost"
msgstr ""
-#: templates/js/translated/stock.js:1816
+#: templates/js/translated/stock.js:1835
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/translated/stock.js:1820
-#: templates/js/translated/table_filters.js:204
+#: templates/js/translated/stock.js:1839
+#: templates/js/translated/table_filters.js:208
msgid "Depleted"
msgstr ""
-#: templates/js/translated/stock.js:1871
-msgid "Stocktake"
-msgstr ""
-
-#: templates/js/translated/stock.js:1950
+#: templates/js/translated/stock.js:1969
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/translated/stock.js:1988
+#: templates/js/translated/stock.js:2006
msgid "No stock items matching query"
msgstr ""
-#: templates/js/translated/stock.js:2161
+#: templates/js/translated/stock.js:2179
msgid "Set Stock Status"
msgstr ""
-#: templates/js/translated/stock.js:2175
+#: templates/js/translated/stock.js:2193
msgid "Select Status Code"
msgstr ""
-#: templates/js/translated/stock.js:2176
+#: templates/js/translated/stock.js:2194
msgid "Status code must be selected"
msgstr ""
-#: templates/js/translated/stock.js:2408
+#: templates/js/translated/stock.js:2426
msgid "Load Subloactions"
msgstr ""
-#: templates/js/translated/stock.js:2503
+#: templates/js/translated/stock.js:2521
msgid "Details"
msgstr ""
-#: templates/js/translated/stock.js:2519
+#: templates/js/translated/stock.js:2537
msgid "Part information unavailable"
msgstr ""
-#: templates/js/translated/stock.js:2541
+#: templates/js/translated/stock.js:2559
msgid "Location no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2560
+#: templates/js/translated/stock.js:2578
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2579
+#: templates/js/translated/stock.js:2597
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2597
+#: templates/js/translated/stock.js:2615
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2620
+#: templates/js/translated/stock.js:2638
msgid "Added"
msgstr ""
-#: templates/js/translated/stock.js:2628
+#: templates/js/translated/stock.js:2646
msgid "Removed"
msgstr ""
-#: templates/js/translated/stock.js:2704
+#: templates/js/translated/stock.js:2722
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:2755 templates/js/translated/stock.js:2791
+#: templates/js/translated/stock.js:2773 templates/js/translated/stock.js:2809
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2804
+#: templates/js/translated/stock.js:2822
msgid "Select stock item to uninstall"
msgstr ""
-#: templates/js/translated/stock.js:2825
+#: templates/js/translated/stock.js:2843
msgid "Install another stock item into this item"
msgstr ""
-#: templates/js/translated/stock.js:2826
+#: templates/js/translated/stock.js:2844
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: templates/js/translated/stock.js:2828
+#: templates/js/translated/stock.js:2846
msgid "The Stock Item links to a Part which is the BOM for this Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2829
+#: templates/js/translated/stock.js:2847
msgid "The Stock Item is currently available in stock"
msgstr ""
-#: templates/js/translated/stock.js:2830
+#: templates/js/translated/stock.js:2848
msgid "The Stock Item is not already installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:2831
+#: templates/js/translated/stock.js:2849
msgid "The Stock Item is tracked by either a batch code or serial number"
msgstr ""
-#: templates/js/translated/stock.js:2844
+#: templates/js/translated/stock.js:2862
msgid "Select part to install"
msgstr ""
@@ -10236,215 +10558,220 @@ msgstr ""
msgid "Allow Variant Stock"
msgstr ""
-#: templates/js/translated/table_filters.js:126
-#: templates/js/translated/table_filters.js:199
+#: templates/js/translated/table_filters.js:92
+#: templates/js/translated/table_filters.js:508
+msgid "Has Pricing"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:130
+#: templates/js/translated/table_filters.js:203
msgid "Include sublocations"
msgstr ""
-#: templates/js/translated/table_filters.js:127
+#: templates/js/translated/table_filters.js:131
msgid "Include locations"
msgstr ""
-#: templates/js/translated/table_filters.js:137
-#: templates/js/translated/table_filters.js:138
-#: templates/js/translated/table_filters.js:445
+#: templates/js/translated/table_filters.js:141
+#: templates/js/translated/table_filters.js:142
+#: templates/js/translated/table_filters.js:449
msgid "Include subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:142
-#: templates/js/translated/table_filters.js:488
+#: templates/js/translated/table_filters.js:146
+#: templates/js/translated/table_filters.js:492
msgid "Subscribed"
msgstr ""
-#: templates/js/translated/table_filters.js:152
-#: templates/js/translated/table_filters.js:234
-msgid "Is Serialized"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:155
-#: templates/js/translated/table_filters.js:241
-msgid "Serial number GTE"
-msgstr ""
-
#: templates/js/translated/table_filters.js:156
-#: templates/js/translated/table_filters.js:242
-msgid "Serial number greater than or equal to"
+#: templates/js/translated/table_filters.js:238
+msgid "Is Serialized"
msgstr ""
#: templates/js/translated/table_filters.js:159
#: templates/js/translated/table_filters.js:245
-msgid "Serial number LTE"
+msgid "Serial number GTE"
msgstr ""
#: templates/js/translated/table_filters.js:160
#: templates/js/translated/table_filters.js:246
-msgid "Serial number less than or equal to"
+msgid "Serial number greater than or equal to"
msgstr ""
#: templates/js/translated/table_filters.js:163
+#: templates/js/translated/table_filters.js:249
+msgid "Serial number LTE"
+msgstr ""
+
#: templates/js/translated/table_filters.js:164
-#: templates/js/translated/table_filters.js:237
-#: templates/js/translated/table_filters.js:238
+#: templates/js/translated/table_filters.js:250
+msgid "Serial number less than or equal to"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:167
+#: templates/js/translated/table_filters.js:168
+#: templates/js/translated/table_filters.js:241
+#: templates/js/translated/table_filters.js:242
msgid "Serial number"
msgstr ""
-#: templates/js/translated/table_filters.js:168
-#: templates/js/translated/table_filters.js:259
+#: templates/js/translated/table_filters.js:172
+#: templates/js/translated/table_filters.js:263
msgid "Batch code"
msgstr ""
-#: templates/js/translated/table_filters.js:179
-#: templates/js/translated/table_filters.js:417
+#: templates/js/translated/table_filters.js:183
+#: templates/js/translated/table_filters.js:421
msgid "Active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:180
+#: templates/js/translated/table_filters.js:184
msgid "Show stock for active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:185
+#: templates/js/translated/table_filters.js:189
msgid "Part is an assembly"
msgstr ""
-#: templates/js/translated/table_filters.js:189
+#: templates/js/translated/table_filters.js:193
msgid "Is allocated"
msgstr ""
-#: templates/js/translated/table_filters.js:190
+#: templates/js/translated/table_filters.js:194
msgid "Item has been allocated"
msgstr ""
-#: templates/js/translated/table_filters.js:195
+#: templates/js/translated/table_filters.js:199
msgid "Stock is available for use"
msgstr ""
-#: templates/js/translated/table_filters.js:200
+#: templates/js/translated/table_filters.js:204
msgid "Include stock in sublocations"
msgstr ""
-#: templates/js/translated/table_filters.js:205
+#: templates/js/translated/table_filters.js:209
msgid "Show stock items which are depleted"
msgstr ""
-#: templates/js/translated/table_filters.js:210
+#: templates/js/translated/table_filters.js:214
msgid "Show items which are in stock"
msgstr ""
-#: templates/js/translated/table_filters.js:214
+#: templates/js/translated/table_filters.js:218
msgid "In Production"
msgstr ""
-#: templates/js/translated/table_filters.js:215
+#: templates/js/translated/table_filters.js:219
msgid "Show items which are in production"
msgstr ""
-#: templates/js/translated/table_filters.js:219
+#: templates/js/translated/table_filters.js:223
msgid "Include Variants"
msgstr ""
-#: templates/js/translated/table_filters.js:220
+#: templates/js/translated/table_filters.js:224
msgid "Include stock items for variant parts"
msgstr ""
-#: templates/js/translated/table_filters.js:224
+#: templates/js/translated/table_filters.js:228
msgid "Installed"
msgstr ""
-#: templates/js/translated/table_filters.js:225
+#: templates/js/translated/table_filters.js:229
msgid "Show stock items which are installed in another item"
msgstr ""
-#: templates/js/translated/table_filters.js:230
+#: templates/js/translated/table_filters.js:234
msgid "Show items which have been assigned to a customer"
msgstr ""
-#: templates/js/translated/table_filters.js:250
-#: templates/js/translated/table_filters.js:251
+#: templates/js/translated/table_filters.js:254
+#: templates/js/translated/table_filters.js:255
msgid "Stock status"
msgstr ""
-#: templates/js/translated/table_filters.js:254
+#: templates/js/translated/table_filters.js:258
msgid "Has batch code"
msgstr ""
-#: templates/js/translated/table_filters.js:262
+#: templates/js/translated/table_filters.js:266
msgid "Tracked"
msgstr ""
-#: templates/js/translated/table_filters.js:263
+#: templates/js/translated/table_filters.js:267
msgid "Stock item is tracked by either batch code or serial number"
msgstr ""
-#: templates/js/translated/table_filters.js:268
+#: templates/js/translated/table_filters.js:272
msgid "Has purchase price"
msgstr ""
-#: templates/js/translated/table_filters.js:269
+#: templates/js/translated/table_filters.js:273
msgid "Show stock items which have a purchase price set"
msgstr ""
-#: templates/js/translated/table_filters.js:278
+#: templates/js/translated/table_filters.js:282
msgid "Show stock items which have expired"
msgstr ""
-#: templates/js/translated/table_filters.js:284
+#: templates/js/translated/table_filters.js:288
msgid "Show stock which is close to expiring"
msgstr ""
-#: templates/js/translated/table_filters.js:296
+#: templates/js/translated/table_filters.js:300
msgid "Test Passed"
msgstr ""
-#: templates/js/translated/table_filters.js:300
+#: templates/js/translated/table_filters.js:304
msgid "Include Installed Items"
msgstr ""
-#: templates/js/translated/table_filters.js:319
+#: templates/js/translated/table_filters.js:323
msgid "Build status"
msgstr ""
-#: templates/js/translated/table_filters.js:332
-#: templates/js/translated/table_filters.js:373
+#: templates/js/translated/table_filters.js:336
+#: templates/js/translated/table_filters.js:377
msgid "Assigned to me"
msgstr ""
-#: templates/js/translated/table_filters.js:349
-#: templates/js/translated/table_filters.js:360
-#: templates/js/translated/table_filters.js:390
+#: templates/js/translated/table_filters.js:353
+#: templates/js/translated/table_filters.js:364
+#: templates/js/translated/table_filters.js:394
msgid "Order status"
msgstr ""
-#: templates/js/translated/table_filters.js:365
-#: templates/js/translated/table_filters.js:382
-#: templates/js/translated/table_filters.js:395
+#: templates/js/translated/table_filters.js:369
+#: templates/js/translated/table_filters.js:386
+#: templates/js/translated/table_filters.js:399
msgid "Outstanding"
msgstr ""
-#: templates/js/translated/table_filters.js:446
+#: templates/js/translated/table_filters.js:450
msgid "Include parts in subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:451
+#: templates/js/translated/table_filters.js:455
msgid "Show active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:459
+#: templates/js/translated/table_filters.js:463
msgid "Available stock"
msgstr ""
-#: templates/js/translated/table_filters.js:467
+#: templates/js/translated/table_filters.js:471
msgid "Has IPN"
msgstr ""
-#: templates/js/translated/table_filters.js:468
+#: templates/js/translated/table_filters.js:472
msgid "Part has internal part number"
msgstr ""
-#: templates/js/translated/table_filters.js:472
+#: templates/js/translated/table_filters.js:476
msgid "In stock"
msgstr ""
-#: templates/js/translated/table_filters.js:480
+#: templates/js/translated/table_filters.js:484
msgid "Purchasable"
msgstr ""
@@ -10554,6 +10881,10 @@ msgstr ""
msgid "Show all notifications and history"
msgstr ""
+#: templates/price_data.html:7
+msgid "No data"
+msgstr ""
+
#: templates/qr_code.html:11
msgid "QR data not provided"
msgstr ""
@@ -10738,35 +11069,35 @@ msgstr ""
msgid "Important dates"
msgstr ""
-#: users/models.py:205
+#: users/models.py:207
msgid "Permission set"
msgstr ""
-#: users/models.py:213
+#: users/models.py:215
msgid "Group"
msgstr ""
-#: users/models.py:216
+#: users/models.py:218
msgid "View"
msgstr ""
-#: users/models.py:216
+#: users/models.py:218
msgid "Permission to view items"
msgstr ""
-#: users/models.py:218
+#: users/models.py:220
msgid "Permission to add items"
msgstr ""
-#: users/models.py:220
+#: users/models.py:222
msgid "Change"
msgstr ""
-#: users/models.py:220
+#: users/models.py:222
msgid "Permissions to edit items"
msgstr ""
-#: users/models.py:222
+#: users/models.py:224
msgid "Permission to delete items"
msgstr ""
diff --git a/InvenTree/locale/de/LC_MESSAGES/django.po b/InvenTree/locale/de/LC_MESSAGES/django.po
index 962ac1b999..d0e28e1624 100644
--- a/InvenTree/locale/de/LC_MESSAGES/django.po
+++ b/InvenTree/locale/de/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-11-04 14:07+0000\n"
-"PO-Revision-Date: 2022-11-04 19:03\n"
+"POT-Creation-Date: 2022-11-14 04:59+0000\n"
+"PO-Revision-Date: 2022-11-14 14:51\n"
"Last-Translator: \n"
"Language-Team: German\n"
"Language: de_DE\n"
@@ -17,7 +17,7 @@ msgstr ""
"X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n"
"X-Crowdin-File-ID: 154\n"
-#: InvenTree/api.py:54
+#: InvenTree/api.py:61
msgid "API endpoint not found"
msgstr "API-Endpunkt nicht gefunden"
@@ -25,27 +25,27 @@ msgstr "API-Endpunkt nicht gefunden"
msgid "Error details can be found in the admin panel"
msgstr "Fehlerdetails finden Sie im Admin-Panel"
-#: InvenTree/fields.py:120
+#: InvenTree/fields.py:129
msgid "Enter date"
msgstr "Datum eingeben"
-#: InvenTree/fields.py:195 build/serializers.py:387
-#: build/templates/build/sidebar.html:21 company/models.py:525
-#: company/templates/company/sidebar.html:25 order/models.py:920
+#: InvenTree/fields.py:204 build/serializers.py:387
+#: build/templates/build/sidebar.html:21 company/models.py:529
+#: company/templates/company/sidebar.html:25 order/models.py:943
#: order/templates/order/po_sidebar.html:11
-#: order/templates/order/so_sidebar.html:17
-#: part/templates/part/part_sidebar.html:59
+#: order/templates/order/so_sidebar.html:17 part/admin.py:27
+#: part/templates/part/part_sidebar.html:57
#: report/templates/report/inventree_build_order_base.html:172
-#: stock/models.py:2002 stock/models.py:2110 stock/serializers.py:327
-#: stock/serializers.py:460 stock/serializers.py:541 stock/serializers.py:827
-#: stock/serializers.py:926 stock/serializers.py:1058
+#: stock/admin.py:103 stock/models.py:2018 stock/models.py:2126
+#: stock/serializers.py:321 stock/serializers.py:454 stock/serializers.py:535
+#: stock/serializers.py:826 stock/serializers.py:925 stock/serializers.py:1057
#: stock/templates/stock/stock_sidebar.html:25
-#: templates/js/translated/barcode.js:108 templates/js/translated/bom.js:1146
-#: templates/js/translated/company.js:1022
-#: templates/js/translated/order.js:2404 templates/js/translated/order.js:2552
-#: templates/js/translated/order.js:3048 templates/js/translated/order.js:3999
-#: templates/js/translated/order.js:4394 templates/js/translated/stock.js:1374
-#: templates/js/translated/stock.js:1982
+#: templates/js/translated/barcode.js:108 templates/js/translated/bom.js:1211
+#: templates/js/translated/company.js:1023
+#: templates/js/translated/order.js:2427 templates/js/translated/order.js:2561
+#: templates/js/translated/order.js:3059 templates/js/translated/order.js:3996
+#: templates/js/translated/order.js:4377 templates/js/translated/stock.js:1393
+#: templates/js/translated/stock.js:2000
msgid "Notes"
msgstr "Notizen"
@@ -122,43 +122,43 @@ msgstr "Remote-Server gab leere Antwort zurück"
msgid "Supplied URL is not a valid image file"
msgstr "Angegebene URL ist kein gültiges Bild"
-#: InvenTree/helpers.py:602 order/models.py:325 order/models.py:477
+#: InvenTree/helpers.py:589 order/models.py:329 order/models.py:496
msgid "Invalid quantity provided"
msgstr "Keine gültige Menge"
-#: InvenTree/helpers.py:610
+#: InvenTree/helpers.py:597
msgid "Empty serial number string"
msgstr "Keine Seriennummer angegeben"
-#: InvenTree/helpers.py:640
+#: InvenTree/helpers.py:627
msgid "Duplicate serial"
msgstr ""
-#: InvenTree/helpers.py:673 InvenTree/helpers.py:708
+#: InvenTree/helpers.py:660 InvenTree/helpers.py:695
#, python-brace-format
msgid "Invalid group range: {g}"
msgstr "Ungültiger Gruppenbereich: {g}"
-#: InvenTree/helpers.py:702
+#: InvenTree/helpers.py:689
#, python-brace-format
msgid "Group range {g} exceeds allowed quantity ({q})"
msgstr ""
-#: InvenTree/helpers.py:726 InvenTree/helpers.py:733 InvenTree/helpers.py:748
+#: InvenTree/helpers.py:713 InvenTree/helpers.py:720 InvenTree/helpers.py:735
#, python-brace-format
msgid "Invalid group sequence: {g}"
msgstr "Ungültige Gruppensequenz: {g}"
-#: InvenTree/helpers.py:758
+#: InvenTree/helpers.py:745
msgid "No serial numbers found"
msgstr "Keine Seriennummern gefunden"
-#: InvenTree/helpers.py:761
+#: InvenTree/helpers.py:748
#, python-brace-format
msgid "Number of unique serial numbers ({s}) must match quantity ({q})"
msgstr "Anzahl der eindeutigen Seriennummern ({s}) muss mit der Anzahl ({q}) übereinstimmen"
-#: InvenTree/helpers.py:960
+#: InvenTree/helpers.py:947
msgid "Remove HTML tags from this value"
msgstr "Entferne HTML-Tags von diesem Wert"
@@ -194,7 +194,7 @@ msgstr "Fehlende Datei"
msgid "Missing external link"
msgstr "Fehlender externer Link"
-#: InvenTree/models.py:405 stock/models.py:2104
+#: InvenTree/models.py:405 stock/models.py:2120
#: templates/js/translated/attachment.js:103
#: templates/js/translated/attachment.js:241
msgid "Attachment"
@@ -204,18 +204,19 @@ msgstr "Anhang"
msgid "Select file to attach"
msgstr "Datei zum Anhängen auswählen"
-#: InvenTree/models.py:412 company/models.py:125 company/models.py:277
-#: company/models.py:512 order/models.py:84 order/models.py:1259
-#: part/models.py:816 part/templates/part/part_scheduling.html:11
+#: InvenTree/models.py:412 common/models.py:2313 company/models.py:129
+#: company/models.py:281 company/models.py:516 order/models.py:85
+#: order/models.py:1282 part/admin.py:25 part/models.py:835
+#: part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
-#: templates/js/translated/company.js:691
-#: templates/js/translated/company.js:1011
-#: templates/js/translated/order.js:3037 templates/js/translated/part.js:1569
+#: stock/admin.py:102 templates/js/translated/company.js:692
+#: templates/js/translated/company.js:1012
+#: templates/js/translated/order.js:3048 templates/js/translated/part.js:1593
msgid "Link"
msgstr "Link"
-#: InvenTree/models.py:413 build/models.py:290 part/models.py:817
-#: stock/models.py:660
+#: InvenTree/models.py:413 build/models.py:290 part/models.py:836
+#: stock/models.py:676
msgid "Link to external URL"
msgstr "Link zu einer externen URL"
@@ -228,12 +229,12 @@ msgstr "Kommentar"
msgid "File comment"
msgstr "Datei-Kommentar"
-#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1744
-#: common/models.py:1745 common/models.py:1968 common/models.py:1969
-#: common/models.py:2231 common/models.py:2232 part/models.py:2254
-#: part/models.py:2274 plugin/models.py:264 plugin/models.py:265
+#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1756
+#: common/models.py:1757 common/models.py:1980 common/models.py:1981
+#: common/models.py:2243 common/models.py:2244 part/models.py:2867
+#: part/models.py:2887 plugin/models.py:264 plugin/models.py:265
#: report/templates/report/inventree_test_report_base.html:96
-#: templates/js/translated/stock.js:2651
+#: templates/js/translated/stock.js:2669
msgid "User"
msgstr "Benutzer"
@@ -270,44 +271,45 @@ msgstr "Fehler beim Umbenennen"
msgid "Invalid choice"
msgstr "Ungültige Auswahl"
-#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1954
-#: company/models.py:359 label/models.py:101 part/models.py:760
-#: part/models.py:2429 plugin/models.py:94 report/models.py:152
+#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1966
+#: company/models.py:363 label/models.py:101 part/models.py:779
+#: part/models.py:3042 plugin/models.py:94 report/models.py:152
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/plugin.html:60
#: templates/InvenTree/settings/plugin.html:104
#: templates/InvenTree/settings/plugin_settings.html:23
#: templates/InvenTree/settings/settings.html:344
-#: templates/js/translated/company.js:580
-#: templates/js/translated/company.js:793
+#: templates/js/translated/company.js:581
+#: templates/js/translated/company.js:794
#: templates/js/translated/notification.js:71
-#: templates/js/translated/part.js:686 templates/js/translated/part.js:838
-#: templates/js/translated/part.js:1964 templates/js/translated/stock.js:2396
+#: templates/js/translated/part.js:700 templates/js/translated/part.js:865
+#: templates/js/translated/part.js:1988 templates/js/translated/stock.js:2414
msgid "Name"
msgstr "Name"
#: InvenTree/models.py:564 build/models.py:163
-#: build/templates/build/detail.html:24 company/models.py:283
-#: company/models.py:518 company/templates/company/company_base.html:71
+#: build/templates/build/detail.html:24 company/models.py:287
+#: company/models.py:522 company/templates/company/company_base.html:71
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:108 label/models.py:108
-#: order/models.py:82 part/models.py:783 part/models.py:2438
-#: part/templates/part/category.html:75 part/templates/part/part_base.html:172
+#: order/models.py:83 part/admin.py:141 part/admin.py:222 part/models.py:802
+#: part/models.py:3051 part/templates/part/category.html:75
+#: part/templates/part/part_base.html:172
#: part/templates/part/part_scheduling.html:12 report/models.py:165
#: report/models.py:507 report/models.py:551
#: report/templates/report/inventree_build_order_base.html:117
-#: stock/templates/stock/location.html:117
+#: stock/admin.py:25 stock/templates/stock/location.html:117
#: templates/InvenTree/settings/plugin_settings.html:28
#: templates/InvenTree/settings/settings.html:355
-#: templates/js/translated/bom.js:579 templates/js/translated/bom.js:887
-#: templates/js/translated/build.js:2580 templates/js/translated/company.js:444
-#: templates/js/translated/company.js:702
-#: templates/js/translated/company.js:986 templates/js/translated/order.js:1988
-#: templates/js/translated/order.js:2220 templates/js/translated/order.js:2826
-#: templates/js/translated/part.js:745 templates/js/translated/part.js:1187
-#: templates/js/translated/part.js:1464 templates/js/translated/part.js:2000
-#: templates/js/translated/part.js:2075 templates/js/translated/stock.js:1748
-#: templates/js/translated/stock.js:2428 templates/js/translated/stock.js:2488
+#: templates/js/translated/bom.js:592 templates/js/translated/bom.js:895
+#: templates/js/translated/build.js:2580 templates/js/translated/company.js:445
+#: templates/js/translated/company.js:703
+#: templates/js/translated/company.js:987 templates/js/translated/order.js:2022
+#: templates/js/translated/order.js:2259 templates/js/translated/order.js:2837
+#: templates/js/translated/part.js:759 templates/js/translated/part.js:1208
+#: templates/js/translated/part.js:1475 templates/js/translated/part.js:2024
+#: templates/js/translated/part.js:2099 templates/js/translated/stock.js:1767
+#: templates/js/translated/stock.js:2446 templates/js/translated/stock.js:2506
msgid "Description"
msgstr "Beschreibung"
@@ -320,7 +322,7 @@ msgid "parent"
msgstr "Eltern"
#: InvenTree/models.py:580 InvenTree/models.py:581
-#: templates/js/translated/part.js:2009 templates/js/translated/stock.js:2437
+#: templates/js/translated/part.js:2033 templates/js/translated/stock.js:2455
msgid "Path"
msgstr "Pfad"
@@ -332,7 +334,7 @@ msgstr "Barcode-Daten"
msgid "Third party barcode data"
msgstr "Drittanbieter-Barcode-Daten"
-#: InvenTree/models.py:688 order/serializers.py:486
+#: InvenTree/models.py:688 order/serializers.py:477
msgid "Barcode Hash"
msgstr "Barcode-Hash"
@@ -352,187 +354,187 @@ msgstr "Serverfehler"
msgid "An error has been logged by the server."
msgstr "Ein Fehler wurde vom Server protokolliert."
-#: InvenTree/serializers.py:58 part/models.py:2774
+#: InvenTree/serializers.py:58 part/models.py:3387
msgid "Must be a valid number"
msgstr "Muss eine gültige Nummer sein"
-#: InvenTree/serializers.py:265
+#: InvenTree/serializers.py:266
msgid "Filename"
msgstr "Dateiname"
-#: InvenTree/serializers.py:300
+#: InvenTree/serializers.py:301
msgid "Invalid value"
msgstr "Ungültiger Wert"
-#: InvenTree/serializers.py:322
+#: InvenTree/serializers.py:323
msgid "Data File"
msgstr "Datendatei"
-#: InvenTree/serializers.py:323
+#: InvenTree/serializers.py:324
msgid "Select data file for upload"
msgstr "Neue Datei zum Hochladen auswählen"
-#: InvenTree/serializers.py:344
+#: InvenTree/serializers.py:345
msgid "Unsupported file type"
msgstr "Nicht unterstütztes Dateiformat"
-#: InvenTree/serializers.py:350
+#: InvenTree/serializers.py:351
msgid "File is too large"
msgstr "Datei ist zu groß"
-#: InvenTree/serializers.py:371
+#: InvenTree/serializers.py:372
msgid "No columns found in file"
msgstr "Keine Spalten in der Datei gefunden"
-#: InvenTree/serializers.py:374
+#: InvenTree/serializers.py:375
msgid "No data rows found in file"
msgstr "Keine Datensätze in der Datei gefunden"
-#: InvenTree/serializers.py:497
+#: InvenTree/serializers.py:498
msgid "No data rows provided"
msgstr "Keine Zeilen ausgewählt"
-#: InvenTree/serializers.py:500
+#: InvenTree/serializers.py:501
msgid "No data columns supplied"
msgstr "Keine Spalten angegeben"
-#: InvenTree/serializers.py:577
+#: InvenTree/serializers.py:578
#, python-brace-format
msgid "Missing required column: '{name}'"
msgstr "Erforderliche Spalte '{name}' fehlt"
-#: InvenTree/serializers.py:586
+#: InvenTree/serializers.py:587
#, python-brace-format
msgid "Duplicate column: '{col}'"
msgstr "Doppelte Spalte: '{col}'"
-#: InvenTree/serializers.py:605
+#: InvenTree/serializers.py:606
#: templates/InvenTree/settings/mixins/urls.html:14
msgid "URL"
msgstr "URL"
-#: InvenTree/serializers.py:606
+#: InvenTree/serializers.py:607
msgid "URL of remote image file"
msgstr "URL der Remote-Bilddatei"
-#: InvenTree/serializers.py:620
+#: InvenTree/serializers.py:621
msgid "Downloading images from remote URL is not enabled"
msgstr "Das Herunterladen von Bildern von Remote-URLs ist nicht aktiviert"
-#: InvenTree/settings.py:621
+#: InvenTree/settings.py:627
msgid "Czech"
msgstr "Tschechisch"
-#: InvenTree/settings.py:622
+#: InvenTree/settings.py:628
msgid "Danish"
msgstr "Dänisch"
-#: InvenTree/settings.py:623
+#: InvenTree/settings.py:629
msgid "German"
msgstr "Deutsch"
-#: InvenTree/settings.py:624
+#: InvenTree/settings.py:630
msgid "Greek"
msgstr "Griechisch"
-#: InvenTree/settings.py:625
+#: InvenTree/settings.py:631
msgid "English"
msgstr "Englisch"
-#: InvenTree/settings.py:626
+#: InvenTree/settings.py:632
msgid "Spanish"
msgstr "Spanisch"
-#: InvenTree/settings.py:627
+#: InvenTree/settings.py:633
msgid "Spanish (Mexican)"
msgstr "Spanisch (Mexikanisch)"
-#: InvenTree/settings.py:628
+#: InvenTree/settings.py:634
msgid "Farsi / Persian"
msgstr "Persisch"
-#: InvenTree/settings.py:629
+#: InvenTree/settings.py:635
msgid "French"
msgstr "Französisch"
-#: InvenTree/settings.py:630
+#: InvenTree/settings.py:636
msgid "Hebrew"
msgstr "Hebräisch"
-#: InvenTree/settings.py:631
+#: InvenTree/settings.py:637
msgid "Hungarian"
msgstr "Ungarisch"
-#: InvenTree/settings.py:632
+#: InvenTree/settings.py:638
msgid "Italian"
msgstr "Italienisch"
-#: InvenTree/settings.py:633
+#: InvenTree/settings.py:639
msgid "Japanese"
msgstr "Japanisch"
-#: InvenTree/settings.py:634
+#: InvenTree/settings.py:640
msgid "Korean"
msgstr "Koreanisch"
-#: InvenTree/settings.py:635
+#: InvenTree/settings.py:641
msgid "Dutch"
msgstr "Niederländisch"
-#: InvenTree/settings.py:636
+#: InvenTree/settings.py:642
msgid "Norwegian"
msgstr "Norwegisch"
-#: InvenTree/settings.py:637
+#: InvenTree/settings.py:643
msgid "Polish"
msgstr "Polnisch"
-#: InvenTree/settings.py:638
+#: InvenTree/settings.py:644
msgid "Portuguese"
msgstr "Portugiesisch"
-#: InvenTree/settings.py:639
+#: InvenTree/settings.py:645
msgid "Portuguese (Brazilian)"
msgstr "Portugiesisch (Brasilien)"
-#: InvenTree/settings.py:640
+#: InvenTree/settings.py:646
msgid "Russian"
msgstr "Russisch"
-#: InvenTree/settings.py:641
+#: InvenTree/settings.py:647
msgid "Swedish"
msgstr "Schwedisch"
-#: InvenTree/settings.py:642
+#: InvenTree/settings.py:648
msgid "Thai"
msgstr "Thailändisch"
-#: InvenTree/settings.py:643
+#: InvenTree/settings.py:649
msgid "Turkish"
msgstr "Türkisch"
-#: InvenTree/settings.py:644
+#: InvenTree/settings.py:650
msgid "Vietnamese"
msgstr "Vietnamesisch"
-#: InvenTree/settings.py:645
+#: InvenTree/settings.py:651
msgid "Chinese"
msgstr "Chinesisch"
-#: InvenTree/status.py:99
+#: InvenTree/status.py:98
msgid "Background worker check failed"
msgstr "Hintergrund-Prozess-Kontrolle fehlgeschlagen"
-#: InvenTree/status.py:103
+#: InvenTree/status.py:102
msgid "Email backend not configured"
msgstr "E-Mail-Backend nicht konfiguriert"
-#: InvenTree/status.py:106
+#: InvenTree/status.py:105
msgid "InvenTree system health checks failed"
msgstr "InvenTree Status-Überprüfung fehlgeschlagen"
#: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140
-#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:342
+#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:346
msgid "Pending"
msgstr "Ausstehend"
@@ -561,8 +563,8 @@ msgstr "Verloren"
msgid "Returned"
msgstr "Zurückgegeben"
-#: InvenTree/status_codes.py:141 order/models.py:1142
-#: templates/js/translated/order.js:3625 templates/js/translated/order.js:3974
+#: InvenTree/status_codes.py:141 order/models.py:1165
+#: templates/js/translated/order.js:3636 templates/js/translated/order.js:3971
msgid "Shipped"
msgstr "Versendet"
@@ -646,7 +648,7 @@ msgstr "Vom übergeordneten Element geteilt"
msgid "Split child item"
msgstr "Unterobjekt geteilt"
-#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2086
+#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2104
msgid "Merged stock items"
msgstr "Lagerartikel zusammengeführt"
@@ -654,7 +656,7 @@ msgstr "Lagerartikel zusammengeführt"
msgid "Converted to variant"
msgstr "In Variante umgewandelt"
-#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:229
+#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:233
msgid "Sent to customer"
msgstr "Zum Kunden geschickt"
@@ -746,7 +748,7 @@ msgstr "Bauauftrag"
#: build/models.py:111 build/templates/build/build_base.html:13
#: build/templates/build/index.html:8 build/templates/build/index.html:12
-#: order/templates/order/sales_order_detail.html:120
+#: order/templates/order/sales_order_detail.html:125
#: order/templates/order/so_sidebar.html:13
#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221
#: templates/InvenTree/search.html:141
@@ -759,15 +761,15 @@ msgstr "Bauaufträge"
msgid "Build Order Reference"
msgstr "Bauauftragsreferenz"
-#: build/models.py:155 order/models.py:240 order/models.py:632
-#: order/models.py:918 part/models.py:2684
+#: build/models.py:155 order/models.py:241 order/models.py:651
+#: order/models.py:941 part/admin.py:224 part/models.py:3297
#: part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:92
-#: templates/js/translated/bom.js:716 templates/js/translated/bom.js:897
-#: templates/js/translated/build.js:1843 templates/js/translated/order.js:2251
-#: templates/js/translated/order.js:2481 templates/js/translated/order.js:3818
-#: templates/js/translated/order.js:4323
+#: templates/js/translated/bom.js:729 templates/js/translated/bom.js:905
+#: templates/js/translated/build.js:1843 templates/js/translated/order.js:2290
+#: templates/js/translated/order.js:2508 templates/js/translated/order.js:3833
+#: templates/js/translated/order.js:4324 templates/js/translated/pricing.js:119
msgid "Reference"
msgstr "Referenz"
@@ -785,39 +787,40 @@ msgid "BuildOrder to which this build is allocated"
msgstr "Bauauftrag, zu dem dieser Bauauftrag zugwiesen ist"
#: build/models.py:180 build/templates/build/build_base.html:80
-#: build/templates/build/detail.html:29 company/models.py:680
-#: order/models.py:1015 order/models.py:1126 order/models.py:1127
-#: part/models.py:343 part/models.py:2200 part/models.py:2215
-#: part/models.py:2234 part/models.py:2252 part/models.py:2351
-#: part/models.py:2472 part/models.py:2564 part/models.py:2649
-#: part/models.py:2943 part/serializers.py:828
+#: build/templates/build/detail.html:29 company/models.py:684
+#: order/models.py:1038 order/models.py:1149 order/models.py:1150
+#: part/models.py:362 part/models.py:2700 part/models.py:2813
+#: part/models.py:2828 part/models.py:2847 part/models.py:2865
+#: part/models.py:2964 part/models.py:3085 part/models.py:3177
+#: part/models.py:3262 part/models.py:3578 part/serializers.py:852
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
#: report/templates/report/inventree_build_order_base.html:109
#: report/templates/report/inventree_po_report.html:89
-#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:86
-#: stock/serializers.py:494 templates/InvenTree/search.html:82
+#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:90
+#: stock/serializers.py:488 templates/InvenTree/search.html:82
#: templates/email/build_order_completed.html:17
#: templates/email/build_order_required_stock.html:17
#: templates/email/low_stock_notification.html:16
#: templates/email/overdue_build_order.html:16
-#: templates/js/translated/barcode.js:479 templates/js/translated/bom.js:578
-#: templates/js/translated/bom.js:715 templates/js/translated/bom.js:841
+#: templates/js/translated/barcode.js:479 templates/js/translated/bom.js:591
+#: templates/js/translated/bom.js:728 templates/js/translated/bom.js:849
#: templates/js/translated/build.js:1214 templates/js/translated/build.js:1711
#: templates/js/translated/build.js:2194 templates/js/translated/build.js:2585
-#: templates/js/translated/company.js:301
-#: templates/js/translated/company.js:531
-#: templates/js/translated/company.js:643
-#: templates/js/translated/company.js:904 templates/js/translated/order.js:106
-#: templates/js/translated/order.js:1134 templates/js/translated/order.js:1638
-#: templates/js/translated/order.js:2205 templates/js/translated/order.js:3180
-#: templates/js/translated/order.js:3576 templates/js/translated/order.js:3802
-#: templates/js/translated/part.js:1172 templates/js/translated/part.js:1244
-#: templates/js/translated/part.js:1442 templates/js/translated/stock.js:586
-#: templates/js/translated/stock.js:751 templates/js/translated/stock.js:958
-#: templates/js/translated/stock.js:1700 templates/js/translated/stock.js:2514
-#: templates/js/translated/stock.js:2709 templates/js/translated/stock.js:2843
+#: templates/js/translated/company.js:302
+#: templates/js/translated/company.js:532
+#: templates/js/translated/company.js:644
+#: templates/js/translated/company.js:905 templates/js/translated/order.js:106
+#: templates/js/translated/order.js:1168 templates/js/translated/order.js:1672
+#: templates/js/translated/order.js:2244 templates/js/translated/order.js:3191
+#: templates/js/translated/order.js:3587 templates/js/translated/order.js:3817
+#: templates/js/translated/part.js:1193 templates/js/translated/part.js:1265
+#: templates/js/translated/part.js:1452 templates/js/translated/pricing.js:102
+#: templates/js/translated/stock.js:605 templates/js/translated/stock.js:770
+#: templates/js/translated/stock.js:977 templates/js/translated/stock.js:1719
+#: templates/js/translated/stock.js:2532 templates/js/translated/stock.js:2727
+#: templates/js/translated/stock.js:2861
msgid "Part"
msgstr "Teil"
@@ -834,7 +837,7 @@ msgid "SalesOrder to which this build is allocated"
msgstr "Bestellung, die diesem Bauauftrag zugewiesen ist"
#: build/models.py:202 build/serializers.py:822
-#: templates/js/translated/build.js:2182 templates/js/translated/order.js:3168
+#: templates/js/translated/build.js:2182 templates/js/translated/order.js:3179
msgid "Source Location"
msgstr "Quell-Lagerort"
@@ -874,8 +877,8 @@ msgstr "Bauauftrags-Status"
msgid "Build status code"
msgstr "Bau-Statuscode"
-#: build/models.py:245 build/serializers.py:224 order/serializers.py:464
-#: stock/models.py:664 templates/js/translated/order.js:1496
+#: build/models.py:245 build/serializers.py:224 order/serializers.py:455
+#: stock/models.py:680 templates/js/translated/order.js:1530
msgid "Batch Code"
msgstr "Losnummer"
@@ -883,12 +886,12 @@ msgstr "Losnummer"
msgid "Batch code for this build output"
msgstr "Losnummer für dieses Endprodukt"
-#: build/models.py:252 order/models.py:86 part/models.py:952
-#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2839
+#: build/models.py:252 order/models.py:87 part/models.py:971
+#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2850
msgid "Creation Date"
msgstr "Erstelldatum"
-#: build/models.py:256 order/models.py:662
+#: build/models.py:256 order/models.py:681
msgid "Target completion date"
msgstr "geplantes Fertigstellungsdatum"
@@ -896,7 +899,7 @@ msgstr "geplantes Fertigstellungsdatum"
msgid "Target date for build completion. Build will be overdue after this date."
msgstr "Zieldatum für Bauauftrag-Fertigstellung."
-#: build/models.py:260 order/models.py:291
+#: build/models.py:260 order/models.py:292
#: templates/js/translated/build.js:2662
msgid "Completion Date"
msgstr "Fertigstellungsdatum"
@@ -914,11 +917,11 @@ msgid "User who issued this build order"
msgstr "Nutzer der diesen Bauauftrag erstellt hat"
#: build/models.py:283 build/templates/build/build_base.html:193
-#: build/templates/build/detail.html:115 order/models.py:100
+#: build/templates/build/detail.html:115 order/models.py:101
#: order/templates/order/order_base.html:185
-#: order/templates/order/sales_order_base.html:183 part/models.py:956
+#: order/templates/order/sales_order_base.html:183 part/models.py:975
#: report/templates/report/inventree_build_order_base.html:158
-#: templates/js/translated/build.js:2642 templates/js/translated/order.js:2022
+#: templates/js/translated/build.js:2642 templates/js/translated/order.js:2056
msgid "Responsible"
msgstr "Verantwortlicher Benutzer"
@@ -929,7 +932,7 @@ msgstr "Nutzer der für diesen Bauauftrag zuständig ist"
#: build/models.py:289 build/templates/build/detail.html:101
#: company/templates/company/manufacturer_part.html:107
#: company/templates/company/supplier_part.html:188
-#: part/templates/part/part_base.html:361 stock/models.py:658
+#: part/templates/part/part_base.html:376 stock/models.py:674
#: stock/templates/stock/item_base.html:203
msgid "External Link"
msgstr "Externer Link"
@@ -968,11 +971,11 @@ msgstr "Bauauftragsposition muss ein Endprodukt festlegen, da der übergeordnete
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr "Zugewiesene Menge ({q}) darf nicht verfügbare Menge ({a}) übersteigen"
-#: build/models.py:1191 order/models.py:1393
+#: build/models.py:1191 order/models.py:1416
msgid "Stock item is over-allocated"
msgstr "BestandObjekt ist zu oft zugewiesen"
-#: build/models.py:1197 order/models.py:1396
+#: build/models.py:1197 order/models.py:1419
msgid "Allocation quantity must be greater than zero"
msgstr "Reserviermenge muss größer null sein"
@@ -994,18 +997,18 @@ msgstr "Bauauftrag"
msgid "Build to allocate parts"
msgstr "Bauauftrag starten um Teile zuzuweisen"
-#: build/models.py:1346 build/serializers.py:663 order/serializers.py:1039
-#: order/serializers.py:1060 stock/serializers.py:398 stock/serializers.py:758
-#: stock/serializers.py:884 stock/templates/stock/item_base.html:10
+#: build/models.py:1346 build/serializers.py:663 order/serializers.py:1032
+#: order/serializers.py:1053 stock/serializers.py:392 stock/serializers.py:757
+#: stock/serializers.py:883 stock/templates/stock/item_base.html:10
#: stock/templates/stock/item_base.html:23
#: stock/templates/stock/item_base.html:197
#: templates/js/translated/build.js:790 templates/js/translated/build.js:795
#: templates/js/translated/build.js:2196 templates/js/translated/build.js:2747
-#: templates/js/translated/order.js:107 templates/js/translated/order.js:3181
-#: templates/js/translated/order.js:3483 templates/js/translated/order.js:3488
-#: templates/js/translated/order.js:3583 templates/js/translated/order.js:3675
-#: templates/js/translated/stock.js:587 templates/js/translated/stock.js:752
-#: templates/js/translated/stock.js:2587
+#: templates/js/translated/order.js:107 templates/js/translated/order.js:3192
+#: templates/js/translated/order.js:3494 templates/js/translated/order.js:3499
+#: templates/js/translated/order.js:3594 templates/js/translated/order.js:3686
+#: templates/js/translated/stock.js:606 templates/js/translated/stock.js:771
+#: templates/js/translated/stock.js:2605
msgid "Stock Item"
msgstr "Lagerartikel"
@@ -1015,12 +1018,10 @@ msgstr "Quell-Lagerartikel"
#: build/models.py:1359 build/serializers.py:192
#: build/templates/build/build_base.html:85
-#: build/templates/build/detail.html:34 common/models.py:1776
-#: company/templates/company/supplier_part.html:341 order/models.py:911
-#: order/models.py:1437 order/serializers.py:1213
-#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:40
-#: part/models.py:2665 part/templates/part/detail.html:938
-#: part/templates/part/detail.html:1024
+#: build/templates/build/detail.html:34 common/models.py:1788
+#: order/models.py:934 order/models.py:1460 order/serializers.py:1206
+#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:223
+#: part/forms.py:40 part/models.py:3278
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_build_order_base.html:113
@@ -1028,25 +1029,29 @@ msgstr "Quell-Lagerartikel"
#: report/templates/report/inventree_so_report.html:91
#: report/templates/report/inventree_test_report_base.html:81
#: report/templates/report/inventree_test_report_base.html:139
-#: stock/serializers.py:291 stock/templates/stock/item_base.html:290
+#: stock/admin.py:86 stock/serializers.py:285
+#: stock/templates/stock/item_base.html:290
#: stock/templates/stock/item_base.html:298
#: templates/email/build_order_completed.html:18
-#: templates/js/translated/barcode.js:481 templates/js/translated/bom.js:717
-#: templates/js/translated/bom.js:905 templates/js/translated/build.js:474
+#: templates/js/translated/barcode.js:481 templates/js/translated/bom.js:730
+#: templates/js/translated/bom.js:913 templates/js/translated/build.js:474
#: templates/js/translated/build.js:626 templates/js/translated/build.js:817
#: templates/js/translated/build.js:1236 templates/js/translated/build.js:1737
#: templates/js/translated/build.js:2197
+#: templates/js/translated/company.js:1159
#: templates/js/translated/model_renderers.js:120
-#: templates/js/translated/order.js:123 templates/js/translated/order.js:1137
-#: templates/js/translated/order.js:2257 templates/js/translated/order.js:2487
-#: templates/js/translated/order.js:3182 templates/js/translated/order.js:3502
-#: templates/js/translated/order.js:3589 templates/js/translated/order.js:3681
-#: templates/js/translated/order.js:3824 templates/js/translated/order.js:4329
-#: templates/js/translated/part.js:1036 templates/js/translated/part.js:2220
-#: templates/js/translated/part.js:2689 templates/js/translated/part.js:2730
-#: templates/js/translated/part.js:2808 templates/js/translated/stock.js:458
-#: templates/js/translated/stock.js:612 templates/js/translated/stock.js:782
-#: templates/js/translated/stock.js:2636 templates/js/translated/stock.js:2721
+#: templates/js/translated/order.js:123 templates/js/translated/order.js:1171
+#: templates/js/translated/order.js:2296 templates/js/translated/order.js:2514
+#: templates/js/translated/order.js:3193 templates/js/translated/order.js:3513
+#: templates/js/translated/order.js:3600 templates/js/translated/order.js:3692
+#: templates/js/translated/order.js:3839 templates/js/translated/order.js:4330
+#: templates/js/translated/part.js:1063 templates/js/translated/part.js:2546
+#: templates/js/translated/pricing.js:114
+#: templates/js/translated/pricing.js:207
+#: templates/js/translated/pricing.js:255
+#: templates/js/translated/pricing.js:349 templates/js/translated/stock.js:477
+#: templates/js/translated/stock.js:631 templates/js/translated/stock.js:801
+#: templates/js/translated/stock.js:2654 templates/js/translated/stock.js:2739
msgid "Quantity"
msgstr "Anzahl"
@@ -1087,10 +1092,10 @@ msgstr "Dieses Endprodukt ist nicht vollständig zugewiesen"
msgid "Enter quantity for build output"
msgstr "Menge der Endprodukte angeben"
-#: build/serializers.py:207 build/serializers.py:683 order/models.py:323
-#: order/serializers.py:304 order/serializers.py:459 part/serializers.py:558
-#: part/serializers.py:991 stock/models.py:518 stock/models.py:1253
-#: stock/serializers.py:300
+#: build/serializers.py:207 build/serializers.py:683 order/models.py:327
+#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:644
+#: part/serializers.py:1015 stock/models.py:534 stock/models.py:1269
+#: stock/serializers.py:294
msgid "Quantity must be greater than zero"
msgstr "Anzahl muss größer Null sein"
@@ -1102,9 +1107,9 @@ msgstr "Ganzzahl für verfolgbare Teile erforderlich"
msgid "Integer quantity required, as the bill of materials contains trackable parts"
msgstr "Ganzzahl erforderlich da die Stückliste nachverfolgbare Teile enthält"
-#: build/serializers.py:231 order/serializers.py:472 order/serializers.py:1217
-#: stock/serializers.py:309 templates/js/translated/order.js:1507
-#: templates/js/translated/stock.js:271 templates/js/translated/stock.js:459
+#: build/serializers.py:231 order/serializers.py:463 order/serializers.py:1210
+#: stock/serializers.py:303 templates/js/translated/order.js:1541
+#: templates/js/translated/stock.js:290 templates/js/translated/stock.js:478
msgid "Serial Numbers"
msgstr "Seriennummer"
@@ -1120,7 +1125,7 @@ msgstr "Seriennummern automatisch zuweisen"
msgid "Automatically allocate required items with matching serial numbers"
msgstr "Benötigte Lagerartikel automatisch mit passenden Seriennummern zuweisen"
-#: build/serializers.py:281 stock/api.py:589
+#: build/serializers.py:281 stock/api.py:599
msgid "The following serial numbers already exist or are invalid"
msgstr ""
@@ -1128,18 +1133,18 @@ msgstr ""
msgid "A list of build outputs must be provided"
msgstr "Eine Liste von Endprodukten muss angegeben werden"
-#: build/serializers.py:369 order/serializers.py:445 order/serializers.py:556
-#: stock/serializers.py:320 stock/serializers.py:455 stock/serializers.py:536
-#: stock/serializers.py:919 stock/serializers.py:1152
+#: build/serializers.py:369 order/serializers.py:436 order/serializers.py:547
+#: stock/serializers.py:314 stock/serializers.py:449 stock/serializers.py:530
+#: stock/serializers.py:918 stock/serializers.py:1151
#: stock/templates/stock/item_base.html:388
#: templates/js/translated/barcode.js:480
#: templates/js/translated/barcode.js:724 templates/js/translated/build.js:802
-#: templates/js/translated/build.js:1749 templates/js/translated/order.js:1534
-#: templates/js/translated/order.js:3495 templates/js/translated/order.js:3600
-#: templates/js/translated/order.js:3608 templates/js/translated/order.js:3689
-#: templates/js/translated/part.js:181 templates/js/translated/stock.js:588
-#: templates/js/translated/stock.js:753 templates/js/translated/stock.js:960
-#: templates/js/translated/stock.js:1856 templates/js/translated/stock.js:2528
+#: templates/js/translated/build.js:1749 templates/js/translated/order.js:1568
+#: templates/js/translated/order.js:3506 templates/js/translated/order.js:3611
+#: templates/js/translated/order.js:3619 templates/js/translated/order.js:3700
+#: templates/js/translated/part.js:177 templates/js/translated/stock.js:607
+#: templates/js/translated/stock.js:772 templates/js/translated/stock.js:979
+#: templates/js/translated/stock.js:1875 templates/js/translated/stock.js:2546
msgid "Location"
msgstr "Lagerort"
@@ -1148,12 +1153,13 @@ msgid "Location for completed build outputs"
msgstr "Lagerort für fertige Endprodukte"
#: build/serializers.py:376 build/templates/build/build_base.html:145
-#: build/templates/build/detail.html:62 order/models.py:651
-#: order/serializers.py:482 stock/templates/stock/item_base.html:421
+#: build/templates/build/detail.html:62 order/models.py:670
+#: order/serializers.py:473 stock/admin.py:89
+#: stock/templates/stock/item_base.html:421
#: templates/js/translated/barcode.js:214 templates/js/translated/build.js:2614
-#: templates/js/translated/order.js:1643 templates/js/translated/order.js:1992
-#: templates/js/translated/order.js:2831 templates/js/translated/stock.js:1831
-#: templates/js/translated/stock.js:2605 templates/js/translated/stock.js:2737
+#: templates/js/translated/order.js:1677 templates/js/translated/order.js:2026
+#: templates/js/translated/order.js:2842 templates/js/translated/stock.js:1850
+#: templates/js/translated/stock.js:2623 templates/js/translated/stock.js:2755
msgid "Status"
msgstr "Status"
@@ -1213,7 +1219,7 @@ msgstr "Akzeptieren, dass Lagerartikel diesem Bauauftrag nicht vollständig zuge
msgid "Required stock has not been fully allocated"
msgstr "Benötigter Bestand wurde nicht vollständig zugewiesen"
-#: build/serializers.py:545 order/serializers.py:208 order/serializers.py:1107
+#: build/serializers.py:545 order/serializers.py:202 order/serializers.py:1100
msgid "Accept Incomplete"
msgstr "Unvollständig Zuweisung akzeptieren"
@@ -1229,8 +1235,8 @@ msgstr "Benötigte Teil-Anzahl wurde noch nicht fertiggestellt"
msgid "Build order has incomplete outputs"
msgstr "Bauauftrag hat unvollständige Aufbauten"
-#: build/serializers.py:595 build/serializers.py:640 part/models.py:2801
-#: part/models.py:2935
+#: build/serializers.py:595 build/serializers.py:640 part/models.py:3414
+#: part/models.py:3570
msgid "BOM Item"
msgstr "Stücklisten-Position"
@@ -1246,11 +1252,11 @@ msgstr "Endprodukt muss auf den gleichen Bauauftrag verweisen"
msgid "bom_item.part must point to the same part as the build order"
msgstr "bom_item.part muss auf dasselbe Teil verweisen wie der Bauauftrag"
-#: build/serializers.py:669 stock/serializers.py:771
+#: build/serializers.py:669 stock/serializers.py:770
msgid "Item must be in stock"
msgstr "Teil muss auf Lager sein"
-#: build/serializers.py:727 order/serializers.py:1097
+#: build/serializers.py:727 order/serializers.py:1090
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr "Verfügbare Menge ({q}) überschritten"
@@ -1267,7 +1273,7 @@ msgstr "Endprodukt kann bei Zuweisung nicht-verfolgter Teile nicht angegeben wer
msgid "This stock item has already been allocated to this build output"
msgstr "Dieser Lagerbestand wurde bereits diesem Endprodukt zugewiesen"
-#: build/serializers.py:768 order/serializers.py:1381
+#: build/serializers.py:768 order/serializers.py:1374
msgid "Allocation items must be provided"
msgstr "Zuweisungen müssen angegeben werden"
@@ -1382,13 +1388,13 @@ msgid "Stock has not been fully allocated to this Build Order"
msgstr "Bestand wurde Bauauftrag noch nicht vollständig zugewiesen"
#: build/templates/build/build_base.html:154
-#: build/templates/build/detail.html:131 order/models.py:924
+#: build/templates/build/detail.html:131 order/models.py:947
#: order/templates/order/order_base.html:171
#: order/templates/order/sales_order_base.html:164
#: report/templates/report/inventree_build_order_base.html:125
-#: templates/js/translated/build.js:2654 templates/js/translated/order.js:2009
-#: templates/js/translated/order.js:2351 templates/js/translated/order.js:2847
-#: templates/js/translated/order.js:3887 templates/js/translated/part.js:1051
+#: templates/js/translated/build.js:2654 templates/js/translated/order.js:2043
+#: templates/js/translated/order.js:2374 templates/js/translated/order.js:2858
+#: templates/js/translated/order.js:3884 templates/js/translated/part.js:1078
msgid "Target Date"
msgstr "Zieldatum"
@@ -1401,29 +1407,29 @@ msgstr "Bauauftrag war fällig am %(target)s"
#: build/templates/build/build_base.html:204
#: order/templates/order/order_base.html:107
#: order/templates/order/sales_order_base.html:94
-#: templates/js/translated/table_filters.js:328
-#: templates/js/translated/table_filters.js:369
-#: templates/js/translated/table_filters.js:399
+#: templates/js/translated/table_filters.js:332
+#: templates/js/translated/table_filters.js:373
+#: templates/js/translated/table_filters.js:403
msgid "Overdue"
msgstr "Überfällig"
#: build/templates/build/build_base.html:166
#: build/templates/build/detail.html:67 build/templates/build/detail.html:142
#: order/templates/order/sales_order_base.html:171
-#: templates/js/translated/table_filters.js:408
+#: templates/js/translated/table_filters.js:412
msgid "Completed"
msgstr "Fertig"
#: build/templates/build/build_base.html:179
-#: build/templates/build/detail.html:94 order/models.py:1119
-#: order/models.py:1213 order/models.py:1344
+#: build/templates/build/detail.html:94 order/models.py:1142
+#: order/models.py:1236 order/models.py:1367
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
#: report/templates/report/inventree_build_order_base.html:135
#: report/templates/report/inventree_so_report.html:77
#: stock/templates/stock/item_base.html:368
#: templates/email/overdue_sales_order.html:15
-#: templates/js/translated/order.js:2793
+#: templates/js/translated/order.js:2804 templates/js/translated/pricing.js:637
msgid "Sales Order"
msgstr "Auftrag"
@@ -1449,8 +1455,8 @@ msgstr "Ausgangs-Lager"
msgid "Stock can be taken from any available location."
msgstr "Bestand kann jedem verfügbaren Lagerort entnommen werden."
-#: build/templates/build/detail.html:49 order/models.py:1037
-#: templates/js/translated/order.js:1644 templates/js/translated/order.js:2393
+#: build/templates/build/detail.html:49 order/models.py:1060
+#: templates/js/translated/order.js:1678 templates/js/translated/order.js:2416
msgid "Destination"
msgstr "Ziel-Lager"
@@ -1462,14 +1468,14 @@ msgstr "Ziel-Lagerort nicht angegeben"
msgid "Allocated Parts"
msgstr "Zugewiesene Teile"
-#: build/templates/build/detail.html:80
+#: build/templates/build/detail.html:80 stock/admin.py:88
#: stock/templates/stock/item_base.html:168
#: templates/js/translated/build.js:1240
#: templates/js/translated/model_renderers.js:124
-#: templates/js/translated/stock.js:1026 templates/js/translated/stock.js:1845
-#: templates/js/translated/stock.js:2744
-#: templates/js/translated/table_filters.js:167
-#: templates/js/translated/table_filters.js:258
+#: templates/js/translated/stock.js:1045 templates/js/translated/stock.js:1864
+#: templates/js/translated/stock.js:2762
+#: templates/js/translated/table_filters.js:171
+#: templates/js/translated/table_filters.js:262
msgid "Batch"
msgstr "Losnummer"
@@ -1527,7 +1533,7 @@ msgstr "Benötigte Teile bestellen"
#: build/templates/build/detail.html:187
#: company/templates/company/detail.html:37
#: company/templates/company/detail.html:85
-#: part/templates/part/category.html:178 templates/js/translated/order.js:1177
+#: part/templates/part/category.html:178 templates/js/translated/order.js:1211
msgid "Order Parts"
msgstr "Teile bestellen"
@@ -1597,10 +1603,10 @@ msgstr "Fertiggestellte Endprodukte"
#: company/templates/company/manufacturer_part.html:151
#: company/templates/company/manufacturer_part_sidebar.html:9
#: order/templates/order/po_sidebar.html:9
-#: order/templates/order/purchase_order_detail.html:82
-#: order/templates/order/sales_order_detail.html:135
-#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:212
-#: part/templates/part/part_sidebar.html:57 stock/templates/stock/item.html:117
+#: order/templates/order/purchase_order_detail.html:86
+#: order/templates/order/sales_order_detail.html:140
+#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:210
+#: part/templates/part/part_sidebar.html:55 stock/templates/stock/item.html:117
#: stock/templates/stock/stock_sidebar.html:23
msgid "Attachments"
msgstr "Anhänge"
@@ -1617,7 +1623,7 @@ msgstr "Zuordnung abgeschlossen"
msgid "All untracked stock items have been allocated"
msgstr "Alle nicht verfolgten Lagerartikel wurden zugewiesen"
-#: build/templates/build/index.html:18 part/templates/part/detail.html:318
+#: build/templates/build/index.html:18 part/templates/part/detail.html:316
msgid "New Build Order"
msgstr "Neuer Bauauftrag"
@@ -1734,7 +1740,7 @@ msgstr "Anzeige von `Über` einschränken"
msgid "Show the `about` modal only to superusers"
msgstr "Zeige das `Über` Fenster nur Administratoren"
-#: common/models.py:833 company/models.py:94 company/models.py:95
+#: common/models.py:833 company/models.py:98 company/models.py:99
msgid "Company name"
msgstr "Firmenname"
@@ -1902,9 +1908,9 @@ msgstr "Kategorie-Parametervorlage kopieren"
msgid "Copy category parameter templates when creating a part"
msgstr "Kategorie-Parameter Vorlagen kopieren wenn ein Teil angelegt wird"
-#: common/models.py:1002 part/models.py:2474 report/models.py:158
-#: templates/js/translated/table_filters.js:38
-#: templates/js/translated/table_filters.js:492
+#: common/models.py:1002 part/admin.py:41 part/models.py:3087
+#: report/models.py:158 templates/js/translated/table_filters.js:38
+#: templates/js/translated/table_filters.js:496
msgid "Template"
msgstr "Vorlage"
@@ -1912,9 +1918,10 @@ msgstr "Vorlage"
msgid "Parts are templates by default"
msgstr "Teile sind standardmäßig Vorlagen"
-#: common/models.py:1009 part/models.py:908 templates/js/translated/bom.js:1531
-#: templates/js/translated/table_filters.js:184
-#: templates/js/translated/table_filters.js:455
+#: common/models.py:1009 part/admin.py:37 part/admin.py:229 part/models.py:927
+#: templates/js/translated/bom.js:1594
+#: templates/js/translated/table_filters.js:188
+#: templates/js/translated/table_filters.js:459
msgid "Assembly"
msgstr "Baugruppe"
@@ -1922,8 +1929,8 @@ msgstr "Baugruppe"
msgid "Parts can be assembled from other components by default"
msgstr "Teile können standardmäßig aus anderen Teilen angefertigt werden"
-#: common/models.py:1016 part/models.py:914
-#: templates/js/translated/table_filters.js:463
+#: common/models.py:1016 part/admin.py:38 part/models.py:933
+#: templates/js/translated/table_filters.js:467
msgid "Component"
msgstr "Komponente"
@@ -1931,7 +1938,7 @@ msgstr "Komponente"
msgid "Parts can be used as sub-components by default"
msgstr "Teile können standardmäßig in Baugruppen benutzt werden"
-#: common/models.py:1023 part/models.py:925
+#: common/models.py:1023 part/admin.py:39 part/models.py:944
msgid "Purchaseable"
msgstr "Kaufbar"
@@ -1939,8 +1946,8 @@ msgstr "Kaufbar"
msgid "Parts are purchaseable by default"
msgstr "Artikel sind grundsätzlich kaufbar"
-#: common/models.py:1030 part/models.py:930
-#: templates/js/translated/table_filters.js:484
+#: common/models.py:1030 part/admin.py:40 part/models.py:949
+#: templates/js/translated/table_filters.js:488
msgid "Salable"
msgstr "Verkäuflich"
@@ -1948,10 +1955,10 @@ msgstr "Verkäuflich"
msgid "Parts are salable by default"
msgstr "Artikel sind grundsätzlich verkaufbar"
-#: common/models.py:1037 part/models.py:920
+#: common/models.py:1037 part/admin.py:42 part/models.py:939
#: templates/js/translated/table_filters.js:46
-#: templates/js/translated/table_filters.js:116
-#: templates/js/translated/table_filters.js:496
+#: templates/js/translated/table_filters.js:120
+#: templates/js/translated/table_filters.js:500
msgid "Trackable"
msgstr "Nachverfolgbar"
@@ -1959,10 +1966,10 @@ msgstr "Nachverfolgbar"
msgid "Parts are trackable by default"
msgstr "Artikel sind grundsätzlich verfolgbar"
-#: common/models.py:1044 part/models.py:940
+#: common/models.py:1044 part/admin.py:43 part/models.py:959
#: part/templates/part/part_base.html:156
#: templates/js/translated/table_filters.js:42
-#: templates/js/translated/table_filters.js:500
+#: templates/js/translated/table_filters.js:504
msgid "Virtual"
msgstr "Virtuell"
@@ -1979,791 +1986,837 @@ msgid "Display the import wizard in some part views"
msgstr "Importassistent in einigen Teil-Ansichten anzeigen"
#: common/models.py:1058
-msgid "Show Price in Forms"
-msgstr "Preis in Formularen anzeigen"
-
-#: common/models.py:1059
-msgid "Display part price in some forms"
-msgstr "Teilpreis in einigen Formularen anzeigen"
-
-#: common/models.py:1070
-msgid "Show Price in BOM"
-msgstr "Preis in Stückliste anzeigen"
-
-#: common/models.py:1071
-msgid "Include pricing information in BOM tables"
-msgstr "Preisinformationen in Stücklisten Tabellen einbeziehen"
-
-#: common/models.py:1082
-msgid "Show Price History"
-msgstr "Preisverlauf anzeigen"
-
-#: common/models.py:1083
-msgid "Display historical pricing for Part"
-msgstr "Historische Preise für Teil anzeigen"
-
-#: common/models.py:1089
msgid "Show related parts"
msgstr "Verwandte Teile anzeigen"
-#: common/models.py:1090
+#: common/models.py:1059
msgid "Display related parts for a part"
msgstr "Verwandte Teile eines Teils anzeigen"
-#: common/models.py:1096
+#: common/models.py:1065
msgid "Create initial stock"
msgstr "Ausgangsbestand erstellen"
-#: common/models.py:1097
+#: common/models.py:1066
msgid "Create initial stock on part creation"
msgstr "Ausgangsbestand beim Erstellen von Teilen erstellen"
-#: common/models.py:1103
-msgid "Internal Prices"
-msgstr "Interne Preise"
-
-#: common/models.py:1104
-msgid "Enable internal prices for parts"
-msgstr "Interne Preise für Teile aktivieren"
-
-#: common/models.py:1110
-msgid "Internal Price as BOM-Price"
-msgstr "Interner Preis als Stückliste-Preis"
-
-#: common/models.py:1111
-msgid "Use the internal price (if set) in BOM-price calculations"
-msgstr "Interner Preis (falls vorhanden) in Stücklisten-Preisberechnungen verwenden"
-
-#: common/models.py:1117
+#: common/models.py:1072
msgid "Part Name Display Format"
msgstr "Anzeigeformat für Teilenamen"
-#: common/models.py:1118
+#: common/models.py:1073
msgid "Format to display the part name"
msgstr "Format für den Namen eines Teiles"
-#: common/models.py:1125
+#: common/models.py:1080
msgid "Part Category Default Icon"
msgstr ""
-#: common/models.py:1126
+#: common/models.py:1081
msgid "Part category default icon (empty means no icon)"
msgstr ""
-#: common/models.py:1131
-msgid "Enable label printing"
-msgstr "Labeldruck aktivieren"
-
-#: common/models.py:1132
-msgid "Enable label printing from the web interface"
-msgstr "Labeldruck über die Website aktivieren"
-
-#: common/models.py:1138
-msgid "Label Image DPI"
-msgstr "Label Bild DPI"
-
-#: common/models.py:1139
-msgid "DPI resolution when generating image files to supply to label printing plugins"
+#: common/models.py:1086
+msgid "Pricing Decimal Places"
msgstr ""
-#: common/models.py:1148
-msgid "Enable Reports"
-msgstr "Berichte aktivieren"
-
-#: common/models.py:1149
-msgid "Enable generation of reports"
-msgstr "Berichterstellung aktivieren"
-
-#: common/models.py:1155 templates/stats.html:25
-msgid "Debug Mode"
-msgstr "Entwickler-Modus"
-
-#: common/models.py:1156
-msgid "Generate reports in debug mode (HTML output)"
-msgstr "Berichte im Entwickler-Modus generieren (als HTML)"
-
-#: common/models.py:1162
-msgid "Page Size"
-msgstr "Seitengröße"
-
-#: common/models.py:1163
-msgid "Default page size for PDF reports"
-msgstr "Standardseitenformat für PDF-Bericht"
-
-#: common/models.py:1173
-msgid "Enable Test Reports"
-msgstr "Testberichte aktivieren"
-
-#: common/models.py:1174
-msgid "Enable generation of test reports"
-msgstr "Erstellung von Test-Berichten aktivieren"
-
-#: common/models.py:1180
-msgid "Attach Test Reports"
-msgstr "Testberichte anhängen"
-
-#: common/models.py:1181
-msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item"
-msgstr "Beim Drucken eines Testberichts dem zugehörigen Lagerbestand eine Kopie des Testberichts beifügen"
-
-#: common/models.py:1187
-msgid "Globally Unique Serials"
+#: common/models.py:1087
+msgid "Number of decimal places to display when rendering pricing data"
msgstr ""
-#: common/models.py:1188
-msgid "Serial numbers for stock items must be globally unique"
+#: common/models.py:1097
+msgid "Pricing Rebuild Time"
msgstr ""
-#: common/models.py:1194
-msgid "Batch Code Template"
-msgstr "Losnummer Vorlage"
+#: common/models.py:1098
+msgid "Number of days before part pricing is automatically updated"
+msgstr ""
-#: common/models.py:1195
-msgid "Template for generating default batch codes for stock items"
-msgstr "Vorlage für die Generierung von Standard-Losnummern für Lagerbestände"
-
-#: common/models.py:1200
-msgid "Stock Expiry"
-msgstr "Bestands-Ablauf"
-
-#: common/models.py:1201
-msgid "Enable stock expiry functionality"
-msgstr "Ablaufen von Bestand ermöglichen"
-
-#: common/models.py:1207
-msgid "Sell Expired Stock"
-msgstr "Abgelaufenen Bestand verkaufen"
-
-#: common/models.py:1208
-msgid "Allow sale of expired stock"
-msgstr "Verkauf von abgelaufenem Bestand erlaubt"
-
-#: common/models.py:1214
-msgid "Stock Stale Time"
-msgstr "Bestands-Stehzeit"
-
-#: common/models.py:1215
-msgid "Number of days stock items are considered stale before expiring"
-msgstr "Anzahl an Tagen, an denen Bestand als abgestanden markiert wird, bevor sie ablaufen"
-
-#: common/models.py:1217
+#: common/models.py:1099 common/models.py:1208
msgid "days"
msgstr "Tage"
-#: common/models.py:1222
+#: common/models.py:1108
+msgid "Internal Prices"
+msgstr "Interne Preise"
+
+#: common/models.py:1109
+msgid "Enable internal prices for parts"
+msgstr "Interne Preise für Teile aktivieren"
+
+#: common/models.py:1115
+msgid "Internal Price Override"
+msgstr ""
+
+#: common/models.py:1116
+msgid "If available, internal prices override price range calculations"
+msgstr ""
+
+#: common/models.py:1122
+msgid "Enable label printing"
+msgstr "Labeldruck aktivieren"
+
+#: common/models.py:1123
+msgid "Enable label printing from the web interface"
+msgstr "Labeldruck über die Website aktivieren"
+
+#: common/models.py:1129
+msgid "Label Image DPI"
+msgstr "Label Bild DPI"
+
+#: common/models.py:1130
+msgid "DPI resolution when generating image files to supply to label printing plugins"
+msgstr ""
+
+#: common/models.py:1139
+msgid "Enable Reports"
+msgstr "Berichte aktivieren"
+
+#: common/models.py:1140
+msgid "Enable generation of reports"
+msgstr "Berichterstellung aktivieren"
+
+#: common/models.py:1146 templates/stats.html:25
+msgid "Debug Mode"
+msgstr "Entwickler-Modus"
+
+#: common/models.py:1147
+msgid "Generate reports in debug mode (HTML output)"
+msgstr "Berichte im Entwickler-Modus generieren (als HTML)"
+
+#: common/models.py:1153
+msgid "Page Size"
+msgstr "Seitengröße"
+
+#: common/models.py:1154
+msgid "Default page size for PDF reports"
+msgstr "Standardseitenformat für PDF-Bericht"
+
+#: common/models.py:1164
+msgid "Enable Test Reports"
+msgstr "Testberichte aktivieren"
+
+#: common/models.py:1165
+msgid "Enable generation of test reports"
+msgstr "Erstellung von Test-Berichten aktivieren"
+
+#: common/models.py:1171
+msgid "Attach Test Reports"
+msgstr "Testberichte anhängen"
+
+#: common/models.py:1172
+msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item"
+msgstr "Beim Drucken eines Testberichts dem zugehörigen Lagerbestand eine Kopie des Testberichts beifügen"
+
+#: common/models.py:1178
+msgid "Globally Unique Serials"
+msgstr ""
+
+#: common/models.py:1179
+msgid "Serial numbers for stock items must be globally unique"
+msgstr ""
+
+#: common/models.py:1185
+msgid "Batch Code Template"
+msgstr "Losnummer Vorlage"
+
+#: common/models.py:1186
+msgid "Template for generating default batch codes for stock items"
+msgstr "Vorlage für die Generierung von Standard-Losnummern für Lagerbestände"
+
+#: common/models.py:1191
+msgid "Stock Expiry"
+msgstr "Bestands-Ablauf"
+
+#: common/models.py:1192
+msgid "Enable stock expiry functionality"
+msgstr "Ablaufen von Bestand ermöglichen"
+
+#: common/models.py:1198
+msgid "Sell Expired Stock"
+msgstr "Abgelaufenen Bestand verkaufen"
+
+#: common/models.py:1199
+msgid "Allow sale of expired stock"
+msgstr "Verkauf von abgelaufenem Bestand erlaubt"
+
+#: common/models.py:1205
+msgid "Stock Stale Time"
+msgstr "Bestands-Stehzeit"
+
+#: common/models.py:1206
+msgid "Number of days stock items are considered stale before expiring"
+msgstr "Anzahl an Tagen, an denen Bestand als abgestanden markiert wird, bevor sie ablaufen"
+
+#: common/models.py:1213
msgid "Build Expired Stock"
msgstr "Abgelaufenen Bestand verbauen"
-#: common/models.py:1223
+#: common/models.py:1214
msgid "Allow building with expired stock"
msgstr "Verbauen von abgelaufenen Bestand erlaubt"
-#: common/models.py:1229
+#: common/models.py:1220
msgid "Stock Ownership Control"
msgstr "Bestands-Eigentümerkontrolle"
-#: common/models.py:1230
+#: common/models.py:1221
msgid "Enable ownership control over stock locations and items"
msgstr "Eigentümerkontrolle für Lagerorte und Teile aktivieren"
-#: common/models.py:1236
+#: common/models.py:1227
msgid "Stock Location Default Icon"
msgstr ""
-#: common/models.py:1237
+#: common/models.py:1228
msgid "Stock location default icon (empty means no icon)"
msgstr ""
-#: common/models.py:1242
+#: common/models.py:1233
msgid "Build Order Reference Pattern"
msgstr ""
-#: common/models.py:1243
+#: common/models.py:1234
msgid "Required pattern for generating Build Order reference field"
msgstr ""
-#: common/models.py:1249
+#: common/models.py:1240
msgid "Sales Order Reference Pattern"
msgstr ""
-#: common/models.py:1250
+#: common/models.py:1241
msgid "Required pattern for generating Sales Order reference field"
msgstr ""
-#: common/models.py:1256
+#: common/models.py:1247
msgid "Sales Order Default Shipment"
msgstr "Auftrag Standardsendung"
-#: common/models.py:1257
+#: common/models.py:1248
msgid "Enable creation of default shipment with sales orders"
msgstr "Erstelle eine Standardsendung für Aufträge"
-#: common/models.py:1263
+#: common/models.py:1254
+msgid "Edit Completed Sales Orders"
+msgstr ""
+
+#: common/models.py:1255
+msgid "Allow editing of sales orders after they have been shipped or completed"
+msgstr ""
+
+#: common/models.py:1261
msgid "Purchase Order Reference Pattern"
msgstr ""
-#: common/models.py:1264
+#: common/models.py:1262
msgid "Required pattern for generating Purchase Order reference field"
msgstr ""
-#: common/models.py:1271
+#: common/models.py:1268
+msgid "Edit Completed Purchase Orders"
+msgstr ""
+
+#: common/models.py:1269
+msgid "Allow editing of purchase orders after they have been shipped or completed"
+msgstr ""
+
+#: common/models.py:1276
msgid "Enable password forgot"
msgstr "Passwort vergessen aktivieren"
-#: common/models.py:1272
+#: common/models.py:1277
msgid "Enable password forgot function on the login pages"
msgstr "Passwort-vergessen-Funktion auf den Anmeldeseiten aktivieren"
-#: common/models.py:1278
+#: common/models.py:1283
msgid "Enable registration"
msgstr "Anmeldung erlauben"
-#: common/models.py:1279
+#: common/models.py:1284
msgid "Enable self-registration for users on the login pages"
msgstr "Selbstregistrierung für Benutzer auf den Anmeldeseiten aktivieren"
-#: common/models.py:1285
+#: common/models.py:1290
msgid "Enable SSO"
msgstr "SSO aktivieren"
-#: common/models.py:1286
+#: common/models.py:1291
msgid "Enable SSO on the login pages"
msgstr "SSO auf den Anmeldeseiten aktivieren"
-#: common/models.py:1292
+#: common/models.py:1297
msgid "Email required"
msgstr "Email-Adresse erforderlich"
-#: common/models.py:1293
+#: common/models.py:1298
msgid "Require user to supply mail on signup"
msgstr "Benutzer müssen bei der Registrierung eine E-Mail angeben"
-#: common/models.py:1299
+#: common/models.py:1304
msgid "Auto-fill SSO users"
msgstr "SSO-Benutzer automatisch ausfüllen"
-#: common/models.py:1300
+#: common/models.py:1305
msgid "Automatically fill out user-details from SSO account-data"
msgstr "Benutzer-Details automatisch aus SSO-Konto ausfüllen"
-#: common/models.py:1306
+#: common/models.py:1311
msgid "Mail twice"
msgstr "E-Mail zweimal"
-#: common/models.py:1307
+#: common/models.py:1312
msgid "On signup ask users twice for their mail"
msgstr "Bei der Registrierung den Benutzer zweimal nach der E-Mail-Adresse fragen"
-#: common/models.py:1313
+#: common/models.py:1318
msgid "Password twice"
msgstr "Passwort zweimal"
-#: common/models.py:1314
+#: common/models.py:1319
msgid "On signup ask users twice for their password"
msgstr "Bei der Registrierung den Benutzer zweimal nach dem Passwort fragen"
-#: common/models.py:1320
+#: common/models.py:1325
msgid "Group on signup"
msgstr "Gruppe bei Registrierung"
-#: common/models.py:1321
+#: common/models.py:1326
msgid "Group to which new users are assigned on registration"
msgstr "Gruppe der neue Benutzer bei der Registrierung zugewiesen werden"
-#: common/models.py:1327
+#: common/models.py:1332
msgid "Enforce MFA"
msgstr "MFA erzwingen"
-#: common/models.py:1328
+#: common/models.py:1333
msgid "Users must use multifactor security."
msgstr "Benutzer müssen Multifaktor-Authentifizierung verwenden."
-#: common/models.py:1334
+#: common/models.py:1339
msgid "Check plugins on startup"
msgstr "Plugins beim Start prüfen"
-#: common/models.py:1335
+#: common/models.py:1340
msgid "Check that all plugins are installed on startup - enable in container environments"
msgstr ""
-#: common/models.py:1342
+#: common/models.py:1347
msgid "Check plugin signatures"
msgstr ""
-#: common/models.py:1343
+#: common/models.py:1348
msgid "Check and show signatures for plugins"
msgstr ""
-#: common/models.py:1350
+#: common/models.py:1355
msgid "Enable URL integration"
msgstr "URL-Integration aktivieren"
-#: common/models.py:1351
+#: common/models.py:1356
msgid "Enable plugins to add URL routes"
msgstr "Plugins zum Hinzufügen von URLs aktivieren"
-#: common/models.py:1358
+#: common/models.py:1363
msgid "Enable navigation integration"
msgstr "Navigations-Integration aktivieren"
-#: common/models.py:1359
+#: common/models.py:1364
msgid "Enable plugins to integrate into navigation"
msgstr "Plugins zur Integration in die Navigation aktivieren"
-#: common/models.py:1366
+#: common/models.py:1371
msgid "Enable app integration"
msgstr "App-Integration aktivieren"
-#: common/models.py:1367
+#: common/models.py:1372
msgid "Enable plugins to add apps"
msgstr "Plugins zum Hinzufügen von Apps aktivieren"
-#: common/models.py:1374
+#: common/models.py:1379
msgid "Enable schedule integration"
msgstr "Terminplan-Integration aktivieren"
-#: common/models.py:1375
+#: common/models.py:1380
msgid "Enable plugins to run scheduled tasks"
msgstr "Geplante Aufgaben aktivieren"
-#: common/models.py:1382
+#: common/models.py:1387
msgid "Enable event integration"
msgstr "Ereignis-Integration aktivieren"
-#: common/models.py:1383
+#: common/models.py:1388
msgid "Enable plugins to respond to internal events"
msgstr "Plugins ermöglichen auf interne Ereignisse zu reagieren"
-#: common/models.py:1402 common/models.py:1737
+#: common/models.py:1407 common/models.py:1749
msgid "Settings key (must be unique - case insensitive"
msgstr "Einstellungs-Schlüssel (muss einzigartig sein, Groß-/ Kleinschreibung wird nicht beachtet)"
-#: common/models.py:1424
+#: common/models.py:1429
msgid "Show subscribed parts"
msgstr "Abonnierte Teile anzeigen"
-#: common/models.py:1425
+#: common/models.py:1430
msgid "Show subscribed parts on the homepage"
msgstr "Zeige abonnierte Teile auf der Startseite"
-#: common/models.py:1431
+#: common/models.py:1436
msgid "Show subscribed categories"
msgstr "Abonnierte Kategorien anzeigen"
-#: common/models.py:1432
+#: common/models.py:1437
msgid "Show subscribed part categories on the homepage"
msgstr "Zeige abonnierte Teilkategorien auf der Startseite"
-#: common/models.py:1438
+#: common/models.py:1443
msgid "Show latest parts"
msgstr "Neueste Teile anzeigen"
-#: common/models.py:1439
+#: common/models.py:1444
msgid "Show latest parts on the homepage"
msgstr "Zeige neueste Teile auf der Startseite"
-#: common/models.py:1445
+#: common/models.py:1450
msgid "Recent Part Count"
msgstr "Aktuelle Teile-Stände"
-#: common/models.py:1446
+#: common/models.py:1451
msgid "Number of recent parts to display on index page"
msgstr "Anzahl der neusten Teile auf der Startseite"
-#: common/models.py:1452
+#: common/models.py:1457
msgid "Show unvalidated BOMs"
msgstr "Nicht validierte Stücklisten anzeigen"
-#: common/models.py:1453
+#: common/models.py:1458
msgid "Show BOMs that await validation on the homepage"
msgstr "Zeige Stücklisten, die noch nicht validiert sind, auf der Startseite"
-#: common/models.py:1459
+#: common/models.py:1464
msgid "Show recent stock changes"
msgstr "Neueste Bestandänderungen anzeigen"
-#: common/models.py:1460
+#: common/models.py:1465
msgid "Show recently changed stock items on the homepage"
msgstr "Zeige zuletzt geänderte Lagerbestände auf der Startseite"
-#: common/models.py:1466
+#: common/models.py:1471
msgid "Recent Stock Count"
msgstr "aktueller Bestand"
-#: common/models.py:1467
+#: common/models.py:1472
msgid "Number of recent stock items to display on index page"
msgstr "Anzahl des geänderten Bestands auf der Startseite"
-#: common/models.py:1473
+#: common/models.py:1478
msgid "Show low stock"
msgstr "Niedrigen Bestand anzeigen"
-#: common/models.py:1474
+#: common/models.py:1479
msgid "Show low stock items on the homepage"
msgstr "Zeige geringen Bestand auf der Startseite"
-#: common/models.py:1480
+#: common/models.py:1485
msgid "Show depleted stock"
msgstr "Lerren Bestand anzeigen"
-#: common/models.py:1481
+#: common/models.py:1486
msgid "Show depleted stock items on the homepage"
msgstr "Zeige aufgebrauchte Lagerartikel auf der Startseite"
-#: common/models.py:1487
+#: common/models.py:1492
msgid "Show needed stock"
msgstr "Benötigten Bestand anzeigen"
-#: common/models.py:1488
+#: common/models.py:1493
msgid "Show stock items needed for builds on the homepage"
msgstr "Zeige Bestand für Bauaufträge auf der Startseite"
-#: common/models.py:1494
+#: common/models.py:1499
msgid "Show expired stock"
msgstr "Abgelaufenen Bestand anzeigen"
-#: common/models.py:1495
+#: common/models.py:1500
msgid "Show expired stock items on the homepage"
msgstr "Zeige abgelaufene Lagerbestände auf der Startseite"
-#: common/models.py:1501
+#: common/models.py:1506
msgid "Show stale stock"
msgstr "Alten Bestand anzeigen"
-#: common/models.py:1502
+#: common/models.py:1507
msgid "Show stale stock items on the homepage"
msgstr "Zeige überfällige Lagerartikel auf der Startseite"
-#: common/models.py:1508
+#: common/models.py:1513
msgid "Show pending builds"
msgstr "Ausstehende Bauaufträge anzeigen"
-#: common/models.py:1509
+#: common/models.py:1514
msgid "Show pending builds on the homepage"
msgstr "Zeige ausstehende Bauaufträge auf der Startseite"
-#: common/models.py:1515
+#: common/models.py:1520
msgid "Show overdue builds"
msgstr "Zeige überfällige Bauaufträge"
-#: common/models.py:1516
+#: common/models.py:1521
msgid "Show overdue builds on the homepage"
msgstr "Zeige überfällige Bauaufträge auf der Startseite"
-#: common/models.py:1522
+#: common/models.py:1527
msgid "Show outstanding POs"
msgstr "Ausstehende POs anzeigen"
-#: common/models.py:1523
+#: common/models.py:1528
msgid "Show outstanding POs on the homepage"
msgstr "Zeige ausstehende POs auf der Startseite"
-#: common/models.py:1529
+#: common/models.py:1534
msgid "Show overdue POs"
msgstr "Überfällige POs anzeigen"
-#: common/models.py:1530
+#: common/models.py:1535
msgid "Show overdue POs on the homepage"
msgstr "Zeige überfällige POs auf der Startseite"
-#: common/models.py:1536
+#: common/models.py:1541
msgid "Show outstanding SOs"
msgstr "Ausstehende SOs anzeigen"
-#: common/models.py:1537
+#: common/models.py:1542
msgid "Show outstanding SOs on the homepage"
msgstr "Zeige ausstehende SOs auf der Startseite"
-#: common/models.py:1543
+#: common/models.py:1548
msgid "Show overdue SOs"
msgstr "Überfällige SOs anzeigen"
-#: common/models.py:1544
+#: common/models.py:1549
msgid "Show overdue SOs on the homepage"
msgstr "Zeige überfällige SOs auf der Startseite"
-#: common/models.py:1550
+#: common/models.py:1555
+msgid "Show News"
+msgstr ""
+
+#: common/models.py:1556
+msgid "Show news on the homepage"
+msgstr ""
+
+#: common/models.py:1562
msgid "Inline label display"
msgstr "Label inline anzeigen"
-#: common/models.py:1551
+#: common/models.py:1563
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr "PDF-Labels im Browser anzeigen, anstatt als Datei herunterzuladen"
-#: common/models.py:1557
+#: common/models.py:1569
msgid "Inline report display"
msgstr "Berichte inline anzeigen"
-#: common/models.py:1558
+#: common/models.py:1570
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr "PDF-Berichte im Browser anzeigen, anstatt als Datei herunterzuladen"
-#: common/models.py:1564
+#: common/models.py:1576
msgid "Search Parts"
msgstr "Teile suchen"
-#: common/models.py:1565
+#: common/models.py:1577
msgid "Display parts in search preview window"
msgstr "Teile in der Suchvorschau anzeigen"
-#: common/models.py:1571
+#: common/models.py:1583
msgid "Seach Supplier Parts"
msgstr "Zuliefererteile durchsuchen"
-#: common/models.py:1572
+#: common/models.py:1584
msgid "Display supplier parts in search preview window"
msgstr "Zuliefererteile in der Suchvorschau anzeigen"
-#: common/models.py:1578
+#: common/models.py:1590
msgid "Search Manufacturer Parts"
msgstr "Herstellerteile durchsuchen"
-#: common/models.py:1579
+#: common/models.py:1591
msgid "Display manufacturer parts in search preview window"
msgstr "Herstellerteile in der Suchvorschau anzeigen"
-#: common/models.py:1585
+#: common/models.py:1597
msgid "Hide Inactive Parts"
msgstr "Inaktive Teile ausblenden"
-#: common/models.py:1586
+#: common/models.py:1598
msgid "Excluded inactive parts from search preview window"
msgstr "Inaktive Teile in der Suchvorschau ausblenden"
-#: common/models.py:1592
+#: common/models.py:1604
msgid "Search Categories"
msgstr "Kategorien durchsuchen"
-#: common/models.py:1593
+#: common/models.py:1605
msgid "Display part categories in search preview window"
msgstr "Teilekategorien in der Suchvorschau anzeigen"
-#: common/models.py:1599
+#: common/models.py:1611
msgid "Search Stock"
msgstr "Bestand durchsuchen"
-#: common/models.py:1600
+#: common/models.py:1612
msgid "Display stock items in search preview window"
msgstr "Lagerartikel in Suchvorschau anzeigen"
-#: common/models.py:1606
+#: common/models.py:1618
msgid "Hide Unavailable Stock Items"
msgstr "Nicht verfügbare Artikel ausblenden"
-#: common/models.py:1607
+#: common/models.py:1619
msgid "Exclude stock items which are not available from the search preview window"
msgstr "Nicht verfügbare Lagerartikel aus der Suchvorschau ausschließen"
-#: common/models.py:1613
+#: common/models.py:1625
msgid "Search Locations"
msgstr "Lagerorte durchsuchen"
-#: common/models.py:1614
+#: common/models.py:1626
msgid "Display stock locations in search preview window"
msgstr "Lagerorte in Suchvorschau anzeigen"
-#: common/models.py:1620
+#: common/models.py:1632
msgid "Search Companies"
msgstr "Firmen durchsuchen"
-#: common/models.py:1621
+#: common/models.py:1633
msgid "Display companies in search preview window"
msgstr "Firmen in der Suchvorschau anzeigen"
-#: common/models.py:1627
+#: common/models.py:1639
msgid "Search Build Orders"
msgstr ""
-#: common/models.py:1628
+#: common/models.py:1640
msgid "Display build orders in search preview window"
msgstr ""
-#: common/models.py:1634
+#: common/models.py:1646
msgid "Search Purchase Orders"
msgstr "Bestellungen durchsuchen"
-#: common/models.py:1635
+#: common/models.py:1647
msgid "Display purchase orders in search preview window"
msgstr "Bestellungen in der Suchvorschau anzeigen"
-#: common/models.py:1641
+#: common/models.py:1653
msgid "Exclude Inactive Purchase Orders"
msgstr "Inaktive Bestellungen ausblenden"
-#: common/models.py:1642
+#: common/models.py:1654
msgid "Exclude inactive purchase orders from search preview window"
msgstr "Inaktive Bestellungen in der Suchvorschau ausblenden"
-#: common/models.py:1648
+#: common/models.py:1660
msgid "Search Sales Orders"
msgstr "Aufträge durchsuchen"
-#: common/models.py:1649
+#: common/models.py:1661
msgid "Display sales orders in search preview window"
msgstr "Aufträge in der Suchvorschau anzeigen"
-#: common/models.py:1655
+#: common/models.py:1667
msgid "Exclude Inactive Sales Orders"
msgstr "Inaktive Aufträge ausblenden"
-#: common/models.py:1656
+#: common/models.py:1668
msgid "Exclude inactive sales orders from search preview window"
msgstr "Inaktive Aufträge in der Suchvorschau ausblenden"
-#: common/models.py:1662
+#: common/models.py:1674
msgid "Search Preview Results"
msgstr "Anzahl Suchergebnisse"
-#: common/models.py:1663
+#: common/models.py:1675
msgid "Number of results to show in each section of the search preview window"
msgstr "Anzahl der Ergebnisse, die in der Vorschau pro Sektion angezeigt werden sollen"
-#: common/models.py:1669
+#: common/models.py:1681
msgid "Show Quantity in Forms"
msgstr "zeige Bestand in Eingabemasken"
-#: common/models.py:1670
+#: common/models.py:1682
msgid "Display available part quantity in some forms"
msgstr "Zeige den verfügbaren Bestand in einigen Eingabemasken"
-#: common/models.py:1676
+#: common/models.py:1688
msgid "Escape Key Closes Forms"
msgstr "Esc-Taste schließt Formulare"
-#: common/models.py:1677
+#: common/models.py:1689
msgid "Use the escape key to close modal forms"
msgstr "Benutze die Esc-Taste, um Formulare zu schließen"
-#: common/models.py:1683
+#: common/models.py:1695
msgid "Fixed Navbar"
msgstr "Fixierter Navigationsleiste"
-#: common/models.py:1684
+#: common/models.py:1696
msgid "The navbar position is fixed to the top of the screen"
msgstr "Position der Navigationsleiste am oberen Bildschirmrand fixieren"
-#: common/models.py:1690
+#: common/models.py:1702
msgid "Date Format"
msgstr "Datumsformat"
-#: common/models.py:1691
+#: common/models.py:1703
msgid "Preferred format for displaying dates"
msgstr "Bevorzugtes Format für die Anzeige von Daten"
-#: common/models.py:1705 part/templates/part/detail.html:41
+#: common/models.py:1717 part/templates/part/detail.html:41
msgid "Part Scheduling"
msgstr "Teilzeitplanung"
-#: common/models.py:1706
+#: common/models.py:1718
msgid "Display part scheduling information"
msgstr "Zeige Zeitplanung für Teile"
-#: common/models.py:1712
+#: common/models.py:1724
msgid "Table String Length"
msgstr ""
-#: common/models.py:1713
+#: common/models.py:1725
msgid "Maximimum length limit for strings displayed in table views"
msgstr ""
-#: common/models.py:1777
+#: common/models.py:1789
msgid "Price break quantity"
msgstr "Preisstaffelungs Anzahl"
-#: common/models.py:1784 company/serializers.py:372
-#: company/templates/company/supplier_part.html:346 order/models.py:952
-#: templates/js/translated/part.js:1103 templates/js/translated/part.js:2225
+#: common/models.py:1796 company/serializers.py:393 order/models.py:975
+#: templates/js/translated/company.js:1164 templates/js/translated/part.js:1130
+#: templates/js/translated/pricing.js:354
msgid "Price"
msgstr "Preis"
-#: common/models.py:1785
+#: common/models.py:1797
msgid "Unit price at specified quantity"
msgstr "Stückpreis für die angegebene Anzahl"
-#: common/models.py:1945 common/models.py:2123
+#: common/models.py:1957 common/models.py:2135
msgid "Endpoint"
msgstr "Endpunkt"
-#: common/models.py:1946
+#: common/models.py:1958
msgid "Endpoint at which this webhook is received"
msgstr "Endpunkt, an dem dieser Webhook empfangen wird"
-#: common/models.py:1955
+#: common/models.py:1967
msgid "Name for this webhook"
msgstr "Name für diesen Webhook"
-#: common/models.py:1960 part/models.py:935 plugin/models.py:100
-#: templates/js/translated/table_filters.js:34
-#: templates/js/translated/table_filters.js:112
-#: templates/js/translated/table_filters.js:324
-#: templates/js/translated/table_filters.js:450
+#: common/models.py:1972 part/admin.py:36 part/models.py:954
+#: plugin/models.py:100 templates/js/translated/table_filters.js:34
+#: templates/js/translated/table_filters.js:116
+#: templates/js/translated/table_filters.js:328
+#: templates/js/translated/table_filters.js:454
msgid "Active"
msgstr "Aktiv"
-#: common/models.py:1961
+#: common/models.py:1973
msgid "Is this webhook active"
msgstr "Ist dieser Webhook aktiv"
-#: common/models.py:1975
+#: common/models.py:1987
msgid "Token"
msgstr "Token"
-#: common/models.py:1976
+#: common/models.py:1988
msgid "Token for access"
msgstr "Token für Zugang"
-#: common/models.py:1983
+#: common/models.py:1995
msgid "Secret"
msgstr "Geheimnis"
-#: common/models.py:1984
+#: common/models.py:1996
msgid "Shared secret for HMAC"
msgstr "Shared Secret für HMAC"
-#: common/models.py:2090
+#: common/models.py:2102
msgid "Message ID"
msgstr "Nachrichten-ID"
-#: common/models.py:2091
+#: common/models.py:2103
msgid "Unique identifier for this message"
msgstr "Eindeutige Kennung für diese Nachricht"
-#: common/models.py:2099
+#: common/models.py:2111
msgid "Host"
msgstr "Host"
-#: common/models.py:2100
+#: common/models.py:2112
msgid "Host from which this message was received"
msgstr "Host von dem diese Nachricht empfangen wurde"
-#: common/models.py:2107
+#: common/models.py:2119
msgid "Header"
msgstr "Kopfzeile"
-#: common/models.py:2108
+#: common/models.py:2120
msgid "Header of this message"
msgstr "Header dieser Nachricht"
-#: common/models.py:2114
+#: common/models.py:2126
msgid "Body"
msgstr "Body"
-#: common/models.py:2115
+#: common/models.py:2127
msgid "Body of this message"
msgstr "Body dieser Nachricht"
-#: common/models.py:2124
+#: common/models.py:2136
msgid "Endpoint on which this message was received"
msgstr "Endpunkt, über den diese Nachricht empfangen wurde"
-#: common/models.py:2129
+#: common/models.py:2141
msgid "Worked on"
msgstr "Bearbeitet"
-#: common/models.py:2130
+#: common/models.py:2142
msgid "Was the work on this message finished?"
msgstr "Wurde die Arbeit an dieser Nachricht abgeschlossen?"
+#: common/models.py:2302
+msgid "Id"
+msgstr ""
+
+#: common/models.py:2308 templates/js/translated/news.js:34
+msgid "Title"
+msgstr ""
+
+#: common/models.py:2318 templates/js/translated/news.js:50
+msgid "Published"
+msgstr ""
+
+#: common/models.py:2323 templates/InvenTree/settings/plugin.html:62
+#: templates/InvenTree/settings/plugin_settings.html:33
+#: templates/js/translated/news.js:46
+msgid "Author"
+msgstr "Autor"
+
+#: common/models.py:2328 templates/js/translated/news.js:42
+msgid "Summary"
+msgstr ""
+
+#: common/models.py:2333
+msgid "Read"
+msgstr ""
+
+#: common/models.py:2334
+msgid "Was this news item read?"
+msgstr ""
+
#: common/notifications.py:293
#, python-brace-format
msgid "New {verbose_name}"
@@ -2785,15 +2838,15 @@ msgstr ""
msgid "Error raised by plugin"
msgstr ""
-#: common/views.py:85 order/templates/order/purchase_order_detail.html:23
-#: order/views.py:102 part/views.py:112
+#: common/views.py:85 order/templates/order/purchase_order_detail.html:25
+#: order/views.py:102 part/views.py:107
#: templates/patterns/wizard/upload.html:37
msgid "Upload File"
msgstr "Datei hochgeladen"
#: common/views.py:86 order/views.py:103
#: part/templates/part/import_wizard/ajax_match_fields.html:45
-#: part/views.py:113 templates/patterns/wizard/match_fields.html:51
+#: part/views.py:108 templates/patterns/wizard/match_fields.html:51
msgid "Match Fields"
msgstr "Übereinstimmende Felder"
@@ -2816,298 +2869,301 @@ msgstr "Teile importiert"
msgid "Previous Step"
msgstr "Vorheriger Schritt"
-#: company/models.py:99
+#: company/models.py:103
msgid "Company description"
msgstr "Firmenbeschreibung"
-#: company/models.py:100
+#: company/models.py:104
msgid "Description of the company"
msgstr "Firmenbeschreibung"
-#: company/models.py:106 company/templates/company/company_base.html:100
+#: company/models.py:110 company/templates/company/company_base.html:100
#: templates/InvenTree/settings/plugin_settings.html:55
-#: templates/js/translated/company.js:448
+#: templates/js/translated/company.js:449
msgid "Website"
msgstr "Website"
-#: company/models.py:107
+#: company/models.py:111
msgid "Company website URL"
msgstr "Firmenwebsite Adresse/URL"
-#: company/models.py:111 company/templates/company/company_base.html:118
+#: company/models.py:115 company/templates/company/company_base.html:118
msgid "Address"
msgstr "Adresse"
-#: company/models.py:112
+#: company/models.py:116
msgid "Company address"
msgstr "Firmenadresse"
-#: company/models.py:115
+#: company/models.py:119
msgid "Phone number"
msgstr "Kontakt-Tel."
-#: company/models.py:116
+#: company/models.py:120
msgid "Contact phone number"
msgstr "Kontakt-Telefon"
-#: company/models.py:119 company/templates/company/company_base.html:132
+#: company/models.py:123 company/templates/company/company_base.html:132
#: templates/InvenTree/settings/user.html:48
msgid "Email"
msgstr "Email"
-#: company/models.py:119
+#: company/models.py:123
msgid "Contact email address"
msgstr "Kontakt-Email"
-#: company/models.py:122 company/templates/company/company_base.html:139
+#: company/models.py:126 company/templates/company/company_base.html:139
msgid "Contact"
msgstr "Kontakt"
-#: company/models.py:123
+#: company/models.py:127
msgid "Point of contact"
msgstr "Anlaufstelle"
-#: company/models.py:125
+#: company/models.py:129
msgid "Link to external company information"
msgstr "Link auf externe Firmeninformation"
-#: company/models.py:136 part/models.py:829
+#: company/models.py:140 part/models.py:848
msgid "Image"
msgstr "Bild"
-#: company/models.py:139 company/templates/company/detail.html:185
+#: company/models.py:143 company/templates/company/detail.html:185
msgid "Company Notes"
msgstr "Firmenbemerkungen"
-#: company/models.py:141
+#: company/models.py:145
msgid "is customer"
msgstr "ist Kunde"
-#: company/models.py:141
+#: company/models.py:145
msgid "Do you sell items to this company?"
msgstr "Verkaufen Sie Teile an diese Firma?"
-#: company/models.py:143
+#: company/models.py:147
msgid "is supplier"
msgstr "ist Zulieferer"
-#: company/models.py:143
+#: company/models.py:147
msgid "Do you purchase items from this company?"
msgstr "Kaufen Sie Teile von dieser Firma?"
-#: company/models.py:145
+#: company/models.py:149
msgid "is manufacturer"
msgstr "ist Hersteller"
-#: company/models.py:145
+#: company/models.py:149
msgid "Does this company manufacture parts?"
msgstr "Produziert diese Firma Teile?"
-#: company/models.py:149 company/serializers.py:378
-#: company/templates/company/company_base.html:106 part/serializers.py:153
-#: part/serializers.py:184 stock/serializers.py:178
+#: company/models.py:153 company/serializers.py:399
+#: company/templates/company/company_base.html:106 part/models.py:2681
+#: part/serializers.py:153 part/serializers.py:181 stock/serializers.py:182
+#: templates/InvenTree/settings/pricing.html:59
msgid "Currency"
msgstr "Währung"
-#: company/models.py:152
+#: company/models.py:156
msgid "Default currency used for this company"
msgstr "Standard-Währung für diese Firma"
-#: company/models.py:249 company/models.py:483 stock/models.py:600
-#: stock/serializers.py:85 stock/templates/stock/item_base.html:143
-#: templates/js/translated/bom.js:568
+#: company/models.py:253 company/models.py:487 stock/models.py:616
+#: stock/serializers.py:89 stock/templates/stock/item_base.html:143
+#: templates/js/translated/bom.js:581
msgid "Base Part"
msgstr "Basisteil"
-#: company/models.py:253 company/models.py:487
+#: company/models.py:257 company/models.py:491
msgid "Select part"
msgstr "Teil auswählen"
-#: company/models.py:264 company/templates/company/company_base.html:76
+#: company/models.py:268 company/templates/company/company_base.html:76
#: company/templates/company/manufacturer_part.html:90
#: company/templates/company/supplier_part.html:152
#: stock/templates/stock/item_base.html:210
-#: templates/js/translated/company.js:432
-#: templates/js/translated/company.js:533
-#: templates/js/translated/company.js:668
-#: templates/js/translated/company.js:956 templates/js/translated/part.js:236
-#: templates/js/translated/table_filters.js:427
+#: templates/js/translated/company.js:433
+#: templates/js/translated/company.js:534
+#: templates/js/translated/company.js:669
+#: templates/js/translated/company.js:957 templates/js/translated/part.js:232
+#: templates/js/translated/table_filters.js:431
msgid "Manufacturer"
msgstr "Hersteller"
-#: company/models.py:265 templates/js/translated/part.js:237
+#: company/models.py:269 templates/js/translated/part.js:233
msgid "Select manufacturer"
msgstr "Hersteller auswählen"
-#: company/models.py:271 company/templates/company/manufacturer_part.html:101
+#: company/models.py:275 company/templates/company/manufacturer_part.html:101
#: company/templates/company/supplier_part.html:160
-#: templates/js/translated/company.js:304
-#: templates/js/translated/company.js:532
-#: templates/js/translated/company.js:684
-#: templates/js/translated/company.js:975 templates/js/translated/order.js:2239
-#: templates/js/translated/part.js:247 templates/js/translated/part.js:1025
+#: templates/js/translated/company.js:305
+#: templates/js/translated/company.js:533
+#: templates/js/translated/company.js:685
+#: templates/js/translated/company.js:976 templates/js/translated/order.js:2278
+#: templates/js/translated/part.js:243 templates/js/translated/part.js:1052
msgid "MPN"
msgstr "MPN"
-#: company/models.py:272 templates/js/translated/part.js:248
+#: company/models.py:276 templates/js/translated/part.js:244
msgid "Manufacturer Part Number"
msgstr "Hersteller-Teilenummer"
-#: company/models.py:278
+#: company/models.py:282
msgid "URL for external manufacturer part link"
msgstr "Externe URL für das Herstellerteil"
-#: company/models.py:284
+#: company/models.py:288
msgid "Manufacturer part description"
msgstr "Teilbeschreibung des Herstellers"
-#: company/models.py:329 company/models.py:353 company/models.py:506
+#: company/models.py:333 company/models.py:357 company/models.py:510
#: company/templates/company/manufacturer_part.html:7
#: company/templates/company/manufacturer_part.html:24
#: stock/templates/stock/item_base.html:220
msgid "Manufacturer Part"
msgstr "Herstellerteil"
-#: company/models.py:360
+#: company/models.py:364
msgid "Parameter name"
msgstr "Parametername"
-#: company/models.py:366
+#: company/models.py:370
#: report/templates/report/inventree_test_report_base.html:95
-#: stock/models.py:2097 templates/js/translated/company.js:581
-#: templates/js/translated/company.js:799 templates/js/translated/part.js:847
-#: templates/js/translated/stock.js:1360
+#: stock/models.py:2113 templates/js/translated/company.js:582
+#: templates/js/translated/company.js:800 templates/js/translated/part.js:874
+#: templates/js/translated/stock.js:1379
msgid "Value"
msgstr "Wert"
-#: company/models.py:367
+#: company/models.py:371
msgid "Parameter value"
msgstr "Parameterwert"
-#: company/models.py:373 part/models.py:902 part/models.py:2434
-#: part/templates/part/part_base.html:286
+#: company/models.py:377 part/admin.py:26 part/models.py:921
+#: part/models.py:3047 part/templates/part/part_base.html:286
#: templates/InvenTree/settings/settings.html:349
-#: templates/js/translated/company.js:805 templates/js/translated/part.js:853
+#: templates/js/translated/company.js:806 templates/js/translated/part.js:880
msgid "Units"
msgstr "Einheiten"
-#: company/models.py:374
+#: company/models.py:378
msgid "Parameter units"
msgstr "Parametereinheit"
-#: company/models.py:451
+#: company/models.py:455
msgid "Linked manufacturer part must reference the same base part"
msgstr "Verlinktes Herstellerteil muss dasselbe Basisteil referenzieren"
-#: company/models.py:493 company/templates/company/company_base.html:81
-#: company/templates/company/supplier_part.html:136 order/models.py:263
-#: order/templates/order/order_base.html:121 part/bom.py:237 part/bom.py:265
+#: company/models.py:497 company/templates/company/company_base.html:81
+#: company/templates/company/supplier_part.html:136 order/models.py:264
+#: order/templates/order/order_base.html:121 part/bom.py:252 part/bom.py:280
#: stock/templates/stock/item_base.html:227
#: templates/email/overdue_purchase_order.html:16
-#: templates/js/translated/company.js:303
-#: templates/js/translated/company.js:436
-#: templates/js/translated/company.js:929 templates/js/translated/order.js:1975
-#: templates/js/translated/part.js:217 templates/js/translated/part.js:993
-#: templates/js/translated/table_filters.js:431
+#: templates/js/translated/company.js:304
+#: templates/js/translated/company.js:437
+#: templates/js/translated/company.js:930 templates/js/translated/order.js:2009
+#: templates/js/translated/part.js:213 templates/js/translated/part.js:1020
+#: templates/js/translated/pricing.js:231
+#: templates/js/translated/table_filters.js:435
msgid "Supplier"
msgstr "Zulieferer"
-#: company/models.py:494 templates/js/translated/part.js:218
+#: company/models.py:498 templates/js/translated/part.js:214
msgid "Select supplier"
msgstr "Zulieferer auswählen"
-#: company/models.py:499 company/templates/company/supplier_part.html:146
-#: part/bom.py:238 part/bom.py:266 templates/js/translated/company.js:302
-#: templates/js/translated/order.js:2226 templates/js/translated/part.js:228
-#: templates/js/translated/part.js:1011
+#: company/models.py:503 company/templates/company/supplier_part.html:146
+#: part/bom.py:253 part/bom.py:281 templates/js/translated/company.js:303
+#: templates/js/translated/order.js:2265 templates/js/translated/part.js:224
+#: templates/js/translated/part.js:1038 templates/js/translated/pricing.js:243
msgid "SKU"
msgstr "SKU (Lagerbestandseinheit)"
-#: company/models.py:500 templates/js/translated/part.js:229
+#: company/models.py:504 templates/js/translated/part.js:225
msgid "Supplier stock keeping unit"
msgstr "Lagerbestandseinheit (SKU) des Zulieferers"
-#: company/models.py:507
+#: company/models.py:511
msgid "Select manufacturer part"
msgstr "Herstellerteil auswählen"
-#: company/models.py:513
+#: company/models.py:517
msgid "URL for external supplier part link"
msgstr "Teil-URL des Zulieferers"
-#: company/models.py:519
+#: company/models.py:523
msgid "Supplier part description"
msgstr "Zuliefererbeschreibung des Teils"
-#: company/models.py:524 company/templates/company/supplier_part.html:181
-#: part/models.py:2687 part/templates/part/upload_bom.html:59
+#: company/models.py:528 company/templates/company/supplier_part.html:181
+#: part/admin.py:225 part/models.py:3300 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_po_report.html:92
-#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:403
+#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:397
msgid "Note"
msgstr "Notiz"
-#: company/models.py:528 part/models.py:1788
+#: company/models.py:532 part/models.py:1817
msgid "base cost"
msgstr "Basiskosten"
-#: company/models.py:528 part/models.py:1788
+#: company/models.py:532 part/models.py:1817
msgid "Minimum charge (e.g. stocking fee)"
msgstr "Mindestpreis"
-#: company/models.py:530 company/templates/company/supplier_part.html:167
-#: stock/models.py:626 stock/templates/stock/item_base.html:243
-#: templates/js/translated/company.js:991 templates/js/translated/stock.js:1978
+#: company/models.py:534 company/templates/company/supplier_part.html:167
+#: stock/admin.py:101 stock/models.py:642
+#: stock/templates/stock/item_base.html:243
+#: templates/js/translated/company.js:992 templates/js/translated/stock.js:1996
msgid "Packaging"
msgstr "Verpackungen"
-#: company/models.py:530
+#: company/models.py:534
msgid "Part packaging"
msgstr "Teile-Verpackungen"
-#: company/models.py:533 company/serializers.py:242
+#: company/models.py:537 company/serializers.py:242
#: company/templates/company/supplier_part.html:174
-#: templates/js/translated/company.js:996 templates/js/translated/order.js:820
-#: templates/js/translated/order.js:1215 templates/js/translated/order.js:1470
-#: templates/js/translated/order.js:2270 templates/js/translated/order.js:2287
-#: templates/js/translated/part.js:1043 templates/js/translated/part.js:1095
+#: templates/js/translated/company.js:997 templates/js/translated/order.js:826
+#: templates/js/translated/order.js:1249 templates/js/translated/order.js:1504
+#: templates/js/translated/order.js:2309 templates/js/translated/order.js:2326
+#: templates/js/translated/part.js:1070 templates/js/translated/part.js:1122
msgid "Pack Quantity"
msgstr "Packungsmenge"
-#: company/models.py:534
+#: company/models.py:538
msgid "Unit quantity supplied in a single pack"
msgstr ""
-#: company/models.py:540 part/models.py:1790
+#: company/models.py:544 part/models.py:1819
msgid "multiple"
msgstr "Vielfache"
-#: company/models.py:540
+#: company/models.py:544
msgid "Order multiple"
msgstr "Mehrere bestellen"
-#: company/models.py:548 company/templates/company/supplier_part.html:115
+#: company/models.py:552 company/templates/company/supplier_part.html:115
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:18
-#: templates/js/translated/bom.js:963 templates/js/translated/build.js:1873
-#: templates/js/translated/build.js:2754 templates/js/translated/part.js:598
-#: templates/js/translated/part.js:601
-#: templates/js/translated/table_filters.js:194
+#: templates/js/translated/bom.js:1117 templates/js/translated/build.js:1873
+#: templates/js/translated/build.js:2754 templates/js/translated/part.js:612
+#: templates/js/translated/part.js:615
+#: templates/js/translated/table_filters.js:198
msgid "Available"
msgstr "Verfügbar"
-#: company/models.py:549
+#: company/models.py:553
msgid "Quantity available from supplier"
msgstr "Verfügbare Menge von Lieferanten"
-#: company/models.py:553
+#: company/models.py:557
msgid "Availability Updated"
msgstr "Verfügbarkeit aktualisiert"
-#: company/models.py:554
+#: company/models.py:558
msgid "Date of last update of availability data"
msgstr ""
-#: company/models.py:682
+#: company/models.py:686
msgid "last updated"
msgstr "Letzte Aktualisierung"
@@ -3121,7 +3177,7 @@ msgstr "Währungscode"
#: company/templates/company/company_base.html:8
#: company/templates/company/company_base.html:12
-#: templates/InvenTree/search.html:179 templates/js/translated/company.js:421
+#: templates/InvenTree/search.html:179 templates/js/translated/company.js:422
msgid "Company"
msgstr "Firma"
@@ -3139,7 +3195,7 @@ msgid "Edit company information"
msgstr "Firmeninformation bearbeiten"
#: company/templates/company/company_base.html:34
-#: templates/js/translated/company.js:364
+#: templates/js/translated/company.js:365
msgid "Edit Company"
msgstr "Firma bearbeiten"
@@ -3162,14 +3218,14 @@ msgstr "Neues Bild hochladen"
msgid "Download image from URL"
msgstr "Bild von URL herunterladen"
-#: company/templates/company/company_base.html:86 order/models.py:646
-#: order/templates/order/sales_order_base.html:116 stock/models.py:645
-#: stock/models.py:646 stock/serializers.py:813
+#: company/templates/company/company_base.html:86 order/models.py:665
+#: order/templates/order/sales_order_base.html:116 stock/models.py:661
+#: stock/models.py:662 stock/serializers.py:812
#: stock/templates/stock/item_base.html:399
#: templates/email/overdue_sales_order.html:16
-#: templates/js/translated/company.js:428 templates/js/translated/order.js:2808
-#: templates/js/translated/stock.js:2569
-#: templates/js/translated/table_filters.js:435
+#: templates/js/translated/company.js:429 templates/js/translated/order.js:2819
+#: templates/js/translated/stock.js:2587
+#: templates/js/translated/table_filters.js:439
msgid "Customer"
msgstr "Kunde"
@@ -3182,12 +3238,12 @@ msgid "Phone"
msgstr "Telefon"
#: company/templates/company/company_base.html:208
-#: part/templates/part/part_base.html:499
+#: part/templates/part/part_base.html:514
msgid "Upload Image"
msgstr "Bild hochladen"
#: company/templates/company/company_base.html:223
-#: part/templates/part/part_base.html:554
+#: part/templates/part/part_base.html:569
msgid "Download Image"
msgstr "Bild herunterladen"
@@ -3203,7 +3259,7 @@ msgstr "Neues Zuliefererteil anlegen"
#: company/templates/company/detail.html:19
#: company/templates/company/manufacturer_part.html:123
-#: part/templates/part/detail.html:359
+#: part/templates/part/detail.html:357
msgid "New Supplier Part"
msgstr "Neues Zuliefererteil"
@@ -3232,7 +3288,7 @@ msgstr "Herstellerteile"
msgid "Create new manufacturer part"
msgstr "Neues Herstellerteil anlegen"
-#: company/templates/company/detail.html:66 part/templates/part/detail.html:389
+#: company/templates/company/detail.html:66 part/templates/part/detail.html:387
msgid "New Manufacturer Part"
msgstr "Neues Herstellerteil"
@@ -3246,7 +3302,7 @@ msgstr "Zulieferer-Bestand"
#: order/templates/order/order_base.html:13
#: order/templates/order/purchase_orders.html:8
#: order/templates/order/purchase_orders.html:12
-#: part/templates/part/detail.html:84 part/templates/part/part_sidebar.html:37
+#: part/templates/part/detail.html:84 part/templates/part/part_sidebar.html:35
#: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200
#: templates/InvenTree/settings/sidebar.html:49
#: templates/js/translated/search.js:293 templates/navbar.html:50
@@ -3269,7 +3325,7 @@ msgstr "Neue Bestellung"
#: order/templates/order/sales_order_base.html:13
#: order/templates/order/sales_orders.html:8
#: order/templates/order/sales_orders.html:15
-#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:41
+#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:39
#: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220
#: templates/InvenTree/settings/sidebar.html:51
#: templates/js/translated/search.js:317 templates/navbar.html:61
@@ -3297,8 +3353,7 @@ msgid "Supplier List"
msgstr "Zulieferer-Liste"
#: company/templates/company/manufacturer_part.html:15 company/views.py:38
-#: part/templates/part/prices.html:172 templates/InvenTree/search.html:181
-#: templates/navbar.html:49
+#: templates/InvenTree/search.html:181 templates/navbar.html:49
msgid "Manufacturers"
msgstr "Hersteller"
@@ -3309,12 +3364,12 @@ msgid "Order part"
msgstr "Teil bestellen"
#: company/templates/company/manufacturer_part.html:39
-#: templates/js/translated/company.js:716
+#: templates/js/translated/company.js:717
msgid "Edit manufacturer part"
msgstr "Herstellerteil bearbeiten"
#: company/templates/company/manufacturer_part.html:43
-#: templates/js/translated/company.js:717
+#: templates/js/translated/company.js:718
msgid "Delete manufacturer part"
msgstr "Herstellerteil löschen"
@@ -3329,35 +3384,36 @@ msgstr "Keine Herstellerdaten verfügbar"
#: company/templates/company/manufacturer_part.html:119
#: company/templates/company/supplier_part.html:15 company/views.py:32
-#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:168
+#: part/admin.py:46 part/templates/part/part_sidebar.html:33
#: templates/InvenTree/search.html:191 templates/navbar.html:48
msgid "Suppliers"
msgstr "Zulieferer"
#: company/templates/company/manufacturer_part.html:136
-#: part/templates/part/detail.html:370
+#: part/templates/part/detail.html:368
msgid "Delete supplier parts"
msgstr "Zuliefererteil entfernen"
#: company/templates/company/manufacturer_part.html:136
#: company/templates/company/manufacturer_part.html:183
-#: part/templates/part/detail.html:371 part/templates/part/detail.html:401
-#: templates/js/translated/forms.js:455 templates/js/translated/helpers.js:36
-#: users/models.py:222
+#: part/templates/part/detail.html:369 part/templates/part/detail.html:399
+#: templates/js/translated/forms.js:455 templates/js/translated/helpers.js:38
+#: templates/js/translated/part.js:340 templates/js/translated/stock.js:184
+#: users/models.py:224
msgid "Delete"
msgstr "Löschen"
#: company/templates/company/manufacturer_part.html:166
#: company/templates/company/manufacturer_part_sidebar.html:5
#: part/templates/part/category_sidebar.html:19
-#: part/templates/part/detail.html:186 part/templates/part/part_sidebar.html:8
+#: part/templates/part/detail.html:184 part/templates/part/part_sidebar.html:8
msgid "Parameters"
msgstr "Parameter"
#: company/templates/company/manufacturer_part.html:170
-#: part/templates/part/detail.html:191
+#: part/templates/part/detail.html:189
#: templates/InvenTree/settings/category.html:12
-#: templates/InvenTree/settings/part.html:68
+#: templates/InvenTree/settings/part.html:62
msgid "New Parameter"
msgstr "Neuer Parameter"
@@ -3366,7 +3422,7 @@ msgid "Delete parameters"
msgstr "Parameter löschen"
#: company/templates/company/manufacturer_part.html:245
-#: part/templates/part/detail.html:827
+#: part/templates/part/detail.html:825
msgid "Add Parameter"
msgstr "Parameter hinzufügen"
@@ -3387,10 +3443,10 @@ msgid "Assigned Stock Items"
msgstr "Zugewiesene Lagerartikel"
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:609
+#: company/templates/company/supplier_part.html:24 stock/models.py:625
#: stock/templates/stock/item_base.html:236
-#: templates/js/translated/company.js:945 templates/js/translated/order.js:1135
-#: templates/js/translated/stock.js:1935
+#: templates/js/translated/company.js:946 templates/js/translated/order.js:1169
+#: templates/js/translated/stock.js:1954
msgid "Supplier Part"
msgstr "Zuliefererteil"
@@ -3441,13 +3497,13 @@ msgstr "Verfügbarkeit aktualisieren"
#: company/templates/company/supplier_part.html:64
#: company/templates/company/supplier_part.html:65
-#: templates/js/translated/company.js:247
+#: templates/js/translated/company.js:248
msgid "Edit Supplier Part"
msgstr "Zuliefererteil bearbeiten"
#: company/templates/company/supplier_part.html:69
#: company/templates/company/supplier_part.html:70
-#: templates/js/translated/company.js:222
+#: templates/js/translated/company.js:223
msgid "Duplicate Supplier Part"
msgstr ""
@@ -3482,7 +3538,7 @@ msgstr "Neuen Lagerartikel hinzufügen"
#: company/templates/company/supplier_part.html:204
#: part/templates/part/detail.html:25 stock/templates/stock/location.html:198
-#: templates/js/translated/stock.js:435
+#: templates/js/translated/stock.js:454
msgid "New Stock Item"
msgstr "Neuer Lagerartikel"
@@ -3492,47 +3548,20 @@ msgid "Supplier Part Orders"
msgstr "Zulieferer-Bestellungen"
#: company/templates/company/supplier_part.html:242
-#: part/templates/part/prices.html:10
msgid "Pricing Information"
msgstr "Preisinformationen ansehen"
#: company/templates/company/supplier_part.html:247
-#: company/templates/company/supplier_part.html:388
-#: part/templates/part/prices.html:276 templates/js/translated/part.js:2297
+#: company/templates/company/supplier_part.html:317
+#: templates/js/translated/pricing.js:413
msgid "Add Price Break"
msgstr "Preisstaffel hinzufügen"
-#: company/templates/company/supplier_part.html:282
+#: company/templates/company/supplier_part.html:285
msgid "Link Barcode to Supplier Part"
msgstr ""
-#: company/templates/company/supplier_part.html:300
-msgid "No price break information found"
-msgstr "Keine Informationen zur Preisstaffel gefunden"
-
-#: company/templates/company/supplier_part.html:314
-#: templates/js/translated/part.js:2307
-msgid "Delete Price Break"
-msgstr "Preisstaffel löschen"
-
-#: company/templates/company/supplier_part.html:328
-#: templates/js/translated/part.js:2321
-msgid "Edit Price Break"
-msgstr "Preisstaffel bearbeiten"
-
-#: company/templates/company/supplier_part.html:353
-msgid "Edit price break"
-msgstr "Preisstaffel bearbeiten"
-
-#: company/templates/company/supplier_part.html:354
-msgid "Delete price break"
-msgstr "Preisstaffel löschen"
-
-#: company/templates/company/supplier_part.html:363
-msgid "Last updated"
-msgstr "Zuletzt aktualisiert"
-
-#: company/templates/company/supplier_part.html:444
+#: company/templates/company/supplier_part.html:375
msgid "Update Part Availability"
msgstr "Teilverfügbarkeit aktualisieren"
@@ -3542,9 +3571,9 @@ msgstr "Teilverfügbarkeit aktualisieren"
#: stock/templates/stock/stock_app_base.html:10
#: templates/InvenTree/search.html:153
#: templates/InvenTree/settings/sidebar.html:45
-#: templates/js/translated/part.js:749 templates/js/translated/part.js:1335
-#: templates/js/translated/part.js:1501 templates/js/translated/stock.js:959
-#: templates/js/translated/stock.js:1760 templates/navbar.html:31
+#: templates/js/translated/part.js:763 templates/js/translated/part.js:1356
+#: templates/js/translated/part.js:1512 templates/js/translated/stock.js:978
+#: templates/js/translated/stock.js:1779 templates/navbar.html:31
msgid "Stock"
msgstr "Bestand"
@@ -3558,19 +3587,20 @@ msgid "Supplier Part Pricing"
msgstr "Zuliefererteil Bepreisung"
#: company/templates/company/supplier_part_navbar.html:29
-#: part/templates/part/part_sidebar.html:31
+#: part/templates/part/part_sidebar.html:30
+#: templates/InvenTree/settings/sidebar.html:35
msgid "Pricing"
msgstr "Bepreisung"
#: company/templates/company/supplier_part_sidebar.html:5
#: part/templates/part/category.html:198
-#: part/templates/part/category_sidebar.html:17
+#: part/templates/part/category_sidebar.html:17 stock/admin.py:31
#: stock/templates/stock/location.html:168
#: stock/templates/stock/location.html:182
#: stock/templates/stock/location.html:194
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:155 templates/js/translated/search.js:225
-#: templates/js/translated/stock.js:2446 users/models.py:40
+#: templates/js/translated/stock.js:2464 users/models.py:40
msgid "Stock Items"
msgstr "Lagerartikel"
@@ -3672,438 +3702,439 @@ msgstr "Teile-Abfragefilter (kommagetrennte Liste mit Schlüssel=Wert-Paaren)"
msgid "No matching purchase order found"
msgstr ""
-#: order/models.py:82
+#: order/models.py:83
msgid "Order description"
msgstr "Bestellungs-Beschreibung"
-#: order/models.py:84 order/models.py:1260
+#: order/models.py:85 order/models.py:1283
msgid "Link to external page"
msgstr "Link auf externe Seite"
-#: order/models.py:92
+#: order/models.py:93
msgid "Created By"
msgstr "Erstellt von"
-#: order/models.py:99
+#: order/models.py:100
msgid "User or group responsible for this order"
msgstr "Nutzer oder Gruppe der/die für diesen Auftrag zuständig ist/sind"
-#: order/models.py:104
+#: order/models.py:105
msgid "Order notes"
msgstr "Bestell-Notizen"
-#: order/models.py:241 order/models.py:633
+#: order/models.py:242 order/models.py:652
msgid "Order reference"
msgstr "Bestell-Referenz"
-#: order/models.py:249 order/models.py:651
+#: order/models.py:250 order/models.py:670
msgid "Purchase order status"
msgstr "Bestellungs-Status"
-#: order/models.py:264
+#: order/models.py:265
msgid "Company from which the items are being ordered"
msgstr "Firma bei der die Teile bestellt werden"
-#: order/models.py:267 order/templates/order/order_base.html:133
-#: templates/js/translated/order.js:1984
+#: order/models.py:268 order/templates/order/order_base.html:133
+#: templates/js/translated/order.js:2018
msgid "Supplier Reference"
msgstr "Zulieferer-Referenz"
-#: order/models.py:267
+#: order/models.py:268
msgid "Supplier order reference code"
msgstr "Zulieferer Bestellreferenz"
-#: order/models.py:274
+#: order/models.py:275
msgid "received by"
msgstr "Empfangen von"
-#: order/models.py:279
+#: order/models.py:280
msgid "Issue Date"
msgstr "Aufgabedatum"
-#: order/models.py:280
+#: order/models.py:281
msgid "Date order was issued"
msgstr "Datum an dem die Bestellung aufgegeben wurde"
-#: order/models.py:285
+#: order/models.py:286
msgid "Target Delivery Date"
msgstr "Ziel-Versanddatum"
-#: order/models.py:286
+#: order/models.py:287
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr "Geplantes Lieferdatum für Auftrag."
-#: order/models.py:292
+#: order/models.py:293
msgid "Date order was completed"
msgstr "Datum an dem der Auftrag fertigstellt wurde"
-#: order/models.py:328
+#: order/models.py:332
msgid "Part supplier must match PO supplier"
msgstr "Teile-Zulieferer muss dem Zulieferer der Bestellung entsprechen"
-#: order/models.py:472
+#: order/models.py:491
msgid "Quantity must be a positive number"
msgstr "Anzahl muss eine positive Zahl sein"
-#: order/models.py:647
+#: order/models.py:666
msgid "Company to which the items are being sold"
msgstr "Firma an die die Teile verkauft werden"
-#: order/models.py:658
+#: order/models.py:677
msgid "Customer Reference "
msgstr "Kundenreferenz"
-#: order/models.py:658
+#: order/models.py:677
msgid "Customer order reference code"
msgstr "Bestellreferenz"
-#: order/models.py:663
+#: order/models.py:682
msgid "Target date for order completion. Order will be overdue after this date."
msgstr "Zieldatum für Auftrags-Fertigstellung."
-#: order/models.py:666 order/models.py:1218
-#: templates/js/translated/order.js:2855 templates/js/translated/order.js:3017
+#: order/models.py:685 order/models.py:1241
+#: templates/js/translated/order.js:2866 templates/js/translated/order.js:3028
msgid "Shipment Date"
msgstr "Versanddatum"
-#: order/models.py:673
+#: order/models.py:692
msgid "shipped by"
msgstr "Versand von"
-#: order/models.py:728
+#: order/models.py:747
msgid "Order cannot be completed as no parts have been assigned"
msgstr "Auftrag kann nicht abgeschlossen werden, da keine Teile zugewiesen wurden"
-#: order/models.py:732
+#: order/models.py:751
msgid "Only a pending order can be marked as complete"
msgstr "Nur ein ausstehender Auftrag kann als abgeschlossen markiert werden"
-#: order/models.py:735 templates/js/translated/order.js:419
+#: order/models.py:754 templates/js/translated/order.js:419
msgid "Order cannot be completed as there are incomplete shipments"
msgstr "Auftrag kann nicht abgeschlossen werden, da unvollständige Sendungen vorhanden sind"
-#: order/models.py:738
+#: order/models.py:757
msgid "Order cannot be completed as there are incomplete line items"
msgstr "Auftrag kann nicht abgeschlossen werden, da es unvollständige Positionen gibt"
-#: order/models.py:912
+#: order/models.py:935
msgid "Item quantity"
msgstr "Anzahl"
-#: order/models.py:918
+#: order/models.py:941
msgid "Line item reference"
msgstr "Position - Referenz"
-#: order/models.py:920
+#: order/models.py:943
msgid "Line item notes"
msgstr "Position - Notizen"
-#: order/models.py:925
+#: order/models.py:948
msgid "Target shipping date for this line item"
msgstr "Lieferdatum für diese Position"
-#: order/models.py:943
+#: order/models.py:966
msgid "Context"
msgstr "Kontext"
-#: order/models.py:944
+#: order/models.py:967
msgid "Additional context for this line"
msgstr "Zusätzlicher Kontext für diese Zeile"
-#: order/models.py:953
+#: order/models.py:976
msgid "Unit price"
msgstr "Stückpreis"
-#: order/models.py:983
+#: order/models.py:1006
msgid "Supplier part must match supplier"
msgstr "Lieferantenteil muss mit Lieferant übereinstimmen"
-#: order/models.py:991
+#: order/models.py:1014
msgid "deleted"
msgstr "gelöscht"
-#: order/models.py:997 order/models.py:1077 order/models.py:1118
-#: order/models.py:1212 order/models.py:1344
-#: templates/js/translated/order.js:3473
+#: order/models.py:1020 order/models.py:1100 order/models.py:1141
+#: order/models.py:1235 order/models.py:1367
+#: templates/js/translated/order.js:3484
msgid "Order"
msgstr "Bestellung"
-#: order/models.py:998 order/models.py:1077
+#: order/models.py:1021 order/models.py:1100
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report.html:76
#: stock/templates/stock/item_base.html:182
#: templates/email/overdue_purchase_order.html:15
-#: templates/js/translated/order.js:619 templates/js/translated/order.js:1136
-#: templates/js/translated/order.js:1959 templates/js/translated/part.js:970
-#: templates/js/translated/stock.js:1915 templates/js/translated/stock.js:2550
+#: templates/js/translated/order.js:619 templates/js/translated/order.js:1170
+#: templates/js/translated/order.js:1993 templates/js/translated/part.js:997
+#: templates/js/translated/pricing.js:515 templates/js/translated/stock.js:1934
+#: templates/js/translated/stock.js:2568
msgid "Purchase Order"
msgstr "Bestellung"
-#: order/models.py:1016
+#: order/models.py:1039
msgid "Supplier part"
msgstr "Zuliefererteil"
-#: order/models.py:1023 order/templates/order/order_base.html:178
-#: templates/js/translated/order.js:1641 templates/js/translated/order.js:2373
-#: templates/js/translated/part.js:1087 templates/js/translated/part.js:1125
-#: templates/js/translated/table_filters.js:346
+#: order/models.py:1046 order/templates/order/order_base.html:178
+#: templates/js/translated/order.js:1675 templates/js/translated/order.js:2396
+#: templates/js/translated/part.js:1114 templates/js/translated/part.js:1146
+#: templates/js/translated/table_filters.js:350
msgid "Received"
msgstr "Empfangen"
-#: order/models.py:1024
+#: order/models.py:1047
msgid "Number of items received"
msgstr "Empfangene Objekt-Anzahl"
-#: order/models.py:1031 part/templates/part/prices.html:181 stock/models.py:741
-#: stock/serializers.py:169 stock/templates/stock/item_base.html:189
-#: templates/js/translated/stock.js:1966
+#: order/models.py:1054 stock/models.py:757 stock/serializers.py:173
+#: stock/templates/stock/item_base.html:189
+#: templates/js/translated/stock.js:1985
msgid "Purchase Price"
msgstr "Preis"
-#: order/models.py:1032
+#: order/models.py:1055
msgid "Unit purchase price"
msgstr "Preis pro Einheit"
-#: order/models.py:1040
+#: order/models.py:1063
msgid "Where does the Purchaser want this item to be stored?"
msgstr "Wo möchte der Käufer diesen Artikel gelagert haben?"
-#: order/models.py:1106
+#: order/models.py:1129
msgid "Virtual part cannot be assigned to a sales order"
msgstr ""
-#: order/models.py:1111
+#: order/models.py:1134
msgid "Only salable parts can be assigned to a sales order"
msgstr ""
-#: order/models.py:1137 part/templates/part/part_pricing.html:115
-#: part/templates/part/prices.html:121 part/templates/part/prices.html:290
+#: order/models.py:1160 part/templates/part/part_pricing.html:107
+#: part/templates/part/prices.html:139 templates/js/translated/pricing.js:665
msgid "Sale Price"
msgstr "Verkaufspreis"
-#: order/models.py:1138
+#: order/models.py:1161
msgid "Unit sale price"
msgstr "Stückverkaufspreis"
-#: order/models.py:1143
+#: order/models.py:1166
msgid "Shipped quantity"
msgstr "Versendete Menge"
-#: order/models.py:1219
+#: order/models.py:1242
msgid "Date of shipment"
msgstr "Versanddatum"
-#: order/models.py:1226
+#: order/models.py:1249
msgid "Checked By"
msgstr "Kontrolliert von"
-#: order/models.py:1227
+#: order/models.py:1250
msgid "User who checked this shipment"
msgstr "Benutzer, der diese Sendung kontrolliert hat"
-#: order/models.py:1234 order/models.py:1419 order/serializers.py:1228
-#: order/serializers.py:1356 templates/js/translated/model_renderers.js:314
+#: order/models.py:1257 order/models.py:1442 order/serializers.py:1221
+#: order/serializers.py:1349 templates/js/translated/model_renderers.js:314
msgid "Shipment"
msgstr "Sendung"
-#: order/models.py:1235
+#: order/models.py:1258
msgid "Shipment number"
msgstr "Sendungsnummer"
-#: order/models.py:1239
+#: order/models.py:1262
msgid "Shipment notes"
msgstr "Versandhinweise"
-#: order/models.py:1245
+#: order/models.py:1268
msgid "Tracking Number"
msgstr "Sendungsverfolgungsnummer"
-#: order/models.py:1246
+#: order/models.py:1269
msgid "Shipment tracking information"
msgstr "Informationen zur Sendungsverfolgung"
-#: order/models.py:1253
+#: order/models.py:1276
msgid "Invoice Number"
msgstr "Rechnungsnummer"
-#: order/models.py:1254
+#: order/models.py:1277
msgid "Reference number for associated invoice"
msgstr "Referenznummer für zugehörige Rechnung"
-#: order/models.py:1272
+#: order/models.py:1295
msgid "Shipment has already been sent"
msgstr "Sendung wurde bereits versandt"
-#: order/models.py:1275
+#: order/models.py:1298
msgid "Shipment has no allocated stock items"
msgstr "Sendung hat keine zugewiesene Lagerartikel"
-#: order/models.py:1378 order/models.py:1380
+#: order/models.py:1401 order/models.py:1403
msgid "Stock item has not been assigned"
msgstr "Lagerartikel wurde nicht zugewiesen"
-#: order/models.py:1384
+#: order/models.py:1407
msgid "Cannot allocate stock item to a line with a different part"
msgstr "Kann Lagerartikel keiner Zeile mit einem anderen Teil hinzufügen"
-#: order/models.py:1386
+#: order/models.py:1409
msgid "Cannot allocate stock to a line without a part"
msgstr "Kann Lagerartikel keiner Zeile ohne Teil hinzufügen"
-#: order/models.py:1389
+#: order/models.py:1412
msgid "Allocation quantity cannot exceed stock quantity"
msgstr "Die zugeordnete Anzahl darf nicht die verfügbare Anzahl überschreiten"
-#: order/models.py:1399 order/serializers.py:1090
+#: order/models.py:1422 order/serializers.py:1083
msgid "Quantity must be 1 for serialized stock item"
msgstr "Anzahl für serialisierte Lagerartikel muss 1 sein"
-#: order/models.py:1402
+#: order/models.py:1425
msgid "Sales order does not match shipment"
msgstr "Auftrag gehört nicht zu Sendung"
-#: order/models.py:1403
+#: order/models.py:1426
msgid "Shipment does not match sales order"
msgstr "Sendung gehört nicht zu Auftrag"
-#: order/models.py:1411
+#: order/models.py:1434
msgid "Line"
msgstr "Position"
-#: order/models.py:1420
+#: order/models.py:1443
msgid "Sales order shipment reference"
msgstr "Sendungsnummer-Referenz"
-#: order/models.py:1433 templates/js/translated/notification.js:55
+#: order/models.py:1456 templates/js/translated/notification.js:55
msgid "Item"
msgstr "Position"
-#: order/models.py:1434
+#: order/models.py:1457
msgid "Select stock item to allocate"
msgstr "Lagerartikel für Zuordnung auswählen"
-#: order/models.py:1437
+#: order/models.py:1460
msgid "Enter stock allocation quantity"
msgstr "Anzahl für Bestandszuordnung eingeben"
-#: order/serializers.py:67
+#: order/serializers.py:63
msgid "Price currency"
msgstr "Währung"
-#: order/serializers.py:199
+#: order/serializers.py:193
msgid "Order cannot be cancelled"
msgstr "Bestellung kann nicht verworfen werden"
-#: order/serializers.py:209 order/serializers.py:1108
+#: order/serializers.py:203 order/serializers.py:1101
msgid "Allow order to be closed with incomplete line items"
msgstr ""
-#: order/serializers.py:220 order/serializers.py:1119
+#: order/serializers.py:214 order/serializers.py:1112
msgid "Order has incomplete line items"
msgstr ""
-#: order/serializers.py:311
+#: order/serializers.py:305
msgid "Order is not open"
msgstr "Der Auftrag ist nicht offen"
-#: order/serializers.py:335
+#: order/serializers.py:327
msgid "Purchase price currency"
msgstr "Kaufpreiswährung"
-#: order/serializers.py:354
+#: order/serializers.py:346
msgid "Supplier part must be specified"
msgstr "Zuliefererteil muss ausgewählt werden"
-#: order/serializers.py:359
+#: order/serializers.py:351
msgid "Purchase order must be specified"
msgstr "Bestellung muss angegeben sein"
-#: order/serializers.py:365
+#: order/serializers.py:357
msgid "Supplier must match purchase order"
msgstr "Lieferant muss mit der Bestellung übereinstimmen"
-#: order/serializers.py:366
+#: order/serializers.py:358
msgid "Purchase order must match supplier"
msgstr "Die Bestellung muss mit dem Lieferant übereinstimmen"
-#: order/serializers.py:430 order/serializers.py:1196
+#: order/serializers.py:421 order/serializers.py:1189
msgid "Line Item"
msgstr "Position"
-#: order/serializers.py:436
+#: order/serializers.py:427
msgid "Line item does not match purchase order"
msgstr "Position stimmt nicht mit Kaufauftrag überein"
-#: order/serializers.py:446 order/serializers.py:557
+#: order/serializers.py:437 order/serializers.py:548
msgid "Select destination location for received items"
msgstr "Zielort für empfangene Teile auswählen"
-#: order/serializers.py:465 templates/js/translated/order.js:1497
+#: order/serializers.py:456 templates/js/translated/order.js:1531
msgid "Enter batch code for incoming stock items"
msgstr "Losnummer für eingehende Lagerartikel"
-#: order/serializers.py:473 templates/js/translated/order.js:1508
+#: order/serializers.py:464 templates/js/translated/order.js:1542
msgid "Enter serial numbers for incoming stock items"
msgstr "Seriennummern für eingehende Lagerartikel"
-#: order/serializers.py:487
+#: order/serializers.py:478
msgid "Unique identifier field"
msgstr "Einzigartiger Identifikator"
-#: order/serializers.py:501
+#: order/serializers.py:492
msgid "Barcode is already in use"
msgstr "Barcode ist bereits in Verwendung"
-#: order/serializers.py:527
+#: order/serializers.py:518
msgid "An integer quantity must be provided for trackable parts"
msgstr "Ganzzahl für verfolgbare Teile erforderlich"
-#: order/serializers.py:573
+#: order/serializers.py:564
msgid "Line items must be provided"
msgstr "Positionen müssen angegeben werden"
-#: order/serializers.py:590
+#: order/serializers.py:581
msgid "Destination location must be specified"
msgstr "Ziel-Lagerort muss angegeben werden"
-#: order/serializers.py:601
+#: order/serializers.py:592
msgid "Supplied barcode values must be unique"
msgstr "Barcode muss eindeutig sein"
-#: order/serializers.py:907
+#: order/serializers.py:900
msgid "Sale price currency"
msgstr "Verkaufspreis-Währung"
-#: order/serializers.py:988
+#: order/serializers.py:981
msgid "No shipment details provided"
msgstr "Keine Sendungsdetails angegeben"
-#: order/serializers.py:1051 order/serializers.py:1205
+#: order/serializers.py:1044 order/serializers.py:1198
msgid "Line item is not associated with this order"
msgstr "Position ist nicht diesem Auftrag zugeordnet"
-#: order/serializers.py:1073
+#: order/serializers.py:1066
msgid "Quantity must be positive"
msgstr "Anzahl muss positiv sein"
-#: order/serializers.py:1218
+#: order/serializers.py:1211
msgid "Enter serial numbers to allocate"
msgstr "Seriennummern zum Zuweisen eingeben"
-#: order/serializers.py:1240 order/serializers.py:1364
+#: order/serializers.py:1233 order/serializers.py:1357
msgid "Shipment has already been shipped"
msgstr "Sendung wurde bereits versandt"
-#: order/serializers.py:1243 order/serializers.py:1367
+#: order/serializers.py:1236 order/serializers.py:1360
msgid "Shipment is not associated with this order"
msgstr "Sendung ist nicht diesem Auftrag zugeordnet"
-#: order/serializers.py:1297
+#: order/serializers.py:1290
msgid "No match found for the following serial numbers"
msgstr "Folgende Serienummern konnten nicht gefunden werden"
-#: order/serializers.py:1307
+#: order/serializers.py:1300
msgid "The following serial numbers are already allocated"
msgstr "Folgende Seriennummern sind bereits zugewiesen"
@@ -4154,15 +4185,16 @@ msgid "Duplicate order"
msgstr ""
#: order/templates/order/order_base.html:61
-msgid "Place order"
-msgstr "Bestellung aufgeben"
+#: order/templates/order/order_base.html:62
+msgid "Submit Order"
+msgstr ""
#: order/templates/order/order_base.html:65
msgid "Receive items"
msgstr "Elemente empfangen"
#: order/templates/order/order_base.html:67
-#: order/templates/order/purchase_order_detail.html:30
+#: order/templates/order/purchase_order_detail.html:32
msgid "Receive Items"
msgstr "Teile empfangen"
@@ -4248,9 +4280,9 @@ msgstr "Zulieferer-Teil auswählen"
#: part/templates/part/import_wizard/match_references.html:49
#: templates/js/translated/bom.js:102 templates/js/translated/build.js:479
#: templates/js/translated/build.js:631 templates/js/translated/build.js:2078
-#: templates/js/translated/order.js:1084 templates/js/translated/order.js:1586
-#: templates/js/translated/order.js:3092 templates/js/translated/stock.js:625
-#: templates/js/translated/stock.js:793
+#: templates/js/translated/order.js:1118 templates/js/translated/order.js:1620
+#: templates/js/translated/order.js:3103 templates/js/translated/stock.js:644
+#: templates/js/translated/stock.js:812
#: templates/patterns/wizard/match_fields.html:70
msgid "Remove row"
msgstr "Zeile entfernen"
@@ -4278,42 +4310,42 @@ msgstr "Positionen"
msgid "Received Stock"
msgstr "Empfangene Lagerartikel"
-#: order/templates/order/purchase_order_detail.html:17
+#: order/templates/order/purchase_order_detail.html:19
msgid "Purchase Order Items"
msgstr "Bestellungs-Positionen"
-#: order/templates/order/purchase_order_detail.html:26
-#: order/templates/order/sales_order_detail.html:22
-#: order/templates/order/sales_order_detail.html:255
+#: order/templates/order/purchase_order_detail.html:28
+#: order/templates/order/sales_order_detail.html:24
+#: order/templates/order/sales_order_detail.html:260
#: templates/js/translated/order.js:728
msgid "Add Line Item"
msgstr "Position hinzufügen"
-#: order/templates/order/purchase_order_detail.html:29
+#: order/templates/order/purchase_order_detail.html:31
msgid "Receive selected items"
msgstr "Ausgewählte Positionen erhalten"
-#: order/templates/order/purchase_order_detail.html:48
-#: order/templates/order/sales_order_detail.html:42
+#: order/templates/order/purchase_order_detail.html:50
+#: order/templates/order/sales_order_detail.html:45
msgid "Extra Lines"
msgstr "Zusätzliche Positionen"
-#: order/templates/order/purchase_order_detail.html:53
-#: order/templates/order/sales_order_detail.html:47
-#: order/templates/order/sales_order_detail.html:280
+#: order/templates/order/purchase_order_detail.html:56
+#: order/templates/order/sales_order_detail.html:51
+#: order/templates/order/sales_order_detail.html:291
msgid "Add Extra Line"
msgstr "Extra Zeile anzeigen"
-#: order/templates/order/purchase_order_detail.html:72
+#: order/templates/order/purchase_order_detail.html:76
msgid "Received Items"
msgstr "Empfangene Teile"
-#: order/templates/order/purchase_order_detail.html:97
-#: order/templates/order/sales_order_detail.html:150
+#: order/templates/order/purchase_order_detail.html:101
+#: order/templates/order/sales_order_detail.html:155
msgid "Order Notes"
msgstr "Notizen zur Bestellung"
-#: order/templates/order/purchase_order_detail.html:232
+#: order/templates/order/purchase_order_detail.html:239
msgid "Add Order Line"
msgstr "Neue Auftragspositionen hinzufügen"
@@ -4345,12 +4377,12 @@ msgid "This Sales Order has not been fully allocated"
msgstr "Dieser Auftrag ist nicht vollständig zugeordnet"
#: order/templates/order/sales_order_base.html:123
-#: templates/js/translated/order.js:2821
+#: templates/js/translated/order.js:2832
msgid "Customer Reference"
msgstr "Kundenreferenz"
#: order/templates/order/sales_order_base.html:141
-#: order/templates/order/sales_order_detail.html:104
+#: order/templates/order/sales_order_detail.html:109
#: order/templates/order/so_sidebar.html:11
msgid "Completed Shipments"
msgstr "Abgeschlossene Sendungen"
@@ -4359,22 +4391,22 @@ msgstr "Abgeschlossene Sendungen"
msgid "Edit Sales Order"
msgstr "Auftrag bearbeiten"
-#: order/templates/order/sales_order_detail.html:17
+#: order/templates/order/sales_order_detail.html:18
msgid "Sales Order Items"
msgstr "Auftrags-Positionen"
-#: order/templates/order/sales_order_detail.html:68
+#: order/templates/order/sales_order_detail.html:73
#: order/templates/order/so_sidebar.html:8
msgid "Pending Shipments"
msgstr "Ausstehende Sendungen"
-#: order/templates/order/sales_order_detail.html:72
-#: templates/attachment_table.html:6 templates/js/translated/bom.js:1158
+#: order/templates/order/sales_order_detail.html:77
+#: templates/attachment_table.html:6 templates/js/translated/bom.js:1223
#: templates/js/translated/build.js:1979
msgid "Actions"
msgstr "Aktionen"
-#: order/templates/order/sales_order_detail.html:81
+#: order/templates/order/sales_order_detail.html:86
msgid "New Shipment"
msgstr "Neue Sendung"
@@ -4400,617 +4432,844 @@ msgstr "Stückpreis für {part} auf {price} aktualisiert"
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr "{part} Stückpreis auf {price} und Menge auf {qty} aktualisiert"
-#: part/api.py:516
-msgid "Incoming Purchase Order"
-msgstr "Eingehende Bestellung"
+#: part/admin.py:19 part/admin.py:219 part/models.py:3181 stock/admin.py:84
+#: templates/js/translated/model_renderers.js:212
+msgid "Part ID"
+msgstr "Teil-ID"
-#: part/api.py:536
-msgid "Outgoing Sales Order"
-msgstr "Ausgehender Auftrag"
+#: part/admin.py:20 part/admin.py:221 part/models.py:3185 stock/admin.py:85
+msgid "Part Name"
+msgstr "Name des Teils"
-#: part/api.py:554
-msgid "Stock produced by Build Order"
-msgstr "Lagerartikel produziert von Bauauftrag"
+#: part/admin.py:21
+msgid "Part Description"
+msgstr ""
-#: part/api.py:640
-msgid "Stock required for Build Order"
-msgstr "Lagerartikel für Bauauftrag benötigt"
+#: part/admin.py:22 part/models.py:822 part/templates/part/part_base.html:272
+#: templates/js/translated/part.js:751 templates/js/translated/part.js:1469
+#: templates/js/translated/stock.js:1745
+msgid "IPN"
+msgstr "IPN (Interne Produktnummer)"
-#: part/api.py:777
-msgid "Valid"
-msgstr "Gültig"
+#: part/admin.py:23 part/models.py:830 part/templates/part/part_base.html:279
+#: report/models.py:171 templates/js/translated/part.js:755
+msgid "Revision"
+msgstr "Version"
-#: part/api.py:778
-msgid "Validate entire Bill of Materials"
-msgstr "Gesamte Stückliste validieren"
+#: part/admin.py:24 part/admin.py:145 part/models.py:808
+#: part/templates/part/category.html:87 part/templates/part/part_base.html:300
+msgid "Keywords"
+msgstr "Schlüsselwörter"
-#: part/api.py:784
-msgid "This option must be selected"
-msgstr "Diese Option muss ausgewählt werden"
+#: part/admin.py:28 part/admin.py:139
+#: templates/js/translated/model_renderers.js:338
+msgid "Category ID"
+msgstr "Kategorie-ID"
-#: part/api.py:1207
-msgid "Must be greater than zero"
-msgstr "Muss größer als 0 sein"
+#: part/admin.py:29 part/admin.py:140
+msgid "Category Name"
+msgstr ""
-#: part/api.py:1211
-msgid "Must be a valid quantity"
-msgstr "Muss eine gültige Nummer sein"
+#: part/admin.py:30 part/admin.py:144
+msgid "Default Location ID"
+msgstr ""
-#: part/api.py:1226
-msgid "Specify location for initial part stock"
-msgstr "Standort für anfänglichen Bestand angeben"
+#: part/admin.py:31
+msgid "Default Supplier ID"
+msgstr ""
-#: part/api.py:1257 part/api.py:1261 part/api.py:1276 part/api.py:1280
-msgid "This field is required"
-msgstr "Dieses Feld ist erforderlich"
+#: part/admin.py:33 part/models.py:914 part/templates/part/part_base.html:206
+msgid "Minimum Stock"
+msgstr "Minimaler Bestand"
-#: part/bom.py:127 part/models.py:98 part/models.py:838
-#: part/templates/part/category.html:109 part/templates/part/part_base.html:345
-msgid "Default Location"
-msgstr "Standard-Lagerort"
+#: part/admin.py:47 part/templates/part/part_base.html:200
+#: templates/js/translated/company.js:1028
+#: templates/js/translated/table_filters.js:213
+msgid "In Stock"
+msgstr "Auf Lager"
-#: part/bom.py:128 templates/email/low_stock_notification.html:17
-msgid "Total Stock"
-msgstr "Gesamtbestand"
-
-#: part/bom.py:129 part/templates/part/part_base.html:195
-#: templates/js/translated/order.js:3913
-msgid "Available Stock"
-msgstr "Verfügbarer Bestand"
-
-#: part/bom.py:130 part/templates/part/part_base.html:213
-#: templates/js/translated/bom.js:1001 templates/js/translated/build.js:1925
-#: templates/js/translated/part.js:588 templates/js/translated/part.js:608
-#: templates/js/translated/part.js:1338 templates/js/translated/part.js:1526
+#: part/admin.py:48 part/bom.py:145 part/templates/part/part_base.html:213
+#: templates/js/translated/bom.js:1155 templates/js/translated/build.js:1925
+#: templates/js/translated/part.js:602 templates/js/translated/part.js:622
+#: templates/js/translated/part.js:1359 templates/js/translated/part.js:1537
#: templates/js/translated/table_filters.js:68
msgid "On Order"
msgstr "Bestellt"
-#: part/forms.py:41
-msgid "Input quantity for price calculation"
-msgstr "Menge für die Preisberechnung"
+#: part/admin.py:49 part/templates/part/part_sidebar.html:27
+msgid "Used In"
+msgstr "Benutzt in"
-#: part/models.py:99
-msgid "Default location for parts in this category"
-msgstr "Standard-Lagerort für Teile dieser Kategorie"
+#: part/admin.py:50 templates/js/translated/build.js:1937
+#: templates/js/translated/build.js:2195 templates/js/translated/build.js:2761
+#: templates/js/translated/order.js:3943
+msgid "Allocated"
+msgstr "Zugeordnet"
-#: part/models.py:102
-msgid "Default keywords"
-msgstr "Standard Stichwörter"
+#: part/admin.py:51 part/templates/part/part_base.html:244
+#: templates/js/translated/part.js:605 templates/js/translated/part.js:625
+#: templates/js/translated/part.js:1363 templates/js/translated/part.js:1544
+msgid "Building"
+msgstr "Im Bau"
-#: part/models.py:102
-msgid "Default keywords for parts in this category"
-msgstr "Standard-Stichworte für Teile dieser Kategorie"
+#: part/admin.py:52 part/models.py:2765
+msgid "Minimum Cost"
+msgstr ""
-#: part/models.py:107 stock/models.py:85
-msgid "Icon"
-msgstr "Symbol"
+#: part/admin.py:53 part/models.py:2771
+msgid "Maximum Cost"
+msgstr ""
-#: part/models.py:108 stock/models.py:86
-msgid "Icon (optional)"
-msgstr "Symbol (optional)"
+#: part/admin.py:142 part/admin.py:216 stock/admin.py:26 stock/admin.py:98
+msgid "Parent ID"
+msgstr ""
-#: part/models.py:122 part/models.py:2517 part/templates/part/category.html:16
-#: part/templates/part/part_app_base.html:10
-msgid "Part Category"
-msgstr "Teil-Kategorie"
+#: part/admin.py:143 part/admin.py:218 stock/admin.py:27
+msgid "Parent Name"
+msgstr ""
-#: part/models.py:123 part/templates/part/category.html:129
-#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200
-#: users/models.py:37
-msgid "Part Categories"
-msgstr "Teil-Kategorien"
+#: part/admin.py:146 part/templates/part/category.html:81
+#: part/templates/part/category.html:94
+msgid "Category Path"
+msgstr "Pfad zur Kategorie"
-#: part/models.py:344 part/templates/part/cat_link.html:3
+#: part/admin.py:149 part/models.py:363 part/templates/part/cat_link.html:3
#: part/templates/part/category.html:23 part/templates/part/category.html:134
#: part/templates/part/category.html:154
#: part/templates/part/category_sidebar.html:9
#: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84
#: templates/InvenTree/settings/sidebar.html:41
-#: templates/js/translated/part.js:2019 templates/js/translated/search.js:146
+#: templates/js/translated/part.js:2043 templates/js/translated/search.js:146
#: templates/navbar.html:24 users/models.py:38
msgid "Parts"
msgstr "Teile"
-#: part/models.py:429
+#: part/admin.py:211
+msgid "BOM Level"
+msgstr ""
+
+#: part/admin.py:213
+msgid "BOM Item ID"
+msgstr ""
+
+#: part/admin.py:217
+msgid "Parent IPN"
+msgstr ""
+
+#: part/admin.py:220 part/models.py:3189
+msgid "Part IPN"
+msgstr "Teil-ID"
+
+#: part/admin.py:226 templates/js/translated/pricing.js:91
+#: templates/js/translated/pricing.js:727
+msgid "Minimum Price"
+msgstr ""
+
+#: part/admin.py:227 templates/js/translated/pricing.js:86
+#: templates/js/translated/pricing.js:735
+msgid "Maximum Price"
+msgstr ""
+
+#: part/api.py:532
+msgid "Incoming Purchase Order"
+msgstr "Eingehende Bestellung"
+
+#: part/api.py:552
+msgid "Outgoing Sales Order"
+msgstr "Ausgehender Auftrag"
+
+#: part/api.py:570
+msgid "Stock produced by Build Order"
+msgstr "Lagerartikel produziert von Bauauftrag"
+
+#: part/api.py:656
+msgid "Stock required for Build Order"
+msgstr "Lagerartikel für Bauauftrag benötigt"
+
+#: part/api.py:814
+msgid "Valid"
+msgstr "Gültig"
+
+#: part/api.py:815
+msgid "Validate entire Bill of Materials"
+msgstr "Gesamte Stückliste validieren"
+
+#: part/api.py:821
+msgid "This option must be selected"
+msgstr "Diese Option muss ausgewählt werden"
+
+#: part/api.py:1261
+msgid "Must be greater than zero"
+msgstr "Muss größer als 0 sein"
+
+#: part/api.py:1265
+msgid "Must be a valid quantity"
+msgstr "Muss eine gültige Nummer sein"
+
+#: part/api.py:1280
+msgid "Specify location for initial part stock"
+msgstr "Standort für anfänglichen Bestand angeben"
+
+#: part/api.py:1311 part/api.py:1315 part/api.py:1330 part/api.py:1334
+msgid "This field is required"
+msgstr "Dieses Feld ist erforderlich"
+
+#: part/bom.py:142 part/models.py:116 part/models.py:857
+#: part/templates/part/category.html:109 part/templates/part/part_base.html:360
+msgid "Default Location"
+msgstr "Standard-Lagerort"
+
+#: part/bom.py:143 templates/email/low_stock_notification.html:17
+msgid "Total Stock"
+msgstr "Gesamtbestand"
+
+#: part/bom.py:144 part/templates/part/part_base.html:195
+#: templates/js/translated/order.js:3910
+msgid "Available Stock"
+msgstr "Verfügbarer Bestand"
+
+#: part/forms.py:41
+msgid "Input quantity for price calculation"
+msgstr "Menge für die Preisberechnung"
+
+#: part/models.py:117
+msgid "Default location for parts in this category"
+msgstr "Standard-Lagerort für Teile dieser Kategorie"
+
+#: part/models.py:120
+msgid "Default keywords"
+msgstr "Standard Stichwörter"
+
+#: part/models.py:120
+msgid "Default keywords for parts in this category"
+msgstr "Standard-Stichworte für Teile dieser Kategorie"
+
+#: part/models.py:125 stock/models.py:101
+msgid "Icon"
+msgstr "Symbol"
+
+#: part/models.py:126 stock/models.py:102
+msgid "Icon (optional)"
+msgstr "Symbol (optional)"
+
+#: part/models.py:140 part/models.py:3130 part/templates/part/category.html:16
+#: part/templates/part/part_app_base.html:10
+msgid "Part Category"
+msgstr "Teil-Kategorie"
+
+#: part/models.py:141 part/templates/part/category.html:129
+#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200
+#: users/models.py:37
+msgid "Part Categories"
+msgstr "Teil-Kategorien"
+
+#: part/models.py:448
msgid "Invalid choice for parent part"
msgstr "Ungültige Auswahl für übergeordnetes Teil"
-#: part/models.py:499 part/models.py:511
+#: part/models.py:518 part/models.py:530
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr "Teil '{p1}' wird in Stückliste für Teil '{p2}' benutzt (rekursiv)"
-#: part/models.py:601
+#: part/models.py:620
msgid "Stock item with this serial number already exists"
msgstr ""
-#: part/models.py:732
+#: part/models.py:751
msgid "Duplicate IPN not allowed in part settings"
msgstr "Doppelte IPN in den Teil-Einstellungen nicht erlaubt"
-#: part/models.py:759 part/models.py:2573
+#: part/models.py:778 part/models.py:3186
msgid "Part name"
msgstr "Name des Teils"
-#: part/models.py:766
+#: part/models.py:785
msgid "Is Template"
msgstr "Ist eine Vorlage"
-#: part/models.py:767
+#: part/models.py:786
msgid "Is this part a template part?"
msgstr "Ist dieses Teil eine Vorlage?"
-#: part/models.py:777
+#: part/models.py:796
msgid "Is this part a variant of another part?"
msgstr "Ist dieses Teil eine Variante eines anderen Teils?"
-#: part/models.py:778
+#: part/models.py:797
msgid "Variant Of"
msgstr "Variante von"
-#: part/models.py:784
+#: part/models.py:803
msgid "Part description"
msgstr "Beschreibung des Teils"
-#: part/models.py:789 part/templates/part/category.html:87
-#: part/templates/part/part_base.html:300
-msgid "Keywords"
-msgstr "Schlüsselwörter"
-
-#: part/models.py:790
+#: part/models.py:809
msgid "Part keywords to improve visibility in search results"
msgstr "Schlüsselworte um die Sichtbarkeit in Suchergebnissen zu verbessern"
-#: part/models.py:797 part/models.py:2272 part/models.py:2516
+#: part/models.py:816 part/models.py:2885 part/models.py:3129
#: part/templates/part/part_base.html:263
#: templates/InvenTree/settings/settings.html:229
#: templates/js/translated/notification.js:50
-#: templates/js/translated/part.js:1480 templates/js/translated/part.js:1724
+#: templates/js/translated/part.js:1491 templates/js/translated/part.js:1748
msgid "Category"
msgstr "Kategorie"
-#: part/models.py:798
+#: part/models.py:817
msgid "Part category"
msgstr "Teile-Kategorie"
-#: part/models.py:803 part/templates/part/part_base.html:272
-#: templates/js/translated/part.js:737 templates/js/translated/part.js:1431
-#: templates/js/translated/stock.js:1726
-msgid "IPN"
-msgstr "IPN (Interne Produktnummer)"
-
-#: part/models.py:804
+#: part/models.py:823
msgid "Internal Part Number"
msgstr "Interne Teilenummer"
-#: part/models.py:810
+#: part/models.py:829
msgid "Part revision or version number"
msgstr "Revisions- oder Versionsnummer"
-#: part/models.py:811 part/templates/part/part_base.html:279
-#: report/models.py:171 templates/js/translated/part.js:741
-msgid "Revision"
-msgstr "Version"
-
-#: part/models.py:836
+#: part/models.py:855
msgid "Where is this item normally stored?"
msgstr "Wo wird dieses Teil normalerweise gelagert?"
-#: part/models.py:881 part/templates/part/part_base.html:354
+#: part/models.py:900 part/templates/part/part_base.html:369
msgid "Default Supplier"
msgstr "Standard Zulieferer"
-#: part/models.py:882
+#: part/models.py:901
msgid "Default supplier part"
msgstr "Standard Zuliefererteil"
-#: part/models.py:889
+#: part/models.py:908
msgid "Default Expiry"
msgstr "Standard Ablaufzeit"
-#: part/models.py:890
+#: part/models.py:909
msgid "Expiry time (in days) for stock items of this part"
msgstr "Ablauf-Zeit (in Tagen) für Bestand dieses Teils"
-#: part/models.py:895 part/templates/part/part_base.html:206
-msgid "Minimum Stock"
-msgstr "Minimaler Bestand"
-
-#: part/models.py:896
+#: part/models.py:915
msgid "Minimum allowed stock level"
msgstr "Minimal zulässiger Bestand"
-#: part/models.py:903
+#: part/models.py:922
msgid "Stock keeping units for this part"
msgstr "Stock Keeping Units (SKU) für dieses Teil"
-#: part/models.py:909
+#: part/models.py:928
msgid "Can this part be built from other parts?"
msgstr "Kann dieses Teil aus anderen Teilen angefertigt werden?"
-#: part/models.py:915
+#: part/models.py:934
msgid "Can this part be used to build other parts?"
msgstr "Kann dieses Teil zum Bauauftrag von anderen genutzt werden?"
-#: part/models.py:921
+#: part/models.py:940
msgid "Does this part have tracking for unique items?"
msgstr "Hat dieses Teil Tracking für einzelne Objekte?"
-#: part/models.py:926
+#: part/models.py:945
msgid "Can this part be purchased from external suppliers?"
msgstr "Kann dieses Teil von externen Zulieferern gekauft werden?"
-#: part/models.py:931
+#: part/models.py:950
msgid "Can this part be sold to customers?"
msgstr "Kann dieses Teil an Kunden verkauft werden?"
-#: part/models.py:936
+#: part/models.py:955
msgid "Is this part active?"
msgstr "Ist dieses Teil aktiv?"
-#: part/models.py:941
+#: part/models.py:960
msgid "Is this a virtual part, such as a software product or license?"
msgstr "Ist dieses Teil virtuell, wie zum Beispiel eine Software oder Lizenz?"
-#: part/models.py:943
+#: part/models.py:962
msgid "Part notes"
msgstr "Teile-Notizen"
-#: part/models.py:945
+#: part/models.py:964
msgid "BOM checksum"
msgstr "Prüfsumme der Stückliste"
-#: part/models.py:945
+#: part/models.py:964
msgid "Stored BOM checksum"
msgstr "Prüfsumme der Stückliste gespeichert"
-#: part/models.py:948
+#: part/models.py:967
msgid "BOM checked by"
msgstr "Stückliste kontrolliert von"
-#: part/models.py:950
+#: part/models.py:969
msgid "BOM checked date"
msgstr "BOM Kontrolldatum"
-#: part/models.py:954
+#: part/models.py:973
msgid "Creation User"
msgstr "Erstellungs-Nutzer"
-#: part/models.py:1790
+#: part/models.py:1819
msgid "Sell multiple"
msgstr "Mehrere verkaufen"
-#: part/models.py:2319
+#: part/models.py:2682
+msgid "Currency used to cache pricing calculations"
+msgstr ""
+
+#: part/models.py:2687
+msgid "Updated"
+msgstr ""
+
+#: part/models.py:2688
+msgid "Timestamp of last pricing update"
+msgstr ""
+
+#: part/models.py:2705
+msgid "Minimum BOM Cost"
+msgstr ""
+
+#: part/models.py:2706
+msgid "Minimum cost of component parts"
+msgstr ""
+
+#: part/models.py:2711
+msgid "Maximum BOM Cost"
+msgstr ""
+
+#: part/models.py:2712
+msgid "Maximum cost of component parts"
+msgstr ""
+
+#: part/models.py:2717
+msgid "Minimum Purchase Cost"
+msgstr ""
+
+#: part/models.py:2718
+msgid "Minimum historical purchase cost"
+msgstr ""
+
+#: part/models.py:2723
+msgid "Maximum Purchase Cost"
+msgstr ""
+
+#: part/models.py:2724
+msgid "Maximum historical purchase cost"
+msgstr ""
+
+#: part/models.py:2729
+msgid "Minimum Internal Price"
+msgstr ""
+
+#: part/models.py:2730
+msgid "Minimum cost based on internal price breaks"
+msgstr ""
+
+#: part/models.py:2735
+msgid "Maximum Internal Price"
+msgstr ""
+
+#: part/models.py:2736
+msgid "Maximum cost based on internal price breaks"
+msgstr ""
+
+#: part/models.py:2741
+msgid "Minimum Supplier Price"
+msgstr ""
+
+#: part/models.py:2742
+msgid "Minimum price of part from external suppliers"
+msgstr ""
+
+#: part/models.py:2747
+msgid "Maximum Supplier Price"
+msgstr ""
+
+#: part/models.py:2748
+msgid "Maximum price of part from external suppliers"
+msgstr ""
+
+#: part/models.py:2753
+msgid "Minimum Variant Cost"
+msgstr ""
+
+#: part/models.py:2754
+msgid "Calculated minimum cost of variant parts"
+msgstr ""
+
+#: part/models.py:2759
+msgid "Maximum Variant Cost"
+msgstr ""
+
+#: part/models.py:2760
+msgid "Calculated maximum cost of variant parts"
+msgstr ""
+
+#: part/models.py:2766
+msgid "Calculated overall minimum cost"
+msgstr ""
+
+#: part/models.py:2772
+msgid "Calculated overall maximum cost"
+msgstr ""
+
+#: part/models.py:2777
+msgid "Minimum Sale Price"
+msgstr ""
+
+#: part/models.py:2778
+msgid "Minimum sale price based on price breaks"
+msgstr ""
+
+#: part/models.py:2783
+msgid "Maximum Sale Price"
+msgstr ""
+
+#: part/models.py:2784
+msgid "Maximum sale price based on price breaks"
+msgstr ""
+
+#: part/models.py:2789
+msgid "Minimum Sale Cost"
+msgstr ""
+
+#: part/models.py:2790
+msgid "Minimum historical sale price"
+msgstr ""
+
+#: part/models.py:2795
+msgid "Maximum Sale Cost"
+msgstr ""
+
+#: part/models.py:2796
+msgid "Maximum historical sale price"
+msgstr ""
+
+#: part/models.py:2932
msgid "Test templates can only be created for trackable parts"
msgstr "Test-Vorlagen können nur für verfolgbare Teile angelegt werden"
-#: part/models.py:2336
+#: part/models.py:2949
msgid "Test with this name already exists for this part"
msgstr "Ein Test mit diesem Namen besteht bereits für dieses Teil"
-#: part/models.py:2356 templates/js/translated/part.js:2070
-#: templates/js/translated/stock.js:1340
+#: part/models.py:2969 templates/js/translated/part.js:2094
+#: templates/js/translated/stock.js:1359
msgid "Test Name"
msgstr "Test-Name"
-#: part/models.py:2357
+#: part/models.py:2970
msgid "Enter a name for the test"
msgstr "Namen für diesen Test eingeben"
-#: part/models.py:2362
+#: part/models.py:2975
msgid "Test Description"
msgstr "Test-Beschreibung"
-#: part/models.py:2363
+#: part/models.py:2976
msgid "Enter description for this test"
msgstr "Beschreibung für diesen Test eingeben"
-#: part/models.py:2368 templates/js/translated/part.js:2079
-#: templates/js/translated/table_filters.js:310
+#: part/models.py:2981 templates/js/translated/part.js:2103
+#: templates/js/translated/table_filters.js:314
msgid "Required"
msgstr "Benötigt"
-#: part/models.py:2369
+#: part/models.py:2982
msgid "Is this test required to pass?"
msgstr "Muss dieser Test erfolgreich sein?"
-#: part/models.py:2374 templates/js/translated/part.js:2087
+#: part/models.py:2987 templates/js/translated/part.js:2111
msgid "Requires Value"
msgstr "Erfordert Wert"
-#: part/models.py:2375
+#: part/models.py:2988
msgid "Does this test require a value when adding a test result?"
msgstr "Muss für diesen Test ein Wert für das Test-Ergebnis eingetragen werden?"
-#: part/models.py:2380 templates/js/translated/part.js:2094
+#: part/models.py:2993 templates/js/translated/part.js:2118
msgid "Requires Attachment"
msgstr "Anhang muss eingegeben werden"
-#: part/models.py:2381
+#: part/models.py:2994
msgid "Does this test require a file attachment when adding a test result?"
msgstr "Muss für diesen Test ein Anhang für das Test-Ergebnis hinzugefügt werden?"
-#: part/models.py:2422
+#: part/models.py:3035
msgid "Parameter template name must be unique"
msgstr "Vorlagen-Name des Parameters muss eindeutig sein"
-#: part/models.py:2430
+#: part/models.py:3043
msgid "Parameter Name"
msgstr "Name des Parameters"
-#: part/models.py:2434
+#: part/models.py:3047
msgid "Parameter Units"
msgstr "Einheit des Parameters"
-#: part/models.py:2439
+#: part/models.py:3052
msgid "Parameter description"
msgstr ""
-#: part/models.py:2472
+#: part/models.py:3085
msgid "Parent Part"
msgstr "Ausgangsteil"
-#: part/models.py:2474 part/models.py:2522 part/models.py:2523
+#: part/models.py:3087 part/models.py:3135 part/models.py:3136
#: templates/InvenTree/settings/settings.html:224
msgid "Parameter Template"
msgstr "Parameter Vorlage"
-#: part/models.py:2476
+#: part/models.py:3089
msgid "Data"
msgstr "Wert"
-#: part/models.py:2476
+#: part/models.py:3089
msgid "Parameter Value"
msgstr "Parameter Wert"
-#: part/models.py:2527 templates/InvenTree/settings/settings.html:233
+#: part/models.py:3140 templates/InvenTree/settings/settings.html:233
msgid "Default Value"
msgstr "Standard-Wert"
-#: part/models.py:2528
+#: part/models.py:3141
msgid "Default Parameter Value"
msgstr "Standard Parameter Wert"
-#: part/models.py:2565
+#: part/models.py:3178
msgid "Part ID or part name"
msgstr "Teilnummer oder Teilname"
-#: part/models.py:2568 templates/js/translated/model_renderers.js:212
-msgid "Part ID"
-msgstr "Teil-ID"
-
-#: part/models.py:2569
+#: part/models.py:3182
msgid "Unique part ID value"
msgstr "Eindeutige Teil-ID"
-#: part/models.py:2572
-msgid "Part Name"
-msgstr "Name des Teils"
-
-#: part/models.py:2576
-msgid "Part IPN"
-msgstr "Teil-ID"
-
-#: part/models.py:2577
+#: part/models.py:3190
msgid "Part IPN value"
msgstr "IPN-Wert des Teils"
-#: part/models.py:2580
+#: part/models.py:3193
msgid "Level"
msgstr "Stufe"
-#: part/models.py:2581
+#: part/models.py:3194
msgid "BOM level"
msgstr "Stücklistenebene"
-#: part/models.py:2650
+#: part/models.py:3263
msgid "Select parent part"
msgstr "Ausgangsteil auswählen"
-#: part/models.py:2658
+#: part/models.py:3271
msgid "Sub part"
msgstr "Untergeordnetes Teil"
-#: part/models.py:2659
+#: part/models.py:3272
msgid "Select part to be used in BOM"
msgstr "Teil für die Nutzung in der Stückliste auswählen"
-#: part/models.py:2665
+#: part/models.py:3278
msgid "BOM quantity for this BOM item"
msgstr "Stücklisten-Anzahl für dieses Stücklisten-Teil"
-#: part/models.py:2669 part/templates/part/upload_bom.html:58
-#: templates/js/translated/bom.js:924 templates/js/translated/bom.js:1024
+#: part/models.py:3282 part/templates/part/upload_bom.html:58
+#: templates/js/translated/bom.js:933 templates/js/translated/bom.js:986
#: templates/js/translated/build.js:1858
#: templates/js/translated/table_filters.js:84
-#: templates/js/translated/table_filters.js:108
+#: templates/js/translated/table_filters.js:112
msgid "Optional"
msgstr "Optional"
-#: part/models.py:2670
+#: part/models.py:3283
msgid "This BOM item is optional"
msgstr "Diese Stücklisten-Position ist optional"
-#: part/models.py:2675 templates/js/translated/bom.js:920
-#: templates/js/translated/bom.js:1033 templates/js/translated/build.js:1849
+#: part/models.py:3288 templates/js/translated/bom.js:929
+#: templates/js/translated/bom.js:995 templates/js/translated/build.js:1849
#: templates/js/translated/table_filters.js:88
msgid "Consumable"
msgstr ""
-#: part/models.py:2676
+#: part/models.py:3289
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:2680 part/templates/part/upload_bom.html:55
+#: part/models.py:3293 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr "Überschuss"
-#: part/models.py:2681
+#: part/models.py:3294
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr "Geschätzter Ausschuss (absolut oder prozentual)"
-#: part/models.py:2684
+#: part/models.py:3297
msgid "BOM item reference"
msgstr "Referenz der Postion auf der Stückliste"
-#: part/models.py:2687
+#: part/models.py:3300
msgid "BOM item notes"
msgstr "Notizen zur Stücklisten-Position"
-#: part/models.py:2689
+#: part/models.py:3302
msgid "Checksum"
msgstr "Prüfsumme"
-#: part/models.py:2689
+#: part/models.py:3302
msgid "BOM line checksum"
msgstr "Prüfsumme der Stückliste"
-#: part/models.py:2693 part/templates/part/upload_bom.html:57
-#: templates/js/translated/bom.js:1050
+#: part/models.py:3306 part/templates/part/upload_bom.html:57
+#: templates/js/translated/bom.js:1012
#: templates/js/translated/table_filters.js:76
-#: templates/js/translated/table_filters.js:104
+#: templates/js/translated/table_filters.js:108
msgid "Inherited"
msgstr "Geerbt"
-#: part/models.py:2694
+#: part/models.py:3307
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr "Diese Stücklisten-Position wird in die Stücklisten von Teil-Varianten vererbt"
-#: part/models.py:2699 part/templates/part/upload_bom.html:56
-#: templates/js/translated/bom.js:1042
+#: part/models.py:3312 part/templates/part/upload_bom.html:56
+#: templates/js/translated/bom.js:1004
msgid "Allow Variants"
msgstr "Varianten zulassen"
-#: part/models.py:2700
+#: part/models.py:3313
msgid "Stock items for variant parts can be used for this BOM item"
msgstr "Bestand von Varianten kann für diese Stücklisten-Position verwendet werden"
-#: part/models.py:2786 stock/models.py:502
+#: part/models.py:3399 stock/models.py:518
msgid "Quantity must be integer value for trackable parts"
msgstr "Menge muss eine Ganzzahl sein"
-#: part/models.py:2795 part/models.py:2797
+#: part/models.py:3408 part/models.py:3410
msgid "Sub part must be specified"
msgstr "Zuliefererteil muss festgelegt sein"
-#: part/models.py:2902
+#: part/models.py:3537
msgid "BOM Item Substitute"
msgstr "Stücklisten Ersatzteile"
-#: part/models.py:2923
+#: part/models.py:3558
msgid "Substitute part cannot be the same as the master part"
msgstr "Ersatzteil kann nicht identisch mit dem Hauptteil sein"
-#: part/models.py:2936
+#: part/models.py:3571
msgid "Parent BOM item"
msgstr "Übergeordnete Stücklisten Position"
-#: part/models.py:2944
+#: part/models.py:3579
msgid "Substitute part"
msgstr "Ersatzteil"
-#: part/models.py:2959
+#: part/models.py:3594
msgid "Part 1"
msgstr "Teil 1"
-#: part/models.py:2963
+#: part/models.py:3598
msgid "Part 2"
msgstr "Teil 2"
-#: part/models.py:2963
+#: part/models.py:3598
msgid "Select Related Part"
msgstr "verknüpftes Teil auswählen"
-#: part/models.py:2981
+#: part/models.py:3616
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:2985
+#: part/models.py:3620
msgid "Duplicate relationship already exists"
msgstr "Doppelte Beziehung existiert bereits"
-#: part/serializers.py:154 part/serializers.py:185 stock/serializers.py:179
+#: part/serializers.py:154 part/serializers.py:182 stock/serializers.py:183
msgid "Purchase currency of this stock item"
msgstr "Kaufwährung dieses Lagerartikels"
-#: part/serializers.py:829
+#: part/serializers.py:542
+msgid "Update"
+msgstr ""
+
+#: part/serializers.py:543
+msgid "Update pricing for this part"
+msgstr ""
+
+#: part/serializers.py:853
msgid "Select part to copy BOM from"
msgstr "Bauteil auswählen, von dem Stückliste kopiert wird"
-#: part/serializers.py:837
+#: part/serializers.py:861
msgid "Remove Existing Data"
msgstr "Bestehende Daten entfernen"
-#: part/serializers.py:838
+#: part/serializers.py:862
msgid "Remove existing BOM items before copying"
msgstr "Bestehende Stücklisten-Positionen vor dem Kopieren entfernen"
-#: part/serializers.py:843
+#: part/serializers.py:867
msgid "Include Inherited"
msgstr "Vererbtes einschließen"
-#: part/serializers.py:844
+#: part/serializers.py:868
msgid "Include BOM items which are inherited from templated parts"
msgstr "Stücklisten-Positionen einbeziehen, die von Vorlage-Teilen geerbt werden"
-#: part/serializers.py:849
+#: part/serializers.py:873
msgid "Skip Invalid Rows"
msgstr "Ungültige Zeilen überspringen"
-#: part/serializers.py:850
+#: part/serializers.py:874
msgid "Enable this option to skip invalid rows"
msgstr "Aktiviere diese Option, um ungültige Zeilen zu überspringen"
-#: part/serializers.py:855
+#: part/serializers.py:879
msgid "Copy Substitute Parts"
msgstr "Ersatzteile kopieren"
-#: part/serializers.py:856
+#: part/serializers.py:880
msgid "Copy substitute parts when duplicate BOM items"
msgstr "Ersatzteile beim Duplizieren von Stücklisten-Positionen kopieren"
-#: part/serializers.py:896
+#: part/serializers.py:920
msgid "Clear Existing BOM"
msgstr "Bestehende Stückliste löschen"
-#: part/serializers.py:897
+#: part/serializers.py:921
msgid "Delete existing BOM items before uploading"
msgstr "Bestehende Stücklisten-Positionen vor dem Importieren entfernen"
-#: part/serializers.py:927
+#: part/serializers.py:951
msgid "No part column specified"
msgstr "Keine Bauteilspalte angegeben"
-#: part/serializers.py:970
+#: part/serializers.py:994
msgid "Multiple matching parts found"
msgstr "Mehrere übereinstimmende Teile gefunden"
-#: part/serializers.py:973
+#: part/serializers.py:997
msgid "No matching part found"
msgstr "Keine passenden Teile gefunden"
-#: part/serializers.py:976
+#: part/serializers.py:1000
msgid "Part is not designated as a component"
msgstr "Teil ist nicht als Komponente angelegt"
-#: part/serializers.py:985
+#: part/serializers.py:1009
msgid "Quantity not provided"
msgstr "Menge nicht angegeben"
-#: part/serializers.py:993
+#: part/serializers.py:1017
msgid "Invalid quantity"
msgstr "Ungültige Menge"
-#: part/serializers.py:1014
+#: part/serializers.py:1038
msgid "At least one BOM item is required"
msgstr "Mindestens eine Stückliste-Position ist erforderlich"
-#: part/tasks.py:21
+#: part/tasks.py:25
msgid "Low stock notification"
msgstr "Benachrichtigungen über geringen Bestand"
-#: part/tasks.py:22
+#: part/tasks.py:26
#, python-brace-format
msgid "The available stock for {part.name} has fallen below the configured minimum level"
msgstr "Der verfügbare Bestand für {part.name} ist unter das konfigurierte Mindestniveau gefallen"
@@ -5034,7 +5293,7 @@ msgstr "Die Stückliste für %(part)s wurde zuletzt von %(checker)s am
msgid "The BOM for %(part)s has not been validated."
msgstr "Die Stückliste für %(part)s wurde noch nicht kontrolliert."
-#: part/templates/part/bom.html:30 part/templates/part/detail.html:269
+#: part/templates/part/bom.html:30 part/templates/part/detail.html:267
msgid "BOM actions"
msgstr "Stücklisten-Aktionen"
@@ -5070,10 +5329,6 @@ msgstr "Kategorie löschen"
msgid "Delete Category"
msgstr "Kategorie löschen"
-#: part/templates/part/category.html:81 part/templates/part/category.html:94
-msgid "Category Path"
-msgstr "Pfad zur Kategorie"
-
#: part/templates/part/category.html:95
msgid "Top level part category"
msgstr "Oberste Teil-Kategorie"
@@ -5091,12 +5346,12 @@ msgstr "Teile (inklusive Unter-Kategorien)"
msgid "Create new part"
msgstr "Neues Teil anlegen"
-#: part/templates/part/category.html:159 templates/js/translated/bom.js:392
+#: part/templates/part/category.html:159 templates/js/translated/bom.js:405
msgid "New Part"
msgstr "Neues Teil"
-#: part/templates/part/category.html:169 part/templates/part/detail.html:368
-#: part/templates/part/detail.html:399
+#: part/templates/part/category.html:169 part/templates/part/detail.html:366
+#: part/templates/part/detail.html:397
msgid "Options"
msgstr "Optionen"
@@ -5144,7 +5399,7 @@ msgstr "Teil erfolgreich angelegt"
msgid "Import Parts"
msgstr "Teile importieren"
-#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:379
+#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:393
msgid "Duplicate Part"
msgstr "Teil duplizieren"
@@ -5176,7 +5431,8 @@ msgstr "Teilbestand"
msgid "Refresh scheduling data"
msgstr ""
-#: part/templates/part/detail.html:45 templates/js/translated/tables.js:524
+#: part/templates/part/detail.html:45 part/templates/part/prices.html:15
+#: templates/js/translated/tables.js:524
msgid "Refresh"
msgstr "Neu laden"
@@ -5192,123 +5448,103 @@ msgstr "Test Vorlage hinzufügen"
msgid "Sales Order Allocations"
msgstr "Verkaufsauftragszuweisungen"
-#: part/templates/part/detail.html:143
+#: part/templates/part/detail.html:141
msgid "Part Notes"
msgstr "Teile-Notizen"
-#: part/templates/part/detail.html:158
+#: part/templates/part/detail.html:156
msgid "Part Variants"
msgstr "Teil Varianten"
-#: part/templates/part/detail.html:162
+#: part/templates/part/detail.html:160
msgid "Create new variant"
msgstr "Neue Variante anlegen"
-#: part/templates/part/detail.html:163
+#: part/templates/part/detail.html:161
msgid "New Variant"
msgstr "neue Variante anlegen"
-#: part/templates/part/detail.html:190
+#: part/templates/part/detail.html:188
msgid "Add new parameter"
msgstr "Parameter hinzufügen"
-#: part/templates/part/detail.html:227 part/templates/part/part_sidebar.html:54
+#: part/templates/part/detail.html:225 part/templates/part/part_sidebar.html:52
msgid "Related Parts"
msgstr "Verknüpfte Teile"
-#: part/templates/part/detail.html:231 part/templates/part/detail.html:232
+#: part/templates/part/detail.html:229 part/templates/part/detail.html:230
msgid "Add Related"
msgstr "Verknüpftes Teil hinzufügen"
-#: part/templates/part/detail.html:252 part/templates/part/part_sidebar.html:17
+#: part/templates/part/detail.html:250 part/templates/part/part_sidebar.html:17
msgid "Bill of Materials"
msgstr "Stückliste"
-#: part/templates/part/detail.html:257
+#: part/templates/part/detail.html:255
msgid "Export actions"
msgstr "Export-Aktionen"
-#: part/templates/part/detail.html:261 templates/js/translated/bom.js:309
+#: part/templates/part/detail.html:259 templates/js/translated/bom.js:309
msgid "Export BOM"
msgstr "Stückliste exportieren"
-#: part/templates/part/detail.html:263
+#: part/templates/part/detail.html:261
msgid "Print BOM Report"
msgstr "Stücklisten-Bericht drucken"
-#: part/templates/part/detail.html:273
+#: part/templates/part/detail.html:271
msgid "Upload BOM"
msgstr "Stückliste hochladen"
-#: part/templates/part/detail.html:274 templates/js/translated/part.js:274
+#: part/templates/part/detail.html:272 templates/js/translated/part.js:270
msgid "Copy BOM"
msgstr "Stückliste kopieren"
-#: part/templates/part/detail.html:275
+#: part/templates/part/detail.html:273
msgid "Validate BOM"
msgstr "Stückliste überprüfen"
-#: part/templates/part/detail.html:280 part/templates/part/detail.html:281
-#: templates/js/translated/bom.js:1202 templates/js/translated/bom.js:1203
+#: part/templates/part/detail.html:278 part/templates/part/detail.html:279
+#: templates/js/translated/bom.js:1267 templates/js/translated/bom.js:1268
msgid "Add BOM Item"
msgstr "Stücklisten-Position hinzufügen"
-#: part/templates/part/detail.html:294
+#: part/templates/part/detail.html:292
msgid "Assemblies"
msgstr "Baugruppen"
-#: part/templates/part/detail.html:312
+#: part/templates/part/detail.html:310
msgid "Part Builds"
msgstr "Gefertigte Teile"
-#: part/templates/part/detail.html:339 stock/templates/stock/item.html:38
+#: part/templates/part/detail.html:337 stock/templates/stock/item.html:38
msgid "Build Order Allocations"
msgstr "Bauauftragszuweisungen"
-#: part/templates/part/detail.html:355
+#: part/templates/part/detail.html:353
msgid "Part Suppliers"
msgstr "Zulieferer"
-#: part/templates/part/detail.html:385
+#: part/templates/part/detail.html:383
msgid "Part Manufacturers"
msgstr "Teil-Hersteller"
-#: part/templates/part/detail.html:401
+#: part/templates/part/detail.html:399
msgid "Delete manufacturer parts"
msgstr "Herstellerteile löschen"
-#: part/templates/part/detail.html:658
+#: part/templates/part/detail.html:656
msgid "Related Part"
msgstr "verknüpftes Teil"
-#: part/templates/part/detail.html:666
+#: part/templates/part/detail.html:664
msgid "Add Related Part"
msgstr "verknüpftes Teil hinzufügen"
-#: part/templates/part/detail.html:758
+#: part/templates/part/detail.html:756
msgid "Add Test Result Template"
msgstr "Testergebnis-Vorlage hinzufügen"
-#: part/templates/part/detail.html:901
-#, python-format
-msgid "Purchase Unit Price - %(currency)s"
-msgstr "Stückpreis Einkauf - %(currency)s"
-
-#: part/templates/part/detail.html:913
-#, python-format
-msgid "Unit Price-Cost Difference - %(currency)s"
-msgstr "Stückpreis Differenz - %(currency)s"
-
-#: part/templates/part/detail.html:925
-#, python-format
-msgid "Supplier Unit Cost - %(currency)s"
-msgstr "Stückpreis Zulieferer - %(currency)s"
-
-#: part/templates/part/detail.html:1014
-#, python-format
-msgid "Unit Price - %(currency)s"
-msgstr "Stückpreis - %(currency)s"
-
#: part/templates/part/import_wizard/ajax_match_fields.html:9
#: templates/patterns/wizard/match_fields.html:8
msgid "Missing selections for the following required columns"
@@ -5439,15 +5675,15 @@ msgid "Part is virtual (not a physical part)"
msgstr "Teil ist virtuell (kein physisches Teil)"
#: part/templates/part/part_base.html:148
-#: templates/js/translated/company.js:659
-#: templates/js/translated/company.js:920
+#: templates/js/translated/company.js:660
+#: templates/js/translated/company.js:921
#: templates/js/translated/model_renderers.js:204
-#: templates/js/translated/part.js:652 templates/js/translated/part.js:729
+#: templates/js/translated/part.js:666 templates/js/translated/part.js:743
msgid "Inactive"
msgstr "Inaktiv"
#: part/templates/part/part_base.html:165
-#: part/templates/part/part_base.html:620
+#: part/templates/part/part_base.html:635
msgid "Show Part Details"
msgstr "Teildetails anzeigen"
@@ -5456,12 +5692,6 @@ msgstr "Teildetails anzeigen"
msgid "This part is a variant of %(link)s"
msgstr "Dieses Teil ist eine Variante von %(link)s"
-#: part/templates/part/part_base.html:200
-#: templates/js/translated/company.js:1027
-#: templates/js/translated/table_filters.js:209
-msgid "In Stock"
-msgstr "Auf Lager"
-
#: part/templates/part/part_base.html:221
#: stock/templates/stock/item_base.html:382
msgid "Allocated to Build Orders"
@@ -5472,100 +5702,91 @@ msgstr "Zu Bauaufträgen zugeordnet"
msgid "Allocated to Sales Orders"
msgstr "Zur Bestellung zugeordnet"
-#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1100
+#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1165
msgid "Can Build"
msgstr "Herstellbar"
-#: part/templates/part/part_base.html:244 templates/js/translated/part.js:591
-#: templates/js/translated/part.js:611 templates/js/translated/part.js:1342
-#: templates/js/translated/part.js:1533
-msgid "Building"
-msgstr "Im Bau"
-
#: part/templates/part/part_base.html:293
msgid "Minimum stock level"
msgstr "Minimaler Bestand"
-#: part/templates/part/part_base.html:330
+#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1032
+#: templates/js/translated/part.js:783 templates/js/translated/part.js:1582
+#: templates/js/translated/pricing.js:124
+#: templates/js/translated/pricing.js:757
+msgid "Price Range"
+msgstr ""
+
+#: part/templates/part/part_base.html:345
msgid "Latest Serial Number"
msgstr "letzte Seriennummer"
-#: part/templates/part/part_base.html:334
+#: part/templates/part/part_base.html:349
#: stock/templates/stock/item_base.html:331
msgid "Search for serial number"
msgstr "Nach Seriennummer suchen"
-#: part/templates/part/part_base.html:431
+#: part/templates/part/part_base.html:446
msgid "Link Barcode to Part"
msgstr ""
-#: part/templates/part/part_base.html:477 part/templates/part/prices.html:149
+#: part/templates/part/part_base.html:492
msgid "Calculate"
msgstr "Berechnen"
-#: part/templates/part/part_base.html:520
+#: part/templates/part/part_base.html:535
msgid "No matching images found"
msgstr "Keine passenden Bilder gefunden"
-#: part/templates/part/part_base.html:614
+#: part/templates/part/part_base.html:629
msgid "Hide Part Details"
msgstr "Teildetails ausblenden"
-#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:24
+#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:78
+#: part/templates/part/prices.html:238 templates/js/translated/pricing.js:218
msgid "Supplier Pricing"
msgstr "Zulieferer-Preise"
#: part/templates/part/part_pricing.html:26
#: part/templates/part/part_pricing.html:52
-#: part/templates/part/part_pricing.html:103
-#: part/templates/part/part_pricing.html:118 part/templates/part/prices.html:28
-#: part/templates/part/prices.html:55 part/templates/part/prices.html:108
-#: part/templates/part/prices.html:125
+#: part/templates/part/part_pricing.html:95
+#: part/templates/part/part_pricing.html:110
msgid "Unit Cost"
msgstr "Stückpreis"
#: part/templates/part/part_pricing.html:32
#: part/templates/part/part_pricing.html:58
-#: part/templates/part/part_pricing.html:107
-#: part/templates/part/part_pricing.html:122 part/templates/part/prices.html:35
-#: part/templates/part/prices.html:62 part/templates/part/prices.html:113
-#: part/templates/part/prices.html:130
+#: part/templates/part/part_pricing.html:99
+#: part/templates/part/part_pricing.html:114
msgid "Total Cost"
msgstr "Gesamtkosten"
-#: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:43
-#: templates/js/translated/bom.js:1091
+#: part/templates/part/part_pricing.html:40
msgid "No supplier pricing available"
msgstr "Keine Zulieferer-Preise verfügbar"
-#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:52
-#: part/templates/part/prices.html:248
+#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:94
+#: part/templates/part/prices.html:262
msgid "BOM Pricing"
msgstr "Stücklistenpreise"
-#: part/templates/part/part_pricing.html:66 part/templates/part/prices.html:72
+#: part/templates/part/part_pricing.html:66
msgid "Unit Purchase Price"
msgstr "Kaufpreis pro Einheit"
-#: part/templates/part/part_pricing.html:72 part/templates/part/prices.html:79
+#: part/templates/part/part_pricing.html:72
msgid "Total Purchase Price"
msgstr "Gesamter Kaufpreis"
-#: part/templates/part/part_pricing.html:82 part/templates/part/prices.html:89
-msgid "Note: BOM pricing is incomplete for this part"
-msgstr "Anmerkung: Stücklistenbepreisung für dieses Teil ist unvollständig"
-
-#: part/templates/part/part_pricing.html:91 part/templates/part/prices.html:98
+#: part/templates/part/part_pricing.html:83
msgid "No BOM pricing available"
msgstr "Keine Stücklisten-Preise verfügbar"
-#: part/templates/part/part_pricing.html:100
-#: part/templates/part/prices.html:107
+#: part/templates/part/part_pricing.html:92
msgid "Internal Price"
msgstr "Interner Preis"
-#: part/templates/part/part_pricing.html:131
-#: part/templates/part/prices.html:139
+#: part/templates/part/part_pricing.html:123
msgid "No pricing information is available for this part."
msgstr "Keine Preise für dieses Teil verfügbar"
@@ -5573,7 +5794,8 @@ msgstr "Keine Preise für dieses Teil verfügbar"
#: report/templates/report/inventree_test_report_base.html:97
#: templates/InvenTree/settings/plugin.html:63
#: templates/InvenTree/settings/plugin_settings.html:38
-#: templates/js/translated/order.js:2001 templates/js/translated/stock.js:2478
+#: templates/js/translated/order.js:2035 templates/js/translated/pricing.js:537
+#: templates/js/translated/pricing.js:658 templates/js/translated/stock.js:2496
msgid "Date"
msgstr "Datum"
@@ -5585,15 +5807,11 @@ msgstr ""
msgid "Variants"
msgstr "Varianten"
-#: part/templates/part/part_sidebar.html:27
-msgid "Used In"
-msgstr "Benutzt in"
-
-#: part/templates/part/part_sidebar.html:46
+#: part/templates/part/part_sidebar.html:44
msgid "Scheduling"
msgstr "Zeitplan"
-#: part/templates/part/part_sidebar.html:50
+#: part/templates/part/part_sidebar.html:48
msgid "Test Templates"
msgstr "Testvorlagen"
@@ -5601,74 +5819,82 @@ msgstr "Testvorlagen"
msgid "Select from existing images"
msgstr "Aus vorhandenen Bildern auswählen"
-#: part/templates/part/prices.html:19
-msgid "Pricing ranges"
-msgstr "Preisspannen"
+#: part/templates/part/prices.html:11
+msgid "Pricing Overview"
+msgstr ""
-#: part/templates/part/prices.html:25
-msgid "Show supplier cost"
-msgstr "Zuliefererkosten anzeigen"
+#: part/templates/part/prices.html:14
+msgid "Refresh Part Pricing"
+msgstr ""
-#: part/templates/part/prices.html:26
-msgid "Show purchase price"
-msgstr "Einkaufpreis anzeigen"
+#: part/templates/part/prices.html:25 stock/admin.py:106
+#: stock/templates/stock/item_base.html:440
+#: templates/js/translated/company.js:1039
+#: templates/js/translated/stock.js:1920
+msgid "Last Updated"
+msgstr "Zuletzt aktualisiert"
-#: part/templates/part/prices.html:53
-msgid "Show BOM cost"
-msgstr "Stücklisten-Kosten"
+#: part/templates/part/prices.html:34 part/templates/part/prices.html:126
+msgid "Price Category"
+msgstr ""
-#: part/templates/part/prices.html:122
-msgid "Show sale cost"
-msgstr "Verkaufskosten anzeigen"
+#: part/templates/part/prices.html:35 part/templates/part/prices.html:127
+msgid "Minimum"
+msgstr ""
-#: part/templates/part/prices.html:123
-msgid "Show sale price"
-msgstr "Verkaufspreis anzeigen"
+#: part/templates/part/prices.html:36 part/templates/part/prices.html:128
+msgid "Maximum"
+msgstr ""
-#: part/templates/part/prices.html:145
-msgid "Calculation parameters"
-msgstr "Berechnungsparameter"
+#: part/templates/part/prices.html:49 part/templates/part/prices.html:185
+msgid "Internal Pricing"
+msgstr ""
-#: part/templates/part/prices.html:160 templates/js/translated/bom.js:1085
-msgid "Supplier Cost"
-msgstr "Zuliefererkosten"
+#: part/templates/part/prices.html:64 part/templates/part/prices.html:217
+msgid "Purchase History"
+msgstr ""
-#: part/templates/part/prices.html:161 part/templates/part/prices.html:182
-#: part/templates/part/prices.html:206 part/templates/part/prices.html:236
-#: part/templates/part/prices.html:262 part/templates/part/prices.html:291
+#: part/templates/part/prices.html:103 part/templates/part/prices.html:286
+msgid "Variant Pricing"
+msgstr ""
+
+#: part/templates/part/prices.html:111
+msgid "Overall Pricing"
+msgstr ""
+
+#: part/templates/part/prices.html:155 part/templates/part/prices.html:338
+msgid "Sale History"
+msgstr ""
+
+#: part/templates/part/prices.html:168
+msgid "Sale price data is not available for this part"
+msgstr ""
+
+#: part/templates/part/prices.html:175
+msgid "Price range data is not available for this part."
+msgstr ""
+
+#: part/templates/part/prices.html:186 part/templates/part/prices.html:218
+#: part/templates/part/prices.html:239 part/templates/part/prices.html:263
+#: part/templates/part/prices.html:287 part/templates/part/prices.html:310
+#: part/templates/part/prices.html:339
msgid "Jump to overview"
msgstr "Zur Übersicht gehen"
-#: part/templates/part/prices.html:186
-msgid "Stock Pricing"
-msgstr "Bestandspreise"
-
-#: part/templates/part/prices.html:195
-msgid "No stock pricing history is available for this part."
-msgstr "Für dieses Teil sind keine Bestandspreise verfügbar."
-
-#: part/templates/part/prices.html:205
-msgid "Internal Cost"
-msgstr "Interne Kosten"
-
-#: part/templates/part/prices.html:220
+#: part/templates/part/prices.html:191
msgid "Add Internal Price Break"
msgstr "Interne Preisspanne hinzufügen"
-#: part/templates/part/prices.html:235
-msgid "BOM Cost"
-msgstr "Stücklistenkosten"
+#: part/templates/part/prices.html:309
+msgid "Sale Pricing"
+msgstr ""
-#: part/templates/part/prices.html:261
-msgid "Sale Cost"
-msgstr "Verkaufskosten"
+#: part/templates/part/prices.html:315
+msgid "Add Sell Price Break"
+msgstr ""
-#: part/templates/part/prices.html:302
-msgid "No sale pice history available for this part."
-msgstr "Keine Verkaufsgeschichte für diesen Teil verfügbar."
-
-#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:614
-#: templates/js/translated/part.js:1330 templates/js/translated/part.js:1332
+#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:628
+#: templates/js/translated/part.js:1351 templates/js/translated/part.js:1353
msgid "No Stock"
msgstr "Kein Bestand"
@@ -5722,40 +5948,36 @@ msgstr "Neue Teilevariante anlegen"
msgid "Create a new variant of template '%(full_name)s'."
msgstr "Neue Variante von Vorlage anlegen '%(full_name)s'."
-#: part/templatetags/inventree_extras.py:177
+#: part/templatetags/inventree_extras.py:210
msgid "Unknown database"
msgstr "Unbekannte Datenbank"
-#: part/templatetags/inventree_extras.py:229
+#: part/templatetags/inventree_extras.py:262
#, python-brace-format
msgid "{title} v{version}"
msgstr "{title} v{version}"
-#: part/views.py:114
+#: part/views.py:109
msgid "Match References"
msgstr "Referenzen zuteilen"
-#: part/views.py:415
-msgid "None"
-msgstr "Kein(e)"
-
-#: part/views.py:477
+#: part/views.py:354
msgid "Part QR Code"
msgstr "Teil-QR-Code"
-#: part/views.py:495
+#: part/views.py:372
msgid "Select Part Image"
msgstr "Teilbild auswählen"
-#: part/views.py:521
+#: part/views.py:398
msgid "Updated part image"
msgstr "Teilbild aktualisiert"
-#: part/views.py:524
+#: part/views.py:401
msgid "Part image not found"
msgstr "Teilbild nicht gefunden"
-#: part/views.py:613
+#: part/views.py:493
msgid "Part Pricing"
msgstr "Teilbepreisung"
@@ -6070,12 +6292,12 @@ msgid "Stock Item Test Report"
msgstr "Lagerartikel Test-Bericht"
#: report/templates/report/inventree_test_report_base.html:79
-#: stock/models.py:650 stock/templates/stock/item_base.html:320
+#: stock/models.py:666 stock/templates/stock/item_base.html:320
#: templates/js/translated/build.js:472 templates/js/translated/build.js:624
#: templates/js/translated/build.js:1234 templates/js/translated/build.js:1735
#: templates/js/translated/model_renderers.js:118
-#: templates/js/translated/order.js:121 templates/js/translated/order.js:3592
-#: templates/js/translated/order.js:3679 templates/js/translated/stock.js:490
+#: templates/js/translated/order.js:121 templates/js/translated/order.js:3603
+#: templates/js/translated/order.js:3690 templates/js/translated/stock.js:509
msgid "Serial Number"
msgstr "Seriennummer"
@@ -6084,12 +6306,12 @@ msgid "Test Results"
msgstr "Testergebnisse"
#: report/templates/report/inventree_test_report_base.html:93
-#: stock/models.py:2085
+#: stock/models.py:2101
msgid "Test"
msgstr "Test"
#: report/templates/report/inventree_test_report_base.html:94
-#: stock/models.py:2091
+#: stock/models.py:2107
msgid "Result"
msgstr "Ergebnis"
@@ -6107,383 +6329,435 @@ msgid "Installed Items"
msgstr "Verbaute Objekte"
#: report/templates/report/inventree_test_report_base.html:137
-#: templates/js/translated/stock.js:610 templates/js/translated/stock.js:780
-#: templates/js/translated/stock.js:2727
+#: stock/admin.py:87 templates/js/translated/stock.js:629
+#: templates/js/translated/stock.js:799 templates/js/translated/stock.js:2745
msgid "Serial"
msgstr "Seriennummer"
-#: stock/api.py:529
+#: stock/admin.py:23 stock/admin.py:90
+#: templates/js/translated/model_renderers.js:159
+msgid "Location ID"
+msgstr "Standort-ID"
+
+#: stock/admin.py:24 stock/admin.py:91
+msgid "Location Name"
+msgstr ""
+
+#: stock/admin.py:28 stock/templates/stock/location.html:123
+#: stock/templates/stock/location.html:129
+msgid "Location Path"
+msgstr "Lagerortpfad"
+
+#: stock/admin.py:83
+msgid "Stock Item ID"
+msgstr ""
+
+#: stock/admin.py:92 templates/js/translated/model_renderers.js:418
+msgid "Supplier Part ID"
+msgstr "Zuliefererteil-ID"
+
+#: stock/admin.py:93
+msgid "Supplier ID"
+msgstr ""
+
+#: stock/admin.py:94
+msgid "Supplier Name"
+msgstr ""
+
+#: stock/admin.py:95
+msgid "Customer ID"
+msgstr ""
+
+#: stock/admin.py:96 stock/models.py:649
+#: stock/templates/stock/item_base.html:359
+msgid "Installed In"
+msgstr "verbaut in"
+
+#: stock/admin.py:97 templates/js/translated/model_renderers.js:177
+msgid "Build ID"
+msgstr "Bauauftrag-ID"
+
+#: stock/admin.py:99
+msgid "Sales Order ID"
+msgstr ""
+
+#: stock/admin.py:100
+msgid "Purchase Order ID"
+msgstr ""
+
+#: stock/admin.py:107 templates/js/translated/stock.js:1890
+msgid "Stocktake"
+msgstr "Inventur"
+
+#: stock/admin.py:108 stock/models.py:724
+#: stock/templates/stock/item_base.html:427
+#: templates/js/translated/stock.js:1904
+msgid "Expiry Date"
+msgstr "Ablaufdatum"
+
+#: stock/api.py:539
msgid "Quantity is required"
msgstr "Menge ist erforderlich"
-#: stock/api.py:536
+#: stock/api.py:546
msgid "Valid part must be supplied"
msgstr "Gültiges Teil muss angegeben werden"
-#: stock/api.py:561
+#: stock/api.py:571
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr "Seriennummern können für nicht verfolgbare Teile nicht angegeben werden"
-#: stock/models.py:90 stock/models.py:746
+#: stock/models.py:106 stock/models.py:762
#: stock/templates/stock/item_base.html:250
msgid "Owner"
msgstr "Besitzer"
-#: stock/models.py:91 stock/models.py:747
+#: stock/models.py:107 stock/models.py:763
msgid "Select Owner"
msgstr "Besitzer auswählen"
-#: stock/models.py:508 stock/serializers.py:93
+#: stock/models.py:524 stock/serializers.py:97
msgid "Stock item cannot be created for virtual parts"
msgstr ""
-#: stock/models.py:525
+#: stock/models.py:541
#, python-brace-format
msgid "Part type ('{pf}') must be {pe}"
msgstr "Teile-Typ ('{pf}') muss {pe} sein"
-#: stock/models.py:535 stock/models.py:544
+#: stock/models.py:551 stock/models.py:560
msgid "Quantity must be 1 for item with a serial number"
msgstr "Anzahl muss für Objekte mit Seriennummer 1 sein"
-#: stock/models.py:536
+#: stock/models.py:552
msgid "Serial number cannot be set if quantity greater than 1"
msgstr "Seriennummer kann nicht gesetzt werden wenn die Anzahl größer als 1 ist"
-#: stock/models.py:558
+#: stock/models.py:574
msgid "Item cannot belong to itself"
msgstr "Teil kann nicht zu sich selbst gehören"
-#: stock/models.py:564
+#: stock/models.py:580
msgid "Item must have a build reference if is_building=True"
msgstr "Teil muss eine Referenz haben wenn is_building wahr ist"
-#: stock/models.py:578
+#: stock/models.py:594
msgid "Build reference does not point to the same part object"
msgstr "Referenz verweist nicht auf das gleiche Teil"
-#: stock/models.py:592
+#: stock/models.py:608
msgid "Parent Stock Item"
msgstr "Eltern-Lagerartikel"
-#: stock/models.py:602
+#: stock/models.py:618
msgid "Base part"
msgstr "Basis-Teil"
-#: stock/models.py:610
+#: stock/models.py:626
msgid "Select a matching supplier part for this stock item"
msgstr "Passendes Zuliefererteil für diesen Lagerartikel auswählen"
-#: stock/models.py:617 stock/templates/stock/location.html:17
+#: stock/models.py:633 stock/templates/stock/location.html:17
#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
msgstr "Bestand-Lagerort"
-#: stock/models.py:620
+#: stock/models.py:636
msgid "Where is this stock item located?"
msgstr "Wo wird dieses Teil normalerweise gelagert?"
-#: stock/models.py:627
+#: stock/models.py:643
msgid "Packaging this stock item is stored in"
msgstr "Die Verpackung dieses Lagerartikel ist gelagert in"
-#: stock/models.py:633 stock/templates/stock/item_base.html:359
-msgid "Installed In"
-msgstr "verbaut in"
-
-#: stock/models.py:636
+#: stock/models.py:652
msgid "Is this item installed in another item?"
msgstr "Ist dieses Teil in einem anderen verbaut?"
-#: stock/models.py:652
+#: stock/models.py:668
msgid "Serial number for this item"
msgstr "Seriennummer für dieses Teil"
-#: stock/models.py:666
+#: stock/models.py:682
msgid "Batch code for this stock item"
msgstr "Losnummer für diesen Lagerartikel"
-#: stock/models.py:671
+#: stock/models.py:687
msgid "Stock Quantity"
msgstr "Bestand"
-#: stock/models.py:680
+#: stock/models.py:696
msgid "Source Build"
msgstr "Quellbau"
-#: stock/models.py:682
+#: stock/models.py:698
msgid "Build for this stock item"
msgstr "Bauauftrag für diesen Lagerartikel"
-#: stock/models.py:693
+#: stock/models.py:709
msgid "Source Purchase Order"
msgstr "Quelle Bestellung"
-#: stock/models.py:696
+#: stock/models.py:712
msgid "Purchase order for this stock item"
msgstr "Bestellung für diesen Lagerartikel"
-#: stock/models.py:702
+#: stock/models.py:718
msgid "Destination Sales Order"
msgstr "Ziel-Auftrag"
-#: stock/models.py:708 stock/templates/stock/item_base.html:427
-#: templates/js/translated/stock.js:1885
-msgid "Expiry Date"
-msgstr "Ablaufdatum"
-
-#: stock/models.py:709
+#: stock/models.py:725
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr "Ablaufdatum für Lagerartikel. Bestand wird danach als abgelaufen gekennzeichnet"
-#: stock/models.py:722
+#: stock/models.py:738
msgid "Delete on deplete"
msgstr "Löschen wenn leer"
-#: stock/models.py:722
+#: stock/models.py:738
msgid "Delete this Stock Item when stock is depleted"
msgstr "Diesen Lagerartikel löschen wenn der Bestand aufgebraucht ist"
-#: stock/models.py:734 stock/templates/stock/item.html:132
+#: stock/models.py:750 stock/templates/stock/item.html:132
msgid "Stock Item Notes"
msgstr "Lagerartikel-Notizen"
-#: stock/models.py:742
+#: stock/models.py:758
msgid "Single unit purchase price at time of purchase"
msgstr "Preis für eine Einheit bei Einkauf"
-#: stock/models.py:770
+#: stock/models.py:786
msgid "Converted to part"
msgstr "In Teil umgewandelt"
-#: stock/models.py:1244
+#: stock/models.py:1260
msgid "Part is not set as trackable"
msgstr "Teil ist nicht verfolgbar"
-#: stock/models.py:1250
+#: stock/models.py:1266
msgid "Quantity must be integer"
msgstr "Anzahl muss eine Ganzzahl sein"
-#: stock/models.py:1256
+#: stock/models.py:1272
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr "Anzahl darf nicht die verfügbare Anzahl überschreiten ({n})"
-#: stock/models.py:1259
+#: stock/models.py:1275
msgid "Serial numbers must be a list of integers"
msgstr "Seriennummern muss eine Liste von Ganzzahlen sein"
-#: stock/models.py:1262
+#: stock/models.py:1278
msgid "Quantity does not match serial numbers"
msgstr "Anzahl stimmt nicht mit den Seriennummern überein"
-#: stock/models.py:1269
+#: stock/models.py:1285
#, python-brace-format
msgid "Serial numbers already exist: {exists}"
msgstr "Seriennummern {exists} existieren bereits"
-#: stock/models.py:1339
+#: stock/models.py:1355
msgid "Stock item has been assigned to a sales order"
msgstr "Artikel wurde einem Kundenauftrag zugewiesen"
-#: stock/models.py:1342
+#: stock/models.py:1358
msgid "Stock item is installed in another item"
msgstr "Lagerartikel ist in anderem Element verbaut"
-#: stock/models.py:1345
+#: stock/models.py:1361
msgid "Stock item contains other items"
msgstr "Lagerartikel enthält andere Artikel"
-#: stock/models.py:1348
+#: stock/models.py:1364
msgid "Stock item has been assigned to a customer"
msgstr "Artikel wurde einem Kunden zugewiesen"
-#: stock/models.py:1351
+#: stock/models.py:1367
msgid "Stock item is currently in production"
msgstr "Lagerartikel wird aktuell produziert"
-#: stock/models.py:1354
+#: stock/models.py:1370
msgid "Serialized stock cannot be merged"
msgstr "Nachverfolgbare Lagerartikel können nicht zusammengeführt werden"
-#: stock/models.py:1361 stock/serializers.py:963
+#: stock/models.py:1377 stock/serializers.py:962
msgid "Duplicate stock items"
msgstr "Artikel duplizeren"
-#: stock/models.py:1365
+#: stock/models.py:1381
msgid "Stock items must refer to the same part"
msgstr "Lagerartikel müssen auf dasselbe Teil verweisen"
-#: stock/models.py:1369
+#: stock/models.py:1385
msgid "Stock items must refer to the same supplier part"
msgstr "Lagerartikel müssen auf dasselbe Lieferantenteil verweisen"
-#: stock/models.py:1373
+#: stock/models.py:1389
msgid "Stock status codes must match"
msgstr "Status-Codes müssen zusammenpassen"
-#: stock/models.py:1542
+#: stock/models.py:1558
msgid "StockItem cannot be moved as it is not in stock"
msgstr "Lagerartikel kann nicht bewegt werden, da kein Bestand vorhanden ist"
-#: stock/models.py:2003
+#: stock/models.py:2019
msgid "Entry notes"
msgstr "Eintrags-Notizen"
-#: stock/models.py:2061
+#: stock/models.py:2077
msgid "Value must be provided for this test"
msgstr "Wert muss für diesen Test angegeben werden"
-#: stock/models.py:2067
+#: stock/models.py:2083
msgid "Attachment must be uploaded for this test"
msgstr "Anhang muss für diesen Test hochgeladen werden"
-#: stock/models.py:2086
+#: stock/models.py:2102
msgid "Test name"
msgstr "Name des Tests"
-#: stock/models.py:2092
+#: stock/models.py:2108
msgid "Test result"
msgstr "Testergebnis"
-#: stock/models.py:2098
+#: stock/models.py:2114
msgid "Test output value"
msgstr "Test Ausgabe Wert"
-#: stock/models.py:2105
+#: stock/models.py:2121
msgid "Test result attachment"
msgstr "Test Ergebnis Anhang"
-#: stock/models.py:2111
+#: stock/models.py:2127
msgid "Test notes"
msgstr "Test Notizen"
-#: stock/serializers.py:71
+#: stock/serializers.py:75
msgid "Serial number is too large"
msgstr "Seriennummer ist zu lang"
-#: stock/serializers.py:172
+#: stock/serializers.py:176
msgid "Purchase price of this stock item"
msgstr "Kaufpreis für diesen Lagerartikel"
-#: stock/serializers.py:292
+#: stock/serializers.py:286
msgid "Enter number of stock items to serialize"
msgstr "Anzahl der zu serialisierenden Lagerartikel eingeben"
-#: stock/serializers.py:304
+#: stock/serializers.py:298
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({q})"
msgstr "Anzahl darf nicht die verfügbare Menge überschreiten ({q})"
-#: stock/serializers.py:310
+#: stock/serializers.py:304
msgid "Enter serial numbers for new items"
msgstr "Seriennummern für neue Teile eingeben"
-#: stock/serializers.py:321 stock/serializers.py:920 stock/serializers.py:1153
+#: stock/serializers.py:315 stock/serializers.py:919 stock/serializers.py:1152
msgid "Destination stock location"
msgstr "Ziel-Bestand"
-#: stock/serializers.py:328
+#: stock/serializers.py:322
msgid "Optional note field"
msgstr "Optionales Notizfeld"
-#: stock/serializers.py:338
+#: stock/serializers.py:332
msgid "Serial numbers cannot be assigned to this part"
msgstr "Seriennummern können diesem Teil nicht zugewiesen werden"
-#: stock/serializers.py:359
+#: stock/serializers.py:353
msgid "Serial numbers already exist"
msgstr "Seriennummern existieren bereits"
-#: stock/serializers.py:399
+#: stock/serializers.py:393
msgid "Select stock item to install"
msgstr "Lagerartikel für Installation auswählen"
-#: stock/serializers.py:412
+#: stock/serializers.py:406
msgid "Stock item is unavailable"
msgstr "Lagerartikel ist nicht verfügbar"
-#: stock/serializers.py:419
+#: stock/serializers.py:413
msgid "Selected part is not in the Bill of Materials"
msgstr "Ausgewähltes Teil ist nicht in der Stückliste"
-#: stock/serializers.py:456
+#: stock/serializers.py:450
msgid "Destination location for uninstalled item"
msgstr "Ziel Lagerort für unverbautes Objekt"
-#: stock/serializers.py:461 stock/serializers.py:542
+#: stock/serializers.py:455 stock/serializers.py:536
msgid "Add transaction note (optional)"
msgstr " Transaktionsnotizen hinzufügen (optional)"
-#: stock/serializers.py:495
+#: stock/serializers.py:489
msgid "Select part to convert stock item into"
msgstr ""
-#: stock/serializers.py:506
+#: stock/serializers.py:500
msgid "Selected part is not a valid option for conversion"
msgstr ""
-#: stock/serializers.py:537
+#: stock/serializers.py:531
msgid "Destination location for returned item"
msgstr ""
-#: stock/serializers.py:775
+#: stock/serializers.py:774
msgid "Part must be salable"
msgstr "Teil muss verkaufbar sein"
-#: stock/serializers.py:779
+#: stock/serializers.py:778
msgid "Item is allocated to a sales order"
msgstr "Artikel ist einem Kundenauftrag zugeordnet"
-#: stock/serializers.py:783
+#: stock/serializers.py:782
msgid "Item is allocated to a build order"
msgstr "Artikel ist einem Fertigungsauftrag zugeordnet"
-#: stock/serializers.py:814
+#: stock/serializers.py:813
msgid "Customer to assign stock items"
msgstr "Kunde zum Zuweisen von Lagerartikel"
-#: stock/serializers.py:820
+#: stock/serializers.py:819
msgid "Selected company is not a customer"
msgstr "Ausgewählte Firma ist kein Kunde"
-#: stock/serializers.py:828
+#: stock/serializers.py:827
msgid "Stock assignment notes"
msgstr "Notizen zur Lagerzuordnung"
-#: stock/serializers.py:838 stock/serializers.py:1069
+#: stock/serializers.py:837 stock/serializers.py:1068
msgid "A list of stock items must be provided"
msgstr "Eine Liste der Lagerbestände muss angegeben werden"
-#: stock/serializers.py:927
+#: stock/serializers.py:926
msgid "Stock merging notes"
msgstr "Notizen zur Lagerartikelzusammenführung"
-#: stock/serializers.py:932
+#: stock/serializers.py:931
msgid "Allow mismatched suppliers"
msgstr "Unterschiedliche Lieferanten erlauben"
-#: stock/serializers.py:933
+#: stock/serializers.py:932
msgid "Allow stock items with different supplier parts to be merged"
msgstr "Zusammenführen von Lagerartikeln mit unterschiedlichen Lieferanten erlauben"
-#: stock/serializers.py:938
+#: stock/serializers.py:937
msgid "Allow mismatched status"
msgstr "Unterschiedliche Status erlauben"
-#: stock/serializers.py:939
+#: stock/serializers.py:938
msgid "Allow stock items with different status codes to be merged"
msgstr "Zusammenführen von Lagerartikeln mit unterschiedlichen Status-Codes erlauben"
-#: stock/serializers.py:949
+#: stock/serializers.py:948
msgid "At least two stock items must be provided"
msgstr "Mindestens zwei Lagerartikel müssen angegeben werden"
-#: stock/serializers.py:1031
+#: stock/serializers.py:1030
msgid "StockItem primary key value"
msgstr "Primärschlüssel Lagerelement"
-#: stock/serializers.py:1059
+#: stock/serializers.py:1058
msgid "Stock transaction notes"
msgstr "Bestandsbewegungsnotizen"
@@ -6520,7 +6794,7 @@ msgstr "Testdaten hinzufügen"
msgid "Installed Stock Items"
msgstr "Installierte Lagerartikel"
-#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2871
+#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2889
msgid "Install Stock Item"
msgstr "Lagerartikel installieren"
@@ -6528,7 +6802,7 @@ msgstr "Lagerartikel installieren"
msgid "Delete all test results for this stock item"
msgstr ""
-#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1522
+#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1541
msgid "Add Test Result"
msgstr "Testergebnis hinzufügen"
@@ -6687,7 +6961,7 @@ msgid "This StockItem expired on %(item.expiry_date)s"
msgstr "Dieser Lagerartikel lief am %(item.expiry_date)s ab"
#: stock/templates/stock/item_base.html:431
-#: templates/js/translated/table_filters.js:277
+#: templates/js/translated/table_filters.js:281
msgid "Expired"
msgstr "abgelaufen"
@@ -6697,16 +6971,10 @@ msgid "This StockItem expires on %(item.expiry_date)s"
msgstr "Dieser Lagerartikel läuft am %(item.expiry_date)s ab"
#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/table_filters.js:283
+#: templates/js/translated/table_filters.js:287
msgid "Stale"
msgstr "überfällig"
-#: stock/templates/stock/item_base.html:440
-#: templates/js/translated/company.js:1038
-#: templates/js/translated/stock.js:1901
-msgid "Last Updated"
-msgstr "Zuletzt aktualisiert"
-
#: stock/templates/stock/item_base.html:445
msgid "Last Stocktake"
msgstr "Letzte Inventur"
@@ -6783,11 +7051,6 @@ msgstr "Lagerort bearbeiten"
msgid "Delete location"
msgstr "Lagerort löschen"
-#: stock/templates/stock/location.html:123
-#: stock/templates/stock/location.html:129
-msgid "Location Path"
-msgstr "Lagerortpfad"
-
#: stock/templates/stock/location.html:130
msgid "Top level stock location"
msgstr "Oberster Lagerstandort"
@@ -6960,6 +7223,14 @@ msgstr "ausstehende Aufträge"
msgid "Overdue Sales Orders"
msgstr "überfällige Aufträge"
+#: templates/InvenTree/index.html:312
+msgid "InvenTree News"
+msgstr ""
+
+#: templates/InvenTree/index.html:314
+msgid "Current News"
+msgstr ""
+
#: templates/InvenTree/notifications/history.html:9
msgid "Notification History"
msgstr "Benachrichtigungsverlauf"
@@ -7026,30 +7297,6 @@ msgstr "Bauauftrag-Einstellungen"
msgid "Category Settings"
msgstr "Kategorie-Einstellungen"
-#: templates/InvenTree/settings/currencies.html:8
-msgid "Currency Settings"
-msgstr "Währungseinstellungen"
-
-#: templates/InvenTree/settings/currencies.html:19
-msgid "Base Currency"
-msgstr "Basiswährung"
-
-#: templates/InvenTree/settings/currencies.html:24
-msgid "Exchange Rates"
-msgstr "Wechselkurse"
-
-#: templates/InvenTree/settings/currencies.html:38
-msgid "Last Update"
-msgstr "Letzte Aktualisierung"
-
-#: templates/InvenTree/settings/currencies.html:44
-msgid "Never"
-msgstr "Nie"
-
-#: templates/InvenTree/settings/currencies.html:49
-msgid "Update Now"
-msgstr "Jetzt aktualisieren"
-
#: templates/InvenTree/settings/global.html:9
msgid "Server Settings"
msgstr "Server Einstellungen"
@@ -7090,15 +7337,15 @@ msgstr "In neuem Tab öffnen"
msgid "Part Settings"
msgstr "Teil-Einstellungen"
-#: templates/InvenTree/settings/part.html:46
+#: templates/InvenTree/settings/part.html:40
msgid "Part Import"
msgstr "Teileimport"
-#: templates/InvenTree/settings/part.html:50
+#: templates/InvenTree/settings/part.html:44
msgid "Import Part"
msgstr "Teil importieren"
-#: templates/InvenTree/settings/part.html:64
+#: templates/InvenTree/settings/part.html:58
msgid "Part Parameter Templates"
msgstr "Teil-Parametervorlage"
@@ -7125,11 +7372,6 @@ msgstr "Plugin installieren"
msgid "External plugins are not enabled for this InvenTree installation"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:62
-#: templates/InvenTree/settings/plugin_settings.html:33
-msgid "Author"
-msgstr "Autor"
-
#: templates/InvenTree/settings/plugin.html:64
#: templates/InvenTree/settings/plugin_settings.html:43
msgid "Version"
@@ -7239,6 +7481,39 @@ msgstr "Signatur Schlüssel"
msgid "Purchase Order Settings"
msgstr "Bestellungs-Einstellungen"
+#: templates/InvenTree/settings/pricing.html:7
+msgid "Pricing Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:24
+msgid "Currency Settings"
+msgstr "Währungseinstellungen"
+
+#: templates/InvenTree/settings/pricing.html:30
+msgid "Update Now"
+msgstr "Jetzt aktualisieren"
+
+#: templates/InvenTree/settings/pricing.html:39
+#: templates/InvenTree/settings/pricing.html:43
+msgid "Last Update"
+msgstr "Letzte Aktualisierung"
+
+#: templates/InvenTree/settings/pricing.html:43
+msgid "Never"
+msgstr "Nie"
+
+#: templates/InvenTree/settings/pricing.html:53
+msgid "Base Currency"
+msgstr "Basiswährung"
+
+#: templates/InvenTree/settings/pricing.html:58
+msgid "Exchange Rates"
+msgstr "Wechselkurse"
+
+#: templates/InvenTree/settings/pricing.html:60
+msgid "Rate"
+msgstr ""
+
#: templates/InvenTree/settings/report.html:8
#: templates/InvenTree/settings/user_reports.html:9
msgid "Report Settings"
@@ -7295,6 +7570,7 @@ msgid "No part parameter templates found"
msgstr "Keine Teilparametervorlagen gefunden"
#: templates/InvenTree/settings/settings.html:338
+#: templates/js/translated/news.js:28
#: templates/js/translated/notification.js:36
msgid "ID"
msgstr "ID"
@@ -7357,10 +7633,6 @@ msgstr "Allgemeine Einstellungen"
msgid "Server Configuration"
msgstr "Serverkonfiguration"
-#: templates/InvenTree/settings/sidebar.html:35
-msgid "Currencies"
-msgstr "Währungen"
-
#: templates/InvenTree/settings/sidebar.html:43
msgid "Categories"
msgstr "Kategorien"
@@ -7380,7 +7652,7 @@ msgid "Change Password"
msgstr "Passwort ändern"
#: templates/InvenTree/settings/user.html:23
-#: templates/js/translated/helpers.js:31 templates/notes_buttons.html:3
+#: templates/js/translated/helpers.js:33 templates/notes_buttons.html:3
#: templates/notes_buttons.html:4
msgid "Edit"
msgstr "Bearbeiten"
@@ -7890,7 +8162,7 @@ msgid "The following parts are low on required stock"
msgstr "Bei den folgenden Teilen gibt es wenige Lagerartikel"
#: templates/email/build_order_required_stock.html:18
-#: templates/js/translated/bom.js:1566
+#: templates/js/translated/bom.js:1629
msgid "Required Quantity"
msgstr "Benötigte Menge"
@@ -7904,7 +8176,7 @@ msgid "Click on the following link to view this part"
msgstr "Klicken Sie auf den folgenden Link, um diesen Teil anzuzeigen"
#: templates/email/low_stock_notification.html:19
-#: templates/js/translated/part.js:2566
+#: templates/js/translated/part.js:2423
msgid "Minimum Quantity"
msgstr "Mindestmenge"
@@ -8057,7 +8329,7 @@ msgstr ""
msgid "Unlink"
msgstr "Entfernen"
-#: templates/js/translated/barcode.js:500 templates/js/translated/stock.js:1054
+#: templates/js/translated/barcode.js:500 templates/js/translated/stock.js:1073
msgid "Remove stock item"
msgstr "Lagerartikel entfernen"
@@ -8127,10 +8399,10 @@ msgstr "Zeilendaten anzeigen"
msgid "Row Data"
msgstr "Zeilendaten"
-#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:646
+#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:659
#: templates/js/translated/modals.js:56 templates/js/translated/modals.js:601
#: templates/js/translated/modals.js:695 templates/js/translated/modals.js:1003
-#: templates/js/translated/order.js:1179 templates/modals.html:15
+#: templates/js/translated/order.js:1213 templates/modals.html:15
#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50
msgid "Close"
msgstr "Schliessen"
@@ -8140,12 +8412,12 @@ msgid "Download BOM Template"
msgstr "Vorlage einer Stückliste herunterladen"
#: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312
-#: templates/js/translated/order.js:960 templates/js/translated/tables.js:145
+#: templates/js/translated/order.js:994 templates/js/translated/tables.js:145
msgid "Format"
msgstr "Format"
#: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313
-#: templates/js/translated/order.js:961
+#: templates/js/translated/order.js:995
msgid "Select file format"
msgstr "Dateiformat auswählen"
@@ -8197,118 +8469,130 @@ msgstr "Zulieferer einschließen"
msgid "Include part supplier data in exported BOM"
msgstr "Zulieferer-Daten in Stückliste-Export einschließen"
-#: templates/js/translated/bom.js:537
+#: templates/js/translated/bom.js:358
+msgid "Include Pricing Data"
+msgstr ""
+
+#: templates/js/translated/bom.js:359
+msgid "Include part pricing data in exported BOM"
+msgstr ""
+
+#: templates/js/translated/bom.js:550
msgid "Remove substitute part"
msgstr "Ersatzteil entfernen"
-#: templates/js/translated/bom.js:591
+#: templates/js/translated/bom.js:604
msgid "Select and add a new substitute part using the input below"
msgstr "Wählen Sie ein neues Ersatzteil aus und fügen Sie sie mit den folgenden Eingaben hinzu"
-#: templates/js/translated/bom.js:602
+#: templates/js/translated/bom.js:615
msgid "Are you sure you wish to remove this substitute part link?"
msgstr "Sind Sie sicher, dass Sie dieses Ersatzteil entfernen möchten?"
-#: templates/js/translated/bom.js:608
+#: templates/js/translated/bom.js:621
msgid "Remove Substitute Part"
msgstr "Ersatzteil entfernen"
-#: templates/js/translated/bom.js:647
+#: templates/js/translated/bom.js:660
msgid "Add Substitute"
msgstr "Ersatzteil hinzufügen"
-#: templates/js/translated/bom.js:648
+#: templates/js/translated/bom.js:661
msgid "Edit BOM Item Substitutes"
msgstr "Stücklisten Ersatzteile bearbeiten"
-#: templates/js/translated/bom.js:710
+#: templates/js/translated/bom.js:723
msgid "All selected BOM items will be deleted"
msgstr "Alle ausgewählte Stücklistenpositionen werden gelöscht"
-#: templates/js/translated/bom.js:726
+#: templates/js/translated/bom.js:739
msgid "Delete selected BOM items?"
msgstr "Ausgewählte Stücklistenpositionen löschen?"
-#: templates/js/translated/bom.js:860
+#: templates/js/translated/bom.js:868
msgid "Load BOM for subassembly"
msgstr "Stückliste für Bauteile laden"
-#: templates/js/translated/bom.js:870
+#: templates/js/translated/bom.js:878
msgid "Substitutes Available"
msgstr "Ersatzteile verfügbar"
-#: templates/js/translated/bom.js:874 templates/js/translated/build.js:1835
+#: templates/js/translated/bom.js:882 templates/js/translated/build.js:1835
msgid "Variant stock allowed"
msgstr "Varianten erlaubt"
-#: templates/js/translated/bom.js:983 templates/js/translated/build.js:1907
-#: templates/js/translated/order.js:3927
-msgid "No Stock Available"
-msgstr "Kein Lagerbestand verfügbar"
-
-#: templates/js/translated/bom.js:988 templates/js/translated/build.js:1911
-msgid "Includes variant and substitute stock"
-msgstr "Beinhaltet Variante und Ersatzbestand"
-
-#: templates/js/translated/bom.js:990 templates/js/translated/build.js:1913
-#: templates/js/translated/part.js:761 templates/js/translated/part.js:1539
-msgid "Includes variant stock"
-msgstr "Beinhaltet Variantenbestand"
-
-#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1915
-msgid "Includes substitute stock"
-msgstr "Enthält Ersatzbestand"
-
-#: templates/js/translated/bom.js:1010
+#: templates/js/translated/bom.js:972
msgid "Substitutes"
msgstr "Ersatzteile"
-#: templates/js/translated/bom.js:1061 templates/js/translated/bom.js:1195
+#: templates/js/translated/bom.js:1023 templates/js/translated/bom.js:1260
msgid "View BOM"
msgstr "Stückliste anzeigen"
-#: templates/js/translated/bom.js:1071
-msgid "Purchase Price Range"
-msgstr "Kaufpreisspanne"
+#: templates/js/translated/bom.js:1094
+msgid "BOM pricing is complete"
+msgstr ""
-#: templates/js/translated/bom.js:1078
-msgid "Purchase Price Average"
-msgstr "Durchschnittlicher Kaufpreis"
+#: templates/js/translated/bom.js:1099
+msgid "BOM pricing is incomplete"
+msgstr ""
-#: templates/js/translated/bom.js:1106 templates/js/translated/build.js:1898
+#: templates/js/translated/bom.js:1106
+msgid "No pricing available"
+msgstr ""
+
+#: templates/js/translated/bom.js:1137 templates/js/translated/build.js:1907
+#: templates/js/translated/order.js:3924
+msgid "No Stock Available"
+msgstr "Kein Lagerbestand verfügbar"
+
+#: templates/js/translated/bom.js:1142 templates/js/translated/build.js:1911
+msgid "Includes variant and substitute stock"
+msgstr "Beinhaltet Variante und Ersatzbestand"
+
+#: templates/js/translated/bom.js:1144 templates/js/translated/build.js:1913
+#: templates/js/translated/part.js:775 templates/js/translated/part.js:1550
+msgid "Includes variant stock"
+msgstr "Beinhaltet Variantenbestand"
+
+#: templates/js/translated/bom.js:1146 templates/js/translated/build.js:1915
+msgid "Includes substitute stock"
+msgstr "Enthält Ersatzbestand"
+
+#: templates/js/translated/bom.js:1171 templates/js/translated/build.js:1898
#: templates/js/translated/build.js:1985
msgid "Consumable item"
msgstr ""
-#: templates/js/translated/bom.js:1166
+#: templates/js/translated/bom.js:1231
msgid "Validate BOM Item"
msgstr "Stücklisten-Position kontrollieren"
-#: templates/js/translated/bom.js:1168
+#: templates/js/translated/bom.js:1233
msgid "This line has been validated"
msgstr "Diese Position wurde kontrolliert"
-#: templates/js/translated/bom.js:1170
+#: templates/js/translated/bom.js:1235
msgid "Edit substitute parts"
msgstr "Ersatzteile bearbeiten"
-#: templates/js/translated/bom.js:1172 templates/js/translated/bom.js:1369
+#: templates/js/translated/bom.js:1237 templates/js/translated/bom.js:1433
msgid "Edit BOM Item"
msgstr "Stücklisten-Position bearbeiten"
-#: templates/js/translated/bom.js:1174
+#: templates/js/translated/bom.js:1239
msgid "Delete BOM Item"
msgstr "Stücklisten-Position löschen"
-#: templates/js/translated/bom.js:1280 templates/js/translated/build.js:1679
+#: templates/js/translated/bom.js:1344 templates/js/translated/build.js:1679
msgid "No BOM items found"
msgstr "Keine Stücklisten-Position(en) gefunden"
-#: templates/js/translated/bom.js:1549 templates/js/translated/build.js:1818
+#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1818
msgid "Required Part"
msgstr "benötigtes Teil"
-#: templates/js/translated/bom.js:1575
+#: templates/js/translated/bom.js:1638
msgid "Inherited from parent BOM"
msgstr "Geerbt von übergeordneter Stückliste"
@@ -8353,12 +8637,12 @@ msgid "Complete Build Order"
msgstr "Bauauftrag fertigstellen"
#: templates/js/translated/build.js:311 templates/js/translated/stock.js:92
-#: templates/js/translated/stock.js:214
+#: templates/js/translated/stock.js:233
msgid "Next available serial number"
msgstr "Nächste verfügbare Seriennummer"
#: templates/js/translated/build.js:313 templates/js/translated/stock.js:94
-#: templates/js/translated/stock.js:216
+#: templates/js/translated/stock.js:235
msgid "Latest serial number"
msgstr "Letzte Seriennummer"
@@ -8455,12 +8739,12 @@ msgid "No required tests for this build"
msgstr "Keine erforderlichen Tests für diesen Bauauftrag"
#: templates/js/translated/build.js:1775 templates/js/translated/build.js:2765
-#: templates/js/translated/order.js:3627
+#: templates/js/translated/order.js:3638
msgid "Edit stock allocation"
msgstr "Bestands-Zuordnung bearbeiten"
#: templates/js/translated/build.js:1777 templates/js/translated/build.js:2766
-#: templates/js/translated/order.js:3628
+#: templates/js/translated/order.js:3639
msgid "Delete stock allocation"
msgstr "Bestands-Zuordnung löschen"
@@ -8480,20 +8764,15 @@ msgstr "Ersatzteile verfügbar"
msgid "Quantity Per"
msgstr "Anzahl pro"
-#: templates/js/translated/build.js:1901 templates/js/translated/order.js:3934
+#: templates/js/translated/build.js:1901 templates/js/translated/order.js:3931
msgid "Insufficient stock available"
msgstr "Unzureichender Bestand verfügbar"
-#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3932
+#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3929
msgid "Sufficient stock available"
msgstr "Ausreichender Bestand verfügbar"
-#: templates/js/translated/build.js:1937 templates/js/translated/build.js:2195
-#: templates/js/translated/build.js:2761 templates/js/translated/order.js:3946
-msgid "Allocated"
-msgstr "Zugeordnet"
-
-#: templates/js/translated/build.js:1993 templates/js/translated/order.js:4026
+#: templates/js/translated/build.js:1993 templates/js/translated/order.js:4023
msgid "Build stock"
msgstr "Bestand bauen"
@@ -8501,21 +8780,21 @@ msgstr "Bestand bauen"
msgid "Order stock"
msgstr "Bestand bestellen"
-#: templates/js/translated/build.js:2000 templates/js/translated/order.js:4019
+#: templates/js/translated/build.js:2000 templates/js/translated/order.js:4016
msgid "Allocate stock"
msgstr "Bestand zuweisen"
#: templates/js/translated/build.js:2039 templates/js/translated/label.js:172
-#: templates/js/translated/order.js:1007 templates/js/translated/order.js:3154
+#: templates/js/translated/order.js:1041 templates/js/translated/order.js:3165
#: templates/js/translated/report.js:225
msgid "Select Parts"
msgstr "Teile auswählen"
-#: templates/js/translated/build.js:2040 templates/js/translated/order.js:3155
+#: templates/js/translated/build.js:2040 templates/js/translated/order.js:3166
msgid "You must select at least one part to allocate"
msgstr "Sie müssen mindestens ein Teil auswählen"
-#: templates/js/translated/build.js:2089 templates/js/translated/order.js:3103
+#: templates/js/translated/build.js:2089 templates/js/translated/order.js:3114
msgid "Specify stock allocation quantity"
msgstr "Anzahl für Bestandszuordnung eingeben"
@@ -8527,7 +8806,7 @@ msgstr "Alle Teile zugeordnet"
msgid "All selected parts have been fully allocated"
msgstr "Alle ausgewählten Teile wurden vollständig zugeordnet"
-#: templates/js/translated/build.js:2183 templates/js/translated/order.js:3169
+#: templates/js/translated/build.js:2183 templates/js/translated/order.js:3180
msgid "Select source location (leave blank to take from all locations)"
msgstr "Wählen Sie den Quellort aus (leer lassen um von allen Standorten zu nehmen)"
@@ -8535,11 +8814,11 @@ msgstr "Wählen Sie den Quellort aus (leer lassen um von allen Standorten zu neh
msgid "Allocate Stock Items to Build Order"
msgstr "Lagerartikel für Bauauftrag zuweisen"
-#: templates/js/translated/build.js:2222 templates/js/translated/order.js:3266
+#: templates/js/translated/build.js:2222 templates/js/translated/order.js:3277
msgid "No matching stock locations"
msgstr "Keine passenden Lagerstandorte"
-#: templates/js/translated/build.js:2294 templates/js/translated/order.js:3343
+#: templates/js/translated/build.js:2294 templates/js/translated/order.js:3354
msgid "No matching stock items"
msgstr "Keine passenden Lagerbestände"
@@ -8571,9 +8850,9 @@ msgstr "Lagerartikel zuordnen"
msgid "No builds matching query"
msgstr "Keine Bauaufträge passen zur Anfrage"
-#: templates/js/translated/build.js:2558 templates/js/translated/part.js:1423
-#: templates/js/translated/part.js:1957 templates/js/translated/stock.js:1686
-#: templates/js/translated/stock.js:2390
+#: templates/js/translated/build.js:2558 templates/js/translated/part.js:1444
+#: templates/js/translated/part.js:1981 templates/js/translated/stock.js:1705
+#: templates/js/translated/stock.js:2408
msgid "Select"
msgstr "Auswählen"
@@ -8585,7 +8864,7 @@ msgstr "Bauauftrag ist überfällig"
msgid "Progress"
msgstr "Fortschritt"
-#: templates/js/translated/build.js:2636 templates/js/translated/stock.js:2657
+#: templates/js/translated/build.js:2636 templates/js/translated/stock.js:2675
msgid "No user information"
msgstr "Keine Benutzerinformation"
@@ -8593,118 +8872,144 @@ msgstr "Keine Benutzerinformation"
msgid "No parts allocated for"
msgstr "Keine Teile zugeordnet zu"
-#: templates/js/translated/company.js:66
+#: templates/js/translated/company.js:67
msgid "Add Manufacturer"
msgstr "Hersteller hinzufügen"
-#: templates/js/translated/company.js:79 templates/js/translated/company.js:181
+#: templates/js/translated/company.js:80 templates/js/translated/company.js:182
msgid "Add Manufacturer Part"
msgstr "Herstellerteil hinzufügen"
-#: templates/js/translated/company.js:100
+#: templates/js/translated/company.js:101
msgid "Edit Manufacturer Part"
msgstr "Herstellerteil ändern"
-#: templates/js/translated/company.js:169 templates/js/translated/order.js:576
+#: templates/js/translated/company.js:170 templates/js/translated/order.js:576
msgid "Add Supplier"
msgstr "Zulieferer hinzufügen"
-#: templates/js/translated/company.js:197 templates/js/translated/order.js:828
+#: templates/js/translated/company.js:198 templates/js/translated/order.js:862
msgid "Add Supplier Part"
msgstr "Zuliefererteil hinzufügen"
-#: templates/js/translated/company.js:297
+#: templates/js/translated/company.js:298
msgid "All selected supplier parts will be deleted"
msgstr "Alle ausgewählten Zulieferteile werden gelöscht"
-#: templates/js/translated/company.js:313
+#: templates/js/translated/company.js:314
msgid "Delete Supplier Parts"
msgstr "Zuliefererteil entfernen"
-#: templates/js/translated/company.js:385
+#: templates/js/translated/company.js:386
msgid "Add new Company"
msgstr "Neue Firma hinzufügen"
-#: templates/js/translated/company.js:462
+#: templates/js/translated/company.js:463
msgid "Parts Supplied"
msgstr "Teile geliefert"
-#: templates/js/translated/company.js:471
+#: templates/js/translated/company.js:472
msgid "Parts Manufactured"
msgstr "Hersteller-Teile"
-#: templates/js/translated/company.js:486
+#: templates/js/translated/company.js:487
msgid "No company information found"
msgstr "Keine Firmeninformation gefunden"
-#: templates/js/translated/company.js:527
+#: templates/js/translated/company.js:528
msgid "All selected manufacturer parts will be deleted"
msgstr "Alle ausgewählten Herstellerrteile werden gelöscht"
-#: templates/js/translated/company.js:542
+#: templates/js/translated/company.js:543
msgid "Delete Manufacturer Parts"
msgstr "Herstellerteile löschen"
-#: templates/js/translated/company.js:576
+#: templates/js/translated/company.js:577
msgid "All selected parameters will be deleted"
msgstr "Alle ausgewählten Parameter werden gelöscht"
-#: templates/js/translated/company.js:590
+#: templates/js/translated/company.js:591
msgid "Delete Parameters"
msgstr "Parameter löschen"
-#: templates/js/translated/company.js:631
+#: templates/js/translated/company.js:632
msgid "No manufacturer parts found"
msgstr "Keine Herstellerteile gefunden"
-#: templates/js/translated/company.js:651
-#: templates/js/translated/company.js:912 templates/js/translated/part.js:636
-#: templates/js/translated/part.js:721
+#: templates/js/translated/company.js:652
+#: templates/js/translated/company.js:913 templates/js/translated/part.js:650
+#: templates/js/translated/part.js:735
msgid "Template part"
msgstr "Vorlagenteil"
-#: templates/js/translated/company.js:655
-#: templates/js/translated/company.js:916 templates/js/translated/part.js:640
-#: templates/js/translated/part.js:725
+#: templates/js/translated/company.js:656
+#: templates/js/translated/company.js:917 templates/js/translated/part.js:654
+#: templates/js/translated/part.js:739
msgid "Assembled part"
msgstr "Baugruppe"
-#: templates/js/translated/company.js:783 templates/js/translated/part.js:828
+#: templates/js/translated/company.js:784 templates/js/translated/part.js:855
msgid "No parameters found"
msgstr "Keine Parameter gefunden"
-#: templates/js/translated/company.js:820 templates/js/translated/part.js:870
+#: templates/js/translated/company.js:821 templates/js/translated/part.js:897
msgid "Edit parameter"
msgstr "Parameter bearbeiten"
-#: templates/js/translated/company.js:821 templates/js/translated/part.js:871
+#: templates/js/translated/company.js:822 templates/js/translated/part.js:898
msgid "Delete parameter"
msgstr "Parameter löschen"
-#: templates/js/translated/company.js:840 templates/js/translated/part.js:888
+#: templates/js/translated/company.js:841 templates/js/translated/part.js:915
msgid "Edit Parameter"
msgstr "Parameter bearbeiten"
-#: templates/js/translated/company.js:851 templates/js/translated/part.js:900
+#: templates/js/translated/company.js:852 templates/js/translated/part.js:927
msgid "Delete Parameter"
msgstr "Parameter löschen"
-#: templates/js/translated/company.js:891
+#: templates/js/translated/company.js:892
msgid "No supplier parts found"
msgstr "Keine Zuliefererteile gefunden"
-#: templates/js/translated/company.js:1032
+#: templates/js/translated/company.js:1033
msgid "Availability"
msgstr ""
-#: templates/js/translated/company.js:1055
+#: templates/js/translated/company.js:1056
msgid "Edit supplier part"
msgstr "Zuliefererteil bearbeiten"
-#: templates/js/translated/company.js:1056
+#: templates/js/translated/company.js:1057
msgid "Delete supplier part"
msgstr "Zuliefererteil entfernen"
+#: templates/js/translated/company.js:1112
+#: templates/js/translated/pricing.js:423
+msgid "Delete Price Break"
+msgstr "Preisstaffel löschen"
+
+#: templates/js/translated/company.js:1128
+#: templates/js/translated/pricing.js:437
+msgid "Edit Price Break"
+msgstr "Preisstaffel bearbeiten"
+
+#: templates/js/translated/company.js:1145
+msgid "No price break information found"
+msgstr "Keine Informationen zur Preisstaffel gefunden"
+
+#: templates/js/translated/company.js:1174
+msgid "Last updated"
+msgstr "Zuletzt aktualisiert"
+
+#: templates/js/translated/company.js:1180
+msgid "Edit price break"
+msgstr "Preisstaffel bearbeiten"
+
+#: templates/js/translated/company.js:1181
+msgid "Delete price break"
+msgstr "Preisstaffel löschen"
+
#: templates/js/translated/filters.js:178
#: templates/js/translated/filters.js:441
msgid "true"
@@ -8785,27 +9090,27 @@ msgstr "Suche"
msgid "Clear input"
msgstr "Eingabe leeren"
-#: templates/js/translated/forms.js:2638
+#: templates/js/translated/forms.js:2628
msgid "File Column"
msgstr "Dateispalte"
-#: templates/js/translated/forms.js:2638
+#: templates/js/translated/forms.js:2628
msgid "Field Name"
msgstr "Feldname"
-#: templates/js/translated/forms.js:2650
+#: templates/js/translated/forms.js:2640
msgid "Select Columns"
msgstr "Spalten auswählen"
-#: templates/js/translated/helpers.js:24
+#: templates/js/translated/helpers.js:26
msgid "YES"
msgstr "JA"
-#: templates/js/translated/helpers.js:26
+#: templates/js/translated/helpers.js:28
msgid "NO"
msgstr "NEIN"
-#: templates/js/translated/helpers.js:363
+#: templates/js/translated/helpers.js:434
msgid "Notes updated"
msgstr "Notiz aktualisiert"
@@ -8814,7 +9119,7 @@ msgid "Labels sent to printer"
msgstr "Label an den Drucker gesendet"
#: templates/js/translated/label.js:60 templates/js/translated/report.js:118
-#: templates/js/translated/stock.js:1078
+#: templates/js/translated/stock.js:1097
msgid "Select Stock Items"
msgstr "Lagerartikel auswählen"
@@ -8934,14 +9239,6 @@ msgstr "Firmen-ID"
msgid "Stock ID"
msgstr "Bestands-ID"
-#: templates/js/translated/model_renderers.js:159
-msgid "Location ID"
-msgstr "Standort-ID"
-
-#: templates/js/translated/model_renderers.js:177
-msgid "Build ID"
-msgstr "Bauauftrag-ID"
-
#: templates/js/translated/model_renderers.js:278
#: templates/js/translated/model_renderers.js:303
msgid "Order ID"
@@ -8952,17 +9249,13 @@ msgstr "Bestell-ID"
msgid "Shipment ID"
msgstr "Sendungs-ID"
-#: templates/js/translated/model_renderers.js:338
-msgid "Category ID"
-msgstr "Kategorie-ID"
-
#: templates/js/translated/model_renderers.js:381
msgid "Manufacturer Part ID"
msgstr "Herstellerteil-ID"
-#: templates/js/translated/model_renderers.js:418
-msgid "Supplier Part ID"
-msgstr "Zuliefererteil-ID"
+#: templates/js/translated/news.js:23
+msgid "No news found"
+msgstr ""
#: templates/js/translated/notification.js:42
msgid "Age"
@@ -9104,659 +9397,688 @@ msgstr "Bestellung bearbeiten"
msgid "Duplication Options"
msgstr ""
-#: templates/js/translated/order.js:957
+#: templates/js/translated/order.js:991
msgid "Export Order"
msgstr "Bestellung exportieren"
-#: templates/js/translated/order.js:1008
+#: templates/js/translated/order.js:1042
msgid "At least one purchaseable part must be selected"
msgstr "Mindestens ein kaufbares Teil muss ausgewählt werden"
-#: templates/js/translated/order.js:1033
+#: templates/js/translated/order.js:1067
msgid "Quantity to order"
msgstr "Zu bestellende Menge"
-#: templates/js/translated/order.js:1042
+#: templates/js/translated/order.js:1076
msgid "New supplier part"
msgstr "Neues Zuliefererteil"
-#: templates/js/translated/order.js:1060
+#: templates/js/translated/order.js:1094
msgid "New purchase order"
msgstr "Neue Bestellung"
-#: templates/js/translated/order.js:1093
+#: templates/js/translated/order.js:1127
msgid "Add to purchase order"
msgstr "Zur Bestellung hinzufügen"
-#: templates/js/translated/order.js:1233
+#: templates/js/translated/order.js:1267
msgid "No matching supplier parts"
msgstr "Keine passenden Lieferantenteile"
-#: templates/js/translated/order.js:1252
+#: templates/js/translated/order.js:1286
msgid "No matching purchase orders"
msgstr "Keine passenden Bestellungen"
-#: templates/js/translated/order.js:1429
+#: templates/js/translated/order.js:1463
msgid "Select Line Items"
msgstr "Positionen auswählen"
-#: templates/js/translated/order.js:1430
+#: templates/js/translated/order.js:1464
msgid "At least one line item must be selected"
msgstr "Mindestens eine Position muss ausgewählt werden"
-#: templates/js/translated/order.js:1450 templates/js/translated/order.js:1563
+#: templates/js/translated/order.js:1484 templates/js/translated/order.js:1597
msgid "Add batch code"
msgstr "Losnummer hinzufügen"
-#: templates/js/translated/order.js:1456 templates/js/translated/order.js:1574
+#: templates/js/translated/order.js:1490 templates/js/translated/order.js:1608
msgid "Add serial numbers"
msgstr "Seriennummern hinzufügen"
-#: templates/js/translated/order.js:1471
+#: templates/js/translated/order.js:1505
msgid "Received Quantity"
msgstr ""
-#: templates/js/translated/order.js:1482
+#: templates/js/translated/order.js:1516
msgid "Quantity to receive"
msgstr "Zu erhaltende Menge"
-#: templates/js/translated/order.js:1546 templates/js/translated/stock.js:2146
+#: templates/js/translated/order.js:1580 templates/js/translated/stock.js:2164
msgid "Stock Status"
msgstr "Status"
-#: templates/js/translated/order.js:1639
+#: templates/js/translated/order.js:1673
msgid "Order Code"
msgstr "Bestellnummer"
-#: templates/js/translated/order.js:1640
+#: templates/js/translated/order.js:1674
msgid "Ordered"
msgstr "Bestellt"
-#: templates/js/translated/order.js:1642
+#: templates/js/translated/order.js:1676
msgid "Quantity to Receive"
msgstr "Zu erhaltende Menge"
-#: templates/js/translated/order.js:1661
+#: templates/js/translated/order.js:1695
msgid "Confirm receipt of items"
msgstr "Empfang der Teile bestätigen"
-#: templates/js/translated/order.js:1662
+#: templates/js/translated/order.js:1696
msgid "Receive Purchase Order Items"
msgstr "Bestellpositionen erhalten"
-#: templates/js/translated/order.js:1940 templates/js/translated/part.js:941
+#: templates/js/translated/order.js:1974 templates/js/translated/part.js:968
msgid "No purchase orders found"
msgstr "Keine Bestellungen gefunden"
-#: templates/js/translated/order.js:1967 templates/js/translated/order.js:2798
+#: templates/js/translated/order.js:2001 templates/js/translated/order.js:2809
msgid "Order is overdue"
msgstr "Bestellung überfällig"
-#: templates/js/translated/order.js:2017 templates/js/translated/order.js:2863
-#: templates/js/translated/order.js:3004
+#: templates/js/translated/order.js:2051 templates/js/translated/order.js:2874
+#: templates/js/translated/order.js:3015
msgid "Items"
msgstr "Positionen"
-#: templates/js/translated/order.js:2115 templates/js/translated/order.js:4078
+#: templates/js/translated/order.js:2154 templates/js/translated/order.js:4075
msgid "Duplicate Line Item"
msgstr "Position duplizieren"
-#: templates/js/translated/order.js:2132 templates/js/translated/order.js:4100
+#: templates/js/translated/order.js:2171 templates/js/translated/order.js:4097
msgid "Edit Line Item"
msgstr "Position bearbeiten"
-#: templates/js/translated/order.js:2145 templates/js/translated/order.js:4111
+#: templates/js/translated/order.js:2184 templates/js/translated/order.js:4108
msgid "Delete Line Item"
msgstr "Position löschen"
-#: templates/js/translated/order.js:2188
+#: templates/js/translated/order.js:2227
msgid "No line items found"
msgstr "Keine Positionen gefunden"
-#: templates/js/translated/order.js:2215 templates/js/translated/order.js:3812
+#: templates/js/translated/order.js:2254 templates/js/translated/order.js:3827
msgid "Total"
msgstr "Summe"
-#: templates/js/translated/order.js:2270 templates/js/translated/part.js:1043
-#: templates/js/translated/part.js:1095
+#: templates/js/translated/order.js:2309 templates/js/translated/part.js:1070
+#: templates/js/translated/part.js:1122
msgid "Total Quantity"
msgstr ""
-#: templates/js/translated/order.js:2301 templates/js/translated/order.js:2500
-#: templates/js/translated/order.js:3837 templates/js/translated/order.js:4342
-#: templates/js/translated/part.js:2199 templates/js/translated/part.js:2797
+#: templates/js/translated/order.js:2340 templates/js/translated/order.js:2527
+#: templates/js/translated/order.js:3852 templates/js/translated/order.js:4343
+#: templates/js/translated/pricing.js:260
+#: templates/js/translated/pricing.js:329
+#: templates/js/translated/pricing.js:545
msgid "Unit Price"
msgstr "Stück-Preis"
-#: templates/js/translated/order.js:2316 templates/js/translated/order.js:2516
-#: templates/js/translated/order.js:3853 templates/js/translated/order.js:4358
+#: templates/js/translated/order.js:2350 templates/js/translated/order.js:2537
+#: templates/js/translated/order.js:3862 templates/js/translated/order.js:4353
msgid "Total Price"
msgstr "Gesamtpreis"
-#: templates/js/translated/order.js:2357 templates/js/translated/order.js:3895
-#: templates/js/translated/part.js:1079
+#: templates/js/translated/order.js:2380 templates/js/translated/order.js:3892
+#: templates/js/translated/part.js:1106
msgid "This line item is overdue"
msgstr "Diese Position ist überfällig"
-#: templates/js/translated/order.js:2416 templates/js/translated/part.js:1130
+#: templates/js/translated/order.js:2439 templates/js/translated/part.js:1151
msgid "Receive line item"
msgstr "Position empfangen"
-#: templates/js/translated/order.js:2420 templates/js/translated/order.js:4032
+#: templates/js/translated/order.js:2443 templates/js/translated/order.js:4029
msgid "Duplicate line item"
msgstr "Position duplizieren"
-#: templates/js/translated/order.js:2421 templates/js/translated/order.js:4033
+#: templates/js/translated/order.js:2444 templates/js/translated/order.js:4030
msgid "Edit line item"
msgstr "Position bearbeiten"
-#: templates/js/translated/order.js:2422 templates/js/translated/order.js:4037
+#: templates/js/translated/order.js:2445 templates/js/translated/order.js:4034
msgid "Delete line item"
msgstr "Position löschen"
-#: templates/js/translated/order.js:2564 templates/js/translated/order.js:4406
+#: templates/js/translated/order.js:2574 templates/js/translated/order.js:4389
msgid "Duplicate line"
msgstr "Position duplizieren"
-#: templates/js/translated/order.js:2565 templates/js/translated/order.js:4407
+#: templates/js/translated/order.js:2575 templates/js/translated/order.js:4390
msgid "Edit line"
msgstr "Zeile bearbeiten"
-#: templates/js/translated/order.js:2566 templates/js/translated/order.js:4408
+#: templates/js/translated/order.js:2576 templates/js/translated/order.js:4391
msgid "Delete line"
msgstr "Zeile löschen"
-#: templates/js/translated/order.js:2595 templates/js/translated/order.js:4437
+#: templates/js/translated/order.js:2606 templates/js/translated/order.js:4420
msgid "Duplicate Line"
msgstr "Position duplizieren"
-#: templates/js/translated/order.js:2616 templates/js/translated/order.js:4458
+#: templates/js/translated/order.js:2627 templates/js/translated/order.js:4441
msgid "Edit Line"
msgstr "Zeile bearbeiten"
-#: templates/js/translated/order.js:2627 templates/js/translated/order.js:4469
+#: templates/js/translated/order.js:2638 templates/js/translated/order.js:4452
msgid "Delete Line"
msgstr "Zeile löschen"
-#: templates/js/translated/order.js:2638
+#: templates/js/translated/order.js:2649
msgid "No matching line"
msgstr "Keine passenden Positionen gefunden"
-#: templates/js/translated/order.js:2749
+#: templates/js/translated/order.js:2760
msgid "No sales orders found"
msgstr "Keine Aufträge gefunden"
-#: templates/js/translated/order.js:2812
+#: templates/js/translated/order.js:2823
msgid "Invalid Customer"
msgstr "Ungültiger Kunde"
-#: templates/js/translated/order.js:2910
+#: templates/js/translated/order.js:2921
msgid "Edit shipment"
msgstr "Sendung bearbeiten"
-#: templates/js/translated/order.js:2913
+#: templates/js/translated/order.js:2924
msgid "Complete shipment"
msgstr "Sendung fertigstellen"
-#: templates/js/translated/order.js:2918
+#: templates/js/translated/order.js:2929
msgid "Delete shipment"
msgstr "Sendung löschen"
-#: templates/js/translated/order.js:2938
+#: templates/js/translated/order.js:2949
msgid "Edit Shipment"
msgstr "Sendung bearbeiten"
-#: templates/js/translated/order.js:2955
+#: templates/js/translated/order.js:2966
msgid "Delete Shipment"
msgstr "Sendung löschen"
-#: templates/js/translated/order.js:2989
+#: templates/js/translated/order.js:3000
msgid "No matching shipments found"
msgstr "Keine passenden Sendungen gefunden"
-#: templates/js/translated/order.js:2999
+#: templates/js/translated/order.js:3010
msgid "Shipment Reference"
msgstr "Sendungsreferenz"
-#: templates/js/translated/order.js:3023
+#: templates/js/translated/order.js:3034
msgid "Not shipped"
msgstr "Nicht versandt"
-#: templates/js/translated/order.js:3029
+#: templates/js/translated/order.js:3040
msgid "Tracking"
msgstr "Nachverfolgen"
-#: templates/js/translated/order.js:3033
+#: templates/js/translated/order.js:3044
msgid "Invoice"
msgstr "Rechnung"
-#: templates/js/translated/order.js:3202
+#: templates/js/translated/order.js:3213
msgid "Add Shipment"
msgstr "Sendung hinzufügen"
-#: templates/js/translated/order.js:3253
+#: templates/js/translated/order.js:3264
msgid "Confirm stock allocation"
msgstr "Bestandszuordnung bestätigen"
-#: templates/js/translated/order.js:3254
+#: templates/js/translated/order.js:3265
msgid "Allocate Stock Items to Sales Order"
msgstr "Artikel zu Kundenauftrag zuweisen"
-#: templates/js/translated/order.js:3462
+#: templates/js/translated/order.js:3473
msgid "No sales order allocations found"
msgstr "Keine Allokationen für Verkaufsaufträge gefunden"
-#: templates/js/translated/order.js:3541
+#: templates/js/translated/order.js:3552
msgid "Edit Stock Allocation"
msgstr "Bestandszuordnung bearbeiten"
-#: templates/js/translated/order.js:3558
+#: templates/js/translated/order.js:3569
msgid "Confirm Delete Operation"
msgstr "Löschvorgang bestätigen"
-#: templates/js/translated/order.js:3559
+#: templates/js/translated/order.js:3570
msgid "Delete Stock Allocation"
msgstr "Bestands-Zuordnung löschen"
-#: templates/js/translated/order.js:3604 templates/js/translated/order.js:3693
-#: templates/js/translated/stock.js:1602
+#: templates/js/translated/order.js:3615 templates/js/translated/order.js:3704
+#: templates/js/translated/stock.js:1621
msgid "Shipped to customer"
msgstr "an Kunde versand"
-#: templates/js/translated/order.js:3612 templates/js/translated/order.js:3702
+#: templates/js/translated/order.js:3623 templates/js/translated/order.js:3713
msgid "Stock location not specified"
msgstr "Lagerstandort nicht angegeben"
-#: templates/js/translated/order.js:4016
+#: templates/js/translated/order.js:4013
msgid "Allocate serial numbers"
msgstr "Seriennummern zuweisen"
-#: templates/js/translated/order.js:4022
+#: templates/js/translated/order.js:4019
msgid "Purchase stock"
msgstr "Bestand kaufen"
-#: templates/js/translated/order.js:4029 templates/js/translated/order.js:4227
+#: templates/js/translated/order.js:4026 templates/js/translated/order.js:4224
msgid "Calculate price"
msgstr "Preis berechnen"
-#: templates/js/translated/order.js:4041
+#: templates/js/translated/order.js:4038
msgid "Cannot be deleted as items have been shipped"
msgstr "Kann nicht gelöscht werden, da Artikel versandt wurden"
-#: templates/js/translated/order.js:4044
+#: templates/js/translated/order.js:4041
msgid "Cannot be deleted as items have been allocated"
msgstr "Kann nicht gelöscht werden, da Artikel zugewiesen sind"
-#: templates/js/translated/order.js:4126
+#: templates/js/translated/order.js:4123
msgid "Allocate Serial Numbers"
msgstr "Seriennummern zuweisen"
-#: templates/js/translated/order.js:4235
+#: templates/js/translated/order.js:4232
msgid "Update Unit Price"
msgstr "Stückpreis aktualisieren"
-#: templates/js/translated/order.js:4249
+#: templates/js/translated/order.js:4246
msgid "No matching line items"
msgstr "Keine passenden Positionen gefunden"
-#: templates/js/translated/order.js:4480
+#: templates/js/translated/order.js:4463
msgid "No matching lines"
msgstr "Keine passenden Positionen gefunden"
-#: templates/js/translated/part.js:56
+#: templates/js/translated/part.js:52
msgid "Part Attributes"
msgstr "Teileigenschaften"
-#: templates/js/translated/part.js:60
+#: templates/js/translated/part.js:56
msgid "Part Creation Options"
msgstr "Erstellungsoptionen für Teile"
-#: templates/js/translated/part.js:64
+#: templates/js/translated/part.js:60
msgid "Part Duplication Options"
msgstr "Einstellungen für Teilkopien"
-#: templates/js/translated/part.js:68
+#: templates/js/translated/part.js:64
msgid "Supplier Options"
msgstr "Zuliefereroptionen"
-#: templates/js/translated/part.js:82
+#: templates/js/translated/part.js:78
msgid "Add Part Category"
msgstr "Teil-Kategorie hinzufügen"
-#: templates/js/translated/part.js:166
+#: templates/js/translated/part.js:162
msgid "Create Initial Stock"
msgstr "Anfänglichen Bestand erstellen"
-#: templates/js/translated/part.js:167
+#: templates/js/translated/part.js:163
msgid "Create an initial stock item for this part"
msgstr "Anfänglichen Bestand für dieses Teil erstellen"
-#: templates/js/translated/part.js:174
+#: templates/js/translated/part.js:170
msgid "Initial Stock Quantity"
msgstr "Start-Bestandsmenge"
-#: templates/js/translated/part.js:175
+#: templates/js/translated/part.js:171
msgid "Specify initial stock quantity for this part"
msgstr "Menge des anfänglichen Bestands für dieses Teil angeben"
-#: templates/js/translated/part.js:182
+#: templates/js/translated/part.js:178
msgid "Select destination stock location"
msgstr "Zielstandort auswählen"
-#: templates/js/translated/part.js:200
+#: templates/js/translated/part.js:196
msgid "Copy Category Parameters"
msgstr "Kategorieparameter kopieren"
-#: templates/js/translated/part.js:201
+#: templates/js/translated/part.js:197
msgid "Copy parameter templates from selected part category"
msgstr "Parametervorlagen aus der ausgewählten Bauteilkategorie kopieren"
-#: templates/js/translated/part.js:209
+#: templates/js/translated/part.js:205
msgid "Add Supplier Data"
msgstr "Zuliefererdaten hinzufügen"
-#: templates/js/translated/part.js:210
+#: templates/js/translated/part.js:206
msgid "Create initial supplier data for this part"
msgstr "Erstelle ersten Lieferanten für dieses Teil"
-#: templates/js/translated/part.js:266
+#: templates/js/translated/part.js:262
msgid "Copy Image"
msgstr "Bild kopieren"
-#: templates/js/translated/part.js:267
+#: templates/js/translated/part.js:263
msgid "Copy image from original part"
msgstr "Bild vom Originalteil kopieren"
-#: templates/js/translated/part.js:275
+#: templates/js/translated/part.js:271
msgid "Copy bill of materials from original part"
msgstr "Stückliste vom Originalteil kopieren"
-#: templates/js/translated/part.js:282
+#: templates/js/translated/part.js:278
msgid "Copy Parameters"
msgstr "Parameter kopieren"
-#: templates/js/translated/part.js:283
+#: templates/js/translated/part.js:279
msgid "Copy parameter data from original part"
msgstr "Parameterdaten vom Originalteil kopieren"
-#: templates/js/translated/part.js:296
+#: templates/js/translated/part.js:292
msgid "Parent part category"
msgstr "Übergeordnete Teilkategorie"
-#: templates/js/translated/part.js:306 templates/js/translated/stock.js:118
+#: templates/js/translated/part.js:302 templates/js/translated/stock.js:118
msgid "Icon (optional) - Explore all available icons on"
msgstr ""
-#: templates/js/translated/part.js:322
+#: templates/js/translated/part.js:318
msgid "Edit Part Category"
msgstr "Teil-Kategorie bearbeiten"
-#: templates/js/translated/part.js:335
+#: templates/js/translated/part.js:331
msgid "Are you sure you want to delete this part category?"
msgstr "Möchten Sie diese Kategorie wirklich löschen?"
-#: templates/js/translated/part.js:337
-msgid "Any child categories will be moved to the parent of this category"
+#: templates/js/translated/part.js:336
+msgid "Move to parent category"
msgstr ""
-#: templates/js/translated/part.js:338
-msgid "Any parts in this category will be moved to the parent of this category"
-msgstr ""
-
-#: templates/js/translated/part.js:343
+#: templates/js/translated/part.js:345
msgid "Delete Part Category"
msgstr "Teil-Kategorie löschen"
-#: templates/js/translated/part.js:369
+#: templates/js/translated/part.js:349
+msgid "Action for parts in this category"
+msgstr ""
+
+#: templates/js/translated/part.js:354
+msgid "Action for child categories"
+msgstr ""
+
+#: templates/js/translated/part.js:383
msgid "Edit Part"
msgstr "Teil bearbeiten"
-#: templates/js/translated/part.js:371
+#: templates/js/translated/part.js:385
msgid "Part edited"
msgstr "Teil bearbeitet"
-#: templates/js/translated/part.js:382
+#: templates/js/translated/part.js:396
msgid "Create Part Variant"
msgstr "Teil-Variante anlegen"
-#: templates/js/translated/part.js:434
+#: templates/js/translated/part.js:448
msgid "Active Part"
msgstr "Aktives Teil"
-#: templates/js/translated/part.js:435
+#: templates/js/translated/part.js:449
msgid "Part cannot be deleted as it is currently active"
msgstr "Teil kann nicht gelöscht werden, da es derzeit aktiv ist"
-#: templates/js/translated/part.js:449
+#: templates/js/translated/part.js:463
msgid "Deleting this part cannot be reversed"
msgstr "Das Löschen dieses Teils kann nicht rückgängig gemacht werden"
-#: templates/js/translated/part.js:451
+#: templates/js/translated/part.js:465
msgid "Any stock items for this part will be deleted"
msgstr ""
-#: templates/js/translated/part.js:452
+#: templates/js/translated/part.js:466
msgid "This part will be removed from any Bills of Material"
msgstr ""
-#: templates/js/translated/part.js:453
+#: templates/js/translated/part.js:467
msgid "All manufacturer and supplier information for this part will be deleted"
msgstr ""
-#: templates/js/translated/part.js:460
+#: templates/js/translated/part.js:474
msgid "Delete Part"
msgstr "Teil löschen"
-#: templates/js/translated/part.js:496
+#: templates/js/translated/part.js:510
msgid "You are subscribed to notifications for this item"
msgstr "Sie haben Benachrichtigungen für dieses Teil abonniert"
-#: templates/js/translated/part.js:498
+#: templates/js/translated/part.js:512
msgid "You have subscribed to notifications for this item"
msgstr "Sie haben Benachrichtigungen für dieses Teil abonniert"
-#: templates/js/translated/part.js:503
+#: templates/js/translated/part.js:517
msgid "Subscribe to notifications for this item"
msgstr "Benachrichtigungen für dieses Teil abonnieren"
-#: templates/js/translated/part.js:505
+#: templates/js/translated/part.js:519
msgid "You have unsubscribed to notifications for this item"
msgstr "Sie haben Benachrichtigungen für dieses Teil abgemeldet"
-#: templates/js/translated/part.js:522
+#: templates/js/translated/part.js:536
msgid "Validating the BOM will mark each line item as valid"
msgstr "Die Stückliste zu validieren markiert jede Zeile als gültig"
-#: templates/js/translated/part.js:532
+#: templates/js/translated/part.js:546
msgid "Validate Bill of Materials"
msgstr "Stückliste prüfen"
-#: templates/js/translated/part.js:535
+#: templates/js/translated/part.js:549
msgid "Validated Bill of Materials"
msgstr "überprüfte Stückliste"
-#: templates/js/translated/part.js:560
+#: templates/js/translated/part.js:574
msgid "Copy Bill of Materials"
msgstr "Stückliste kopieren"
-#: templates/js/translated/part.js:584 templates/js/translated/part.js:1521
-#: templates/js/translated/table_filters.js:476
+#: templates/js/translated/part.js:598 templates/js/translated/part.js:1532
+#: templates/js/translated/table_filters.js:480
msgid "Low stock"
msgstr "Bestand niedrig"
-#: templates/js/translated/part.js:594
+#: templates/js/translated/part.js:608
msgid "No stock available"
msgstr "Kein Lagerbestand verfügbar"
-#: templates/js/translated/part.js:628 templates/js/translated/part.js:713
+#: templates/js/translated/part.js:642 templates/js/translated/part.js:727
msgid "Trackable part"
msgstr "Nachverfolgbares Teil"
-#: templates/js/translated/part.js:632 templates/js/translated/part.js:717
+#: templates/js/translated/part.js:646 templates/js/translated/part.js:731
msgid "Virtual part"
msgstr "virtuelles Teil"
-#: templates/js/translated/part.js:644
+#: templates/js/translated/part.js:658
msgid "Subscribed part"
msgstr "Abonnierter Teil"
-#: templates/js/translated/part.js:648
+#: templates/js/translated/part.js:662
msgid "Salable part"
msgstr "Verkäufliches Teil"
-#: templates/js/translated/part.js:776
+#: templates/js/translated/part.js:800
msgid "No variants found"
msgstr "Keine Varianten gefunden"
-#: templates/js/translated/part.js:1200
+#: templates/js/translated/part.js:1221
msgid "Delete part relationship"
msgstr "Teile-Beziehung löschen"
-#: templates/js/translated/part.js:1224
+#: templates/js/translated/part.js:1245
msgid "Delete Part Relationship"
msgstr "Teile-Beziehung löschen"
-#: templates/js/translated/part.js:1291 templates/js/translated/part.js:1609
+#: templates/js/translated/part.js:1312 templates/js/translated/part.js:1633
msgid "No parts found"
msgstr "Keine Teile gefunden"
-#: templates/js/translated/part.js:1488
+#: templates/js/translated/part.js:1499
msgid "No category"
msgstr "Keine Kategorie"
-#: templates/js/translated/part.js:1519
+#: templates/js/translated/part.js:1530
msgid "No stock"
msgstr ""
-#: templates/js/translated/part.js:1543
+#: templates/js/translated/part.js:1554
msgid "Allocated to build orders"
msgstr ""
-#: templates/js/translated/part.js:1547
+#: templates/js/translated/part.js:1558
msgid "Allocated to sales orders"
msgstr ""
-#: templates/js/translated/part.js:1633 templates/js/translated/part.js:1876
-#: templates/js/translated/stock.js:2349
+#: templates/js/translated/part.js:1657 templates/js/translated/part.js:1900
+#: templates/js/translated/stock.js:2367
msgid "Display as list"
msgstr "Listenansicht"
-#: templates/js/translated/part.js:1649
+#: templates/js/translated/part.js:1673
msgid "Display as grid"
msgstr "Rasteransicht"
-#: templates/js/translated/part.js:1715
+#: templates/js/translated/part.js:1739
msgid "Set the part category for the selected parts"
msgstr ""
-#: templates/js/translated/part.js:1720
+#: templates/js/translated/part.js:1744
msgid "Set Part Category"
msgstr "Teil-Kategorie auswählen"
-#: templates/js/translated/part.js:1725
+#: templates/js/translated/part.js:1749
msgid "Select Part Category"
msgstr "Teil-Kategorie wählen"
-#: templates/js/translated/part.js:1738
+#: templates/js/translated/part.js:1762
msgid "Category is required"
msgstr "Kategorie erforderlich"
-#: templates/js/translated/part.js:1896 templates/js/translated/stock.js:2369
+#: templates/js/translated/part.js:1920 templates/js/translated/stock.js:2387
msgid "Display as tree"
msgstr "Baumansicht"
-#: templates/js/translated/part.js:1976
+#: templates/js/translated/part.js:2000
msgid "Load Subcategories"
msgstr ""
-#: templates/js/translated/part.js:1992
+#: templates/js/translated/part.js:2016
msgid "Subscribed category"
msgstr "Abonnierte Kategorie"
-#: templates/js/translated/part.js:2056
+#: templates/js/translated/part.js:2080
msgid "No test templates matching query"
msgstr "Keine zur Anfrage passenden Testvorlagen"
-#: templates/js/translated/part.js:2107 templates/js/translated/stock.js:1299
+#: templates/js/translated/part.js:2131 templates/js/translated/stock.js:1318
msgid "Edit test result"
msgstr "Testergebnis bearbeiten"
-#: templates/js/translated/part.js:2108 templates/js/translated/stock.js:1300
-#: templates/js/translated/stock.js:1560
+#: templates/js/translated/part.js:2132 templates/js/translated/stock.js:1319
+#: templates/js/translated/stock.js:1579
msgid "Delete test result"
msgstr "Testergebnis löschen"
-#: templates/js/translated/part.js:2114
+#: templates/js/translated/part.js:2138
msgid "This test is defined for a parent part"
msgstr "Dieses Testergebnis ist für ein Hauptteil"
-#: templates/js/translated/part.js:2136
+#: templates/js/translated/part.js:2160
msgid "Edit Test Result Template"
msgstr "Testergebnis-Vorlage bearbeiten"
-#: templates/js/translated/part.js:2150
+#: templates/js/translated/part.js:2174
msgid "Delete Test Result Template"
msgstr "Testergebnis-Vorlage löschen"
-#: templates/js/translated/part.js:2175
-#, python-brace-format
-msgid "No ${human_name} information found"
-msgstr "Keine ${human_name} Informationen gefunden"
-
-#: templates/js/translated/part.js:2232
-#, python-brace-format
-msgid "Edit ${human_name}"
-msgstr "${human_name} bearbeiten"
-
-#: templates/js/translated/part.js:2233
-#, python-brace-format
-msgid "Delete ${human_name}"
-msgstr "${human_name} löschen"
-
-#: templates/js/translated/part.js:2398 templates/js/translated/part.js:2399
+#: templates/js/translated/part.js:2255 templates/js/translated/part.js:2256
msgid "No date specified"
msgstr ""
-#: templates/js/translated/part.js:2401
+#: templates/js/translated/part.js:2258
msgid "Specified date is in the past"
msgstr ""
-#: templates/js/translated/part.js:2407
+#: templates/js/translated/part.js:2264
msgid "Speculative"
msgstr ""
-#: templates/js/translated/part.js:2457
+#: templates/js/translated/part.js:2314
msgid "No scheduling information available for this part"
msgstr "Keine Zeitplanung für dieses Teil vorhanden"
-#: templates/js/translated/part.js:2463
+#: templates/js/translated/part.js:2320
msgid "Error fetching scheduling information for this part"
msgstr ""
-#: templates/js/translated/part.js:2559
+#: templates/js/translated/part.js:2416
msgid "Scheduled Stock Quantities"
msgstr "Geplante Lagermengen"
-#: templates/js/translated/part.js:2575
+#: templates/js/translated/part.js:2432
msgid "Maximum Quantity"
msgstr ""
-#: templates/js/translated/part.js:2620
+#: templates/js/translated/part.js:2477
msgid "Minimum Stock Level"
msgstr ""
-#: templates/js/translated/part.js:2721
-msgid "Single Price"
-msgstr "Einzelpreis"
-
-#: templates/js/translated/part.js:2740
-msgid "Single Price Difference"
-msgstr "Einzelpreisdifferenz"
-
#: templates/js/translated/plugin.js:23
msgid "The Plugin was installed"
msgstr "Das Plugin wurde installiert"
+#: templates/js/translated/pricing.js:54
+msgid "No BOM data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:196
+msgid "No supplier pricing data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:305
+msgid "No price break data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:361
+#, python-brace-format
+msgid "Edit ${human_name}"
+msgstr "${human_name} bearbeiten"
+
+#: templates/js/translated/pricing.js:362
+#, python-brace-format
+msgid "Delete ${human_name}"
+msgstr "${human_name} löschen"
+
+#: templates/js/translated/pricing.js:480
+msgid "No purchase history data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:502
+msgid "Purchase Price History"
+msgstr ""
+
+#: templates/js/translated/pricing.js:602
+msgid "No sales history data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:624
+msgid "Sale Price History"
+msgstr ""
+
+#: templates/js/translated/pricing.js:708
+msgid "No variant data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:748
+msgid "Variant Part"
+msgstr ""
+
#: templates/js/translated/report.js:67
msgid "items selected"
msgstr "Lagerartikel ausgewählt"
@@ -9855,364 +10177,364 @@ msgstr "Neuer Lagerstandort"
msgid "Are you sure you want to delete this stock location?"
msgstr "Sind Sie sicher, dass Sie diesen Lagerort löschen wollen?"
-#: templates/js/translated/stock.js:175
-msgid "Any child locations will be moved to the parent of this location"
+#: templates/js/translated/stock.js:180
+msgid "Move to parent stock location"
msgstr ""
-#: templates/js/translated/stock.js:176
-msgid "Any stock items in this location will be moved to the parent of this location"
-msgstr ""
-
-#: templates/js/translated/stock.js:182
+#: templates/js/translated/stock.js:189
msgid "Delete Stock Location"
msgstr "Bestand-Lagerort löschen"
-#: templates/js/translated/stock.js:227
+#: templates/js/translated/stock.js:193
+msgid "Action for stock items in this stock location"
+msgstr ""
+
+#: templates/js/translated/stock.js:198
+msgid "Action for sub-locations"
+msgstr ""
+
+#: templates/js/translated/stock.js:246
msgid "This part cannot be serialized"
msgstr "Dieser Teil kann nicht serialisiert werden"
-#: templates/js/translated/stock.js:266
+#: templates/js/translated/stock.js:285
msgid "Enter initial quantity for this stock item"
msgstr "Ausgangsmenge für diesen Lagerartikel eingeben"
-#: templates/js/translated/stock.js:272
+#: templates/js/translated/stock.js:291
msgid "Enter serial numbers for new stock (or leave blank)"
msgstr "Seriennummern für neue Lagerartikel eingeben (oder leer lassen)"
-#: templates/js/translated/stock.js:337
+#: templates/js/translated/stock.js:356
msgid "Stock item duplicated"
msgstr "Lagerartikel dupliziert"
-#: templates/js/translated/stock.js:357
+#: templates/js/translated/stock.js:376
msgid "Duplicate Stock Item"
msgstr "Bestand duplizieren"
-#: templates/js/translated/stock.js:373
+#: templates/js/translated/stock.js:392
msgid "Are you sure you want to delete this stock item?"
msgstr "Sind Sie sicher, dass Sie diesen Lagerartikel löschen wollen?"
-#: templates/js/translated/stock.js:378
+#: templates/js/translated/stock.js:397
msgid "Delete Stock Item"
msgstr "Lagerartikel löschen"
-#: templates/js/translated/stock.js:399
+#: templates/js/translated/stock.js:418
msgid "Edit Stock Item"
msgstr "Lagerartikel bearbeiten"
-#: templates/js/translated/stock.js:449
+#: templates/js/translated/stock.js:468
msgid "Created new stock item"
msgstr "Neuer Lagerartikel erstellt"
-#: templates/js/translated/stock.js:462
+#: templates/js/translated/stock.js:481
msgid "Created multiple stock items"
msgstr "Mehrere Lagerartikel erstellt"
-#: templates/js/translated/stock.js:487
+#: templates/js/translated/stock.js:506
msgid "Find Serial Number"
msgstr "Seriennummer finden"
-#: templates/js/translated/stock.js:491 templates/js/translated/stock.js:492
+#: templates/js/translated/stock.js:510 templates/js/translated/stock.js:511
msgid "Enter serial number"
msgstr "Seriennummer eingeben"
-#: templates/js/translated/stock.js:508
+#: templates/js/translated/stock.js:527
msgid "Enter a serial number"
msgstr "Eine Seriennummer eingeben"
-#: templates/js/translated/stock.js:528
+#: templates/js/translated/stock.js:547
msgid "No matching serial number"
msgstr "Keine passende Seriennummer"
-#: templates/js/translated/stock.js:537
+#: templates/js/translated/stock.js:556
msgid "More than one matching result found"
msgstr "Mehrere Ergebnisse gefunden"
-#: templates/js/translated/stock.js:660
+#: templates/js/translated/stock.js:679
msgid "Confirm stock assignment"
msgstr "Bestand Zuweisung bestätigen"
-#: templates/js/translated/stock.js:661
+#: templates/js/translated/stock.js:680
msgid "Assign Stock to Customer"
msgstr "Einem Kunden zuordnen"
-#: templates/js/translated/stock.js:738
+#: templates/js/translated/stock.js:757
msgid "Warning: Merge operation cannot be reversed"
msgstr "Achtung: Das Zusammenführen kann nicht rückgängig gemacht werden"
-#: templates/js/translated/stock.js:739
+#: templates/js/translated/stock.js:758
msgid "Some information will be lost when merging stock items"
msgstr "Einige Informationen gehen verloren, wenn Artikel zusammengeführt werden"
-#: templates/js/translated/stock.js:741
+#: templates/js/translated/stock.js:760
msgid "Stock transaction history will be deleted for merged items"
msgstr "Lagerartikelverlauf wird für zusammengeführte Lagerartikel gelöscht"
-#: templates/js/translated/stock.js:742
+#: templates/js/translated/stock.js:761
msgid "Supplier part information will be deleted for merged items"
msgstr "Lieferantenteil-Informationen werden für zusammengeführte Artikel gelöscht"
-#: templates/js/translated/stock.js:828
+#: templates/js/translated/stock.js:847
msgid "Confirm stock item merge"
msgstr "Zusammenführung der Artikel bestätigen"
-#: templates/js/translated/stock.js:829
+#: templates/js/translated/stock.js:848
msgid "Merge Stock Items"
msgstr "Artikel zusammenführen"
-#: templates/js/translated/stock.js:924
+#: templates/js/translated/stock.js:943
msgid "Transfer Stock"
msgstr "Bestand verschieben"
-#: templates/js/translated/stock.js:925
+#: templates/js/translated/stock.js:944
msgid "Move"
msgstr "Verschieben"
-#: templates/js/translated/stock.js:931
+#: templates/js/translated/stock.js:950
msgid "Count Stock"
msgstr "Bestand zählen"
-#: templates/js/translated/stock.js:932
+#: templates/js/translated/stock.js:951
msgid "Count"
msgstr "Anzahl"
-#: templates/js/translated/stock.js:936
+#: templates/js/translated/stock.js:955
msgid "Remove Stock"
msgstr "Bestand entfernen"
-#: templates/js/translated/stock.js:937
+#: templates/js/translated/stock.js:956
msgid "Take"
msgstr "Entfernen"
-#: templates/js/translated/stock.js:941
+#: templates/js/translated/stock.js:960
msgid "Add Stock"
msgstr "Bestand hinzufügen"
-#: templates/js/translated/stock.js:942 users/models.py:218
+#: templates/js/translated/stock.js:961 users/models.py:220
msgid "Add"
msgstr "Hinzufügen"
-#: templates/js/translated/stock.js:946
+#: templates/js/translated/stock.js:965
msgid "Delete Stock"
msgstr "Bestand löschen"
-#: templates/js/translated/stock.js:1039
+#: templates/js/translated/stock.js:1058
msgid "Quantity cannot be adjusted for serialized stock"
msgstr "Menge von serialisiertem Bestand kann nicht bearbeitet werden"
-#: templates/js/translated/stock.js:1039
+#: templates/js/translated/stock.js:1058
msgid "Specify stock quantity"
msgstr "Bestandsanzahl angeben"
-#: templates/js/translated/stock.js:1079
+#: templates/js/translated/stock.js:1098
msgid "You must select at least one available stock item"
msgstr "Sie müssen mindestens einen Lagerartikel auswählen"
-#: templates/js/translated/stock.js:1102
+#: templates/js/translated/stock.js:1121
msgid "Confirm stock adjustment"
msgstr "Bestands-Anpassung bestätigen"
-#: templates/js/translated/stock.js:1238
+#: templates/js/translated/stock.js:1257
msgid "PASS"
msgstr "ERFOLGREICH"
-#: templates/js/translated/stock.js:1240
+#: templates/js/translated/stock.js:1259
msgid "FAIL"
msgstr "FEHLGESCHLAGEN"
-#: templates/js/translated/stock.js:1245
+#: templates/js/translated/stock.js:1264
msgid "NO RESULT"
msgstr "KEIN ERGEBNIS"
-#: templates/js/translated/stock.js:1292
+#: templates/js/translated/stock.js:1311
msgid "Pass test"
msgstr "Test bestanden"
-#: templates/js/translated/stock.js:1295
+#: templates/js/translated/stock.js:1314
msgid "Add test result"
msgstr "Testergebnis hinzufügen"
-#: templates/js/translated/stock.js:1321
+#: templates/js/translated/stock.js:1340
msgid "No test results found"
msgstr "Keine Testergebnisse gefunden"
-#: templates/js/translated/stock.js:1378
+#: templates/js/translated/stock.js:1397
msgid "Test Date"
msgstr "Testdatum"
-#: templates/js/translated/stock.js:1543
+#: templates/js/translated/stock.js:1562
msgid "Edit Test Result"
msgstr "Testergebnis bearbeiten"
-#: templates/js/translated/stock.js:1565
+#: templates/js/translated/stock.js:1584
msgid "Delete Test Result"
msgstr "Testergebnis löschen"
-#: templates/js/translated/stock.js:1594
+#: templates/js/translated/stock.js:1613
msgid "In production"
msgstr "In Arbeit"
-#: templates/js/translated/stock.js:1598
+#: templates/js/translated/stock.js:1617
msgid "Installed in Stock Item"
msgstr "In Lagerartikel installiert"
-#: templates/js/translated/stock.js:1606
+#: templates/js/translated/stock.js:1625
msgid "Assigned to Sales Order"
msgstr "Auftrag zugewiesen"
-#: templates/js/translated/stock.js:1612
+#: templates/js/translated/stock.js:1631
msgid "No stock location set"
msgstr "Kein Lagerort gesetzt"
-#: templates/js/translated/stock.js:1781
+#: templates/js/translated/stock.js:1800
msgid "Stock item is in production"
msgstr "Lagerartikel wird produziert"
-#: templates/js/translated/stock.js:1786
+#: templates/js/translated/stock.js:1805
msgid "Stock item assigned to sales order"
msgstr "Lagerartikel wurde Auftrag zugewiesen"
-#: templates/js/translated/stock.js:1789
+#: templates/js/translated/stock.js:1808
msgid "Stock item assigned to customer"
msgstr "Lagerartikel wurde Kunden zugewiesen"
-#: templates/js/translated/stock.js:1792
+#: templates/js/translated/stock.js:1811
msgid "Serialized stock item has been allocated"
msgstr "Serialisierter Lagerartikel wurde zugewiesen"
-#: templates/js/translated/stock.js:1794
+#: templates/js/translated/stock.js:1813
msgid "Stock item has been fully allocated"
msgstr "Lagerartikel wurde vollständig zugewiesen"
-#: templates/js/translated/stock.js:1796
+#: templates/js/translated/stock.js:1815
msgid "Stock item has been partially allocated"
msgstr "Lagerartikel wurde teilweise zugewiesen"
-#: templates/js/translated/stock.js:1799
+#: templates/js/translated/stock.js:1818
msgid "Stock item has been installed in another item"
msgstr "Lagerartikel in anderem Element verbaut"
-#: templates/js/translated/stock.js:1803
+#: templates/js/translated/stock.js:1822
msgid "Stock item has expired"
msgstr "Lagerartikel ist abgelaufen"
-#: templates/js/translated/stock.js:1805
+#: templates/js/translated/stock.js:1824
msgid "Stock item will expire soon"
msgstr "Lagerartikel läuft demnächst ab"
-#: templates/js/translated/stock.js:1812
+#: templates/js/translated/stock.js:1831
msgid "Stock item has been rejected"
msgstr "Lagerartikel abgewiesen"
-#: templates/js/translated/stock.js:1814
+#: templates/js/translated/stock.js:1833
msgid "Stock item is lost"
msgstr "Lagerartikel verloren"
-#: templates/js/translated/stock.js:1816
+#: templates/js/translated/stock.js:1835
msgid "Stock item is destroyed"
msgstr "Lagerartikel zerstört"
-#: templates/js/translated/stock.js:1820
-#: templates/js/translated/table_filters.js:204
+#: templates/js/translated/stock.js:1839
+#: templates/js/translated/table_filters.js:208
msgid "Depleted"
msgstr "gelöscht"
-#: templates/js/translated/stock.js:1871
-msgid "Stocktake"
-msgstr "Inventur"
-
-#: templates/js/translated/stock.js:1950
+#: templates/js/translated/stock.js:1969
msgid "Supplier part not specified"
msgstr "Zuliefererteil nicht angegeben"
-#: templates/js/translated/stock.js:1988
+#: templates/js/translated/stock.js:2006
msgid "No stock items matching query"
msgstr "Keine zur Anfrage passenden Lagerartikel"
-#: templates/js/translated/stock.js:2161
+#: templates/js/translated/stock.js:2179
msgid "Set Stock Status"
msgstr "Status setzen"
-#: templates/js/translated/stock.js:2175
+#: templates/js/translated/stock.js:2193
msgid "Select Status Code"
msgstr "Status Code setzen"
-#: templates/js/translated/stock.js:2176
+#: templates/js/translated/stock.js:2194
msgid "Status code must be selected"
msgstr "Status Code muss ausgewählt werden"
-#: templates/js/translated/stock.js:2408
+#: templates/js/translated/stock.js:2426
msgid "Load Subloactions"
msgstr ""
-#: templates/js/translated/stock.js:2503
+#: templates/js/translated/stock.js:2521
msgid "Details"
msgstr "Details"
-#: templates/js/translated/stock.js:2519
+#: templates/js/translated/stock.js:2537
msgid "Part information unavailable"
msgstr "Artikelinformationen nicht verfügbar"
-#: templates/js/translated/stock.js:2541
+#: templates/js/translated/stock.js:2559
msgid "Location no longer exists"
msgstr "Standort nicht mehr vorhanden"
-#: templates/js/translated/stock.js:2560
+#: templates/js/translated/stock.js:2578
msgid "Purchase order no longer exists"
msgstr "Bestellung existiert nicht mehr"
-#: templates/js/translated/stock.js:2579
+#: templates/js/translated/stock.js:2597
msgid "Customer no longer exists"
msgstr "Kunde existiert nicht mehr"
-#: templates/js/translated/stock.js:2597
+#: templates/js/translated/stock.js:2615
msgid "Stock item no longer exists"
msgstr "Lagerartikel existiert nicht mehr"
-#: templates/js/translated/stock.js:2620
+#: templates/js/translated/stock.js:2638
msgid "Added"
msgstr "Hinzugefügt"
-#: templates/js/translated/stock.js:2628
+#: templates/js/translated/stock.js:2646
msgid "Removed"
msgstr "Entfernt"
-#: templates/js/translated/stock.js:2704
+#: templates/js/translated/stock.js:2722
msgid "No installed items"
msgstr "Keine installierten Elemente"
-#: templates/js/translated/stock.js:2755 templates/js/translated/stock.js:2791
+#: templates/js/translated/stock.js:2773 templates/js/translated/stock.js:2809
msgid "Uninstall Stock Item"
msgstr "Lagerartikel entfernen"
-#: templates/js/translated/stock.js:2804
+#: templates/js/translated/stock.js:2822
msgid "Select stock item to uninstall"
msgstr "Zu deinstallierende Lagerartikel auswählen"
-#: templates/js/translated/stock.js:2825
+#: templates/js/translated/stock.js:2843
msgid "Install another stock item into this item"
msgstr "Einen weiteren Lagerartikel in dieses Teil installiert"
-#: templates/js/translated/stock.js:2826
+#: templates/js/translated/stock.js:2844
msgid "Stock items can only be installed if they meet the following criteria"
msgstr "Lagerartikel können nur installiert werden wenn folgende Kriterien erfüllt werden"
-#: templates/js/translated/stock.js:2828
+#: templates/js/translated/stock.js:2846
msgid "The Stock Item links to a Part which is the BOM for this Stock Item"
msgstr "Der Lagerartikel ist auf ein Teil verknüpft das in der Stückliste für diesen Lagerartikel ist"
-#: templates/js/translated/stock.js:2829
+#: templates/js/translated/stock.js:2847
msgid "The Stock Item is currently available in stock"
msgstr "Dieser Lagerartikel ist aktuell vorhanden"
-#: templates/js/translated/stock.js:2830
+#: templates/js/translated/stock.js:2848
msgid "The Stock Item is not already installed in another item"
msgstr "Der Lagerbestand ist nicht bereits in einem anderen Bestand installiert"
-#: templates/js/translated/stock.js:2831
+#: templates/js/translated/stock.js:2849
msgid "The Stock Item is tracked by either a batch code or serial number"
msgstr "Der Lagerbestand wird entweder mit einem Batch-Code oder mit Seriennummer verfolgt"
-#: templates/js/translated/stock.js:2844
+#: templates/js/translated/stock.js:2862
msgid "Select part to install"
msgstr "Teil zur Installation auswählen"
@@ -10236,215 +10558,220 @@ msgstr "überprüft"
msgid "Allow Variant Stock"
msgstr "Bestand an Varianten zulassen"
-#: templates/js/translated/table_filters.js:126
-#: templates/js/translated/table_filters.js:199
+#: templates/js/translated/table_filters.js:92
+#: templates/js/translated/table_filters.js:508
+msgid "Has Pricing"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:130
+#: templates/js/translated/table_filters.js:203
msgid "Include sublocations"
msgstr "Unter-Lagerorte einschließen"
-#: templates/js/translated/table_filters.js:127
+#: templates/js/translated/table_filters.js:131
msgid "Include locations"
msgstr "Lagerorte einschließen"
-#: templates/js/translated/table_filters.js:137
-#: templates/js/translated/table_filters.js:138
-#: templates/js/translated/table_filters.js:445
+#: templates/js/translated/table_filters.js:141
+#: templates/js/translated/table_filters.js:142
+#: templates/js/translated/table_filters.js:449
msgid "Include subcategories"
msgstr "Unterkategorien einschließen"
-#: templates/js/translated/table_filters.js:142
-#: templates/js/translated/table_filters.js:488
+#: templates/js/translated/table_filters.js:146
+#: templates/js/translated/table_filters.js:492
msgid "Subscribed"
msgstr "Abonniert"
-#: templates/js/translated/table_filters.js:152
-#: templates/js/translated/table_filters.js:234
+#: templates/js/translated/table_filters.js:156
+#: templates/js/translated/table_filters.js:238
msgid "Is Serialized"
msgstr "Hat Seriennummer"
-#: templates/js/translated/table_filters.js:155
-#: templates/js/translated/table_filters.js:241
+#: templates/js/translated/table_filters.js:159
+#: templates/js/translated/table_filters.js:245
msgid "Serial number GTE"
msgstr "Seriennummer >="
-#: templates/js/translated/table_filters.js:156
-#: templates/js/translated/table_filters.js:242
+#: templates/js/translated/table_filters.js:160
+#: templates/js/translated/table_filters.js:246
msgid "Serial number greater than or equal to"
msgstr "Seriennummer größer oder gleich"
-#: templates/js/translated/table_filters.js:159
-#: templates/js/translated/table_filters.js:245
+#: templates/js/translated/table_filters.js:163
+#: templates/js/translated/table_filters.js:249
msgid "Serial number LTE"
msgstr "Seriennummer <="
-#: templates/js/translated/table_filters.js:160
-#: templates/js/translated/table_filters.js:246
+#: templates/js/translated/table_filters.js:164
+#: templates/js/translated/table_filters.js:250
msgid "Serial number less than or equal to"
msgstr "Seriennummern kleiner oder gleich"
-#: templates/js/translated/table_filters.js:163
-#: templates/js/translated/table_filters.js:164
-#: templates/js/translated/table_filters.js:237
-#: templates/js/translated/table_filters.js:238
+#: templates/js/translated/table_filters.js:167
+#: templates/js/translated/table_filters.js:168
+#: templates/js/translated/table_filters.js:241
+#: templates/js/translated/table_filters.js:242
msgid "Serial number"
msgstr "Seriennummer"
-#: templates/js/translated/table_filters.js:168
-#: templates/js/translated/table_filters.js:259
+#: templates/js/translated/table_filters.js:172
+#: templates/js/translated/table_filters.js:263
msgid "Batch code"
msgstr "Losnummer"
-#: templates/js/translated/table_filters.js:179
-#: templates/js/translated/table_filters.js:417
+#: templates/js/translated/table_filters.js:183
+#: templates/js/translated/table_filters.js:421
msgid "Active parts"
msgstr "Aktive Teile"
-#: templates/js/translated/table_filters.js:180
+#: templates/js/translated/table_filters.js:184
msgid "Show stock for active parts"
msgstr "Bestand aktiver Teile anzeigen"
-#: templates/js/translated/table_filters.js:185
+#: templates/js/translated/table_filters.js:189
msgid "Part is an assembly"
msgstr "Teil ist eine Baugruppe"
-#: templates/js/translated/table_filters.js:189
+#: templates/js/translated/table_filters.js:193
msgid "Is allocated"
msgstr "Ist zugeordnet"
-#: templates/js/translated/table_filters.js:190
+#: templates/js/translated/table_filters.js:194
msgid "Item has been allocated"
msgstr "Teil wurde zugeordnet"
-#: templates/js/translated/table_filters.js:195
+#: templates/js/translated/table_filters.js:199
msgid "Stock is available for use"
msgstr "Lagerartikel ist zur Verwendung verfügbar"
-#: templates/js/translated/table_filters.js:200
+#: templates/js/translated/table_filters.js:204
msgid "Include stock in sublocations"
msgstr "Bestand in Unter-Lagerorten einschließen"
-#: templates/js/translated/table_filters.js:205
+#: templates/js/translated/table_filters.js:209
msgid "Show stock items which are depleted"
msgstr "Zeige aufgebrauchte Lagerartikel"
-#: templates/js/translated/table_filters.js:210
+#: templates/js/translated/table_filters.js:214
msgid "Show items which are in stock"
msgstr "Zeige Objekte welche im Lager sind"
-#: templates/js/translated/table_filters.js:214
+#: templates/js/translated/table_filters.js:218
msgid "In Production"
msgstr "In Arbeit"
-#: templates/js/translated/table_filters.js:215
+#: templates/js/translated/table_filters.js:219
msgid "Show items which are in production"
msgstr "Elemente, die in Produktion sind, anzeigen"
-#: templates/js/translated/table_filters.js:219
+#: templates/js/translated/table_filters.js:223
msgid "Include Variants"
msgstr "Varianten einschließen"
-#: templates/js/translated/table_filters.js:220
+#: templates/js/translated/table_filters.js:224
msgid "Include stock items for variant parts"
msgstr "Lagerartikel für Teil-Varianten einschließen"
-#: templates/js/translated/table_filters.js:224
+#: templates/js/translated/table_filters.js:228
msgid "Installed"
msgstr "Installiert"
-#: templates/js/translated/table_filters.js:225
+#: templates/js/translated/table_filters.js:229
msgid "Show stock items which are installed in another item"
msgstr "Lagerartikel, die in anderen Elementen verbaut sind, anzeigen"
-#: templates/js/translated/table_filters.js:230
+#: templates/js/translated/table_filters.js:234
msgid "Show items which have been assigned to a customer"
msgstr "zeige zu Kunden zugeordnete Einträge"
-#: templates/js/translated/table_filters.js:250
-#: templates/js/translated/table_filters.js:251
+#: templates/js/translated/table_filters.js:254
+#: templates/js/translated/table_filters.js:255
msgid "Stock status"
msgstr "Status"
-#: templates/js/translated/table_filters.js:254
+#: templates/js/translated/table_filters.js:258
msgid "Has batch code"
msgstr "Hat Batch-Code"
-#: templates/js/translated/table_filters.js:262
+#: templates/js/translated/table_filters.js:266
msgid "Tracked"
msgstr "Nachverfolgt"
-#: templates/js/translated/table_filters.js:263
+#: templates/js/translated/table_filters.js:267
msgid "Stock item is tracked by either batch code or serial number"
msgstr "Lagerbestand wird entweder per Batch-Code oder Seriennummer verfolgt"
-#: templates/js/translated/table_filters.js:268
+#: templates/js/translated/table_filters.js:272
msgid "Has purchase price"
msgstr "Hat Einkaufspreis"
-#: templates/js/translated/table_filters.js:269
+#: templates/js/translated/table_filters.js:273
msgid "Show stock items which have a purchase price set"
msgstr "Bestand mit Einkaufspreis anzeigen"
-#: templates/js/translated/table_filters.js:278
+#: templates/js/translated/table_filters.js:282
msgid "Show stock items which have expired"
msgstr "Zeige abgelaufene Lagerartikel"
-#: templates/js/translated/table_filters.js:284
+#: templates/js/translated/table_filters.js:288
msgid "Show stock which is close to expiring"
msgstr "Bestand, der bald ablaufen, anzeigen"
-#: templates/js/translated/table_filters.js:296
+#: templates/js/translated/table_filters.js:300
msgid "Test Passed"
msgstr "Test bestanden"
-#: templates/js/translated/table_filters.js:300
+#: templates/js/translated/table_filters.js:304
msgid "Include Installed Items"
msgstr "Installierte Elemente einschließen"
-#: templates/js/translated/table_filters.js:319
+#: templates/js/translated/table_filters.js:323
msgid "Build status"
msgstr "Bauauftrags-Status"
-#: templates/js/translated/table_filters.js:332
-#: templates/js/translated/table_filters.js:373
+#: templates/js/translated/table_filters.js:336
+#: templates/js/translated/table_filters.js:377
msgid "Assigned to me"
msgstr "Mir zugewiesen"
-#: templates/js/translated/table_filters.js:349
-#: templates/js/translated/table_filters.js:360
-#: templates/js/translated/table_filters.js:390
+#: templates/js/translated/table_filters.js:353
+#: templates/js/translated/table_filters.js:364
+#: templates/js/translated/table_filters.js:394
msgid "Order status"
msgstr "Bestellstatus"
-#: templates/js/translated/table_filters.js:365
-#: templates/js/translated/table_filters.js:382
-#: templates/js/translated/table_filters.js:395
+#: templates/js/translated/table_filters.js:369
+#: templates/js/translated/table_filters.js:386
+#: templates/js/translated/table_filters.js:399
msgid "Outstanding"
msgstr "ausstehend"
-#: templates/js/translated/table_filters.js:446
+#: templates/js/translated/table_filters.js:450
msgid "Include parts in subcategories"
msgstr "Teile in Unterkategorien einschließen"
-#: templates/js/translated/table_filters.js:451
+#: templates/js/translated/table_filters.js:455
msgid "Show active parts"
msgstr "Aktive Teile anzeigen"
-#: templates/js/translated/table_filters.js:459
+#: templates/js/translated/table_filters.js:463
msgid "Available stock"
msgstr "Verfügbarer Lagerbestand"
-#: templates/js/translated/table_filters.js:467
+#: templates/js/translated/table_filters.js:471
msgid "Has IPN"
msgstr "Hat IPN"
-#: templates/js/translated/table_filters.js:468
+#: templates/js/translated/table_filters.js:472
msgid "Part has internal part number"
msgstr "Teil hat Interne Teilenummer"
-#: templates/js/translated/table_filters.js:472
+#: templates/js/translated/table_filters.js:476
msgid "In stock"
msgstr "Auf Lager"
-#: templates/js/translated/table_filters.js:480
+#: templates/js/translated/table_filters.js:484
msgid "Purchasable"
msgstr "Käuflich"
@@ -10554,6 +10881,10 @@ msgstr "Speichern"
msgid "Show all notifications and history"
msgstr "Zeige alle Benachrichtigungen und Verlauf"
+#: templates/price_data.html:7
+msgid "No data"
+msgstr ""
+
#: templates/qr_code.html:11
msgid "QR data not provided"
msgstr "QR Daten nicht angegeben"
@@ -10738,35 +11069,35 @@ msgstr "Berechtigungen"
msgid "Important dates"
msgstr "wichtige Daten"
-#: users/models.py:205
+#: users/models.py:207
msgid "Permission set"
msgstr "Berechtigung geändert"
-#: users/models.py:213
+#: users/models.py:215
msgid "Group"
msgstr "Gruppe"
-#: users/models.py:216
+#: users/models.py:218
msgid "View"
msgstr "Ansicht"
-#: users/models.py:216
+#: users/models.py:218
msgid "Permission to view items"
msgstr "Berechtigung Einträge anzuzeigen"
-#: users/models.py:218
+#: users/models.py:220
msgid "Permission to add items"
msgstr "Berechtigung Einträge zu erstellen"
-#: users/models.py:220
+#: users/models.py:222
msgid "Change"
msgstr "Ändern"
-#: users/models.py:220
+#: users/models.py:222
msgid "Permissions to edit items"
msgstr "Berechtigungen Einträge zu ändern"
-#: users/models.py:222
+#: users/models.py:224
msgid "Permission to delete items"
msgstr "Berechtigung Einträge zu löschen"
diff --git a/InvenTree/locale/el/LC_MESSAGES/django.po b/InvenTree/locale/el/LC_MESSAGES/django.po
index b490dc850a..418b7bee69 100644
--- a/InvenTree/locale/el/LC_MESSAGES/django.po
+++ b/InvenTree/locale/el/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-11-04 14:07+0000\n"
-"PO-Revision-Date: 2022-11-04 19:03\n"
+"POT-Creation-Date: 2022-11-14 04:59+0000\n"
+"PO-Revision-Date: 2022-11-14 14:51\n"
"Last-Translator: \n"
"Language-Team: Greek\n"
"Language: el_GR\n"
@@ -17,7 +17,7 @@ msgstr ""
"X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n"
"X-Crowdin-File-ID: 154\n"
-#: InvenTree/api.py:54
+#: InvenTree/api.py:61
msgid "API endpoint not found"
msgstr "Το API endpoint δε βρέθηκε"
@@ -25,27 +25,27 @@ msgstr "Το API endpoint δε βρέθηκε"
msgid "Error details can be found in the admin panel"
msgstr "Μπορείτε να βρείτε λεπτομέρειες σφάλματος στον πίνακα διαχείρισης"
-#: InvenTree/fields.py:120
+#: InvenTree/fields.py:129
msgid "Enter date"
msgstr "Εισάγετε ημερομηνία"
-#: InvenTree/fields.py:195 build/serializers.py:387
-#: build/templates/build/sidebar.html:21 company/models.py:525
-#: company/templates/company/sidebar.html:25 order/models.py:920
+#: InvenTree/fields.py:204 build/serializers.py:387
+#: build/templates/build/sidebar.html:21 company/models.py:529
+#: company/templates/company/sidebar.html:25 order/models.py:943
#: order/templates/order/po_sidebar.html:11
-#: order/templates/order/so_sidebar.html:17
-#: part/templates/part/part_sidebar.html:59
+#: order/templates/order/so_sidebar.html:17 part/admin.py:27
+#: part/templates/part/part_sidebar.html:57
#: report/templates/report/inventree_build_order_base.html:172
-#: stock/models.py:2002 stock/models.py:2110 stock/serializers.py:327
-#: stock/serializers.py:460 stock/serializers.py:541 stock/serializers.py:827
-#: stock/serializers.py:926 stock/serializers.py:1058
+#: stock/admin.py:103 stock/models.py:2018 stock/models.py:2126
+#: stock/serializers.py:321 stock/serializers.py:454 stock/serializers.py:535
+#: stock/serializers.py:826 stock/serializers.py:925 stock/serializers.py:1057
#: stock/templates/stock/stock_sidebar.html:25
-#: templates/js/translated/barcode.js:108 templates/js/translated/bom.js:1146
-#: templates/js/translated/company.js:1022
-#: templates/js/translated/order.js:2404 templates/js/translated/order.js:2552
-#: templates/js/translated/order.js:3048 templates/js/translated/order.js:3999
-#: templates/js/translated/order.js:4394 templates/js/translated/stock.js:1374
-#: templates/js/translated/stock.js:1982
+#: templates/js/translated/barcode.js:108 templates/js/translated/bom.js:1211
+#: templates/js/translated/company.js:1023
+#: templates/js/translated/order.js:2427 templates/js/translated/order.js:2561
+#: templates/js/translated/order.js:3059 templates/js/translated/order.js:3996
+#: templates/js/translated/order.js:4377 templates/js/translated/stock.js:1393
+#: templates/js/translated/stock.js:2000
msgid "Notes"
msgstr "Σημειώσεις"
@@ -122,43 +122,43 @@ msgstr "Ο διακομιστής επέστρεψε σφάλμα %1$d %2$s"
msgid "Supplied URL is not a valid image file"
msgstr "Το URL δεν είναι έγκυρο αρχείο εικόνας"
-#: InvenTree/helpers.py:602 order/models.py:325 order/models.py:477
+#: InvenTree/helpers.py:589 order/models.py:329 order/models.py:496
msgid "Invalid quantity provided"
msgstr "Μη έγκυρη ποσότητα"
-#: InvenTree/helpers.py:610
+#: InvenTree/helpers.py:597
msgid "Empty serial number string"
msgstr "Κενό σειριακό αριθμό συμβολοσειράς"
-#: InvenTree/helpers.py:640
+#: InvenTree/helpers.py:627
msgid "Duplicate serial"
msgstr ""
-#: InvenTree/helpers.py:673 InvenTree/helpers.py:708
+#: InvenTree/helpers.py:660 InvenTree/helpers.py:695
#, python-brace-format
msgid "Invalid group range: {g}"
msgstr "Μη έγκυρο εύρος ομάδας: {g}"
-#: InvenTree/helpers.py:702
+#: InvenTree/helpers.py:689
#, python-brace-format
msgid "Group range {g} exceeds allowed quantity ({q})"
msgstr ""
-#: InvenTree/helpers.py:726 InvenTree/helpers.py:733 InvenTree/helpers.py:748
+#: InvenTree/helpers.py:713 InvenTree/helpers.py:720 InvenTree/helpers.py:735
#, python-brace-format
msgid "Invalid group sequence: {g}"
msgstr "Μη έγκυρη ακολουθία ομάδας: {g}"
-#: InvenTree/helpers.py:758
+#: InvenTree/helpers.py:745
msgid "No serial numbers found"
msgstr "Δεν βρέθηκαν σειριακοί αριθμοί"
-#: InvenTree/helpers.py:761
+#: InvenTree/helpers.py:748
#, python-brace-format
msgid "Number of unique serial numbers ({s}) must match quantity ({q})"
msgstr "Ο αριθμός μοναδικών σειριακών αριθμών ({s}) πρέπει να αντιστοιχεί στην ποσότητα ({q})"
-#: InvenTree/helpers.py:960
+#: InvenTree/helpers.py:947
msgid "Remove HTML tags from this value"
msgstr "Αφαιρέστε τα HTML tags από την τιμή που εισάγατε"
@@ -194,7 +194,7 @@ msgstr "Το αρχείο λείπει"
msgid "Missing external link"
msgstr "Λείπει ο εξωτερικός σύνδεσμος"
-#: InvenTree/models.py:405 stock/models.py:2104
+#: InvenTree/models.py:405 stock/models.py:2120
#: templates/js/translated/attachment.js:103
#: templates/js/translated/attachment.js:241
msgid "Attachment"
@@ -204,18 +204,19 @@ msgstr "Συνημμένο"
msgid "Select file to attach"
msgstr "Επιλέξτε αρχείο για επισύναψη"
-#: InvenTree/models.py:412 company/models.py:125 company/models.py:277
-#: company/models.py:512 order/models.py:84 order/models.py:1259
-#: part/models.py:816 part/templates/part/part_scheduling.html:11
+#: InvenTree/models.py:412 common/models.py:2313 company/models.py:129
+#: company/models.py:281 company/models.py:516 order/models.py:85
+#: order/models.py:1282 part/admin.py:25 part/models.py:835
+#: part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
-#: templates/js/translated/company.js:691
-#: templates/js/translated/company.js:1011
-#: templates/js/translated/order.js:3037 templates/js/translated/part.js:1569
+#: stock/admin.py:102 templates/js/translated/company.js:692
+#: templates/js/translated/company.js:1012
+#: templates/js/translated/order.js:3048 templates/js/translated/part.js:1593
msgid "Link"
msgstr "Σύνδεσμος"
-#: InvenTree/models.py:413 build/models.py:290 part/models.py:817
-#: stock/models.py:660
+#: InvenTree/models.py:413 build/models.py:290 part/models.py:836
+#: stock/models.py:676
msgid "Link to external URL"
msgstr "Σύνδεσμος προς εξωτερική διεύθυνση URL"
@@ -228,12 +229,12 @@ msgstr "Σχόλιο"
msgid "File comment"
msgstr "Σχόλιο αρχείου"
-#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1744
-#: common/models.py:1745 common/models.py:1968 common/models.py:1969
-#: common/models.py:2231 common/models.py:2232 part/models.py:2254
-#: part/models.py:2274 plugin/models.py:264 plugin/models.py:265
+#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1756
+#: common/models.py:1757 common/models.py:1980 common/models.py:1981
+#: common/models.py:2243 common/models.py:2244 part/models.py:2867
+#: part/models.py:2887 plugin/models.py:264 plugin/models.py:265
#: report/templates/report/inventree_test_report_base.html:96
-#: templates/js/translated/stock.js:2651
+#: templates/js/translated/stock.js:2669
msgid "User"
msgstr "Χρήστης"
@@ -270,44 +271,45 @@ msgstr "Σφάλμα κατά τη μετονομασία"
msgid "Invalid choice"
msgstr "Μη έγκυρη επιλογή"
-#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1954
-#: company/models.py:359 label/models.py:101 part/models.py:760
-#: part/models.py:2429 plugin/models.py:94 report/models.py:152
+#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1966
+#: company/models.py:363 label/models.py:101 part/models.py:779
+#: part/models.py:3042 plugin/models.py:94 report/models.py:152
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/plugin.html:60
#: templates/InvenTree/settings/plugin.html:104
#: templates/InvenTree/settings/plugin_settings.html:23
#: templates/InvenTree/settings/settings.html:344
-#: templates/js/translated/company.js:580
-#: templates/js/translated/company.js:793
+#: templates/js/translated/company.js:581
+#: templates/js/translated/company.js:794
#: templates/js/translated/notification.js:71
-#: templates/js/translated/part.js:686 templates/js/translated/part.js:838
-#: templates/js/translated/part.js:1964 templates/js/translated/stock.js:2396
+#: templates/js/translated/part.js:700 templates/js/translated/part.js:865
+#: templates/js/translated/part.js:1988 templates/js/translated/stock.js:2414
msgid "Name"
msgstr "Όνομα"
#: InvenTree/models.py:564 build/models.py:163
-#: build/templates/build/detail.html:24 company/models.py:283
-#: company/models.py:518 company/templates/company/company_base.html:71
+#: build/templates/build/detail.html:24 company/models.py:287
+#: company/models.py:522 company/templates/company/company_base.html:71
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:108 label/models.py:108
-#: order/models.py:82 part/models.py:783 part/models.py:2438
-#: part/templates/part/category.html:75 part/templates/part/part_base.html:172
+#: order/models.py:83 part/admin.py:141 part/admin.py:222 part/models.py:802
+#: part/models.py:3051 part/templates/part/category.html:75
+#: part/templates/part/part_base.html:172
#: part/templates/part/part_scheduling.html:12 report/models.py:165
#: report/models.py:507 report/models.py:551
#: report/templates/report/inventree_build_order_base.html:117
-#: stock/templates/stock/location.html:117
+#: stock/admin.py:25 stock/templates/stock/location.html:117
#: templates/InvenTree/settings/plugin_settings.html:28
#: templates/InvenTree/settings/settings.html:355
-#: templates/js/translated/bom.js:579 templates/js/translated/bom.js:887
-#: templates/js/translated/build.js:2580 templates/js/translated/company.js:444
-#: templates/js/translated/company.js:702
-#: templates/js/translated/company.js:986 templates/js/translated/order.js:1988
-#: templates/js/translated/order.js:2220 templates/js/translated/order.js:2826
-#: templates/js/translated/part.js:745 templates/js/translated/part.js:1187
-#: templates/js/translated/part.js:1464 templates/js/translated/part.js:2000
-#: templates/js/translated/part.js:2075 templates/js/translated/stock.js:1748
-#: templates/js/translated/stock.js:2428 templates/js/translated/stock.js:2488
+#: templates/js/translated/bom.js:592 templates/js/translated/bom.js:895
+#: templates/js/translated/build.js:2580 templates/js/translated/company.js:445
+#: templates/js/translated/company.js:703
+#: templates/js/translated/company.js:987 templates/js/translated/order.js:2022
+#: templates/js/translated/order.js:2259 templates/js/translated/order.js:2837
+#: templates/js/translated/part.js:759 templates/js/translated/part.js:1208
+#: templates/js/translated/part.js:1475 templates/js/translated/part.js:2024
+#: templates/js/translated/part.js:2099 templates/js/translated/stock.js:1767
+#: templates/js/translated/stock.js:2446 templates/js/translated/stock.js:2506
msgid "Description"
msgstr "Περιγραφή"
@@ -320,7 +322,7 @@ msgid "parent"
msgstr "γονέας"
#: InvenTree/models.py:580 InvenTree/models.py:581
-#: templates/js/translated/part.js:2009 templates/js/translated/stock.js:2437
+#: templates/js/translated/part.js:2033 templates/js/translated/stock.js:2455
msgid "Path"
msgstr "Μονοπάτι"
@@ -332,7 +334,7 @@ msgstr ""
msgid "Third party barcode data"
msgstr ""
-#: InvenTree/models.py:688 order/serializers.py:486
+#: InvenTree/models.py:688 order/serializers.py:477
msgid "Barcode Hash"
msgstr ""
@@ -352,187 +354,187 @@ msgstr "Σφάλμα διακομιστή"
msgid "An error has been logged by the server."
msgstr "Ένα σφάλμα έχει καταγραφεί από το διακομιστή."
-#: InvenTree/serializers.py:58 part/models.py:2774
+#: InvenTree/serializers.py:58 part/models.py:3387
msgid "Must be a valid number"
msgstr "Πρέπει να είναι αριθμός"
-#: InvenTree/serializers.py:265
+#: InvenTree/serializers.py:266
msgid "Filename"
msgstr "Όνομα αρχείου"
-#: InvenTree/serializers.py:300
+#: InvenTree/serializers.py:301
msgid "Invalid value"
msgstr "Μη έγκυρη τιμή"
-#: InvenTree/serializers.py:322
+#: InvenTree/serializers.py:323
msgid "Data File"
msgstr "Αρχείο Δεδομένων"
-#: InvenTree/serializers.py:323
+#: InvenTree/serializers.py:324
msgid "Select data file for upload"
msgstr "Επιλέξτε ένα αρχείο για ανέβασμα"
-#: InvenTree/serializers.py:344
+#: InvenTree/serializers.py:345
msgid "Unsupported file type"
msgstr "Μη υποστηριζόμενος τύπος αρχείου"
-#: InvenTree/serializers.py:350
+#: InvenTree/serializers.py:351
msgid "File is too large"
msgstr "Το αρχείο είναι πολύ μεγάλο"
-#: InvenTree/serializers.py:371
+#: InvenTree/serializers.py:372
msgid "No columns found in file"
msgstr "Δεν βρέθηκαν στήλες στο αρχείο"
-#: InvenTree/serializers.py:374
+#: InvenTree/serializers.py:375
msgid "No data rows found in file"
msgstr "Δεν βρέθηκαν γραμμές δεδομένων στο αρχείο"
-#: InvenTree/serializers.py:497
+#: InvenTree/serializers.py:498
msgid "No data rows provided"
msgstr "Δεν παρασχέθηκαν σειρές δεδομένων"
-#: InvenTree/serializers.py:500
+#: InvenTree/serializers.py:501
msgid "No data columns supplied"
msgstr "Δεν δόθηκαν στήλες δεδομένων"
-#: InvenTree/serializers.py:577
+#: InvenTree/serializers.py:578
#, python-brace-format
msgid "Missing required column: '{name}'"
msgstr "Λείπει απαιτούμενη στήλη: '{name}'"
-#: InvenTree/serializers.py:586
+#: InvenTree/serializers.py:587
#, python-brace-format
msgid "Duplicate column: '{col}'"
msgstr "Διπλή στήλη: '{col}'"
-#: InvenTree/serializers.py:605
+#: InvenTree/serializers.py:606
#: templates/InvenTree/settings/mixins/urls.html:14
msgid "URL"
msgstr "URL"
-#: InvenTree/serializers.py:606
+#: InvenTree/serializers.py:607
msgid "URL of remote image file"
msgstr "Διεύθυνση URL του αρχείου απομακρυσμένης εικόνας"
-#: InvenTree/serializers.py:620
+#: InvenTree/serializers.py:621
msgid "Downloading images from remote URL is not enabled"
msgstr "Η λήψη εικόνων από απομακρυσμένο URL δεν είναι ενεργοποιημένη"
-#: InvenTree/settings.py:621
+#: InvenTree/settings.py:627
msgid "Czech"
msgstr "Τσέχικα"
-#: InvenTree/settings.py:622
+#: InvenTree/settings.py:628
msgid "Danish"
msgstr ""
-#: InvenTree/settings.py:623
+#: InvenTree/settings.py:629
msgid "German"
msgstr "Γερμανικά"
-#: InvenTree/settings.py:624
+#: InvenTree/settings.py:630
msgid "Greek"
msgstr "Ελληνικά"
-#: InvenTree/settings.py:625
+#: InvenTree/settings.py:631
msgid "English"
msgstr "Αγγλικά"
-#: InvenTree/settings.py:626
+#: InvenTree/settings.py:632
msgid "Spanish"
msgstr "Ισπανικά"
-#: InvenTree/settings.py:627
+#: InvenTree/settings.py:633
msgid "Spanish (Mexican)"
msgstr "Ισπανικά (Μεξικό)"
-#: InvenTree/settings.py:628
+#: InvenTree/settings.py:634
msgid "Farsi / Persian"
msgstr "Φαρσί / Περσικά"
-#: InvenTree/settings.py:629
+#: InvenTree/settings.py:635
msgid "French"
msgstr "Γαλλικά"
-#: InvenTree/settings.py:630
+#: InvenTree/settings.py:636
msgid "Hebrew"
msgstr "Εβραϊκά"
-#: InvenTree/settings.py:631
+#: InvenTree/settings.py:637
msgid "Hungarian"
msgstr "Ούγγρικα"
-#: InvenTree/settings.py:632
+#: InvenTree/settings.py:638
msgid "Italian"
msgstr "Ιταλικά"
-#: InvenTree/settings.py:633
+#: InvenTree/settings.py:639
msgid "Japanese"
msgstr "Ιαπωνικά"
-#: InvenTree/settings.py:634
+#: InvenTree/settings.py:640
msgid "Korean"
msgstr "Κορεάτικα"
-#: InvenTree/settings.py:635
+#: InvenTree/settings.py:641
msgid "Dutch"
msgstr "Dutch"
-#: InvenTree/settings.py:636
+#: InvenTree/settings.py:642
msgid "Norwegian"
msgstr "Νορβηγικά"
-#: InvenTree/settings.py:637
+#: InvenTree/settings.py:643
msgid "Polish"
msgstr "Πολωνικά"
-#: InvenTree/settings.py:638
+#: InvenTree/settings.py:644
msgid "Portuguese"
msgstr "Πορτογαλικά"
-#: InvenTree/settings.py:639
+#: InvenTree/settings.py:645
msgid "Portuguese (Brazilian)"
msgstr "Πορτογαλικά (Βραζιλίας)"
-#: InvenTree/settings.py:640
+#: InvenTree/settings.py:646
msgid "Russian"
msgstr "Ρωσικά"
-#: InvenTree/settings.py:641
+#: InvenTree/settings.py:647
msgid "Swedish"
msgstr "Σουηδικά"
-#: InvenTree/settings.py:642
+#: InvenTree/settings.py:648
msgid "Thai"
msgstr "Ταϊλανδέζικα"
-#: InvenTree/settings.py:643
+#: InvenTree/settings.py:649
msgid "Turkish"
msgstr "Τούρκικα"
-#: InvenTree/settings.py:644
+#: InvenTree/settings.py:650
msgid "Vietnamese"
msgstr "Βιετναμέζικα"
-#: InvenTree/settings.py:645
+#: InvenTree/settings.py:651
msgid "Chinese"
msgstr "Κινέζικα"
-#: InvenTree/status.py:99
+#: InvenTree/status.py:98
msgid "Background worker check failed"
msgstr "Ο έλεγχος εργασίας στο παρασκήνιο απέτυχε"
-#: InvenTree/status.py:103
+#: InvenTree/status.py:102
msgid "Email backend not configured"
msgstr "Δεν έχει ρυθμιστεί διεύθυνση ηλεκτρονικού ταχυδρομείου"
-#: InvenTree/status.py:106
+#: InvenTree/status.py:105
msgid "InvenTree system health checks failed"
msgstr "Ο έλεγχος συστήματος για το Inventree απέτυχε"
#: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140
-#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:342
+#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:346
msgid "Pending"
msgstr "Σε εκκρεμότητα"
@@ -561,8 +563,8 @@ msgstr "Χάθηκε"
msgid "Returned"
msgstr "Επιστράφηκε"
-#: InvenTree/status_codes.py:141 order/models.py:1142
-#: templates/js/translated/order.js:3625 templates/js/translated/order.js:3974
+#: InvenTree/status_codes.py:141 order/models.py:1165
+#: templates/js/translated/order.js:3636 templates/js/translated/order.js:3971
msgid "Shipped"
msgstr "Αποστάλθηκε"
@@ -646,7 +648,7 @@ msgstr "Έγινε διαχωρισμός από το γονεϊκό αρχεί
msgid "Split child item"
msgstr "Διαχωρίστηκε θυγατρικό στοιχείο"
-#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2086
+#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2104
msgid "Merged stock items"
msgstr "Έγινε συγχώνευση αποθεμάτων"
@@ -654,7 +656,7 @@ msgstr "Έγινε συγχώνευση αποθεμάτων"
msgid "Converted to variant"
msgstr "Μετατράπηκε σε παραλλαγή"
-#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:229
+#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:233
msgid "Sent to customer"
msgstr "Απεστάλη στον πελάτη"
@@ -746,7 +748,7 @@ msgstr "Σειρά Κατασκευής"
#: build/models.py:111 build/templates/build/build_base.html:13
#: build/templates/build/index.html:8 build/templates/build/index.html:12
-#: order/templates/order/sales_order_detail.html:120
+#: order/templates/order/sales_order_detail.html:125
#: order/templates/order/so_sidebar.html:13
#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221
#: templates/InvenTree/search.html:141
@@ -759,15 +761,15 @@ msgstr "Δημιουργία Παραγγελιών"
msgid "Build Order Reference"
msgstr "Αναφορά Παραγγελίας Κατασκευής"
-#: build/models.py:155 order/models.py:240 order/models.py:632
-#: order/models.py:918 part/models.py:2684
+#: build/models.py:155 order/models.py:241 order/models.py:651
+#: order/models.py:941 part/admin.py:224 part/models.py:3297
#: part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:92
-#: templates/js/translated/bom.js:716 templates/js/translated/bom.js:897
-#: templates/js/translated/build.js:1843 templates/js/translated/order.js:2251
-#: templates/js/translated/order.js:2481 templates/js/translated/order.js:3818
-#: templates/js/translated/order.js:4323
+#: templates/js/translated/bom.js:729 templates/js/translated/bom.js:905
+#: templates/js/translated/build.js:1843 templates/js/translated/order.js:2290
+#: templates/js/translated/order.js:2508 templates/js/translated/order.js:3833
+#: templates/js/translated/order.js:4324 templates/js/translated/pricing.js:119
msgid "Reference"
msgstr "Αναφορά"
@@ -785,39 +787,40 @@ msgid "BuildOrder to which this build is allocated"
msgstr "BuildOrder στην οποία έχει δοθεί αυτή η κατασκευή"
#: build/models.py:180 build/templates/build/build_base.html:80
-#: build/templates/build/detail.html:29 company/models.py:680
-#: order/models.py:1015 order/models.py:1126 order/models.py:1127
-#: part/models.py:343 part/models.py:2200 part/models.py:2215
-#: part/models.py:2234 part/models.py:2252 part/models.py:2351
-#: part/models.py:2472 part/models.py:2564 part/models.py:2649
-#: part/models.py:2943 part/serializers.py:828
+#: build/templates/build/detail.html:29 company/models.py:684
+#: order/models.py:1038 order/models.py:1149 order/models.py:1150
+#: part/models.py:362 part/models.py:2700 part/models.py:2813
+#: part/models.py:2828 part/models.py:2847 part/models.py:2865
+#: part/models.py:2964 part/models.py:3085 part/models.py:3177
+#: part/models.py:3262 part/models.py:3578 part/serializers.py:852
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
#: report/templates/report/inventree_build_order_base.html:109
#: report/templates/report/inventree_po_report.html:89
-#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:86
-#: stock/serializers.py:494 templates/InvenTree/search.html:82
+#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:90
+#: stock/serializers.py:488 templates/InvenTree/search.html:82
#: templates/email/build_order_completed.html:17
#: templates/email/build_order_required_stock.html:17
#: templates/email/low_stock_notification.html:16
#: templates/email/overdue_build_order.html:16
-#: templates/js/translated/barcode.js:479 templates/js/translated/bom.js:578
-#: templates/js/translated/bom.js:715 templates/js/translated/bom.js:841
+#: templates/js/translated/barcode.js:479 templates/js/translated/bom.js:591
+#: templates/js/translated/bom.js:728 templates/js/translated/bom.js:849
#: templates/js/translated/build.js:1214 templates/js/translated/build.js:1711
#: templates/js/translated/build.js:2194 templates/js/translated/build.js:2585
-#: templates/js/translated/company.js:301
-#: templates/js/translated/company.js:531
-#: templates/js/translated/company.js:643
-#: templates/js/translated/company.js:904 templates/js/translated/order.js:106
-#: templates/js/translated/order.js:1134 templates/js/translated/order.js:1638
-#: templates/js/translated/order.js:2205 templates/js/translated/order.js:3180
-#: templates/js/translated/order.js:3576 templates/js/translated/order.js:3802
-#: templates/js/translated/part.js:1172 templates/js/translated/part.js:1244
-#: templates/js/translated/part.js:1442 templates/js/translated/stock.js:586
-#: templates/js/translated/stock.js:751 templates/js/translated/stock.js:958
-#: templates/js/translated/stock.js:1700 templates/js/translated/stock.js:2514
-#: templates/js/translated/stock.js:2709 templates/js/translated/stock.js:2843
+#: templates/js/translated/company.js:302
+#: templates/js/translated/company.js:532
+#: templates/js/translated/company.js:644
+#: templates/js/translated/company.js:905 templates/js/translated/order.js:106
+#: templates/js/translated/order.js:1168 templates/js/translated/order.js:1672
+#: templates/js/translated/order.js:2244 templates/js/translated/order.js:3191
+#: templates/js/translated/order.js:3587 templates/js/translated/order.js:3817
+#: templates/js/translated/part.js:1193 templates/js/translated/part.js:1265
+#: templates/js/translated/part.js:1452 templates/js/translated/pricing.js:102
+#: templates/js/translated/stock.js:605 templates/js/translated/stock.js:770
+#: templates/js/translated/stock.js:977 templates/js/translated/stock.js:1719
+#: templates/js/translated/stock.js:2532 templates/js/translated/stock.js:2727
+#: templates/js/translated/stock.js:2861
msgid "Part"
msgstr "Εξάρτημα"
@@ -834,7 +837,7 @@ msgid "SalesOrder to which this build is allocated"
msgstr "SalesOrder στην οποία έχει διατεθεί αυτό το build"
#: build/models.py:202 build/serializers.py:822
-#: templates/js/translated/build.js:2182 templates/js/translated/order.js:3168
+#: templates/js/translated/build.js:2182 templates/js/translated/order.js:3179
msgid "Source Location"
msgstr "Τοποθεσία Προέλευσης"
@@ -874,8 +877,8 @@ msgstr "Κατάσταση Κατασκευής"
msgid "Build status code"
msgstr "Κωδικός κατάστασης κατασκευής"
-#: build/models.py:245 build/serializers.py:224 order/serializers.py:464
-#: stock/models.py:664 templates/js/translated/order.js:1496
+#: build/models.py:245 build/serializers.py:224 order/serializers.py:455
+#: stock/models.py:680 templates/js/translated/order.js:1530
msgid "Batch Code"
msgstr "Κωδικός Παρτίδας"
@@ -883,12 +886,12 @@ msgstr "Κωδικός Παρτίδας"
msgid "Batch code for this build output"
msgstr "Κωδικός παρτίδας για αυτήν την κατασκευή"
-#: build/models.py:252 order/models.py:86 part/models.py:952
-#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2839
+#: build/models.py:252 order/models.py:87 part/models.py:971
+#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2850
msgid "Creation Date"
msgstr "Ημερομηνία Δημιουργίας"
-#: build/models.py:256 order/models.py:662
+#: build/models.py:256 order/models.py:681
msgid "Target completion date"
msgstr "Ημερομηνία ολοκλήρωσης στόχου"
@@ -896,7 +899,7 @@ msgstr "Ημερομηνία ολοκλήρωσης στόχου"
msgid "Target date for build completion. Build will be overdue after this date."
msgstr "Ημερομηνία ολοκλήρωσης της κατασκευής. Η κατασκευή θα καθυστερήσει μετά από αυτή την ημερομηνία."
-#: build/models.py:260 order/models.py:291
+#: build/models.py:260 order/models.py:292
#: templates/js/translated/build.js:2662
msgid "Completion Date"
msgstr "Ημερομηνία ολοκλήρωσης"
@@ -914,11 +917,11 @@ msgid "User who issued this build order"
msgstr "Χρήστης που εξέδωσε αυτήν την παραγγελία κατασκευής"
#: build/models.py:283 build/templates/build/build_base.html:193
-#: build/templates/build/detail.html:115 order/models.py:100
+#: build/templates/build/detail.html:115 order/models.py:101
#: order/templates/order/order_base.html:185
-#: order/templates/order/sales_order_base.html:183 part/models.py:956
+#: order/templates/order/sales_order_base.html:183 part/models.py:975
#: report/templates/report/inventree_build_order_base.html:158
-#: templates/js/translated/build.js:2642 templates/js/translated/order.js:2022
+#: templates/js/translated/build.js:2642 templates/js/translated/order.js:2056
msgid "Responsible"
msgstr "Υπεύθυνος"
@@ -929,7 +932,7 @@ msgstr "Υπεύθυνος για αυτή την παραγγελία κατα
#: build/models.py:289 build/templates/build/detail.html:101
#: company/templates/company/manufacturer_part.html:107
#: company/templates/company/supplier_part.html:188
-#: part/templates/part/part_base.html:361 stock/models.py:658
+#: part/templates/part/part_base.html:376 stock/models.py:674
#: stock/templates/stock/item_base.html:203
msgid "External Link"
msgstr "Εξωτερικοί σύνδεσμοι"
@@ -968,11 +971,11 @@ msgstr "Το στοιχείο κατασκευής πρέπει να ορίζε
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr "Η καταχωρημένη ποσότητα ({q}) δεν πρέπει να υπερβαίνει τη διαθέσιμη ποσότητα αποθέματος ({a})"
-#: build/models.py:1191 order/models.py:1393
+#: build/models.py:1191 order/models.py:1416
msgid "Stock item is over-allocated"
msgstr "Στοιχείο αποθέματος είναι υπερ-κατανεμημένο"
-#: build/models.py:1197 order/models.py:1396
+#: build/models.py:1197 order/models.py:1419
msgid "Allocation quantity must be greater than zero"
msgstr "Η ποσότητα πρέπει να είναι μεγαλύτερη από 0"
@@ -994,18 +997,18 @@ msgstr "Κατασκευή"
msgid "Build to allocate parts"
msgstr "Κατασκευή για εκχώρηση τμημάτων"
-#: build/models.py:1346 build/serializers.py:663 order/serializers.py:1039
-#: order/serializers.py:1060 stock/serializers.py:398 stock/serializers.py:758
-#: stock/serializers.py:884 stock/templates/stock/item_base.html:10
+#: build/models.py:1346 build/serializers.py:663 order/serializers.py:1032
+#: order/serializers.py:1053 stock/serializers.py:392 stock/serializers.py:757
+#: stock/serializers.py:883 stock/templates/stock/item_base.html:10
#: stock/templates/stock/item_base.html:23
#: stock/templates/stock/item_base.html:197
#: templates/js/translated/build.js:790 templates/js/translated/build.js:795
#: templates/js/translated/build.js:2196 templates/js/translated/build.js:2747
-#: templates/js/translated/order.js:107 templates/js/translated/order.js:3181
-#: templates/js/translated/order.js:3483 templates/js/translated/order.js:3488
-#: templates/js/translated/order.js:3583 templates/js/translated/order.js:3675
-#: templates/js/translated/stock.js:587 templates/js/translated/stock.js:752
-#: templates/js/translated/stock.js:2587
+#: templates/js/translated/order.js:107 templates/js/translated/order.js:3192
+#: templates/js/translated/order.js:3494 templates/js/translated/order.js:3499
+#: templates/js/translated/order.js:3594 templates/js/translated/order.js:3686
+#: templates/js/translated/stock.js:606 templates/js/translated/stock.js:771
+#: templates/js/translated/stock.js:2605
msgid "Stock Item"
msgstr "Στοιχείο Αποθέματος"
@@ -1015,12 +1018,10 @@ msgstr "Στοιχείο πηγαίου αποθέματος"
#: build/models.py:1359 build/serializers.py:192
#: build/templates/build/build_base.html:85
-#: build/templates/build/detail.html:34 common/models.py:1776
-#: company/templates/company/supplier_part.html:341 order/models.py:911
-#: order/models.py:1437 order/serializers.py:1213
-#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:40
-#: part/models.py:2665 part/templates/part/detail.html:938
-#: part/templates/part/detail.html:1024
+#: build/templates/build/detail.html:34 common/models.py:1788
+#: order/models.py:934 order/models.py:1460 order/serializers.py:1206
+#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:223
+#: part/forms.py:40 part/models.py:3278
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_build_order_base.html:113
@@ -1028,25 +1029,29 @@ msgstr "Στοιχείο πηγαίου αποθέματος"
#: report/templates/report/inventree_so_report.html:91
#: report/templates/report/inventree_test_report_base.html:81
#: report/templates/report/inventree_test_report_base.html:139
-#: stock/serializers.py:291 stock/templates/stock/item_base.html:290
+#: stock/admin.py:86 stock/serializers.py:285
+#: stock/templates/stock/item_base.html:290
#: stock/templates/stock/item_base.html:298
#: templates/email/build_order_completed.html:18
-#: templates/js/translated/barcode.js:481 templates/js/translated/bom.js:717
-#: templates/js/translated/bom.js:905 templates/js/translated/build.js:474
+#: templates/js/translated/barcode.js:481 templates/js/translated/bom.js:730
+#: templates/js/translated/bom.js:913 templates/js/translated/build.js:474
#: templates/js/translated/build.js:626 templates/js/translated/build.js:817
#: templates/js/translated/build.js:1236 templates/js/translated/build.js:1737
#: templates/js/translated/build.js:2197
+#: templates/js/translated/company.js:1159
#: templates/js/translated/model_renderers.js:120
-#: templates/js/translated/order.js:123 templates/js/translated/order.js:1137
-#: templates/js/translated/order.js:2257 templates/js/translated/order.js:2487
-#: templates/js/translated/order.js:3182 templates/js/translated/order.js:3502
-#: templates/js/translated/order.js:3589 templates/js/translated/order.js:3681
-#: templates/js/translated/order.js:3824 templates/js/translated/order.js:4329
-#: templates/js/translated/part.js:1036 templates/js/translated/part.js:2220
-#: templates/js/translated/part.js:2689 templates/js/translated/part.js:2730
-#: templates/js/translated/part.js:2808 templates/js/translated/stock.js:458
-#: templates/js/translated/stock.js:612 templates/js/translated/stock.js:782
-#: templates/js/translated/stock.js:2636 templates/js/translated/stock.js:2721
+#: templates/js/translated/order.js:123 templates/js/translated/order.js:1171
+#: templates/js/translated/order.js:2296 templates/js/translated/order.js:2514
+#: templates/js/translated/order.js:3193 templates/js/translated/order.js:3513
+#: templates/js/translated/order.js:3600 templates/js/translated/order.js:3692
+#: templates/js/translated/order.js:3839 templates/js/translated/order.js:4330
+#: templates/js/translated/part.js:1063 templates/js/translated/part.js:2546
+#: templates/js/translated/pricing.js:114
+#: templates/js/translated/pricing.js:207
+#: templates/js/translated/pricing.js:255
+#: templates/js/translated/pricing.js:349 templates/js/translated/stock.js:477
+#: templates/js/translated/stock.js:631 templates/js/translated/stock.js:801
+#: templates/js/translated/stock.js:2654 templates/js/translated/stock.js:2739
msgid "Quantity"
msgstr "Ποσότητα"
@@ -1087,10 +1092,10 @@ msgstr "Αυτή η έξοδος κατασκευής δεν έχει εκχωρ
msgid "Enter quantity for build output"
msgstr "Εισάγετε ποσότητα για την έξοδο κατασκευής"
-#: build/serializers.py:207 build/serializers.py:683 order/models.py:323
-#: order/serializers.py:304 order/serializers.py:459 part/serializers.py:558
-#: part/serializers.py:991 stock/models.py:518 stock/models.py:1253
-#: stock/serializers.py:300
+#: build/serializers.py:207 build/serializers.py:683 order/models.py:327
+#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:644
+#: part/serializers.py:1015 stock/models.py:534 stock/models.py:1269
+#: stock/serializers.py:294
msgid "Quantity must be greater than zero"
msgstr "Η ποσότητα πρέπει να είναι μεγαλύτερη από 0"
@@ -1102,9 +1107,9 @@ msgstr "Ακέραιη ποσότητα που απαιτείται για αν
msgid "Integer quantity required, as the bill of materials contains trackable parts"
msgstr "Ακέραιη ποσότητα που απαιτείται, καθώς ο λογαριασμός των υλικών περιέχει ανιχνεύσιμα μέρη"
-#: build/serializers.py:231 order/serializers.py:472 order/serializers.py:1217
-#: stock/serializers.py:309 templates/js/translated/order.js:1507
-#: templates/js/translated/stock.js:271 templates/js/translated/stock.js:459
+#: build/serializers.py:231 order/serializers.py:463 order/serializers.py:1210
+#: stock/serializers.py:303 templates/js/translated/order.js:1541
+#: templates/js/translated/stock.js:290 templates/js/translated/stock.js:478
msgid "Serial Numbers"
msgstr "Σειριακοί αριθμοί"
@@ -1120,7 +1125,7 @@ msgstr "Αυτόματη Κατανομή Σειριακών Αριθμών"
msgid "Automatically allocate required items with matching serial numbers"
msgstr ""
-#: build/serializers.py:281 stock/api.py:589
+#: build/serializers.py:281 stock/api.py:599
msgid "The following serial numbers already exist or are invalid"
msgstr ""
@@ -1128,18 +1133,18 @@ msgstr ""
msgid "A list of build outputs must be provided"
msgstr ""
-#: build/serializers.py:369 order/serializers.py:445 order/serializers.py:556
-#: stock/serializers.py:320 stock/serializers.py:455 stock/serializers.py:536
-#: stock/serializers.py:919 stock/serializers.py:1152
+#: build/serializers.py:369 order/serializers.py:436 order/serializers.py:547
+#: stock/serializers.py:314 stock/serializers.py:449 stock/serializers.py:530
+#: stock/serializers.py:918 stock/serializers.py:1151
#: stock/templates/stock/item_base.html:388
#: templates/js/translated/barcode.js:480
#: templates/js/translated/barcode.js:724 templates/js/translated/build.js:802
-#: templates/js/translated/build.js:1749 templates/js/translated/order.js:1534
-#: templates/js/translated/order.js:3495 templates/js/translated/order.js:3600
-#: templates/js/translated/order.js:3608 templates/js/translated/order.js:3689
-#: templates/js/translated/part.js:181 templates/js/translated/stock.js:588
-#: templates/js/translated/stock.js:753 templates/js/translated/stock.js:960
-#: templates/js/translated/stock.js:1856 templates/js/translated/stock.js:2528
+#: templates/js/translated/build.js:1749 templates/js/translated/order.js:1568
+#: templates/js/translated/order.js:3506 templates/js/translated/order.js:3611
+#: templates/js/translated/order.js:3619 templates/js/translated/order.js:3700
+#: templates/js/translated/part.js:177 templates/js/translated/stock.js:607
+#: templates/js/translated/stock.js:772 templates/js/translated/stock.js:979
+#: templates/js/translated/stock.js:1875 templates/js/translated/stock.js:2546
msgid "Location"
msgstr ""
@@ -1148,12 +1153,13 @@ msgid "Location for completed build outputs"
msgstr ""
#: build/serializers.py:376 build/templates/build/build_base.html:145
-#: build/templates/build/detail.html:62 order/models.py:651
-#: order/serializers.py:482 stock/templates/stock/item_base.html:421
+#: build/templates/build/detail.html:62 order/models.py:670
+#: order/serializers.py:473 stock/admin.py:89
+#: stock/templates/stock/item_base.html:421
#: templates/js/translated/barcode.js:214 templates/js/translated/build.js:2614
-#: templates/js/translated/order.js:1643 templates/js/translated/order.js:1992
-#: templates/js/translated/order.js:2831 templates/js/translated/stock.js:1831
-#: templates/js/translated/stock.js:2605 templates/js/translated/stock.js:2737
+#: templates/js/translated/order.js:1677 templates/js/translated/order.js:2026
+#: templates/js/translated/order.js:2842 templates/js/translated/stock.js:1850
+#: templates/js/translated/stock.js:2623 templates/js/translated/stock.js:2755
msgid "Status"
msgstr ""
@@ -1213,7 +1219,7 @@ msgstr ""
msgid "Required stock has not been fully allocated"
msgstr ""
-#: build/serializers.py:545 order/serializers.py:208 order/serializers.py:1107
+#: build/serializers.py:545 order/serializers.py:202 order/serializers.py:1100
msgid "Accept Incomplete"
msgstr ""
@@ -1229,8 +1235,8 @@ msgstr ""
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:595 build/serializers.py:640 part/models.py:2801
-#: part/models.py:2935
+#: build/serializers.py:595 build/serializers.py:640 part/models.py:3414
+#: part/models.py:3570
msgid "BOM Item"
msgstr ""
@@ -1246,11 +1252,11 @@ msgstr ""
msgid "bom_item.part must point to the same part as the build order"
msgstr ""
-#: build/serializers.py:669 stock/serializers.py:771
+#: build/serializers.py:669 stock/serializers.py:770
msgid "Item must be in stock"
msgstr ""
-#: build/serializers.py:727 order/serializers.py:1097
+#: build/serializers.py:727 order/serializers.py:1090
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr ""
@@ -1267,7 +1273,7 @@ msgstr ""
msgid "This stock item has already been allocated to this build output"
msgstr ""
-#: build/serializers.py:768 order/serializers.py:1381
+#: build/serializers.py:768 order/serializers.py:1374
msgid "Allocation items must be provided"
msgstr ""
@@ -1382,13 +1388,13 @@ msgid "Stock has not been fully allocated to this Build Order"
msgstr ""
#: build/templates/build/build_base.html:154
-#: build/templates/build/detail.html:131 order/models.py:924
+#: build/templates/build/detail.html:131 order/models.py:947
#: order/templates/order/order_base.html:171
#: order/templates/order/sales_order_base.html:164
#: report/templates/report/inventree_build_order_base.html:125
-#: templates/js/translated/build.js:2654 templates/js/translated/order.js:2009
-#: templates/js/translated/order.js:2351 templates/js/translated/order.js:2847
-#: templates/js/translated/order.js:3887 templates/js/translated/part.js:1051
+#: templates/js/translated/build.js:2654 templates/js/translated/order.js:2043
+#: templates/js/translated/order.js:2374 templates/js/translated/order.js:2858
+#: templates/js/translated/order.js:3884 templates/js/translated/part.js:1078
msgid "Target Date"
msgstr ""
@@ -1401,29 +1407,29 @@ msgstr ""
#: build/templates/build/build_base.html:204
#: order/templates/order/order_base.html:107
#: order/templates/order/sales_order_base.html:94
-#: templates/js/translated/table_filters.js:328
-#: templates/js/translated/table_filters.js:369
-#: templates/js/translated/table_filters.js:399
+#: templates/js/translated/table_filters.js:332
+#: templates/js/translated/table_filters.js:373
+#: templates/js/translated/table_filters.js:403
msgid "Overdue"
msgstr ""
#: build/templates/build/build_base.html:166
#: build/templates/build/detail.html:67 build/templates/build/detail.html:142
#: order/templates/order/sales_order_base.html:171
-#: templates/js/translated/table_filters.js:408
+#: templates/js/translated/table_filters.js:412
msgid "Completed"
msgstr ""
#: build/templates/build/build_base.html:179
-#: build/templates/build/detail.html:94 order/models.py:1119
-#: order/models.py:1213 order/models.py:1344
+#: build/templates/build/detail.html:94 order/models.py:1142
+#: order/models.py:1236 order/models.py:1367
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
#: report/templates/report/inventree_build_order_base.html:135
#: report/templates/report/inventree_so_report.html:77
#: stock/templates/stock/item_base.html:368
#: templates/email/overdue_sales_order.html:15
-#: templates/js/translated/order.js:2793
+#: templates/js/translated/order.js:2804 templates/js/translated/pricing.js:637
msgid "Sales Order"
msgstr ""
@@ -1449,8 +1455,8 @@ msgstr ""
msgid "Stock can be taken from any available location."
msgstr ""
-#: build/templates/build/detail.html:49 order/models.py:1037
-#: templates/js/translated/order.js:1644 templates/js/translated/order.js:2393
+#: build/templates/build/detail.html:49 order/models.py:1060
+#: templates/js/translated/order.js:1678 templates/js/translated/order.js:2416
msgid "Destination"
msgstr ""
@@ -1462,14 +1468,14 @@ msgstr ""
msgid "Allocated Parts"
msgstr ""
-#: build/templates/build/detail.html:80
+#: build/templates/build/detail.html:80 stock/admin.py:88
#: stock/templates/stock/item_base.html:168
#: templates/js/translated/build.js:1240
#: templates/js/translated/model_renderers.js:124
-#: templates/js/translated/stock.js:1026 templates/js/translated/stock.js:1845
-#: templates/js/translated/stock.js:2744
-#: templates/js/translated/table_filters.js:167
-#: templates/js/translated/table_filters.js:258
+#: templates/js/translated/stock.js:1045 templates/js/translated/stock.js:1864
+#: templates/js/translated/stock.js:2762
+#: templates/js/translated/table_filters.js:171
+#: templates/js/translated/table_filters.js:262
msgid "Batch"
msgstr ""
@@ -1527,7 +1533,7 @@ msgstr ""
#: build/templates/build/detail.html:187
#: company/templates/company/detail.html:37
#: company/templates/company/detail.html:85
-#: part/templates/part/category.html:178 templates/js/translated/order.js:1177
+#: part/templates/part/category.html:178 templates/js/translated/order.js:1211
msgid "Order Parts"
msgstr ""
@@ -1597,10 +1603,10 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:151
#: company/templates/company/manufacturer_part_sidebar.html:9
#: order/templates/order/po_sidebar.html:9
-#: order/templates/order/purchase_order_detail.html:82
-#: order/templates/order/sales_order_detail.html:135
-#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:212
-#: part/templates/part/part_sidebar.html:57 stock/templates/stock/item.html:117
+#: order/templates/order/purchase_order_detail.html:86
+#: order/templates/order/sales_order_detail.html:140
+#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:210
+#: part/templates/part/part_sidebar.html:55 stock/templates/stock/item.html:117
#: stock/templates/stock/stock_sidebar.html:23
msgid "Attachments"
msgstr ""
@@ -1617,7 +1623,7 @@ msgstr ""
msgid "All untracked stock items have been allocated"
msgstr ""
-#: build/templates/build/index.html:18 part/templates/part/detail.html:318
+#: build/templates/build/index.html:18 part/templates/part/detail.html:316
msgid "New Build Order"
msgstr ""
@@ -1734,7 +1740,7 @@ msgstr ""
msgid "Show the `about` modal only to superusers"
msgstr ""
-#: common/models.py:833 company/models.py:94 company/models.py:95
+#: common/models.py:833 company/models.py:98 company/models.py:99
msgid "Company name"
msgstr ""
@@ -1902,9 +1908,9 @@ msgstr ""
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:1002 part/models.py:2474 report/models.py:158
-#: templates/js/translated/table_filters.js:38
-#: templates/js/translated/table_filters.js:492
+#: common/models.py:1002 part/admin.py:41 part/models.py:3087
+#: report/models.py:158 templates/js/translated/table_filters.js:38
+#: templates/js/translated/table_filters.js:496
msgid "Template"
msgstr ""
@@ -1912,9 +1918,10 @@ msgstr ""
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:1009 part/models.py:908 templates/js/translated/bom.js:1531
-#: templates/js/translated/table_filters.js:184
-#: templates/js/translated/table_filters.js:455
+#: common/models.py:1009 part/admin.py:37 part/admin.py:229 part/models.py:927
+#: templates/js/translated/bom.js:1594
+#: templates/js/translated/table_filters.js:188
+#: templates/js/translated/table_filters.js:459
msgid "Assembly"
msgstr ""
@@ -1922,8 +1929,8 @@ msgstr ""
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:1016 part/models.py:914
-#: templates/js/translated/table_filters.js:463
+#: common/models.py:1016 part/admin.py:38 part/models.py:933
+#: templates/js/translated/table_filters.js:467
msgid "Component"
msgstr ""
@@ -1931,7 +1938,7 @@ msgstr ""
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:1023 part/models.py:925
+#: common/models.py:1023 part/admin.py:39 part/models.py:944
msgid "Purchaseable"
msgstr ""
@@ -1939,8 +1946,8 @@ msgstr ""
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:1030 part/models.py:930
-#: templates/js/translated/table_filters.js:484
+#: common/models.py:1030 part/admin.py:40 part/models.py:949
+#: templates/js/translated/table_filters.js:488
msgid "Salable"
msgstr ""
@@ -1948,10 +1955,10 @@ msgstr ""
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:1037 part/models.py:920
+#: common/models.py:1037 part/admin.py:42 part/models.py:939
#: templates/js/translated/table_filters.js:46
-#: templates/js/translated/table_filters.js:116
-#: templates/js/translated/table_filters.js:496
+#: templates/js/translated/table_filters.js:120
+#: templates/js/translated/table_filters.js:500
msgid "Trackable"
msgstr ""
@@ -1959,10 +1966,10 @@ msgstr ""
msgid "Parts are trackable by default"
msgstr ""
-#: common/models.py:1044 part/models.py:940
+#: common/models.py:1044 part/admin.py:43 part/models.py:959
#: part/templates/part/part_base.html:156
#: templates/js/translated/table_filters.js:42
-#: templates/js/translated/table_filters.js:500
+#: templates/js/translated/table_filters.js:504
msgid "Virtual"
msgstr ""
@@ -1979,791 +1986,837 @@ msgid "Display the import wizard in some part views"
msgstr ""
#: common/models.py:1058
-msgid "Show Price in Forms"
-msgstr ""
-
-#: common/models.py:1059
-msgid "Display part price in some forms"
-msgstr ""
-
-#: common/models.py:1070
-msgid "Show Price in BOM"
-msgstr ""
-
-#: common/models.py:1071
-msgid "Include pricing information in BOM tables"
-msgstr ""
-
-#: common/models.py:1082
-msgid "Show Price History"
-msgstr ""
-
-#: common/models.py:1083
-msgid "Display historical pricing for Part"
-msgstr ""
-
-#: common/models.py:1089
msgid "Show related parts"
msgstr ""
-#: common/models.py:1090
+#: common/models.py:1059
msgid "Display related parts for a part"
msgstr ""
-#: common/models.py:1096
+#: common/models.py:1065
msgid "Create initial stock"
msgstr ""
-#: common/models.py:1097
+#: common/models.py:1066
msgid "Create initial stock on part creation"
msgstr ""
-#: common/models.py:1103
-msgid "Internal Prices"
-msgstr ""
-
-#: common/models.py:1104
-msgid "Enable internal prices for parts"
-msgstr ""
-
-#: common/models.py:1110
-msgid "Internal Price as BOM-Price"
-msgstr ""
-
-#: common/models.py:1111
-msgid "Use the internal price (if set) in BOM-price calculations"
-msgstr ""
-
-#: common/models.py:1117
+#: common/models.py:1072
msgid "Part Name Display Format"
msgstr ""
-#: common/models.py:1118
+#: common/models.py:1073
msgid "Format to display the part name"
msgstr ""
-#: common/models.py:1125
+#: common/models.py:1080
msgid "Part Category Default Icon"
msgstr ""
-#: common/models.py:1126
+#: common/models.py:1081
msgid "Part category default icon (empty means no icon)"
msgstr ""
-#: common/models.py:1131
-msgid "Enable label printing"
+#: common/models.py:1086
+msgid "Pricing Decimal Places"
msgstr ""
-#: common/models.py:1132
-msgid "Enable label printing from the web interface"
+#: common/models.py:1087
+msgid "Number of decimal places to display when rendering pricing data"
msgstr ""
-#: common/models.py:1138
-msgid "Label Image DPI"
+#: common/models.py:1097
+msgid "Pricing Rebuild Time"
msgstr ""
-#: common/models.py:1139
-msgid "DPI resolution when generating image files to supply to label printing plugins"
+#: common/models.py:1098
+msgid "Number of days before part pricing is automatically updated"
msgstr ""
-#: common/models.py:1148
-msgid "Enable Reports"
-msgstr ""
-
-#: common/models.py:1149
-msgid "Enable generation of reports"
-msgstr ""
-
-#: common/models.py:1155 templates/stats.html:25
-msgid "Debug Mode"
-msgstr ""
-
-#: common/models.py:1156
-msgid "Generate reports in debug mode (HTML output)"
-msgstr ""
-
-#: common/models.py:1162
-msgid "Page Size"
-msgstr ""
-
-#: common/models.py:1163
-msgid "Default page size for PDF reports"
-msgstr ""
-
-#: common/models.py:1173
-msgid "Enable Test Reports"
-msgstr ""
-
-#: common/models.py:1174
-msgid "Enable generation of test reports"
-msgstr ""
-
-#: common/models.py:1180
-msgid "Attach Test Reports"
-msgstr ""
-
-#: common/models.py:1181
-msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item"
-msgstr ""
-
-#: common/models.py:1187
-msgid "Globally Unique Serials"
-msgstr ""
-
-#: common/models.py:1188
-msgid "Serial numbers for stock items must be globally unique"
-msgstr ""
-
-#: common/models.py:1194
-msgid "Batch Code Template"
-msgstr ""
-
-#: common/models.py:1195
-msgid "Template for generating default batch codes for stock items"
-msgstr ""
-
-#: common/models.py:1200
-msgid "Stock Expiry"
-msgstr ""
-
-#: common/models.py:1201
-msgid "Enable stock expiry functionality"
-msgstr ""
-
-#: common/models.py:1207
-msgid "Sell Expired Stock"
-msgstr ""
-
-#: common/models.py:1208
-msgid "Allow sale of expired stock"
-msgstr ""
-
-#: common/models.py:1214
-msgid "Stock Stale Time"
-msgstr ""
-
-#: common/models.py:1215
-msgid "Number of days stock items are considered stale before expiring"
-msgstr ""
-
-#: common/models.py:1217
+#: common/models.py:1099 common/models.py:1208
msgid "days"
msgstr ""
-#: common/models.py:1222
+#: common/models.py:1108
+msgid "Internal Prices"
+msgstr ""
+
+#: common/models.py:1109
+msgid "Enable internal prices for parts"
+msgstr ""
+
+#: common/models.py:1115
+msgid "Internal Price Override"
+msgstr ""
+
+#: common/models.py:1116
+msgid "If available, internal prices override price range calculations"
+msgstr ""
+
+#: common/models.py:1122
+msgid "Enable label printing"
+msgstr ""
+
+#: common/models.py:1123
+msgid "Enable label printing from the web interface"
+msgstr ""
+
+#: common/models.py:1129
+msgid "Label Image DPI"
+msgstr ""
+
+#: common/models.py:1130
+msgid "DPI resolution when generating image files to supply to label printing plugins"
+msgstr ""
+
+#: common/models.py:1139
+msgid "Enable Reports"
+msgstr ""
+
+#: common/models.py:1140
+msgid "Enable generation of reports"
+msgstr ""
+
+#: common/models.py:1146 templates/stats.html:25
+msgid "Debug Mode"
+msgstr ""
+
+#: common/models.py:1147
+msgid "Generate reports in debug mode (HTML output)"
+msgstr ""
+
+#: common/models.py:1153
+msgid "Page Size"
+msgstr ""
+
+#: common/models.py:1154
+msgid "Default page size for PDF reports"
+msgstr ""
+
+#: common/models.py:1164
+msgid "Enable Test Reports"
+msgstr ""
+
+#: common/models.py:1165
+msgid "Enable generation of test reports"
+msgstr ""
+
+#: common/models.py:1171
+msgid "Attach Test Reports"
+msgstr ""
+
+#: common/models.py:1172
+msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item"
+msgstr ""
+
+#: common/models.py:1178
+msgid "Globally Unique Serials"
+msgstr ""
+
+#: common/models.py:1179
+msgid "Serial numbers for stock items must be globally unique"
+msgstr ""
+
+#: common/models.py:1185
+msgid "Batch Code Template"
+msgstr ""
+
+#: common/models.py:1186
+msgid "Template for generating default batch codes for stock items"
+msgstr ""
+
+#: common/models.py:1191
+msgid "Stock Expiry"
+msgstr ""
+
+#: common/models.py:1192
+msgid "Enable stock expiry functionality"
+msgstr ""
+
+#: common/models.py:1198
+msgid "Sell Expired Stock"
+msgstr ""
+
+#: common/models.py:1199
+msgid "Allow sale of expired stock"
+msgstr ""
+
+#: common/models.py:1205
+msgid "Stock Stale Time"
+msgstr ""
+
+#: common/models.py:1206
+msgid "Number of days stock items are considered stale before expiring"
+msgstr ""
+
+#: common/models.py:1213
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:1223
+#: common/models.py:1214
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:1229
+#: common/models.py:1220
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:1230
+#: common/models.py:1221
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:1236
+#: common/models.py:1227
msgid "Stock Location Default Icon"
msgstr ""
-#: common/models.py:1237
+#: common/models.py:1228
msgid "Stock location default icon (empty means no icon)"
msgstr ""
-#: common/models.py:1242
+#: common/models.py:1233
msgid "Build Order Reference Pattern"
msgstr ""
-#: common/models.py:1243
+#: common/models.py:1234
msgid "Required pattern for generating Build Order reference field"
msgstr ""
-#: common/models.py:1249
+#: common/models.py:1240
msgid "Sales Order Reference Pattern"
msgstr ""
-#: common/models.py:1250
+#: common/models.py:1241
msgid "Required pattern for generating Sales Order reference field"
msgstr ""
-#: common/models.py:1256
+#: common/models.py:1247
msgid "Sales Order Default Shipment"
msgstr ""
-#: common/models.py:1257
+#: common/models.py:1248
msgid "Enable creation of default shipment with sales orders"
msgstr ""
-#: common/models.py:1263
+#: common/models.py:1254
+msgid "Edit Completed Sales Orders"
+msgstr ""
+
+#: common/models.py:1255
+msgid "Allow editing of sales orders after they have been shipped or completed"
+msgstr ""
+
+#: common/models.py:1261
msgid "Purchase Order Reference Pattern"
msgstr ""
-#: common/models.py:1264
+#: common/models.py:1262
msgid "Required pattern for generating Purchase Order reference field"
msgstr ""
-#: common/models.py:1271
+#: common/models.py:1268
+msgid "Edit Completed Purchase Orders"
+msgstr ""
+
+#: common/models.py:1269
+msgid "Allow editing of purchase orders after they have been shipped or completed"
+msgstr ""
+
+#: common/models.py:1276
msgid "Enable password forgot"
msgstr ""
-#: common/models.py:1272
+#: common/models.py:1277
msgid "Enable password forgot function on the login pages"
msgstr ""
-#: common/models.py:1278
+#: common/models.py:1283
msgid "Enable registration"
msgstr ""
-#: common/models.py:1279
+#: common/models.py:1284
msgid "Enable self-registration for users on the login pages"
msgstr ""
-#: common/models.py:1285
+#: common/models.py:1290
msgid "Enable SSO"
msgstr ""
-#: common/models.py:1286
+#: common/models.py:1291
msgid "Enable SSO on the login pages"
msgstr ""
-#: common/models.py:1292
+#: common/models.py:1297
msgid "Email required"
msgstr ""
-#: common/models.py:1293
+#: common/models.py:1298
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/models.py:1299
+#: common/models.py:1304
msgid "Auto-fill SSO users"
msgstr ""
-#: common/models.py:1300
+#: common/models.py:1305
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/models.py:1306
+#: common/models.py:1311
msgid "Mail twice"
msgstr ""
-#: common/models.py:1307
+#: common/models.py:1312
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/models.py:1313
+#: common/models.py:1318
msgid "Password twice"
msgstr ""
-#: common/models.py:1314
+#: common/models.py:1319
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/models.py:1320
+#: common/models.py:1325
msgid "Group on signup"
msgstr ""
-#: common/models.py:1321
+#: common/models.py:1326
msgid "Group to which new users are assigned on registration"
msgstr ""
-#: common/models.py:1327
+#: common/models.py:1332
msgid "Enforce MFA"
msgstr ""
-#: common/models.py:1328
+#: common/models.py:1333
msgid "Users must use multifactor security."
msgstr ""
-#: common/models.py:1334
+#: common/models.py:1339
msgid "Check plugins on startup"
msgstr ""
-#: common/models.py:1335
+#: common/models.py:1340
msgid "Check that all plugins are installed on startup - enable in container environments"
msgstr ""
-#: common/models.py:1342
+#: common/models.py:1347
msgid "Check plugin signatures"
msgstr ""
-#: common/models.py:1343
+#: common/models.py:1348
msgid "Check and show signatures for plugins"
msgstr ""
-#: common/models.py:1350
+#: common/models.py:1355
msgid "Enable URL integration"
msgstr ""
-#: common/models.py:1351
+#: common/models.py:1356
msgid "Enable plugins to add URL routes"
msgstr ""
-#: common/models.py:1358
+#: common/models.py:1363
msgid "Enable navigation integration"
msgstr ""
-#: common/models.py:1359
+#: common/models.py:1364
msgid "Enable plugins to integrate into navigation"
msgstr ""
-#: common/models.py:1366
+#: common/models.py:1371
msgid "Enable app integration"
msgstr ""
-#: common/models.py:1367
+#: common/models.py:1372
msgid "Enable plugins to add apps"
msgstr ""
-#: common/models.py:1374
+#: common/models.py:1379
msgid "Enable schedule integration"
msgstr ""
-#: common/models.py:1375
+#: common/models.py:1380
msgid "Enable plugins to run scheduled tasks"
msgstr ""
-#: common/models.py:1382
+#: common/models.py:1387
msgid "Enable event integration"
msgstr ""
-#: common/models.py:1383
+#: common/models.py:1388
msgid "Enable plugins to respond to internal events"
msgstr ""
-#: common/models.py:1402 common/models.py:1737
+#: common/models.py:1407 common/models.py:1749
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:1424
+#: common/models.py:1429
msgid "Show subscribed parts"
msgstr ""
-#: common/models.py:1425
+#: common/models.py:1430
msgid "Show subscribed parts on the homepage"
msgstr ""
-#: common/models.py:1431
+#: common/models.py:1436
msgid "Show subscribed categories"
msgstr ""
-#: common/models.py:1432
+#: common/models.py:1437
msgid "Show subscribed part categories on the homepage"
msgstr ""
-#: common/models.py:1438
+#: common/models.py:1443
msgid "Show latest parts"
msgstr ""
-#: common/models.py:1439
+#: common/models.py:1444
msgid "Show latest parts on the homepage"
msgstr ""
-#: common/models.py:1445
+#: common/models.py:1450
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:1446
+#: common/models.py:1451
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:1452
+#: common/models.py:1457
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:1453
+#: common/models.py:1458
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:1459
+#: common/models.py:1464
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:1460
+#: common/models.py:1465
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:1466
+#: common/models.py:1471
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:1467
+#: common/models.py:1472
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:1473
+#: common/models.py:1478
msgid "Show low stock"
msgstr ""
-#: common/models.py:1474
+#: common/models.py:1479
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:1480
+#: common/models.py:1485
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:1481
+#: common/models.py:1486
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:1487
+#: common/models.py:1492
msgid "Show needed stock"
msgstr ""
-#: common/models.py:1488
+#: common/models.py:1493
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:1494
+#: common/models.py:1499
msgid "Show expired stock"
msgstr ""
-#: common/models.py:1495
+#: common/models.py:1500
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:1501
+#: common/models.py:1506
msgid "Show stale stock"
msgstr ""
-#: common/models.py:1502
+#: common/models.py:1507
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:1508
+#: common/models.py:1513
msgid "Show pending builds"
msgstr ""
-#: common/models.py:1509
+#: common/models.py:1514
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:1515
+#: common/models.py:1520
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:1516
+#: common/models.py:1521
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:1522
+#: common/models.py:1527
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:1523
+#: common/models.py:1528
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:1529
+#: common/models.py:1534
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:1530
+#: common/models.py:1535
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:1536
+#: common/models.py:1541
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:1537
+#: common/models.py:1542
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:1543
+#: common/models.py:1548
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:1544
+#: common/models.py:1549
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:1550
+#: common/models.py:1555
+msgid "Show News"
+msgstr ""
+
+#: common/models.py:1556
+msgid "Show news on the homepage"
+msgstr ""
+
+#: common/models.py:1562
msgid "Inline label display"
msgstr ""
-#: common/models.py:1551
+#: common/models.py:1563
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1557
+#: common/models.py:1569
msgid "Inline report display"
msgstr ""
-#: common/models.py:1558
+#: common/models.py:1570
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1564
+#: common/models.py:1576
msgid "Search Parts"
msgstr ""
-#: common/models.py:1565
+#: common/models.py:1577
msgid "Display parts in search preview window"
msgstr ""
-#: common/models.py:1571
+#: common/models.py:1583
msgid "Seach Supplier Parts"
msgstr ""
-#: common/models.py:1572
+#: common/models.py:1584
msgid "Display supplier parts in search preview window"
msgstr ""
-#: common/models.py:1578
+#: common/models.py:1590
msgid "Search Manufacturer Parts"
msgstr ""
-#: common/models.py:1579
+#: common/models.py:1591
msgid "Display manufacturer parts in search preview window"
msgstr ""
-#: common/models.py:1585
+#: common/models.py:1597
msgid "Hide Inactive Parts"
msgstr ""
-#: common/models.py:1586
+#: common/models.py:1598
msgid "Excluded inactive parts from search preview window"
msgstr ""
-#: common/models.py:1592
+#: common/models.py:1604
msgid "Search Categories"
msgstr ""
-#: common/models.py:1593
+#: common/models.py:1605
msgid "Display part categories in search preview window"
msgstr ""
-#: common/models.py:1599
+#: common/models.py:1611
msgid "Search Stock"
msgstr ""
-#: common/models.py:1600
+#: common/models.py:1612
msgid "Display stock items in search preview window"
msgstr ""
-#: common/models.py:1606
+#: common/models.py:1618
msgid "Hide Unavailable Stock Items"
msgstr ""
-#: common/models.py:1607
+#: common/models.py:1619
msgid "Exclude stock items which are not available from the search preview window"
msgstr ""
-#: common/models.py:1613
+#: common/models.py:1625
msgid "Search Locations"
msgstr ""
-#: common/models.py:1614
+#: common/models.py:1626
msgid "Display stock locations in search preview window"
msgstr ""
-#: common/models.py:1620
+#: common/models.py:1632
msgid "Search Companies"
msgstr ""
-#: common/models.py:1621
+#: common/models.py:1633
msgid "Display companies in search preview window"
msgstr ""
-#: common/models.py:1627
+#: common/models.py:1639
msgid "Search Build Orders"
msgstr ""
-#: common/models.py:1628
+#: common/models.py:1640
msgid "Display build orders in search preview window"
msgstr ""
-#: common/models.py:1634
+#: common/models.py:1646
msgid "Search Purchase Orders"
msgstr ""
-#: common/models.py:1635
+#: common/models.py:1647
msgid "Display purchase orders in search preview window"
msgstr ""
-#: common/models.py:1641
+#: common/models.py:1653
msgid "Exclude Inactive Purchase Orders"
msgstr ""
-#: common/models.py:1642
+#: common/models.py:1654
msgid "Exclude inactive purchase orders from search preview window"
msgstr ""
-#: common/models.py:1648
+#: common/models.py:1660
msgid "Search Sales Orders"
msgstr ""
-#: common/models.py:1649
+#: common/models.py:1661
msgid "Display sales orders in search preview window"
msgstr ""
-#: common/models.py:1655
+#: common/models.py:1667
msgid "Exclude Inactive Sales Orders"
msgstr ""
-#: common/models.py:1656
+#: common/models.py:1668
msgid "Exclude inactive sales orders from search preview window"
msgstr ""
-#: common/models.py:1662
+#: common/models.py:1674
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:1663
+#: common/models.py:1675
msgid "Number of results to show in each section of the search preview window"
msgstr ""
-#: common/models.py:1669
+#: common/models.py:1681
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:1670
+#: common/models.py:1682
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:1676
+#: common/models.py:1688
msgid "Escape Key Closes Forms"
msgstr ""
-#: common/models.py:1677
+#: common/models.py:1689
msgid "Use the escape key to close modal forms"
msgstr ""
-#: common/models.py:1683
+#: common/models.py:1695
msgid "Fixed Navbar"
msgstr ""
-#: common/models.py:1684
+#: common/models.py:1696
msgid "The navbar position is fixed to the top of the screen"
msgstr ""
-#: common/models.py:1690
+#: common/models.py:1702
msgid "Date Format"
msgstr ""
-#: common/models.py:1691
+#: common/models.py:1703
msgid "Preferred format for displaying dates"
msgstr ""
-#: common/models.py:1705 part/templates/part/detail.html:41
+#: common/models.py:1717 part/templates/part/detail.html:41
msgid "Part Scheduling"
msgstr ""
-#: common/models.py:1706
+#: common/models.py:1718
msgid "Display part scheduling information"
msgstr ""
-#: common/models.py:1712
+#: common/models.py:1724
msgid "Table String Length"
msgstr ""
-#: common/models.py:1713
+#: common/models.py:1725
msgid "Maximimum length limit for strings displayed in table views"
msgstr ""
-#: common/models.py:1777
+#: common/models.py:1789
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1784 company/serializers.py:372
-#: company/templates/company/supplier_part.html:346 order/models.py:952
-#: templates/js/translated/part.js:1103 templates/js/translated/part.js:2225
+#: common/models.py:1796 company/serializers.py:393 order/models.py:975
+#: templates/js/translated/company.js:1164 templates/js/translated/part.js:1130
+#: templates/js/translated/pricing.js:354
msgid "Price"
msgstr ""
-#: common/models.py:1785
+#: common/models.py:1797
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1945 common/models.py:2123
+#: common/models.py:1957 common/models.py:2135
msgid "Endpoint"
msgstr ""
-#: common/models.py:1946
+#: common/models.py:1958
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:1955
+#: common/models.py:1967
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:1960 part/models.py:935 plugin/models.py:100
-#: templates/js/translated/table_filters.js:34
-#: templates/js/translated/table_filters.js:112
-#: templates/js/translated/table_filters.js:324
-#: templates/js/translated/table_filters.js:450
+#: common/models.py:1972 part/admin.py:36 part/models.py:954
+#: plugin/models.py:100 templates/js/translated/table_filters.js:34
+#: templates/js/translated/table_filters.js:116
+#: templates/js/translated/table_filters.js:328
+#: templates/js/translated/table_filters.js:454
msgid "Active"
msgstr ""
-#: common/models.py:1961
+#: common/models.py:1973
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:1975
+#: common/models.py:1987
msgid "Token"
msgstr ""
-#: common/models.py:1976
+#: common/models.py:1988
msgid "Token for access"
msgstr ""
-#: common/models.py:1983
+#: common/models.py:1995
msgid "Secret"
msgstr ""
-#: common/models.py:1984
+#: common/models.py:1996
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:2090
+#: common/models.py:2102
msgid "Message ID"
msgstr ""
-#: common/models.py:2091
+#: common/models.py:2103
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:2099
+#: common/models.py:2111
msgid "Host"
msgstr ""
-#: common/models.py:2100
+#: common/models.py:2112
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:2107
+#: common/models.py:2119
msgid "Header"
msgstr ""
-#: common/models.py:2108
+#: common/models.py:2120
msgid "Header of this message"
msgstr ""
-#: common/models.py:2114
+#: common/models.py:2126
msgid "Body"
msgstr ""
-#: common/models.py:2115
+#: common/models.py:2127
msgid "Body of this message"
msgstr ""
-#: common/models.py:2124
+#: common/models.py:2136
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:2129
+#: common/models.py:2141
msgid "Worked on"
msgstr ""
-#: common/models.py:2130
+#: common/models.py:2142
msgid "Was the work on this message finished?"
msgstr ""
+#: common/models.py:2302
+msgid "Id"
+msgstr ""
+
+#: common/models.py:2308 templates/js/translated/news.js:34
+msgid "Title"
+msgstr ""
+
+#: common/models.py:2318 templates/js/translated/news.js:50
+msgid "Published"
+msgstr ""
+
+#: common/models.py:2323 templates/InvenTree/settings/plugin.html:62
+#: templates/InvenTree/settings/plugin_settings.html:33
+#: templates/js/translated/news.js:46
+msgid "Author"
+msgstr ""
+
+#: common/models.py:2328 templates/js/translated/news.js:42
+msgid "Summary"
+msgstr ""
+
+#: common/models.py:2333
+msgid "Read"
+msgstr ""
+
+#: common/models.py:2334
+msgid "Was this news item read?"
+msgstr ""
+
#: common/notifications.py:293
#, python-brace-format
msgid "New {verbose_name}"
@@ -2785,15 +2838,15 @@ msgstr ""
msgid "Error raised by plugin"
msgstr ""
-#: common/views.py:85 order/templates/order/purchase_order_detail.html:23
-#: order/views.py:102 part/views.py:112
+#: common/views.py:85 order/templates/order/purchase_order_detail.html:25
+#: order/views.py:102 part/views.py:107
#: templates/patterns/wizard/upload.html:37
msgid "Upload File"
msgstr ""
#: common/views.py:86 order/views.py:103
#: part/templates/part/import_wizard/ajax_match_fields.html:45
-#: part/views.py:113 templates/patterns/wizard/match_fields.html:51
+#: part/views.py:108 templates/patterns/wizard/match_fields.html:51
msgid "Match Fields"
msgstr ""
@@ -2816,298 +2869,301 @@ msgstr ""
msgid "Previous Step"
msgstr ""
-#: company/models.py:99
+#: company/models.py:103
msgid "Company description"
msgstr ""
-#: company/models.py:100
+#: company/models.py:104
msgid "Description of the company"
msgstr ""
-#: company/models.py:106 company/templates/company/company_base.html:100
+#: company/models.py:110 company/templates/company/company_base.html:100
#: templates/InvenTree/settings/plugin_settings.html:55
-#: templates/js/translated/company.js:448
+#: templates/js/translated/company.js:449
msgid "Website"
msgstr ""
-#: company/models.py:107
+#: company/models.py:111
msgid "Company website URL"
msgstr ""
-#: company/models.py:111 company/templates/company/company_base.html:118
+#: company/models.py:115 company/templates/company/company_base.html:118
msgid "Address"
msgstr ""
-#: company/models.py:112
+#: company/models.py:116
msgid "Company address"
msgstr ""
-#: company/models.py:115
+#: company/models.py:119
msgid "Phone number"
msgstr ""
-#: company/models.py:116
+#: company/models.py:120
msgid "Contact phone number"
msgstr ""
-#: company/models.py:119 company/templates/company/company_base.html:132
+#: company/models.py:123 company/templates/company/company_base.html:132
#: templates/InvenTree/settings/user.html:48
msgid "Email"
msgstr ""
-#: company/models.py:119
+#: company/models.py:123
msgid "Contact email address"
msgstr ""
-#: company/models.py:122 company/templates/company/company_base.html:139
+#: company/models.py:126 company/templates/company/company_base.html:139
msgid "Contact"
msgstr ""
-#: company/models.py:123
+#: company/models.py:127
msgid "Point of contact"
msgstr ""
-#: company/models.py:125
+#: company/models.py:129
msgid "Link to external company information"
msgstr ""
-#: company/models.py:136 part/models.py:829
+#: company/models.py:140 part/models.py:848
msgid "Image"
msgstr ""
-#: company/models.py:139 company/templates/company/detail.html:185
+#: company/models.py:143 company/templates/company/detail.html:185
msgid "Company Notes"
msgstr ""
-#: company/models.py:141
+#: company/models.py:145
msgid "is customer"
msgstr ""
-#: company/models.py:141
+#: company/models.py:145
msgid "Do you sell items to this company?"
msgstr ""
-#: company/models.py:143
+#: company/models.py:147
msgid "is supplier"
msgstr ""
-#: company/models.py:143
+#: company/models.py:147
msgid "Do you purchase items from this company?"
msgstr ""
-#: company/models.py:145
+#: company/models.py:149
msgid "is manufacturer"
msgstr ""
-#: company/models.py:145
+#: company/models.py:149
msgid "Does this company manufacture parts?"
msgstr ""
-#: company/models.py:149 company/serializers.py:378
-#: company/templates/company/company_base.html:106 part/serializers.py:153
-#: part/serializers.py:184 stock/serializers.py:178
+#: company/models.py:153 company/serializers.py:399
+#: company/templates/company/company_base.html:106 part/models.py:2681
+#: part/serializers.py:153 part/serializers.py:181 stock/serializers.py:182
+#: templates/InvenTree/settings/pricing.html:59
msgid "Currency"
msgstr ""
-#: company/models.py:152
+#: company/models.py:156
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:249 company/models.py:483 stock/models.py:600
-#: stock/serializers.py:85 stock/templates/stock/item_base.html:143
-#: templates/js/translated/bom.js:568
+#: company/models.py:253 company/models.py:487 stock/models.py:616
+#: stock/serializers.py:89 stock/templates/stock/item_base.html:143
+#: templates/js/translated/bom.js:581
msgid "Base Part"
msgstr ""
-#: company/models.py:253 company/models.py:487
+#: company/models.py:257 company/models.py:491
msgid "Select part"
msgstr ""
-#: company/models.py:264 company/templates/company/company_base.html:76
+#: company/models.py:268 company/templates/company/company_base.html:76
#: company/templates/company/manufacturer_part.html:90
#: company/templates/company/supplier_part.html:152
#: stock/templates/stock/item_base.html:210
-#: templates/js/translated/company.js:432
-#: templates/js/translated/company.js:533
-#: templates/js/translated/company.js:668
-#: templates/js/translated/company.js:956 templates/js/translated/part.js:236
-#: templates/js/translated/table_filters.js:427
+#: templates/js/translated/company.js:433
+#: templates/js/translated/company.js:534
+#: templates/js/translated/company.js:669
+#: templates/js/translated/company.js:957 templates/js/translated/part.js:232
+#: templates/js/translated/table_filters.js:431
msgid "Manufacturer"
msgstr ""
-#: company/models.py:265 templates/js/translated/part.js:237
+#: company/models.py:269 templates/js/translated/part.js:233
msgid "Select manufacturer"
msgstr ""
-#: company/models.py:271 company/templates/company/manufacturer_part.html:101
+#: company/models.py:275 company/templates/company/manufacturer_part.html:101
#: company/templates/company/supplier_part.html:160
-#: templates/js/translated/company.js:304
-#: templates/js/translated/company.js:532
-#: templates/js/translated/company.js:684
-#: templates/js/translated/company.js:975 templates/js/translated/order.js:2239
-#: templates/js/translated/part.js:247 templates/js/translated/part.js:1025
+#: templates/js/translated/company.js:305
+#: templates/js/translated/company.js:533
+#: templates/js/translated/company.js:685
+#: templates/js/translated/company.js:976 templates/js/translated/order.js:2278
+#: templates/js/translated/part.js:243 templates/js/translated/part.js:1052
msgid "MPN"
msgstr ""
-#: company/models.py:272 templates/js/translated/part.js:248
+#: company/models.py:276 templates/js/translated/part.js:244
msgid "Manufacturer Part Number"
msgstr ""
-#: company/models.py:278
+#: company/models.py:282
msgid "URL for external manufacturer part link"
msgstr ""
-#: company/models.py:284
+#: company/models.py:288
msgid "Manufacturer part description"
msgstr ""
-#: company/models.py:329 company/models.py:353 company/models.py:506
+#: company/models.py:333 company/models.py:357 company/models.py:510
#: company/templates/company/manufacturer_part.html:7
#: company/templates/company/manufacturer_part.html:24
#: stock/templates/stock/item_base.html:220
msgid "Manufacturer Part"
msgstr ""
-#: company/models.py:360
+#: company/models.py:364
msgid "Parameter name"
msgstr ""
-#: company/models.py:366
+#: company/models.py:370
#: report/templates/report/inventree_test_report_base.html:95
-#: stock/models.py:2097 templates/js/translated/company.js:581
-#: templates/js/translated/company.js:799 templates/js/translated/part.js:847
-#: templates/js/translated/stock.js:1360
+#: stock/models.py:2113 templates/js/translated/company.js:582
+#: templates/js/translated/company.js:800 templates/js/translated/part.js:874
+#: templates/js/translated/stock.js:1379
msgid "Value"
msgstr ""
-#: company/models.py:367
+#: company/models.py:371
msgid "Parameter value"
msgstr ""
-#: company/models.py:373 part/models.py:902 part/models.py:2434
-#: part/templates/part/part_base.html:286
+#: company/models.py:377 part/admin.py:26 part/models.py:921
+#: part/models.py:3047 part/templates/part/part_base.html:286
#: templates/InvenTree/settings/settings.html:349
-#: templates/js/translated/company.js:805 templates/js/translated/part.js:853
+#: templates/js/translated/company.js:806 templates/js/translated/part.js:880
msgid "Units"
msgstr ""
-#: company/models.py:374
+#: company/models.py:378
msgid "Parameter units"
msgstr ""
-#: company/models.py:451
+#: company/models.py:455
msgid "Linked manufacturer part must reference the same base part"
msgstr ""
-#: company/models.py:493 company/templates/company/company_base.html:81
-#: company/templates/company/supplier_part.html:136 order/models.py:263
-#: order/templates/order/order_base.html:121 part/bom.py:237 part/bom.py:265
+#: company/models.py:497 company/templates/company/company_base.html:81
+#: company/templates/company/supplier_part.html:136 order/models.py:264
+#: order/templates/order/order_base.html:121 part/bom.py:252 part/bom.py:280
#: stock/templates/stock/item_base.html:227
#: templates/email/overdue_purchase_order.html:16
-#: templates/js/translated/company.js:303
-#: templates/js/translated/company.js:436
-#: templates/js/translated/company.js:929 templates/js/translated/order.js:1975
-#: templates/js/translated/part.js:217 templates/js/translated/part.js:993
-#: templates/js/translated/table_filters.js:431
+#: templates/js/translated/company.js:304
+#: templates/js/translated/company.js:437
+#: templates/js/translated/company.js:930 templates/js/translated/order.js:2009
+#: templates/js/translated/part.js:213 templates/js/translated/part.js:1020
+#: templates/js/translated/pricing.js:231
+#: templates/js/translated/table_filters.js:435
msgid "Supplier"
msgstr ""
-#: company/models.py:494 templates/js/translated/part.js:218
+#: company/models.py:498 templates/js/translated/part.js:214
msgid "Select supplier"
msgstr ""
-#: company/models.py:499 company/templates/company/supplier_part.html:146
-#: part/bom.py:238 part/bom.py:266 templates/js/translated/company.js:302
-#: templates/js/translated/order.js:2226 templates/js/translated/part.js:228
-#: templates/js/translated/part.js:1011
+#: company/models.py:503 company/templates/company/supplier_part.html:146
+#: part/bom.py:253 part/bom.py:281 templates/js/translated/company.js:303
+#: templates/js/translated/order.js:2265 templates/js/translated/part.js:224
+#: templates/js/translated/part.js:1038 templates/js/translated/pricing.js:243
msgid "SKU"
msgstr ""
-#: company/models.py:500 templates/js/translated/part.js:229
+#: company/models.py:504 templates/js/translated/part.js:225
msgid "Supplier stock keeping unit"
msgstr ""
-#: company/models.py:507
+#: company/models.py:511
msgid "Select manufacturer part"
msgstr ""
-#: company/models.py:513
+#: company/models.py:517
msgid "URL for external supplier part link"
msgstr ""
-#: company/models.py:519
+#: company/models.py:523
msgid "Supplier part description"
msgstr ""
-#: company/models.py:524 company/templates/company/supplier_part.html:181
-#: part/models.py:2687 part/templates/part/upload_bom.html:59
+#: company/models.py:528 company/templates/company/supplier_part.html:181
+#: part/admin.py:225 part/models.py:3300 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_po_report.html:92
-#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:403
+#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:397
msgid "Note"
msgstr ""
-#: company/models.py:528 part/models.py:1788
+#: company/models.py:532 part/models.py:1817
msgid "base cost"
msgstr ""
-#: company/models.py:528 part/models.py:1788
+#: company/models.py:532 part/models.py:1817
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
-#: company/models.py:530 company/templates/company/supplier_part.html:167
-#: stock/models.py:626 stock/templates/stock/item_base.html:243
-#: templates/js/translated/company.js:991 templates/js/translated/stock.js:1978
+#: company/models.py:534 company/templates/company/supplier_part.html:167
+#: stock/admin.py:101 stock/models.py:642
+#: stock/templates/stock/item_base.html:243
+#: templates/js/translated/company.js:992 templates/js/translated/stock.js:1996
msgid "Packaging"
msgstr ""
-#: company/models.py:530
+#: company/models.py:534
msgid "Part packaging"
msgstr ""
-#: company/models.py:533 company/serializers.py:242
+#: company/models.py:537 company/serializers.py:242
#: company/templates/company/supplier_part.html:174
-#: templates/js/translated/company.js:996 templates/js/translated/order.js:820
-#: templates/js/translated/order.js:1215 templates/js/translated/order.js:1470
-#: templates/js/translated/order.js:2270 templates/js/translated/order.js:2287
-#: templates/js/translated/part.js:1043 templates/js/translated/part.js:1095
+#: templates/js/translated/company.js:997 templates/js/translated/order.js:826
+#: templates/js/translated/order.js:1249 templates/js/translated/order.js:1504
+#: templates/js/translated/order.js:2309 templates/js/translated/order.js:2326
+#: templates/js/translated/part.js:1070 templates/js/translated/part.js:1122
msgid "Pack Quantity"
msgstr ""
-#: company/models.py:534
+#: company/models.py:538
msgid "Unit quantity supplied in a single pack"
msgstr ""
-#: company/models.py:540 part/models.py:1790
+#: company/models.py:544 part/models.py:1819
msgid "multiple"
msgstr ""
-#: company/models.py:540
+#: company/models.py:544
msgid "Order multiple"
msgstr ""
-#: company/models.py:548 company/templates/company/supplier_part.html:115
+#: company/models.py:552 company/templates/company/supplier_part.html:115
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:18
-#: templates/js/translated/bom.js:963 templates/js/translated/build.js:1873
-#: templates/js/translated/build.js:2754 templates/js/translated/part.js:598
-#: templates/js/translated/part.js:601
-#: templates/js/translated/table_filters.js:194
+#: templates/js/translated/bom.js:1117 templates/js/translated/build.js:1873
+#: templates/js/translated/build.js:2754 templates/js/translated/part.js:612
+#: templates/js/translated/part.js:615
+#: templates/js/translated/table_filters.js:198
msgid "Available"
msgstr ""
-#: company/models.py:549
+#: company/models.py:553
msgid "Quantity available from supplier"
msgstr ""
-#: company/models.py:553
+#: company/models.py:557
msgid "Availability Updated"
msgstr ""
-#: company/models.py:554
+#: company/models.py:558
msgid "Date of last update of availability data"
msgstr ""
-#: company/models.py:682
+#: company/models.py:686
msgid "last updated"
msgstr ""
@@ -3121,7 +3177,7 @@ msgstr ""
#: company/templates/company/company_base.html:8
#: company/templates/company/company_base.html:12
-#: templates/InvenTree/search.html:179 templates/js/translated/company.js:421
+#: templates/InvenTree/search.html:179 templates/js/translated/company.js:422
msgid "Company"
msgstr ""
@@ -3139,7 +3195,7 @@ msgid "Edit company information"
msgstr ""
#: company/templates/company/company_base.html:34
-#: templates/js/translated/company.js:364
+#: templates/js/translated/company.js:365
msgid "Edit Company"
msgstr ""
@@ -3162,14 +3218,14 @@ msgstr ""
msgid "Download image from URL"
msgstr ""
-#: company/templates/company/company_base.html:86 order/models.py:646
-#: order/templates/order/sales_order_base.html:116 stock/models.py:645
-#: stock/models.py:646 stock/serializers.py:813
+#: company/templates/company/company_base.html:86 order/models.py:665
+#: order/templates/order/sales_order_base.html:116 stock/models.py:661
+#: stock/models.py:662 stock/serializers.py:812
#: stock/templates/stock/item_base.html:399
#: templates/email/overdue_sales_order.html:16
-#: templates/js/translated/company.js:428 templates/js/translated/order.js:2808
-#: templates/js/translated/stock.js:2569
-#: templates/js/translated/table_filters.js:435
+#: templates/js/translated/company.js:429 templates/js/translated/order.js:2819
+#: templates/js/translated/stock.js:2587
+#: templates/js/translated/table_filters.js:439
msgid "Customer"
msgstr ""
@@ -3182,12 +3238,12 @@ msgid "Phone"
msgstr ""
#: company/templates/company/company_base.html:208
-#: part/templates/part/part_base.html:499
+#: part/templates/part/part_base.html:514
msgid "Upload Image"
msgstr ""
#: company/templates/company/company_base.html:223
-#: part/templates/part/part_base.html:554
+#: part/templates/part/part_base.html:569
msgid "Download Image"
msgstr ""
@@ -3203,7 +3259,7 @@ msgstr ""
#: company/templates/company/detail.html:19
#: company/templates/company/manufacturer_part.html:123
-#: part/templates/part/detail.html:359
+#: part/templates/part/detail.html:357
msgid "New Supplier Part"
msgstr ""
@@ -3232,7 +3288,7 @@ msgstr ""
msgid "Create new manufacturer part"
msgstr ""
-#: company/templates/company/detail.html:66 part/templates/part/detail.html:389
+#: company/templates/company/detail.html:66 part/templates/part/detail.html:387
msgid "New Manufacturer Part"
msgstr ""
@@ -3246,7 +3302,7 @@ msgstr ""
#: order/templates/order/order_base.html:13
#: order/templates/order/purchase_orders.html:8
#: order/templates/order/purchase_orders.html:12
-#: part/templates/part/detail.html:84 part/templates/part/part_sidebar.html:37
+#: part/templates/part/detail.html:84 part/templates/part/part_sidebar.html:35
#: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200
#: templates/InvenTree/settings/sidebar.html:49
#: templates/js/translated/search.js:293 templates/navbar.html:50
@@ -3269,7 +3325,7 @@ msgstr ""
#: order/templates/order/sales_order_base.html:13
#: order/templates/order/sales_orders.html:8
#: order/templates/order/sales_orders.html:15
-#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:41
+#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:39
#: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220
#: templates/InvenTree/settings/sidebar.html:51
#: templates/js/translated/search.js:317 templates/navbar.html:61
@@ -3297,8 +3353,7 @@ msgid "Supplier List"
msgstr ""
#: company/templates/company/manufacturer_part.html:15 company/views.py:38
-#: part/templates/part/prices.html:172 templates/InvenTree/search.html:181
-#: templates/navbar.html:49
+#: templates/InvenTree/search.html:181 templates/navbar.html:49
msgid "Manufacturers"
msgstr ""
@@ -3309,12 +3364,12 @@ msgid "Order part"
msgstr ""
#: company/templates/company/manufacturer_part.html:39
-#: templates/js/translated/company.js:716
+#: templates/js/translated/company.js:717
msgid "Edit manufacturer part"
msgstr ""
#: company/templates/company/manufacturer_part.html:43
-#: templates/js/translated/company.js:717
+#: templates/js/translated/company.js:718
msgid "Delete manufacturer part"
msgstr ""
@@ -3329,35 +3384,36 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:119
#: company/templates/company/supplier_part.html:15 company/views.py:32
-#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:168
+#: part/admin.py:46 part/templates/part/part_sidebar.html:33
#: templates/InvenTree/search.html:191 templates/navbar.html:48
msgid "Suppliers"
msgstr ""
#: company/templates/company/manufacturer_part.html:136
-#: part/templates/part/detail.html:370
+#: part/templates/part/detail.html:368
msgid "Delete supplier parts"
msgstr ""
#: company/templates/company/manufacturer_part.html:136
#: company/templates/company/manufacturer_part.html:183
-#: part/templates/part/detail.html:371 part/templates/part/detail.html:401
-#: templates/js/translated/forms.js:455 templates/js/translated/helpers.js:36
-#: users/models.py:222
+#: part/templates/part/detail.html:369 part/templates/part/detail.html:399
+#: templates/js/translated/forms.js:455 templates/js/translated/helpers.js:38
+#: templates/js/translated/part.js:340 templates/js/translated/stock.js:184
+#: users/models.py:224
msgid "Delete"
msgstr ""
#: company/templates/company/manufacturer_part.html:166
#: company/templates/company/manufacturer_part_sidebar.html:5
#: part/templates/part/category_sidebar.html:19
-#: part/templates/part/detail.html:186 part/templates/part/part_sidebar.html:8
+#: part/templates/part/detail.html:184 part/templates/part/part_sidebar.html:8
msgid "Parameters"
msgstr ""
#: company/templates/company/manufacturer_part.html:170
-#: part/templates/part/detail.html:191
+#: part/templates/part/detail.html:189
#: templates/InvenTree/settings/category.html:12
-#: templates/InvenTree/settings/part.html:68
+#: templates/InvenTree/settings/part.html:62
msgid "New Parameter"
msgstr ""
@@ -3366,7 +3422,7 @@ msgid "Delete parameters"
msgstr ""
#: company/templates/company/manufacturer_part.html:245
-#: part/templates/part/detail.html:827
+#: part/templates/part/detail.html:825
msgid "Add Parameter"
msgstr ""
@@ -3387,10 +3443,10 @@ msgid "Assigned Stock Items"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:609
+#: company/templates/company/supplier_part.html:24 stock/models.py:625
#: stock/templates/stock/item_base.html:236
-#: templates/js/translated/company.js:945 templates/js/translated/order.js:1135
-#: templates/js/translated/stock.js:1935
+#: templates/js/translated/company.js:946 templates/js/translated/order.js:1169
+#: templates/js/translated/stock.js:1954
msgid "Supplier Part"
msgstr ""
@@ -3441,13 +3497,13 @@ msgstr ""
#: company/templates/company/supplier_part.html:64
#: company/templates/company/supplier_part.html:65
-#: templates/js/translated/company.js:247
+#: templates/js/translated/company.js:248
msgid "Edit Supplier Part"
msgstr ""
#: company/templates/company/supplier_part.html:69
#: company/templates/company/supplier_part.html:70
-#: templates/js/translated/company.js:222
+#: templates/js/translated/company.js:223
msgid "Duplicate Supplier Part"
msgstr ""
@@ -3482,7 +3538,7 @@ msgstr ""
#: company/templates/company/supplier_part.html:204
#: part/templates/part/detail.html:25 stock/templates/stock/location.html:198
-#: templates/js/translated/stock.js:435
+#: templates/js/translated/stock.js:454
msgid "New Stock Item"
msgstr ""
@@ -3492,47 +3548,20 @@ msgid "Supplier Part Orders"
msgstr ""
#: company/templates/company/supplier_part.html:242
-#: part/templates/part/prices.html:10
msgid "Pricing Information"
msgstr ""
#: company/templates/company/supplier_part.html:247
-#: company/templates/company/supplier_part.html:388
-#: part/templates/part/prices.html:276 templates/js/translated/part.js:2297
+#: company/templates/company/supplier_part.html:317
+#: templates/js/translated/pricing.js:413
msgid "Add Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:282
+#: company/templates/company/supplier_part.html:285
msgid "Link Barcode to Supplier Part"
msgstr ""
-#: company/templates/company/supplier_part.html:300
-msgid "No price break information found"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:314
-#: templates/js/translated/part.js:2307
-msgid "Delete Price Break"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:328
-#: templates/js/translated/part.js:2321
-msgid "Edit Price Break"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:353
-msgid "Edit price break"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:354
-msgid "Delete price break"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:363
-msgid "Last updated"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:444
+#: company/templates/company/supplier_part.html:375
msgid "Update Part Availability"
msgstr ""
@@ -3542,9 +3571,9 @@ msgstr ""
#: stock/templates/stock/stock_app_base.html:10
#: templates/InvenTree/search.html:153
#: templates/InvenTree/settings/sidebar.html:45
-#: templates/js/translated/part.js:749 templates/js/translated/part.js:1335
-#: templates/js/translated/part.js:1501 templates/js/translated/stock.js:959
-#: templates/js/translated/stock.js:1760 templates/navbar.html:31
+#: templates/js/translated/part.js:763 templates/js/translated/part.js:1356
+#: templates/js/translated/part.js:1512 templates/js/translated/stock.js:978
+#: templates/js/translated/stock.js:1779 templates/navbar.html:31
msgid "Stock"
msgstr ""
@@ -3558,19 +3587,20 @@ msgid "Supplier Part Pricing"
msgstr ""
#: company/templates/company/supplier_part_navbar.html:29
-#: part/templates/part/part_sidebar.html:31
+#: part/templates/part/part_sidebar.html:30
+#: templates/InvenTree/settings/sidebar.html:35
msgid "Pricing"
msgstr ""
#: company/templates/company/supplier_part_sidebar.html:5
#: part/templates/part/category.html:198
-#: part/templates/part/category_sidebar.html:17
+#: part/templates/part/category_sidebar.html:17 stock/admin.py:31
#: stock/templates/stock/location.html:168
#: stock/templates/stock/location.html:182
#: stock/templates/stock/location.html:194
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:155 templates/js/translated/search.js:225
-#: templates/js/translated/stock.js:2446 users/models.py:40
+#: templates/js/translated/stock.js:2464 users/models.py:40
msgid "Stock Items"
msgstr ""
@@ -3672,438 +3702,439 @@ msgstr ""
msgid "No matching purchase order found"
msgstr ""
-#: order/models.py:82
+#: order/models.py:83
msgid "Order description"
msgstr ""
-#: order/models.py:84 order/models.py:1260
+#: order/models.py:85 order/models.py:1283
msgid "Link to external page"
msgstr ""
-#: order/models.py:92
+#: order/models.py:93
msgid "Created By"
msgstr ""
-#: order/models.py:99
+#: order/models.py:100
msgid "User or group responsible for this order"
msgstr ""
-#: order/models.py:104
+#: order/models.py:105
msgid "Order notes"
msgstr ""
-#: order/models.py:241 order/models.py:633
+#: order/models.py:242 order/models.py:652
msgid "Order reference"
msgstr ""
-#: order/models.py:249 order/models.py:651
+#: order/models.py:250 order/models.py:670
msgid "Purchase order status"
msgstr ""
-#: order/models.py:264
+#: order/models.py:265
msgid "Company from which the items are being ordered"
msgstr ""
-#: order/models.py:267 order/templates/order/order_base.html:133
-#: templates/js/translated/order.js:1984
+#: order/models.py:268 order/templates/order/order_base.html:133
+#: templates/js/translated/order.js:2018
msgid "Supplier Reference"
msgstr ""
-#: order/models.py:267
+#: order/models.py:268
msgid "Supplier order reference code"
msgstr ""
-#: order/models.py:274
+#: order/models.py:275
msgid "received by"
msgstr ""
-#: order/models.py:279
+#: order/models.py:280
msgid "Issue Date"
msgstr ""
-#: order/models.py:280
+#: order/models.py:281
msgid "Date order was issued"
msgstr ""
-#: order/models.py:285
+#: order/models.py:286
msgid "Target Delivery Date"
msgstr ""
-#: order/models.py:286
+#: order/models.py:287
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr ""
-#: order/models.py:292
+#: order/models.py:293
msgid "Date order was completed"
msgstr ""
-#: order/models.py:328
+#: order/models.py:332
msgid "Part supplier must match PO supplier"
msgstr ""
-#: order/models.py:472
+#: order/models.py:491
msgid "Quantity must be a positive number"
msgstr ""
-#: order/models.py:647
+#: order/models.py:666
msgid "Company to which the items are being sold"
msgstr ""
-#: order/models.py:658
+#: order/models.py:677
msgid "Customer Reference "
msgstr ""
-#: order/models.py:658
+#: order/models.py:677
msgid "Customer order reference code"
msgstr ""
-#: order/models.py:663
+#: order/models.py:682
msgid "Target date for order completion. Order will be overdue after this date."
msgstr ""
-#: order/models.py:666 order/models.py:1218
-#: templates/js/translated/order.js:2855 templates/js/translated/order.js:3017
+#: order/models.py:685 order/models.py:1241
+#: templates/js/translated/order.js:2866 templates/js/translated/order.js:3028
msgid "Shipment Date"
msgstr ""
-#: order/models.py:673
+#: order/models.py:692
msgid "shipped by"
msgstr ""
-#: order/models.py:728
+#: order/models.py:747
msgid "Order cannot be completed as no parts have been assigned"
msgstr ""
-#: order/models.py:732
+#: order/models.py:751
msgid "Only a pending order can be marked as complete"
msgstr ""
-#: order/models.py:735 templates/js/translated/order.js:419
+#: order/models.py:754 templates/js/translated/order.js:419
msgid "Order cannot be completed as there are incomplete shipments"
msgstr ""
-#: order/models.py:738
+#: order/models.py:757
msgid "Order cannot be completed as there are incomplete line items"
msgstr ""
-#: order/models.py:912
+#: order/models.py:935
msgid "Item quantity"
msgstr ""
-#: order/models.py:918
+#: order/models.py:941
msgid "Line item reference"
msgstr ""
-#: order/models.py:920
+#: order/models.py:943
msgid "Line item notes"
msgstr ""
-#: order/models.py:925
+#: order/models.py:948
msgid "Target shipping date for this line item"
msgstr ""
-#: order/models.py:943
+#: order/models.py:966
msgid "Context"
msgstr ""
-#: order/models.py:944
+#: order/models.py:967
msgid "Additional context for this line"
msgstr ""
-#: order/models.py:953
+#: order/models.py:976
msgid "Unit price"
msgstr ""
-#: order/models.py:983
+#: order/models.py:1006
msgid "Supplier part must match supplier"
msgstr ""
-#: order/models.py:991
+#: order/models.py:1014
msgid "deleted"
msgstr ""
-#: order/models.py:997 order/models.py:1077 order/models.py:1118
-#: order/models.py:1212 order/models.py:1344
-#: templates/js/translated/order.js:3473
+#: order/models.py:1020 order/models.py:1100 order/models.py:1141
+#: order/models.py:1235 order/models.py:1367
+#: templates/js/translated/order.js:3484
msgid "Order"
msgstr ""
-#: order/models.py:998 order/models.py:1077
+#: order/models.py:1021 order/models.py:1100
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report.html:76
#: stock/templates/stock/item_base.html:182
#: templates/email/overdue_purchase_order.html:15
-#: templates/js/translated/order.js:619 templates/js/translated/order.js:1136
-#: templates/js/translated/order.js:1959 templates/js/translated/part.js:970
-#: templates/js/translated/stock.js:1915 templates/js/translated/stock.js:2550
+#: templates/js/translated/order.js:619 templates/js/translated/order.js:1170
+#: templates/js/translated/order.js:1993 templates/js/translated/part.js:997
+#: templates/js/translated/pricing.js:515 templates/js/translated/stock.js:1934
+#: templates/js/translated/stock.js:2568
msgid "Purchase Order"
msgstr ""
-#: order/models.py:1016
+#: order/models.py:1039
msgid "Supplier part"
msgstr ""
-#: order/models.py:1023 order/templates/order/order_base.html:178
-#: templates/js/translated/order.js:1641 templates/js/translated/order.js:2373
-#: templates/js/translated/part.js:1087 templates/js/translated/part.js:1125
-#: templates/js/translated/table_filters.js:346
+#: order/models.py:1046 order/templates/order/order_base.html:178
+#: templates/js/translated/order.js:1675 templates/js/translated/order.js:2396
+#: templates/js/translated/part.js:1114 templates/js/translated/part.js:1146
+#: templates/js/translated/table_filters.js:350
msgid "Received"
msgstr ""
-#: order/models.py:1024
+#: order/models.py:1047
msgid "Number of items received"
msgstr ""
-#: order/models.py:1031 part/templates/part/prices.html:181 stock/models.py:741
-#: stock/serializers.py:169 stock/templates/stock/item_base.html:189
-#: templates/js/translated/stock.js:1966
+#: order/models.py:1054 stock/models.py:757 stock/serializers.py:173
+#: stock/templates/stock/item_base.html:189
+#: templates/js/translated/stock.js:1985
msgid "Purchase Price"
msgstr ""
-#: order/models.py:1032
+#: order/models.py:1055
msgid "Unit purchase price"
msgstr ""
-#: order/models.py:1040
+#: order/models.py:1063
msgid "Where does the Purchaser want this item to be stored?"
msgstr ""
-#: order/models.py:1106
+#: order/models.py:1129
msgid "Virtual part cannot be assigned to a sales order"
msgstr ""
-#: order/models.py:1111
+#: order/models.py:1134
msgid "Only salable parts can be assigned to a sales order"
msgstr ""
-#: order/models.py:1137 part/templates/part/part_pricing.html:115
-#: part/templates/part/prices.html:121 part/templates/part/prices.html:290
+#: order/models.py:1160 part/templates/part/part_pricing.html:107
+#: part/templates/part/prices.html:139 templates/js/translated/pricing.js:665
msgid "Sale Price"
msgstr ""
-#: order/models.py:1138
+#: order/models.py:1161
msgid "Unit sale price"
msgstr ""
-#: order/models.py:1143
+#: order/models.py:1166
msgid "Shipped quantity"
msgstr ""
-#: order/models.py:1219
+#: order/models.py:1242
msgid "Date of shipment"
msgstr ""
-#: order/models.py:1226
+#: order/models.py:1249
msgid "Checked By"
msgstr ""
-#: order/models.py:1227
+#: order/models.py:1250
msgid "User who checked this shipment"
msgstr ""
-#: order/models.py:1234 order/models.py:1419 order/serializers.py:1228
-#: order/serializers.py:1356 templates/js/translated/model_renderers.js:314
+#: order/models.py:1257 order/models.py:1442 order/serializers.py:1221
+#: order/serializers.py:1349 templates/js/translated/model_renderers.js:314
msgid "Shipment"
msgstr ""
-#: order/models.py:1235
+#: order/models.py:1258
msgid "Shipment number"
msgstr ""
-#: order/models.py:1239
+#: order/models.py:1262
msgid "Shipment notes"
msgstr ""
-#: order/models.py:1245
+#: order/models.py:1268
msgid "Tracking Number"
msgstr ""
-#: order/models.py:1246
+#: order/models.py:1269
msgid "Shipment tracking information"
msgstr ""
-#: order/models.py:1253
+#: order/models.py:1276
msgid "Invoice Number"
msgstr ""
-#: order/models.py:1254
+#: order/models.py:1277
msgid "Reference number for associated invoice"
msgstr ""
-#: order/models.py:1272
+#: order/models.py:1295
msgid "Shipment has already been sent"
msgstr ""
-#: order/models.py:1275
+#: order/models.py:1298
msgid "Shipment has no allocated stock items"
msgstr ""
-#: order/models.py:1378 order/models.py:1380
+#: order/models.py:1401 order/models.py:1403
msgid "Stock item has not been assigned"
msgstr ""
-#: order/models.py:1384
+#: order/models.py:1407
msgid "Cannot allocate stock item to a line with a different part"
msgstr ""
-#: order/models.py:1386
+#: order/models.py:1409
msgid "Cannot allocate stock to a line without a part"
msgstr ""
-#: order/models.py:1389
+#: order/models.py:1412
msgid "Allocation quantity cannot exceed stock quantity"
msgstr ""
-#: order/models.py:1399 order/serializers.py:1090
+#: order/models.py:1422 order/serializers.py:1083
msgid "Quantity must be 1 for serialized stock item"
msgstr ""
-#: order/models.py:1402
+#: order/models.py:1425
msgid "Sales order does not match shipment"
msgstr ""
-#: order/models.py:1403
+#: order/models.py:1426
msgid "Shipment does not match sales order"
msgstr ""
-#: order/models.py:1411
+#: order/models.py:1434
msgid "Line"
msgstr ""
-#: order/models.py:1420
+#: order/models.py:1443
msgid "Sales order shipment reference"
msgstr ""
-#: order/models.py:1433 templates/js/translated/notification.js:55
+#: order/models.py:1456 templates/js/translated/notification.js:55
msgid "Item"
msgstr ""
-#: order/models.py:1434
+#: order/models.py:1457
msgid "Select stock item to allocate"
msgstr ""
-#: order/models.py:1437
+#: order/models.py:1460
msgid "Enter stock allocation quantity"
msgstr ""
-#: order/serializers.py:67
+#: order/serializers.py:63
msgid "Price currency"
msgstr ""
-#: order/serializers.py:199
+#: order/serializers.py:193
msgid "Order cannot be cancelled"
msgstr ""
-#: order/serializers.py:209 order/serializers.py:1108
+#: order/serializers.py:203 order/serializers.py:1101
msgid "Allow order to be closed with incomplete line items"
msgstr ""
-#: order/serializers.py:220 order/serializers.py:1119
+#: order/serializers.py:214 order/serializers.py:1112
msgid "Order has incomplete line items"
msgstr ""
-#: order/serializers.py:311
+#: order/serializers.py:305
msgid "Order is not open"
msgstr ""
-#: order/serializers.py:335
+#: order/serializers.py:327
msgid "Purchase price currency"
msgstr ""
-#: order/serializers.py:354
+#: order/serializers.py:346
msgid "Supplier part must be specified"
msgstr ""
-#: order/serializers.py:359
+#: order/serializers.py:351
msgid "Purchase order must be specified"
msgstr ""
-#: order/serializers.py:365
+#: order/serializers.py:357
msgid "Supplier must match purchase order"
msgstr ""
-#: order/serializers.py:366
+#: order/serializers.py:358
msgid "Purchase order must match supplier"
msgstr ""
-#: order/serializers.py:430 order/serializers.py:1196
+#: order/serializers.py:421 order/serializers.py:1189
msgid "Line Item"
msgstr ""
-#: order/serializers.py:436
+#: order/serializers.py:427
msgid "Line item does not match purchase order"
msgstr ""
-#: order/serializers.py:446 order/serializers.py:557
+#: order/serializers.py:437 order/serializers.py:548
msgid "Select destination location for received items"
msgstr ""
-#: order/serializers.py:465 templates/js/translated/order.js:1497
+#: order/serializers.py:456 templates/js/translated/order.js:1531
msgid "Enter batch code for incoming stock items"
msgstr ""
-#: order/serializers.py:473 templates/js/translated/order.js:1508
+#: order/serializers.py:464 templates/js/translated/order.js:1542
msgid "Enter serial numbers for incoming stock items"
msgstr ""
-#: order/serializers.py:487
+#: order/serializers.py:478
msgid "Unique identifier field"
msgstr ""
-#: order/serializers.py:501
+#: order/serializers.py:492
msgid "Barcode is already in use"
msgstr ""
-#: order/serializers.py:527
+#: order/serializers.py:518
msgid "An integer quantity must be provided for trackable parts"
msgstr ""
-#: order/serializers.py:573
+#: order/serializers.py:564
msgid "Line items must be provided"
msgstr ""
-#: order/serializers.py:590
+#: order/serializers.py:581
msgid "Destination location must be specified"
msgstr ""
-#: order/serializers.py:601
+#: order/serializers.py:592
msgid "Supplied barcode values must be unique"
msgstr ""
-#: order/serializers.py:907
+#: order/serializers.py:900
msgid "Sale price currency"
msgstr ""
-#: order/serializers.py:988
+#: order/serializers.py:981
msgid "No shipment details provided"
msgstr ""
-#: order/serializers.py:1051 order/serializers.py:1205
+#: order/serializers.py:1044 order/serializers.py:1198
msgid "Line item is not associated with this order"
msgstr ""
-#: order/serializers.py:1073
+#: order/serializers.py:1066
msgid "Quantity must be positive"
msgstr ""
-#: order/serializers.py:1218
+#: order/serializers.py:1211
msgid "Enter serial numbers to allocate"
msgstr ""
-#: order/serializers.py:1240 order/serializers.py:1364
+#: order/serializers.py:1233 order/serializers.py:1357
msgid "Shipment has already been shipped"
msgstr ""
-#: order/serializers.py:1243 order/serializers.py:1367
+#: order/serializers.py:1236 order/serializers.py:1360
msgid "Shipment is not associated with this order"
msgstr ""
-#: order/serializers.py:1297
+#: order/serializers.py:1290
msgid "No match found for the following serial numbers"
msgstr ""
-#: order/serializers.py:1307
+#: order/serializers.py:1300
msgid "The following serial numbers are already allocated"
msgstr ""
@@ -4154,7 +4185,8 @@ msgid "Duplicate order"
msgstr ""
#: order/templates/order/order_base.html:61
-msgid "Place order"
+#: order/templates/order/order_base.html:62
+msgid "Submit Order"
msgstr ""
#: order/templates/order/order_base.html:65
@@ -4162,7 +4194,7 @@ msgid "Receive items"
msgstr ""
#: order/templates/order/order_base.html:67
-#: order/templates/order/purchase_order_detail.html:30
+#: order/templates/order/purchase_order_detail.html:32
msgid "Receive Items"
msgstr ""
@@ -4248,9 +4280,9 @@ msgstr ""
#: part/templates/part/import_wizard/match_references.html:49
#: templates/js/translated/bom.js:102 templates/js/translated/build.js:479
#: templates/js/translated/build.js:631 templates/js/translated/build.js:2078
-#: templates/js/translated/order.js:1084 templates/js/translated/order.js:1586
-#: templates/js/translated/order.js:3092 templates/js/translated/stock.js:625
-#: templates/js/translated/stock.js:793
+#: templates/js/translated/order.js:1118 templates/js/translated/order.js:1620
+#: templates/js/translated/order.js:3103 templates/js/translated/stock.js:644
+#: templates/js/translated/stock.js:812
#: templates/patterns/wizard/match_fields.html:70
msgid "Remove row"
msgstr ""
@@ -4278,42 +4310,42 @@ msgstr ""
msgid "Received Stock"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:17
+#: order/templates/order/purchase_order_detail.html:19
msgid "Purchase Order Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:26
-#: order/templates/order/sales_order_detail.html:22
-#: order/templates/order/sales_order_detail.html:255
+#: order/templates/order/purchase_order_detail.html:28
+#: order/templates/order/sales_order_detail.html:24
+#: order/templates/order/sales_order_detail.html:260
#: templates/js/translated/order.js:728
msgid "Add Line Item"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:29
+#: order/templates/order/purchase_order_detail.html:31
msgid "Receive selected items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:48
-#: order/templates/order/sales_order_detail.html:42
+#: order/templates/order/purchase_order_detail.html:50
+#: order/templates/order/sales_order_detail.html:45
msgid "Extra Lines"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:53
-#: order/templates/order/sales_order_detail.html:47
-#: order/templates/order/sales_order_detail.html:280
+#: order/templates/order/purchase_order_detail.html:56
+#: order/templates/order/sales_order_detail.html:51
+#: order/templates/order/sales_order_detail.html:291
msgid "Add Extra Line"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:72
+#: order/templates/order/purchase_order_detail.html:76
msgid "Received Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:97
-#: order/templates/order/sales_order_detail.html:150
+#: order/templates/order/purchase_order_detail.html:101
+#: order/templates/order/sales_order_detail.html:155
msgid "Order Notes"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:232
+#: order/templates/order/purchase_order_detail.html:239
msgid "Add Order Line"
msgstr ""
@@ -4345,12 +4377,12 @@ msgid "This Sales Order has not been fully allocated"
msgstr ""
#: order/templates/order/sales_order_base.html:123
-#: templates/js/translated/order.js:2821
+#: templates/js/translated/order.js:2832
msgid "Customer Reference"
msgstr ""
#: order/templates/order/sales_order_base.html:141
-#: order/templates/order/sales_order_detail.html:104
+#: order/templates/order/sales_order_detail.html:109
#: order/templates/order/so_sidebar.html:11
msgid "Completed Shipments"
msgstr ""
@@ -4359,22 +4391,22 @@ msgstr ""
msgid "Edit Sales Order"
msgstr ""
-#: order/templates/order/sales_order_detail.html:17
+#: order/templates/order/sales_order_detail.html:18
msgid "Sales Order Items"
msgstr ""
-#: order/templates/order/sales_order_detail.html:68
+#: order/templates/order/sales_order_detail.html:73
#: order/templates/order/so_sidebar.html:8
msgid "Pending Shipments"
msgstr ""
-#: order/templates/order/sales_order_detail.html:72
-#: templates/attachment_table.html:6 templates/js/translated/bom.js:1158
+#: order/templates/order/sales_order_detail.html:77
+#: templates/attachment_table.html:6 templates/js/translated/bom.js:1223
#: templates/js/translated/build.js:1979
msgid "Actions"
msgstr ""
-#: order/templates/order/sales_order_detail.html:81
+#: order/templates/order/sales_order_detail.html:86
msgid "New Shipment"
msgstr ""
@@ -4400,617 +4432,844 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/api.py:516
+#: part/admin.py:19 part/admin.py:219 part/models.py:3181 stock/admin.py:84
+#: templates/js/translated/model_renderers.js:212
+msgid "Part ID"
+msgstr ""
+
+#: part/admin.py:20 part/admin.py:221 part/models.py:3185 stock/admin.py:85
+msgid "Part Name"
+msgstr ""
+
+#: part/admin.py:21
+msgid "Part Description"
+msgstr ""
+
+#: part/admin.py:22 part/models.py:822 part/templates/part/part_base.html:272
+#: templates/js/translated/part.js:751 templates/js/translated/part.js:1469
+#: templates/js/translated/stock.js:1745
+msgid "IPN"
+msgstr ""
+
+#: part/admin.py:23 part/models.py:830 part/templates/part/part_base.html:279
+#: report/models.py:171 templates/js/translated/part.js:755
+msgid "Revision"
+msgstr ""
+
+#: part/admin.py:24 part/admin.py:145 part/models.py:808
+#: part/templates/part/category.html:87 part/templates/part/part_base.html:300
+msgid "Keywords"
+msgstr ""
+
+#: part/admin.py:28 part/admin.py:139
+#: templates/js/translated/model_renderers.js:338
+msgid "Category ID"
+msgstr ""
+
+#: part/admin.py:29 part/admin.py:140
+msgid "Category Name"
+msgstr ""
+
+#: part/admin.py:30 part/admin.py:144
+msgid "Default Location ID"
+msgstr ""
+
+#: part/admin.py:31
+msgid "Default Supplier ID"
+msgstr ""
+
+#: part/admin.py:33 part/models.py:914 part/templates/part/part_base.html:206
+msgid "Minimum Stock"
+msgstr ""
+
+#: part/admin.py:47 part/templates/part/part_base.html:200
+#: templates/js/translated/company.js:1028
+#: templates/js/translated/table_filters.js:213
+msgid "In Stock"
+msgstr ""
+
+#: part/admin.py:48 part/bom.py:145 part/templates/part/part_base.html:213
+#: templates/js/translated/bom.js:1155 templates/js/translated/build.js:1925
+#: templates/js/translated/part.js:602 templates/js/translated/part.js:622
+#: templates/js/translated/part.js:1359 templates/js/translated/part.js:1537
+#: templates/js/translated/table_filters.js:68
+msgid "On Order"
+msgstr ""
+
+#: part/admin.py:49 part/templates/part/part_sidebar.html:27
+msgid "Used In"
+msgstr ""
+
+#: part/admin.py:50 templates/js/translated/build.js:1937
+#: templates/js/translated/build.js:2195 templates/js/translated/build.js:2761
+#: templates/js/translated/order.js:3943
+msgid "Allocated"
+msgstr ""
+
+#: part/admin.py:51 part/templates/part/part_base.html:244
+#: templates/js/translated/part.js:605 templates/js/translated/part.js:625
+#: templates/js/translated/part.js:1363 templates/js/translated/part.js:1544
+msgid "Building"
+msgstr ""
+
+#: part/admin.py:52 part/models.py:2765
+msgid "Minimum Cost"
+msgstr ""
+
+#: part/admin.py:53 part/models.py:2771
+msgid "Maximum Cost"
+msgstr ""
+
+#: part/admin.py:142 part/admin.py:216 stock/admin.py:26 stock/admin.py:98
+msgid "Parent ID"
+msgstr ""
+
+#: part/admin.py:143 part/admin.py:218 stock/admin.py:27
+msgid "Parent Name"
+msgstr ""
+
+#: part/admin.py:146 part/templates/part/category.html:81
+#: part/templates/part/category.html:94
+msgid "Category Path"
+msgstr ""
+
+#: part/admin.py:149 part/models.py:363 part/templates/part/cat_link.html:3
+#: part/templates/part/category.html:23 part/templates/part/category.html:134
+#: part/templates/part/category.html:154
+#: part/templates/part/category_sidebar.html:9
+#: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84
+#: templates/InvenTree/settings/sidebar.html:41
+#: templates/js/translated/part.js:2043 templates/js/translated/search.js:146
+#: templates/navbar.html:24 users/models.py:38
+msgid "Parts"
+msgstr ""
+
+#: part/admin.py:211
+msgid "BOM Level"
+msgstr ""
+
+#: part/admin.py:213
+msgid "BOM Item ID"
+msgstr ""
+
+#: part/admin.py:217
+msgid "Parent IPN"
+msgstr ""
+
+#: part/admin.py:220 part/models.py:3189
+msgid "Part IPN"
+msgstr ""
+
+#: part/admin.py:226 templates/js/translated/pricing.js:91
+#: templates/js/translated/pricing.js:727
+msgid "Minimum Price"
+msgstr ""
+
+#: part/admin.py:227 templates/js/translated/pricing.js:86
+#: templates/js/translated/pricing.js:735
+msgid "Maximum Price"
+msgstr ""
+
+#: part/api.py:532
msgid "Incoming Purchase Order"
msgstr ""
-#: part/api.py:536
+#: part/api.py:552
msgid "Outgoing Sales Order"
msgstr ""
-#: part/api.py:554
+#: part/api.py:570
msgid "Stock produced by Build Order"
msgstr ""
-#: part/api.py:640
+#: part/api.py:656
msgid "Stock required for Build Order"
msgstr ""
-#: part/api.py:777
+#: part/api.py:814
msgid "Valid"
msgstr ""
-#: part/api.py:778
+#: part/api.py:815
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/api.py:784
+#: part/api.py:821
msgid "This option must be selected"
msgstr ""
-#: part/api.py:1207
+#: part/api.py:1261
msgid "Must be greater than zero"
msgstr ""
-#: part/api.py:1211
+#: part/api.py:1265
msgid "Must be a valid quantity"
msgstr ""
-#: part/api.py:1226
+#: part/api.py:1280
msgid "Specify location for initial part stock"
msgstr ""
-#: part/api.py:1257 part/api.py:1261 part/api.py:1276 part/api.py:1280
+#: part/api.py:1311 part/api.py:1315 part/api.py:1330 part/api.py:1334
msgid "This field is required"
msgstr ""
-#: part/bom.py:127 part/models.py:98 part/models.py:838
-#: part/templates/part/category.html:109 part/templates/part/part_base.html:345
+#: part/bom.py:142 part/models.py:116 part/models.py:857
+#: part/templates/part/category.html:109 part/templates/part/part_base.html:360
msgid "Default Location"
msgstr ""
-#: part/bom.py:128 templates/email/low_stock_notification.html:17
+#: part/bom.py:143 templates/email/low_stock_notification.html:17
msgid "Total Stock"
msgstr ""
-#: part/bom.py:129 part/templates/part/part_base.html:195
-#: templates/js/translated/order.js:3913
+#: part/bom.py:144 part/templates/part/part_base.html:195
+#: templates/js/translated/order.js:3910
msgid "Available Stock"
msgstr ""
-#: part/bom.py:130 part/templates/part/part_base.html:213
-#: templates/js/translated/bom.js:1001 templates/js/translated/build.js:1925
-#: templates/js/translated/part.js:588 templates/js/translated/part.js:608
-#: templates/js/translated/part.js:1338 templates/js/translated/part.js:1526
-#: templates/js/translated/table_filters.js:68
-msgid "On Order"
-msgstr ""
-
#: part/forms.py:41
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:99
+#: part/models.py:117
msgid "Default location for parts in this category"
msgstr ""
-#: part/models.py:102
+#: part/models.py:120
msgid "Default keywords"
msgstr ""
-#: part/models.py:102
+#: part/models.py:120
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:107 stock/models.py:85
+#: part/models.py:125 stock/models.py:101
msgid "Icon"
msgstr ""
-#: part/models.py:108 stock/models.py:86
+#: part/models.py:126 stock/models.py:102
msgid "Icon (optional)"
msgstr ""
-#: part/models.py:122 part/models.py:2517 part/templates/part/category.html:16
+#: part/models.py:140 part/models.py:3130 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
-#: part/models.py:123 part/templates/part/category.html:129
+#: part/models.py:141 part/templates/part/category.html:129
#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200
#: users/models.py:37
msgid "Part Categories"
msgstr ""
-#: part/models.py:344 part/templates/part/cat_link.html:3
-#: part/templates/part/category.html:23 part/templates/part/category.html:134
-#: part/templates/part/category.html:154
-#: part/templates/part/category_sidebar.html:9
-#: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84
-#: templates/InvenTree/settings/sidebar.html:41
-#: templates/js/translated/part.js:2019 templates/js/translated/search.js:146
-#: templates/navbar.html:24 users/models.py:38
-msgid "Parts"
-msgstr ""
-
-#: part/models.py:429
+#: part/models.py:448
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:499 part/models.py:511
+#: part/models.py:518 part/models.py:530
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:601
+#: part/models.py:620
msgid "Stock item with this serial number already exists"
msgstr ""
-#: part/models.py:732
+#: part/models.py:751
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:759 part/models.py:2573
+#: part/models.py:778 part/models.py:3186
msgid "Part name"
msgstr ""
-#: part/models.py:766
+#: part/models.py:785
msgid "Is Template"
msgstr ""
-#: part/models.py:767
+#: part/models.py:786
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:777
+#: part/models.py:796
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:778
+#: part/models.py:797
msgid "Variant Of"
msgstr ""
-#: part/models.py:784
+#: part/models.py:803
msgid "Part description"
msgstr ""
-#: part/models.py:789 part/templates/part/category.html:87
-#: part/templates/part/part_base.html:300
-msgid "Keywords"
-msgstr ""
-
-#: part/models.py:790
+#: part/models.py:809
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:797 part/models.py:2272 part/models.py:2516
+#: part/models.py:816 part/models.py:2885 part/models.py:3129
#: part/templates/part/part_base.html:263
#: templates/InvenTree/settings/settings.html:229
#: templates/js/translated/notification.js:50
-#: templates/js/translated/part.js:1480 templates/js/translated/part.js:1724
+#: templates/js/translated/part.js:1491 templates/js/translated/part.js:1748
msgid "Category"
msgstr ""
-#: part/models.py:798
+#: part/models.py:817
msgid "Part category"
msgstr ""
-#: part/models.py:803 part/templates/part/part_base.html:272
-#: templates/js/translated/part.js:737 templates/js/translated/part.js:1431
-#: templates/js/translated/stock.js:1726
-msgid "IPN"
-msgstr ""
-
-#: part/models.py:804
+#: part/models.py:823
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:810
+#: part/models.py:829
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:811 part/templates/part/part_base.html:279
-#: report/models.py:171 templates/js/translated/part.js:741
-msgid "Revision"
-msgstr ""
-
-#: part/models.py:836
+#: part/models.py:855
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:881 part/templates/part/part_base.html:354
+#: part/models.py:900 part/templates/part/part_base.html:369
msgid "Default Supplier"
msgstr ""
-#: part/models.py:882
+#: part/models.py:901
msgid "Default supplier part"
msgstr ""
-#: part/models.py:889
+#: part/models.py:908
msgid "Default Expiry"
msgstr ""
-#: part/models.py:890
+#: part/models.py:909
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:895 part/templates/part/part_base.html:206
-msgid "Minimum Stock"
-msgstr ""
-
-#: part/models.py:896
+#: part/models.py:915
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:903
+#: part/models.py:922
msgid "Stock keeping units for this part"
msgstr ""
-#: part/models.py:909
+#: part/models.py:928
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:915
+#: part/models.py:934
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:921
+#: part/models.py:940
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:926
+#: part/models.py:945
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:931
+#: part/models.py:950
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:936
+#: part/models.py:955
msgid "Is this part active?"
msgstr ""
-#: part/models.py:941
+#: part/models.py:960
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:943
+#: part/models.py:962
msgid "Part notes"
msgstr ""
-#: part/models.py:945
+#: part/models.py:964
msgid "BOM checksum"
msgstr ""
-#: part/models.py:945
+#: part/models.py:964
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:948
+#: part/models.py:967
msgid "BOM checked by"
msgstr ""
-#: part/models.py:950
+#: part/models.py:969
msgid "BOM checked date"
msgstr ""
-#: part/models.py:954
+#: part/models.py:973
msgid "Creation User"
msgstr ""
-#: part/models.py:1790
+#: part/models.py:1819
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2319
+#: part/models.py:2682
+msgid "Currency used to cache pricing calculations"
+msgstr ""
+
+#: part/models.py:2687
+msgid "Updated"
+msgstr ""
+
+#: part/models.py:2688
+msgid "Timestamp of last pricing update"
+msgstr ""
+
+#: part/models.py:2705
+msgid "Minimum BOM Cost"
+msgstr ""
+
+#: part/models.py:2706
+msgid "Minimum cost of component parts"
+msgstr ""
+
+#: part/models.py:2711
+msgid "Maximum BOM Cost"
+msgstr ""
+
+#: part/models.py:2712
+msgid "Maximum cost of component parts"
+msgstr ""
+
+#: part/models.py:2717
+msgid "Minimum Purchase Cost"
+msgstr ""
+
+#: part/models.py:2718
+msgid "Minimum historical purchase cost"
+msgstr ""
+
+#: part/models.py:2723
+msgid "Maximum Purchase Cost"
+msgstr ""
+
+#: part/models.py:2724
+msgid "Maximum historical purchase cost"
+msgstr ""
+
+#: part/models.py:2729
+msgid "Minimum Internal Price"
+msgstr ""
+
+#: part/models.py:2730
+msgid "Minimum cost based on internal price breaks"
+msgstr ""
+
+#: part/models.py:2735
+msgid "Maximum Internal Price"
+msgstr ""
+
+#: part/models.py:2736
+msgid "Maximum cost based on internal price breaks"
+msgstr ""
+
+#: part/models.py:2741
+msgid "Minimum Supplier Price"
+msgstr ""
+
+#: part/models.py:2742
+msgid "Minimum price of part from external suppliers"
+msgstr ""
+
+#: part/models.py:2747
+msgid "Maximum Supplier Price"
+msgstr ""
+
+#: part/models.py:2748
+msgid "Maximum price of part from external suppliers"
+msgstr ""
+
+#: part/models.py:2753
+msgid "Minimum Variant Cost"
+msgstr ""
+
+#: part/models.py:2754
+msgid "Calculated minimum cost of variant parts"
+msgstr ""
+
+#: part/models.py:2759
+msgid "Maximum Variant Cost"
+msgstr ""
+
+#: part/models.py:2760
+msgid "Calculated maximum cost of variant parts"
+msgstr ""
+
+#: part/models.py:2766
+msgid "Calculated overall minimum cost"
+msgstr ""
+
+#: part/models.py:2772
+msgid "Calculated overall maximum cost"
+msgstr ""
+
+#: part/models.py:2777
+msgid "Minimum Sale Price"
+msgstr ""
+
+#: part/models.py:2778
+msgid "Minimum sale price based on price breaks"
+msgstr ""
+
+#: part/models.py:2783
+msgid "Maximum Sale Price"
+msgstr ""
+
+#: part/models.py:2784
+msgid "Maximum sale price based on price breaks"
+msgstr ""
+
+#: part/models.py:2789
+msgid "Minimum Sale Cost"
+msgstr ""
+
+#: part/models.py:2790
+msgid "Minimum historical sale price"
+msgstr ""
+
+#: part/models.py:2795
+msgid "Maximum Sale Cost"
+msgstr ""
+
+#: part/models.py:2796
+msgid "Maximum historical sale price"
+msgstr ""
+
+#: part/models.py:2932
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:2336
+#: part/models.py:2949
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2356 templates/js/translated/part.js:2070
-#: templates/js/translated/stock.js:1340
+#: part/models.py:2969 templates/js/translated/part.js:2094
+#: templates/js/translated/stock.js:1359
msgid "Test Name"
msgstr ""
-#: part/models.py:2357
+#: part/models.py:2970
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2362
+#: part/models.py:2975
msgid "Test Description"
msgstr ""
-#: part/models.py:2363
+#: part/models.py:2976
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2368 templates/js/translated/part.js:2079
-#: templates/js/translated/table_filters.js:310
+#: part/models.py:2981 templates/js/translated/part.js:2103
+#: templates/js/translated/table_filters.js:314
msgid "Required"
msgstr ""
-#: part/models.py:2369
+#: part/models.py:2982
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2374 templates/js/translated/part.js:2087
+#: part/models.py:2987 templates/js/translated/part.js:2111
msgid "Requires Value"
msgstr ""
-#: part/models.py:2375
+#: part/models.py:2988
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2380 templates/js/translated/part.js:2094
+#: part/models.py:2993 templates/js/translated/part.js:2118
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2381
+#: part/models.py:2994
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:2422
+#: part/models.py:3035
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:2430
+#: part/models.py:3043
msgid "Parameter Name"
msgstr ""
-#: part/models.py:2434
+#: part/models.py:3047
msgid "Parameter Units"
msgstr ""
-#: part/models.py:2439
+#: part/models.py:3052
msgid "Parameter description"
msgstr ""
-#: part/models.py:2472
+#: part/models.py:3085
msgid "Parent Part"
msgstr ""
-#: part/models.py:2474 part/models.py:2522 part/models.py:2523
+#: part/models.py:3087 part/models.py:3135 part/models.py:3136
#: templates/InvenTree/settings/settings.html:224
msgid "Parameter Template"
msgstr ""
-#: part/models.py:2476
+#: part/models.py:3089
msgid "Data"
msgstr ""
-#: part/models.py:2476
+#: part/models.py:3089
msgid "Parameter Value"
msgstr ""
-#: part/models.py:2527 templates/InvenTree/settings/settings.html:233
+#: part/models.py:3140 templates/InvenTree/settings/settings.html:233
msgid "Default Value"
msgstr ""
-#: part/models.py:2528
+#: part/models.py:3141
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:2565
+#: part/models.py:3178
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:2568 templates/js/translated/model_renderers.js:212
-msgid "Part ID"
-msgstr ""
-
-#: part/models.py:2569
+#: part/models.py:3182
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:2572
-msgid "Part Name"
-msgstr ""
-
-#: part/models.py:2576
-msgid "Part IPN"
-msgstr ""
-
-#: part/models.py:2577
+#: part/models.py:3190
msgid "Part IPN value"
msgstr ""
-#: part/models.py:2580
+#: part/models.py:3193
msgid "Level"
msgstr ""
-#: part/models.py:2581
+#: part/models.py:3194
msgid "BOM level"
msgstr ""
-#: part/models.py:2650
+#: part/models.py:3263
msgid "Select parent part"
msgstr ""
-#: part/models.py:2658
+#: part/models.py:3271
msgid "Sub part"
msgstr ""
-#: part/models.py:2659
+#: part/models.py:3272
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:2665
+#: part/models.py:3278
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:2669 part/templates/part/upload_bom.html:58
-#: templates/js/translated/bom.js:924 templates/js/translated/bom.js:1024
+#: part/models.py:3282 part/templates/part/upload_bom.html:58
+#: templates/js/translated/bom.js:933 templates/js/translated/bom.js:986
#: templates/js/translated/build.js:1858
#: templates/js/translated/table_filters.js:84
-#: templates/js/translated/table_filters.js:108
+#: templates/js/translated/table_filters.js:112
msgid "Optional"
msgstr ""
-#: part/models.py:2670
+#: part/models.py:3283
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:2675 templates/js/translated/bom.js:920
-#: templates/js/translated/bom.js:1033 templates/js/translated/build.js:1849
+#: part/models.py:3288 templates/js/translated/bom.js:929
+#: templates/js/translated/bom.js:995 templates/js/translated/build.js:1849
#: templates/js/translated/table_filters.js:88
msgid "Consumable"
msgstr ""
-#: part/models.py:2676
+#: part/models.py:3289
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:2680 part/templates/part/upload_bom.html:55
+#: part/models.py:3293 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:2681
+#: part/models.py:3294
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:2684
+#: part/models.py:3297
msgid "BOM item reference"
msgstr ""
-#: part/models.py:2687
+#: part/models.py:3300
msgid "BOM item notes"
msgstr ""
-#: part/models.py:2689
+#: part/models.py:3302
msgid "Checksum"
msgstr ""
-#: part/models.py:2689
+#: part/models.py:3302
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:2693 part/templates/part/upload_bom.html:57
-#: templates/js/translated/bom.js:1050
+#: part/models.py:3306 part/templates/part/upload_bom.html:57
+#: templates/js/translated/bom.js:1012
#: templates/js/translated/table_filters.js:76
-#: templates/js/translated/table_filters.js:104
+#: templates/js/translated/table_filters.js:108
msgid "Inherited"
msgstr ""
-#: part/models.py:2694
+#: part/models.py:3307
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:2699 part/templates/part/upload_bom.html:56
-#: templates/js/translated/bom.js:1042
+#: part/models.py:3312 part/templates/part/upload_bom.html:56
+#: templates/js/translated/bom.js:1004
msgid "Allow Variants"
msgstr ""
-#: part/models.py:2700
+#: part/models.py:3313
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:2786 stock/models.py:502
+#: part/models.py:3399 stock/models.py:518
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:2795 part/models.py:2797
+#: part/models.py:3408 part/models.py:3410
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:2902
+#: part/models.py:3537
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:2923
+#: part/models.py:3558
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:2936
+#: part/models.py:3571
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:2944
+#: part/models.py:3579
msgid "Substitute part"
msgstr ""
-#: part/models.py:2959
+#: part/models.py:3594
msgid "Part 1"
msgstr ""
-#: part/models.py:2963
+#: part/models.py:3598
msgid "Part 2"
msgstr ""
-#: part/models.py:2963
+#: part/models.py:3598
msgid "Select Related Part"
msgstr ""
-#: part/models.py:2981
+#: part/models.py:3616
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:2985
+#: part/models.py:3620
msgid "Duplicate relationship already exists"
msgstr ""
-#: part/serializers.py:154 part/serializers.py:185 stock/serializers.py:179
+#: part/serializers.py:154 part/serializers.py:182 stock/serializers.py:183
msgid "Purchase currency of this stock item"
msgstr ""
-#: part/serializers.py:829
+#: part/serializers.py:542
+msgid "Update"
+msgstr ""
+
+#: part/serializers.py:543
+msgid "Update pricing for this part"
+msgstr ""
+
+#: part/serializers.py:853
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:837
+#: part/serializers.py:861
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:838
+#: part/serializers.py:862
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:843
+#: part/serializers.py:867
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:844
+#: part/serializers.py:868
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:849
+#: part/serializers.py:873
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:850
+#: part/serializers.py:874
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:855
+#: part/serializers.py:879
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:856
+#: part/serializers.py:880
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/serializers.py:896
+#: part/serializers.py:920
msgid "Clear Existing BOM"
msgstr ""
-#: part/serializers.py:897
+#: part/serializers.py:921
msgid "Delete existing BOM items before uploading"
msgstr ""
-#: part/serializers.py:927
+#: part/serializers.py:951
msgid "No part column specified"
msgstr ""
-#: part/serializers.py:970
+#: part/serializers.py:994
msgid "Multiple matching parts found"
msgstr ""
-#: part/serializers.py:973
+#: part/serializers.py:997
msgid "No matching part found"
msgstr ""
-#: part/serializers.py:976
+#: part/serializers.py:1000
msgid "Part is not designated as a component"
msgstr ""
-#: part/serializers.py:985
+#: part/serializers.py:1009
msgid "Quantity not provided"
msgstr ""
-#: part/serializers.py:993
+#: part/serializers.py:1017
msgid "Invalid quantity"
msgstr ""
-#: part/serializers.py:1014
+#: part/serializers.py:1038
msgid "At least one BOM item is required"
msgstr ""
-#: part/tasks.py:21
+#: part/tasks.py:25
msgid "Low stock notification"
msgstr ""
-#: part/tasks.py:22
+#: part/tasks.py:26
#, python-brace-format
msgid "The available stock for {part.name} has fallen below the configured minimum level"
msgstr ""
@@ -5034,7 +5293,7 @@ msgstr ""
msgid "The BOM for %(part)s has not been validated."
msgstr ""
-#: part/templates/part/bom.html:30 part/templates/part/detail.html:269
+#: part/templates/part/bom.html:30 part/templates/part/detail.html:267
msgid "BOM actions"
msgstr ""
@@ -5070,10 +5329,6 @@ msgstr ""
msgid "Delete Category"
msgstr ""
-#: part/templates/part/category.html:81 part/templates/part/category.html:94
-msgid "Category Path"
-msgstr ""
-
#: part/templates/part/category.html:95
msgid "Top level part category"
msgstr ""
@@ -5091,12 +5346,12 @@ msgstr ""
msgid "Create new part"
msgstr ""
-#: part/templates/part/category.html:159 templates/js/translated/bom.js:392
+#: part/templates/part/category.html:159 templates/js/translated/bom.js:405
msgid "New Part"
msgstr ""
-#: part/templates/part/category.html:169 part/templates/part/detail.html:368
-#: part/templates/part/detail.html:399
+#: part/templates/part/category.html:169 part/templates/part/detail.html:366
+#: part/templates/part/detail.html:397
msgid "Options"
msgstr ""
@@ -5144,7 +5399,7 @@ msgstr ""
msgid "Import Parts"
msgstr ""
-#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:379
+#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:393
msgid "Duplicate Part"
msgstr ""
@@ -5176,7 +5431,8 @@ msgstr ""
msgid "Refresh scheduling data"
msgstr ""
-#: part/templates/part/detail.html:45 templates/js/translated/tables.js:524
+#: part/templates/part/detail.html:45 part/templates/part/prices.html:15
+#: templates/js/translated/tables.js:524
msgid "Refresh"
msgstr ""
@@ -5192,123 +5448,103 @@ msgstr ""
msgid "Sales Order Allocations"
msgstr ""
-#: part/templates/part/detail.html:143
+#: part/templates/part/detail.html:141
msgid "Part Notes"
msgstr ""
-#: part/templates/part/detail.html:158
+#: part/templates/part/detail.html:156
msgid "Part Variants"
msgstr ""
-#: part/templates/part/detail.html:162
+#: part/templates/part/detail.html:160
msgid "Create new variant"
msgstr ""
-#: part/templates/part/detail.html:163
+#: part/templates/part/detail.html:161
msgid "New Variant"
msgstr ""
-#: part/templates/part/detail.html:190
+#: part/templates/part/detail.html:188
msgid "Add new parameter"
msgstr ""
-#: part/templates/part/detail.html:227 part/templates/part/part_sidebar.html:54
+#: part/templates/part/detail.html:225 part/templates/part/part_sidebar.html:52
msgid "Related Parts"
msgstr ""
-#: part/templates/part/detail.html:231 part/templates/part/detail.html:232
+#: part/templates/part/detail.html:229 part/templates/part/detail.html:230
msgid "Add Related"
msgstr ""
-#: part/templates/part/detail.html:252 part/templates/part/part_sidebar.html:17
+#: part/templates/part/detail.html:250 part/templates/part/part_sidebar.html:17
msgid "Bill of Materials"
msgstr ""
-#: part/templates/part/detail.html:257
+#: part/templates/part/detail.html:255
msgid "Export actions"
msgstr ""
-#: part/templates/part/detail.html:261 templates/js/translated/bom.js:309
+#: part/templates/part/detail.html:259 templates/js/translated/bom.js:309
msgid "Export BOM"
msgstr ""
-#: part/templates/part/detail.html:263
+#: part/templates/part/detail.html:261
msgid "Print BOM Report"
msgstr ""
-#: part/templates/part/detail.html:273
+#: part/templates/part/detail.html:271
msgid "Upload BOM"
msgstr ""
-#: part/templates/part/detail.html:274 templates/js/translated/part.js:274
+#: part/templates/part/detail.html:272 templates/js/translated/part.js:270
msgid "Copy BOM"
msgstr ""
-#: part/templates/part/detail.html:275
+#: part/templates/part/detail.html:273
msgid "Validate BOM"
msgstr ""
-#: part/templates/part/detail.html:280 part/templates/part/detail.html:281
-#: templates/js/translated/bom.js:1202 templates/js/translated/bom.js:1203
+#: part/templates/part/detail.html:278 part/templates/part/detail.html:279
+#: templates/js/translated/bom.js:1267 templates/js/translated/bom.js:1268
msgid "Add BOM Item"
msgstr ""
-#: part/templates/part/detail.html:294
+#: part/templates/part/detail.html:292
msgid "Assemblies"
msgstr ""
-#: part/templates/part/detail.html:312
+#: part/templates/part/detail.html:310
msgid "Part Builds"
msgstr ""
-#: part/templates/part/detail.html:339 stock/templates/stock/item.html:38
+#: part/templates/part/detail.html:337 stock/templates/stock/item.html:38
msgid "Build Order Allocations"
msgstr ""
-#: part/templates/part/detail.html:355
+#: part/templates/part/detail.html:353
msgid "Part Suppliers"
msgstr ""
-#: part/templates/part/detail.html:385
+#: part/templates/part/detail.html:383
msgid "Part Manufacturers"
msgstr ""
-#: part/templates/part/detail.html:401
+#: part/templates/part/detail.html:399
msgid "Delete manufacturer parts"
msgstr ""
-#: part/templates/part/detail.html:658
+#: part/templates/part/detail.html:656
msgid "Related Part"
msgstr ""
-#: part/templates/part/detail.html:666
+#: part/templates/part/detail.html:664
msgid "Add Related Part"
msgstr ""
-#: part/templates/part/detail.html:758
+#: part/templates/part/detail.html:756
msgid "Add Test Result Template"
msgstr ""
-#: part/templates/part/detail.html:901
-#, python-format
-msgid "Purchase Unit Price - %(currency)s"
-msgstr ""
-
-#: part/templates/part/detail.html:913
-#, python-format
-msgid "Unit Price-Cost Difference - %(currency)s"
-msgstr ""
-
-#: part/templates/part/detail.html:925
-#, python-format
-msgid "Supplier Unit Cost - %(currency)s"
-msgstr ""
-
-#: part/templates/part/detail.html:1014
-#, python-format
-msgid "Unit Price - %(currency)s"
-msgstr ""
-
#: part/templates/part/import_wizard/ajax_match_fields.html:9
#: templates/patterns/wizard/match_fields.html:8
msgid "Missing selections for the following required columns"
@@ -5439,15 +5675,15 @@ msgid "Part is virtual (not a physical part)"
msgstr ""
#: part/templates/part/part_base.html:148
-#: templates/js/translated/company.js:659
-#: templates/js/translated/company.js:920
+#: templates/js/translated/company.js:660
+#: templates/js/translated/company.js:921
#: templates/js/translated/model_renderers.js:204
-#: templates/js/translated/part.js:652 templates/js/translated/part.js:729
+#: templates/js/translated/part.js:666 templates/js/translated/part.js:743
msgid "Inactive"
msgstr ""
#: part/templates/part/part_base.html:165
-#: part/templates/part/part_base.html:620
+#: part/templates/part/part_base.html:635
msgid "Show Part Details"
msgstr ""
@@ -5456,12 +5692,6 @@ msgstr ""
msgid "This part is a variant of %(link)s"
msgstr ""
-#: part/templates/part/part_base.html:200
-#: templates/js/translated/company.js:1027
-#: templates/js/translated/table_filters.js:209
-msgid "In Stock"
-msgstr ""
-
#: part/templates/part/part_base.html:221
#: stock/templates/stock/item_base.html:382
msgid "Allocated to Build Orders"
@@ -5472,100 +5702,91 @@ msgstr ""
msgid "Allocated to Sales Orders"
msgstr ""
-#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1100
+#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1165
msgid "Can Build"
msgstr ""
-#: part/templates/part/part_base.html:244 templates/js/translated/part.js:591
-#: templates/js/translated/part.js:611 templates/js/translated/part.js:1342
-#: templates/js/translated/part.js:1533
-msgid "Building"
-msgstr ""
-
#: part/templates/part/part_base.html:293
msgid "Minimum stock level"
msgstr ""
-#: part/templates/part/part_base.html:330
+#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1032
+#: templates/js/translated/part.js:783 templates/js/translated/part.js:1582
+#: templates/js/translated/pricing.js:124
+#: templates/js/translated/pricing.js:757
+msgid "Price Range"
+msgstr ""
+
+#: part/templates/part/part_base.html:345
msgid "Latest Serial Number"
msgstr ""
-#: part/templates/part/part_base.html:334
+#: part/templates/part/part_base.html:349
#: stock/templates/stock/item_base.html:331
msgid "Search for serial number"
msgstr ""
-#: part/templates/part/part_base.html:431
+#: part/templates/part/part_base.html:446
msgid "Link Barcode to Part"
msgstr ""
-#: part/templates/part/part_base.html:477 part/templates/part/prices.html:149
+#: part/templates/part/part_base.html:492
msgid "Calculate"
msgstr ""
-#: part/templates/part/part_base.html:520
+#: part/templates/part/part_base.html:535
msgid "No matching images found"
msgstr ""
-#: part/templates/part/part_base.html:614
+#: part/templates/part/part_base.html:629
msgid "Hide Part Details"
msgstr ""
-#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:24
+#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:78
+#: part/templates/part/prices.html:238 templates/js/translated/pricing.js:218
msgid "Supplier Pricing"
msgstr ""
#: part/templates/part/part_pricing.html:26
#: part/templates/part/part_pricing.html:52
-#: part/templates/part/part_pricing.html:103
-#: part/templates/part/part_pricing.html:118 part/templates/part/prices.html:28
-#: part/templates/part/prices.html:55 part/templates/part/prices.html:108
-#: part/templates/part/prices.html:125
+#: part/templates/part/part_pricing.html:95
+#: part/templates/part/part_pricing.html:110
msgid "Unit Cost"
msgstr ""
#: part/templates/part/part_pricing.html:32
#: part/templates/part/part_pricing.html:58
-#: part/templates/part/part_pricing.html:107
-#: part/templates/part/part_pricing.html:122 part/templates/part/prices.html:35
-#: part/templates/part/prices.html:62 part/templates/part/prices.html:113
-#: part/templates/part/prices.html:130
+#: part/templates/part/part_pricing.html:99
+#: part/templates/part/part_pricing.html:114
msgid "Total Cost"
msgstr ""
-#: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:43
-#: templates/js/translated/bom.js:1091
+#: part/templates/part/part_pricing.html:40
msgid "No supplier pricing available"
msgstr ""
-#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:52
-#: part/templates/part/prices.html:248
+#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:94
+#: part/templates/part/prices.html:262
msgid "BOM Pricing"
msgstr ""
-#: part/templates/part/part_pricing.html:66 part/templates/part/prices.html:72
+#: part/templates/part/part_pricing.html:66
msgid "Unit Purchase Price"
msgstr ""
-#: part/templates/part/part_pricing.html:72 part/templates/part/prices.html:79
+#: part/templates/part/part_pricing.html:72
msgid "Total Purchase Price"
msgstr ""
-#: part/templates/part/part_pricing.html:82 part/templates/part/prices.html:89
-msgid "Note: BOM pricing is incomplete for this part"
-msgstr ""
-
-#: part/templates/part/part_pricing.html:91 part/templates/part/prices.html:98
+#: part/templates/part/part_pricing.html:83
msgid "No BOM pricing available"
msgstr ""
-#: part/templates/part/part_pricing.html:100
-#: part/templates/part/prices.html:107
+#: part/templates/part/part_pricing.html:92
msgid "Internal Price"
msgstr ""
-#: part/templates/part/part_pricing.html:131
-#: part/templates/part/prices.html:139
+#: part/templates/part/part_pricing.html:123
msgid "No pricing information is available for this part."
msgstr ""
@@ -5573,7 +5794,8 @@ msgstr ""
#: report/templates/report/inventree_test_report_base.html:97
#: templates/InvenTree/settings/plugin.html:63
#: templates/InvenTree/settings/plugin_settings.html:38
-#: templates/js/translated/order.js:2001 templates/js/translated/stock.js:2478
+#: templates/js/translated/order.js:2035 templates/js/translated/pricing.js:537
+#: templates/js/translated/pricing.js:658 templates/js/translated/stock.js:2496
msgid "Date"
msgstr ""
@@ -5585,15 +5807,11 @@ msgstr ""
msgid "Variants"
msgstr ""
-#: part/templates/part/part_sidebar.html:27
-msgid "Used In"
-msgstr ""
-
-#: part/templates/part/part_sidebar.html:46
+#: part/templates/part/part_sidebar.html:44
msgid "Scheduling"
msgstr ""
-#: part/templates/part/part_sidebar.html:50
+#: part/templates/part/part_sidebar.html:48
msgid "Test Templates"
msgstr ""
@@ -5601,74 +5819,82 @@ msgstr ""
msgid "Select from existing images"
msgstr ""
-#: part/templates/part/prices.html:19
-msgid "Pricing ranges"
+#: part/templates/part/prices.html:11
+msgid "Pricing Overview"
msgstr ""
-#: part/templates/part/prices.html:25
-msgid "Show supplier cost"
+#: part/templates/part/prices.html:14
+msgid "Refresh Part Pricing"
msgstr ""
-#: part/templates/part/prices.html:26
-msgid "Show purchase price"
+#: part/templates/part/prices.html:25 stock/admin.py:106
+#: stock/templates/stock/item_base.html:440
+#: templates/js/translated/company.js:1039
+#: templates/js/translated/stock.js:1920
+msgid "Last Updated"
msgstr ""
-#: part/templates/part/prices.html:53
-msgid "Show BOM cost"
+#: part/templates/part/prices.html:34 part/templates/part/prices.html:126
+msgid "Price Category"
msgstr ""
-#: part/templates/part/prices.html:122
-msgid "Show sale cost"
+#: part/templates/part/prices.html:35 part/templates/part/prices.html:127
+msgid "Minimum"
msgstr ""
-#: part/templates/part/prices.html:123
-msgid "Show sale price"
+#: part/templates/part/prices.html:36 part/templates/part/prices.html:128
+msgid "Maximum"
msgstr ""
-#: part/templates/part/prices.html:145
-msgid "Calculation parameters"
+#: part/templates/part/prices.html:49 part/templates/part/prices.html:185
+msgid "Internal Pricing"
msgstr ""
-#: part/templates/part/prices.html:160 templates/js/translated/bom.js:1085
-msgid "Supplier Cost"
+#: part/templates/part/prices.html:64 part/templates/part/prices.html:217
+msgid "Purchase History"
msgstr ""
-#: part/templates/part/prices.html:161 part/templates/part/prices.html:182
-#: part/templates/part/prices.html:206 part/templates/part/prices.html:236
-#: part/templates/part/prices.html:262 part/templates/part/prices.html:291
+#: part/templates/part/prices.html:103 part/templates/part/prices.html:286
+msgid "Variant Pricing"
+msgstr ""
+
+#: part/templates/part/prices.html:111
+msgid "Overall Pricing"
+msgstr ""
+
+#: part/templates/part/prices.html:155 part/templates/part/prices.html:338
+msgid "Sale History"
+msgstr ""
+
+#: part/templates/part/prices.html:168
+msgid "Sale price data is not available for this part"
+msgstr ""
+
+#: part/templates/part/prices.html:175
+msgid "Price range data is not available for this part."
+msgstr ""
+
+#: part/templates/part/prices.html:186 part/templates/part/prices.html:218
+#: part/templates/part/prices.html:239 part/templates/part/prices.html:263
+#: part/templates/part/prices.html:287 part/templates/part/prices.html:310
+#: part/templates/part/prices.html:339
msgid "Jump to overview"
msgstr ""
-#: part/templates/part/prices.html:186
-msgid "Stock Pricing"
-msgstr ""
-
-#: part/templates/part/prices.html:195
-msgid "No stock pricing history is available for this part."
-msgstr ""
-
-#: part/templates/part/prices.html:205
-msgid "Internal Cost"
-msgstr ""
-
-#: part/templates/part/prices.html:220
+#: part/templates/part/prices.html:191
msgid "Add Internal Price Break"
msgstr ""
-#: part/templates/part/prices.html:235
-msgid "BOM Cost"
+#: part/templates/part/prices.html:309
+msgid "Sale Pricing"
msgstr ""
-#: part/templates/part/prices.html:261
-msgid "Sale Cost"
+#: part/templates/part/prices.html:315
+msgid "Add Sell Price Break"
msgstr ""
-#: part/templates/part/prices.html:302
-msgid "No sale pice history available for this part."
-msgstr ""
-
-#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:614
-#: templates/js/translated/part.js:1330 templates/js/translated/part.js:1332
+#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:628
+#: templates/js/translated/part.js:1351 templates/js/translated/part.js:1353
msgid "No Stock"
msgstr ""
@@ -5722,40 +5948,36 @@ msgstr ""
msgid "Create a new variant of template '%(full_name)s'."
msgstr ""
-#: part/templatetags/inventree_extras.py:177
+#: part/templatetags/inventree_extras.py:210
msgid "Unknown database"
msgstr ""
-#: part/templatetags/inventree_extras.py:229
+#: part/templatetags/inventree_extras.py:262
#, python-brace-format
msgid "{title} v{version}"
msgstr ""
-#: part/views.py:114
+#: part/views.py:109
msgid "Match References"
msgstr ""
-#: part/views.py:415
-msgid "None"
-msgstr ""
-
-#: part/views.py:477
+#: part/views.py:354
msgid "Part QR Code"
msgstr ""
-#: part/views.py:495
+#: part/views.py:372
msgid "Select Part Image"
msgstr ""
-#: part/views.py:521
+#: part/views.py:398
msgid "Updated part image"
msgstr ""
-#: part/views.py:524
+#: part/views.py:401
msgid "Part image not found"
msgstr ""
-#: part/views.py:613
+#: part/views.py:493
msgid "Part Pricing"
msgstr ""
@@ -6070,12 +6292,12 @@ msgid "Stock Item Test Report"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:79
-#: stock/models.py:650 stock/templates/stock/item_base.html:320
+#: stock/models.py:666 stock/templates/stock/item_base.html:320
#: templates/js/translated/build.js:472 templates/js/translated/build.js:624
#: templates/js/translated/build.js:1234 templates/js/translated/build.js:1735
#: templates/js/translated/model_renderers.js:118
-#: templates/js/translated/order.js:121 templates/js/translated/order.js:3592
-#: templates/js/translated/order.js:3679 templates/js/translated/stock.js:490
+#: templates/js/translated/order.js:121 templates/js/translated/order.js:3603
+#: templates/js/translated/order.js:3690 templates/js/translated/stock.js:509
msgid "Serial Number"
msgstr ""
@@ -6084,12 +6306,12 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:93
-#: stock/models.py:2085
+#: stock/models.py:2101
msgid "Test"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:94
-#: stock/models.py:2091
+#: stock/models.py:2107
msgid "Result"
msgstr ""
@@ -6107,383 +6329,435 @@ msgid "Installed Items"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:137
-#: templates/js/translated/stock.js:610 templates/js/translated/stock.js:780
-#: templates/js/translated/stock.js:2727
+#: stock/admin.py:87 templates/js/translated/stock.js:629
+#: templates/js/translated/stock.js:799 templates/js/translated/stock.js:2745
msgid "Serial"
msgstr ""
-#: stock/api.py:529
+#: stock/admin.py:23 stock/admin.py:90
+#: templates/js/translated/model_renderers.js:159
+msgid "Location ID"
+msgstr ""
+
+#: stock/admin.py:24 stock/admin.py:91
+msgid "Location Name"
+msgstr ""
+
+#: stock/admin.py:28 stock/templates/stock/location.html:123
+#: stock/templates/stock/location.html:129
+msgid "Location Path"
+msgstr ""
+
+#: stock/admin.py:83
+msgid "Stock Item ID"
+msgstr ""
+
+#: stock/admin.py:92 templates/js/translated/model_renderers.js:418
+msgid "Supplier Part ID"
+msgstr ""
+
+#: stock/admin.py:93
+msgid "Supplier ID"
+msgstr ""
+
+#: stock/admin.py:94
+msgid "Supplier Name"
+msgstr ""
+
+#: stock/admin.py:95
+msgid "Customer ID"
+msgstr ""
+
+#: stock/admin.py:96 stock/models.py:649
+#: stock/templates/stock/item_base.html:359
+msgid "Installed In"
+msgstr ""
+
+#: stock/admin.py:97 templates/js/translated/model_renderers.js:177
+msgid "Build ID"
+msgstr ""
+
+#: stock/admin.py:99
+msgid "Sales Order ID"
+msgstr ""
+
+#: stock/admin.py:100
+msgid "Purchase Order ID"
+msgstr ""
+
+#: stock/admin.py:107 templates/js/translated/stock.js:1890
+msgid "Stocktake"
+msgstr ""
+
+#: stock/admin.py:108 stock/models.py:724
+#: stock/templates/stock/item_base.html:427
+#: templates/js/translated/stock.js:1904
+msgid "Expiry Date"
+msgstr ""
+
+#: stock/api.py:539
msgid "Quantity is required"
msgstr ""
-#: stock/api.py:536
+#: stock/api.py:546
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:561
+#: stock/api.py:571
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/models.py:90 stock/models.py:746
+#: stock/models.py:106 stock/models.py:762
#: stock/templates/stock/item_base.html:250
msgid "Owner"
msgstr ""
-#: stock/models.py:91 stock/models.py:747
+#: stock/models.py:107 stock/models.py:763
msgid "Select Owner"
msgstr ""
-#: stock/models.py:508 stock/serializers.py:93
+#: stock/models.py:524 stock/serializers.py:97
msgid "Stock item cannot be created for virtual parts"
msgstr ""
-#: stock/models.py:525
+#: stock/models.py:541
#, python-brace-format
msgid "Part type ('{pf}') must be {pe}"
msgstr ""
-#: stock/models.py:535 stock/models.py:544
+#: stock/models.py:551 stock/models.py:560
msgid "Quantity must be 1 for item with a serial number"
msgstr ""
-#: stock/models.py:536
+#: stock/models.py:552
msgid "Serial number cannot be set if quantity greater than 1"
msgstr ""
-#: stock/models.py:558
+#: stock/models.py:574
msgid "Item cannot belong to itself"
msgstr ""
-#: stock/models.py:564
+#: stock/models.py:580
msgid "Item must have a build reference if is_building=True"
msgstr ""
-#: stock/models.py:578
+#: stock/models.py:594
msgid "Build reference does not point to the same part object"
msgstr ""
-#: stock/models.py:592
+#: stock/models.py:608
msgid "Parent Stock Item"
msgstr ""
-#: stock/models.py:602
+#: stock/models.py:618
msgid "Base part"
msgstr ""
-#: stock/models.py:610
+#: stock/models.py:626
msgid "Select a matching supplier part for this stock item"
msgstr ""
-#: stock/models.py:617 stock/templates/stock/location.html:17
+#: stock/models.py:633 stock/templates/stock/location.html:17
#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
msgstr ""
-#: stock/models.py:620
+#: stock/models.py:636
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:627
+#: stock/models.py:643
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:633 stock/templates/stock/item_base.html:359
-msgid "Installed In"
-msgstr ""
-
-#: stock/models.py:636
+#: stock/models.py:652
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:652
+#: stock/models.py:668
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:666
+#: stock/models.py:682
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:671
+#: stock/models.py:687
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:680
+#: stock/models.py:696
msgid "Source Build"
msgstr ""
-#: stock/models.py:682
+#: stock/models.py:698
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:693
+#: stock/models.py:709
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:696
+#: stock/models.py:712
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:702
+#: stock/models.py:718
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:708 stock/templates/stock/item_base.html:427
-#: templates/js/translated/stock.js:1885
-msgid "Expiry Date"
-msgstr ""
-
-#: stock/models.py:709
+#: stock/models.py:725
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:722
+#: stock/models.py:738
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:722
+#: stock/models.py:738
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:734 stock/templates/stock/item.html:132
+#: stock/models.py:750 stock/templates/stock/item.html:132
msgid "Stock Item Notes"
msgstr ""
-#: stock/models.py:742
+#: stock/models.py:758
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:770
+#: stock/models.py:786
msgid "Converted to part"
msgstr ""
-#: stock/models.py:1244
+#: stock/models.py:1260
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1250
+#: stock/models.py:1266
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1256
+#: stock/models.py:1272
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr ""
-#: stock/models.py:1259
+#: stock/models.py:1275
msgid "Serial numbers must be a list of integers"
msgstr ""
-#: stock/models.py:1262
+#: stock/models.py:1278
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1269
+#: stock/models.py:1285
#, python-brace-format
msgid "Serial numbers already exist: {exists}"
msgstr ""
-#: stock/models.py:1339
+#: stock/models.py:1355
msgid "Stock item has been assigned to a sales order"
msgstr ""
-#: stock/models.py:1342
+#: stock/models.py:1358
msgid "Stock item is installed in another item"
msgstr ""
-#: stock/models.py:1345
+#: stock/models.py:1361
msgid "Stock item contains other items"
msgstr ""
-#: stock/models.py:1348
+#: stock/models.py:1364
msgid "Stock item has been assigned to a customer"
msgstr ""
-#: stock/models.py:1351
+#: stock/models.py:1367
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:1354
+#: stock/models.py:1370
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1361 stock/serializers.py:963
+#: stock/models.py:1377 stock/serializers.py:962
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:1365
+#: stock/models.py:1381
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:1369
+#: stock/models.py:1385
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:1373
+#: stock/models.py:1389
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:1542
+#: stock/models.py:1558
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:2003
+#: stock/models.py:2019
msgid "Entry notes"
msgstr ""
-#: stock/models.py:2061
+#: stock/models.py:2077
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:2067
+#: stock/models.py:2083
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:2086
+#: stock/models.py:2102
msgid "Test name"
msgstr ""
-#: stock/models.py:2092
+#: stock/models.py:2108
msgid "Test result"
msgstr ""
-#: stock/models.py:2098
+#: stock/models.py:2114
msgid "Test output value"
msgstr ""
-#: stock/models.py:2105
+#: stock/models.py:2121
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2111
+#: stock/models.py:2127
msgid "Test notes"
msgstr ""
-#: stock/serializers.py:71
+#: stock/serializers.py:75
msgid "Serial number is too large"
msgstr ""
-#: stock/serializers.py:172
+#: stock/serializers.py:176
msgid "Purchase price of this stock item"
msgstr ""
-#: stock/serializers.py:292
+#: stock/serializers.py:286
msgid "Enter number of stock items to serialize"
msgstr ""
-#: stock/serializers.py:304
+#: stock/serializers.py:298
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({q})"
msgstr ""
-#: stock/serializers.py:310
+#: stock/serializers.py:304
msgid "Enter serial numbers for new items"
msgstr ""
-#: stock/serializers.py:321 stock/serializers.py:920 stock/serializers.py:1153
+#: stock/serializers.py:315 stock/serializers.py:919 stock/serializers.py:1152
msgid "Destination stock location"
msgstr ""
-#: stock/serializers.py:328
+#: stock/serializers.py:322
msgid "Optional note field"
msgstr ""
-#: stock/serializers.py:338
+#: stock/serializers.py:332
msgid "Serial numbers cannot be assigned to this part"
msgstr ""
-#: stock/serializers.py:359
+#: stock/serializers.py:353
msgid "Serial numbers already exist"
msgstr ""
-#: stock/serializers.py:399
+#: stock/serializers.py:393
msgid "Select stock item to install"
msgstr ""
-#: stock/serializers.py:412
+#: stock/serializers.py:406
msgid "Stock item is unavailable"
msgstr ""
-#: stock/serializers.py:419
+#: stock/serializers.py:413
msgid "Selected part is not in the Bill of Materials"
msgstr ""
-#: stock/serializers.py:456
+#: stock/serializers.py:450
msgid "Destination location for uninstalled item"
msgstr ""
-#: stock/serializers.py:461 stock/serializers.py:542
+#: stock/serializers.py:455 stock/serializers.py:536
msgid "Add transaction note (optional)"
msgstr ""
-#: stock/serializers.py:495
+#: stock/serializers.py:489
msgid "Select part to convert stock item into"
msgstr ""
-#: stock/serializers.py:506
+#: stock/serializers.py:500
msgid "Selected part is not a valid option for conversion"
msgstr ""
-#: stock/serializers.py:537
+#: stock/serializers.py:531
msgid "Destination location for returned item"
msgstr ""
-#: stock/serializers.py:775
+#: stock/serializers.py:774
msgid "Part must be salable"
msgstr ""
-#: stock/serializers.py:779
+#: stock/serializers.py:778
msgid "Item is allocated to a sales order"
msgstr ""
-#: stock/serializers.py:783
+#: stock/serializers.py:782
msgid "Item is allocated to a build order"
msgstr ""
-#: stock/serializers.py:814
+#: stock/serializers.py:813
msgid "Customer to assign stock items"
msgstr ""
-#: stock/serializers.py:820
+#: stock/serializers.py:819
msgid "Selected company is not a customer"
msgstr ""
-#: stock/serializers.py:828
+#: stock/serializers.py:827
msgid "Stock assignment notes"
msgstr ""
-#: stock/serializers.py:838 stock/serializers.py:1069
+#: stock/serializers.py:837 stock/serializers.py:1068
msgid "A list of stock items must be provided"
msgstr ""
-#: stock/serializers.py:927
+#: stock/serializers.py:926
msgid "Stock merging notes"
msgstr ""
-#: stock/serializers.py:932
+#: stock/serializers.py:931
msgid "Allow mismatched suppliers"
msgstr ""
-#: stock/serializers.py:933
+#: stock/serializers.py:932
msgid "Allow stock items with different supplier parts to be merged"
msgstr ""
-#: stock/serializers.py:938
+#: stock/serializers.py:937
msgid "Allow mismatched status"
msgstr ""
-#: stock/serializers.py:939
+#: stock/serializers.py:938
msgid "Allow stock items with different status codes to be merged"
msgstr ""
-#: stock/serializers.py:949
+#: stock/serializers.py:948
msgid "At least two stock items must be provided"
msgstr ""
-#: stock/serializers.py:1031
+#: stock/serializers.py:1030
msgid "StockItem primary key value"
msgstr ""
-#: stock/serializers.py:1059
+#: stock/serializers.py:1058
msgid "Stock transaction notes"
msgstr ""
@@ -6520,7 +6794,7 @@ msgstr ""
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2871
+#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2889
msgid "Install Stock Item"
msgstr ""
@@ -6528,7 +6802,7 @@ msgstr ""
msgid "Delete all test results for this stock item"
msgstr ""
-#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1522
+#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1541
msgid "Add Test Result"
msgstr ""
@@ -6687,7 +6961,7 @@ msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:431
-#: templates/js/translated/table_filters.js:277
+#: templates/js/translated/table_filters.js:281
msgid "Expired"
msgstr ""
@@ -6697,16 +6971,10 @@ msgid "This StockItem expires on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/table_filters.js:283
+#: templates/js/translated/table_filters.js:287
msgid "Stale"
msgstr ""
-#: stock/templates/stock/item_base.html:440
-#: templates/js/translated/company.js:1038
-#: templates/js/translated/stock.js:1901
-msgid "Last Updated"
-msgstr ""
-
#: stock/templates/stock/item_base.html:445
msgid "Last Stocktake"
msgstr ""
@@ -6783,11 +7051,6 @@ msgstr ""
msgid "Delete location"
msgstr ""
-#: stock/templates/stock/location.html:123
-#: stock/templates/stock/location.html:129
-msgid "Location Path"
-msgstr ""
-
#: stock/templates/stock/location.html:130
msgid "Top level stock location"
msgstr ""
@@ -6960,6 +7223,14 @@ msgstr ""
msgid "Overdue Sales Orders"
msgstr ""
+#: templates/InvenTree/index.html:312
+msgid "InvenTree News"
+msgstr ""
+
+#: templates/InvenTree/index.html:314
+msgid "Current News"
+msgstr ""
+
#: templates/InvenTree/notifications/history.html:9
msgid "Notification History"
msgstr ""
@@ -7026,30 +7297,6 @@ msgstr ""
msgid "Category Settings"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:8
-msgid "Currency Settings"
-msgstr ""
-
-#: templates/InvenTree/settings/currencies.html:19
-msgid "Base Currency"
-msgstr ""
-
-#: templates/InvenTree/settings/currencies.html:24
-msgid "Exchange Rates"
-msgstr ""
-
-#: templates/InvenTree/settings/currencies.html:38
-msgid "Last Update"
-msgstr ""
-
-#: templates/InvenTree/settings/currencies.html:44
-msgid "Never"
-msgstr ""
-
-#: templates/InvenTree/settings/currencies.html:49
-msgid "Update Now"
-msgstr ""
-
#: templates/InvenTree/settings/global.html:9
msgid "Server Settings"
msgstr ""
@@ -7090,15 +7337,15 @@ msgstr ""
msgid "Part Settings"
msgstr ""
-#: templates/InvenTree/settings/part.html:46
+#: templates/InvenTree/settings/part.html:40
msgid "Part Import"
msgstr ""
-#: templates/InvenTree/settings/part.html:50
+#: templates/InvenTree/settings/part.html:44
msgid "Import Part"
msgstr ""
-#: templates/InvenTree/settings/part.html:64
+#: templates/InvenTree/settings/part.html:58
msgid "Part Parameter Templates"
msgstr ""
@@ -7125,11 +7372,6 @@ msgstr ""
msgid "External plugins are not enabled for this InvenTree installation"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:62
-#: templates/InvenTree/settings/plugin_settings.html:33
-msgid "Author"
-msgstr ""
-
#: templates/InvenTree/settings/plugin.html:64
#: templates/InvenTree/settings/plugin_settings.html:43
msgid "Version"
@@ -7239,6 +7481,39 @@ msgstr ""
msgid "Purchase Order Settings"
msgstr ""
+#: templates/InvenTree/settings/pricing.html:7
+msgid "Pricing Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:24
+msgid "Currency Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:30
+msgid "Update Now"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:39
+#: templates/InvenTree/settings/pricing.html:43
+msgid "Last Update"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:43
+msgid "Never"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:53
+msgid "Base Currency"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:58
+msgid "Exchange Rates"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:60
+msgid "Rate"
+msgstr ""
+
#: templates/InvenTree/settings/report.html:8
#: templates/InvenTree/settings/user_reports.html:9
msgid "Report Settings"
@@ -7295,6 +7570,7 @@ msgid "No part parameter templates found"
msgstr ""
#: templates/InvenTree/settings/settings.html:338
+#: templates/js/translated/news.js:28
#: templates/js/translated/notification.js:36
msgid "ID"
msgstr ""
@@ -7357,10 +7633,6 @@ msgstr ""
msgid "Server Configuration"
msgstr ""
-#: templates/InvenTree/settings/sidebar.html:35
-msgid "Currencies"
-msgstr ""
-
#: templates/InvenTree/settings/sidebar.html:43
msgid "Categories"
msgstr ""
@@ -7380,7 +7652,7 @@ msgid "Change Password"
msgstr ""
#: templates/InvenTree/settings/user.html:23
-#: templates/js/translated/helpers.js:31 templates/notes_buttons.html:3
+#: templates/js/translated/helpers.js:33 templates/notes_buttons.html:3
#: templates/notes_buttons.html:4
msgid "Edit"
msgstr ""
@@ -7890,7 +8162,7 @@ msgid "The following parts are low on required stock"
msgstr ""
#: templates/email/build_order_required_stock.html:18
-#: templates/js/translated/bom.js:1566
+#: templates/js/translated/bom.js:1629
msgid "Required Quantity"
msgstr ""
@@ -7904,7 +8176,7 @@ msgid "Click on the following link to view this part"
msgstr ""
#: templates/email/low_stock_notification.html:19
-#: templates/js/translated/part.js:2566
+#: templates/js/translated/part.js:2423
msgid "Minimum Quantity"
msgstr ""
@@ -8057,7 +8329,7 @@ msgstr ""
msgid "Unlink"
msgstr ""
-#: templates/js/translated/barcode.js:500 templates/js/translated/stock.js:1054
+#: templates/js/translated/barcode.js:500 templates/js/translated/stock.js:1073
msgid "Remove stock item"
msgstr ""
@@ -8127,10 +8399,10 @@ msgstr ""
msgid "Row Data"
msgstr ""
-#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:646
+#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:659
#: templates/js/translated/modals.js:56 templates/js/translated/modals.js:601
#: templates/js/translated/modals.js:695 templates/js/translated/modals.js:1003
-#: templates/js/translated/order.js:1179 templates/modals.html:15
+#: templates/js/translated/order.js:1213 templates/modals.html:15
#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50
msgid "Close"
msgstr ""
@@ -8140,12 +8412,12 @@ msgid "Download BOM Template"
msgstr ""
#: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312
-#: templates/js/translated/order.js:960 templates/js/translated/tables.js:145
+#: templates/js/translated/order.js:994 templates/js/translated/tables.js:145
msgid "Format"
msgstr ""
#: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313
-#: templates/js/translated/order.js:961
+#: templates/js/translated/order.js:995
msgid "Select file format"
msgstr ""
@@ -8197,118 +8469,130 @@ msgstr ""
msgid "Include part supplier data in exported BOM"
msgstr ""
-#: templates/js/translated/bom.js:537
+#: templates/js/translated/bom.js:358
+msgid "Include Pricing Data"
+msgstr ""
+
+#: templates/js/translated/bom.js:359
+msgid "Include part pricing data in exported BOM"
+msgstr ""
+
+#: templates/js/translated/bom.js:550
msgid "Remove substitute part"
msgstr ""
-#: templates/js/translated/bom.js:591
+#: templates/js/translated/bom.js:604
msgid "Select and add a new substitute part using the input below"
msgstr ""
-#: templates/js/translated/bom.js:602
+#: templates/js/translated/bom.js:615
msgid "Are you sure you wish to remove this substitute part link?"
msgstr ""
-#: templates/js/translated/bom.js:608
+#: templates/js/translated/bom.js:621
msgid "Remove Substitute Part"
msgstr ""
-#: templates/js/translated/bom.js:647
+#: templates/js/translated/bom.js:660
msgid "Add Substitute"
msgstr ""
-#: templates/js/translated/bom.js:648
+#: templates/js/translated/bom.js:661
msgid "Edit BOM Item Substitutes"
msgstr ""
-#: templates/js/translated/bom.js:710
+#: templates/js/translated/bom.js:723
msgid "All selected BOM items will be deleted"
msgstr ""
-#: templates/js/translated/bom.js:726
+#: templates/js/translated/bom.js:739
msgid "Delete selected BOM items?"
msgstr ""
-#: templates/js/translated/bom.js:860
+#: templates/js/translated/bom.js:868
msgid "Load BOM for subassembly"
msgstr ""
-#: templates/js/translated/bom.js:870
+#: templates/js/translated/bom.js:878
msgid "Substitutes Available"
msgstr ""
-#: templates/js/translated/bom.js:874 templates/js/translated/build.js:1835
+#: templates/js/translated/bom.js:882 templates/js/translated/build.js:1835
msgid "Variant stock allowed"
msgstr ""
-#: templates/js/translated/bom.js:983 templates/js/translated/build.js:1907
-#: templates/js/translated/order.js:3927
-msgid "No Stock Available"
-msgstr ""
-
-#: templates/js/translated/bom.js:988 templates/js/translated/build.js:1911
-msgid "Includes variant and substitute stock"
-msgstr ""
-
-#: templates/js/translated/bom.js:990 templates/js/translated/build.js:1913
-#: templates/js/translated/part.js:761 templates/js/translated/part.js:1539
-msgid "Includes variant stock"
-msgstr ""
-
-#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1915
-msgid "Includes substitute stock"
-msgstr ""
-
-#: templates/js/translated/bom.js:1010
+#: templates/js/translated/bom.js:972
msgid "Substitutes"
msgstr ""
-#: templates/js/translated/bom.js:1061 templates/js/translated/bom.js:1195
+#: templates/js/translated/bom.js:1023 templates/js/translated/bom.js:1260
msgid "View BOM"
msgstr ""
-#: templates/js/translated/bom.js:1071
-msgid "Purchase Price Range"
+#: templates/js/translated/bom.js:1094
+msgid "BOM pricing is complete"
msgstr ""
-#: templates/js/translated/bom.js:1078
-msgid "Purchase Price Average"
+#: templates/js/translated/bom.js:1099
+msgid "BOM pricing is incomplete"
msgstr ""
-#: templates/js/translated/bom.js:1106 templates/js/translated/build.js:1898
+#: templates/js/translated/bom.js:1106
+msgid "No pricing available"
+msgstr ""
+
+#: templates/js/translated/bom.js:1137 templates/js/translated/build.js:1907
+#: templates/js/translated/order.js:3924
+msgid "No Stock Available"
+msgstr ""
+
+#: templates/js/translated/bom.js:1142 templates/js/translated/build.js:1911
+msgid "Includes variant and substitute stock"
+msgstr ""
+
+#: templates/js/translated/bom.js:1144 templates/js/translated/build.js:1913
+#: templates/js/translated/part.js:775 templates/js/translated/part.js:1550
+msgid "Includes variant stock"
+msgstr ""
+
+#: templates/js/translated/bom.js:1146 templates/js/translated/build.js:1915
+msgid "Includes substitute stock"
+msgstr ""
+
+#: templates/js/translated/bom.js:1171 templates/js/translated/build.js:1898
#: templates/js/translated/build.js:1985
msgid "Consumable item"
msgstr ""
-#: templates/js/translated/bom.js:1166
+#: templates/js/translated/bom.js:1231
msgid "Validate BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1168
+#: templates/js/translated/bom.js:1233
msgid "This line has been validated"
msgstr ""
-#: templates/js/translated/bom.js:1170
+#: templates/js/translated/bom.js:1235
msgid "Edit substitute parts"
msgstr ""
-#: templates/js/translated/bom.js:1172 templates/js/translated/bom.js:1369
+#: templates/js/translated/bom.js:1237 templates/js/translated/bom.js:1433
msgid "Edit BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1174
+#: templates/js/translated/bom.js:1239
msgid "Delete BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1280 templates/js/translated/build.js:1679
+#: templates/js/translated/bom.js:1344 templates/js/translated/build.js:1679
msgid "No BOM items found"
msgstr ""
-#: templates/js/translated/bom.js:1549 templates/js/translated/build.js:1818
+#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1818
msgid "Required Part"
msgstr ""
-#: templates/js/translated/bom.js:1575
+#: templates/js/translated/bom.js:1638
msgid "Inherited from parent BOM"
msgstr ""
@@ -8353,12 +8637,12 @@ msgid "Complete Build Order"
msgstr ""
#: templates/js/translated/build.js:311 templates/js/translated/stock.js:92
-#: templates/js/translated/stock.js:214
+#: templates/js/translated/stock.js:233
msgid "Next available serial number"
msgstr ""
#: templates/js/translated/build.js:313 templates/js/translated/stock.js:94
-#: templates/js/translated/stock.js:216
+#: templates/js/translated/stock.js:235
msgid "Latest serial number"
msgstr ""
@@ -8455,12 +8739,12 @@ msgid "No required tests for this build"
msgstr ""
#: templates/js/translated/build.js:1775 templates/js/translated/build.js:2765
-#: templates/js/translated/order.js:3627
+#: templates/js/translated/order.js:3638
msgid "Edit stock allocation"
msgstr ""
#: templates/js/translated/build.js:1777 templates/js/translated/build.js:2766
-#: templates/js/translated/order.js:3628
+#: templates/js/translated/order.js:3639
msgid "Delete stock allocation"
msgstr ""
@@ -8480,20 +8764,15 @@ msgstr ""
msgid "Quantity Per"
msgstr ""
-#: templates/js/translated/build.js:1901 templates/js/translated/order.js:3934
+#: templates/js/translated/build.js:1901 templates/js/translated/order.js:3931
msgid "Insufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3932
+#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3929
msgid "Sufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1937 templates/js/translated/build.js:2195
-#: templates/js/translated/build.js:2761 templates/js/translated/order.js:3946
-msgid "Allocated"
-msgstr ""
-
-#: templates/js/translated/build.js:1993 templates/js/translated/order.js:4026
+#: templates/js/translated/build.js:1993 templates/js/translated/order.js:4023
msgid "Build stock"
msgstr ""
@@ -8501,21 +8780,21 @@ msgstr ""
msgid "Order stock"
msgstr ""
-#: templates/js/translated/build.js:2000 templates/js/translated/order.js:4019
+#: templates/js/translated/build.js:2000 templates/js/translated/order.js:4016
msgid "Allocate stock"
msgstr ""
#: templates/js/translated/build.js:2039 templates/js/translated/label.js:172
-#: templates/js/translated/order.js:1007 templates/js/translated/order.js:3154
+#: templates/js/translated/order.js:1041 templates/js/translated/order.js:3165
#: templates/js/translated/report.js:225
msgid "Select Parts"
msgstr ""
-#: templates/js/translated/build.js:2040 templates/js/translated/order.js:3155
+#: templates/js/translated/build.js:2040 templates/js/translated/order.js:3166
msgid "You must select at least one part to allocate"
msgstr ""
-#: templates/js/translated/build.js:2089 templates/js/translated/order.js:3103
+#: templates/js/translated/build.js:2089 templates/js/translated/order.js:3114
msgid "Specify stock allocation quantity"
msgstr ""
@@ -8527,7 +8806,7 @@ msgstr ""
msgid "All selected parts have been fully allocated"
msgstr ""
-#: templates/js/translated/build.js:2183 templates/js/translated/order.js:3169
+#: templates/js/translated/build.js:2183 templates/js/translated/order.js:3180
msgid "Select source location (leave blank to take from all locations)"
msgstr ""
@@ -8535,11 +8814,11 @@ msgstr ""
msgid "Allocate Stock Items to Build Order"
msgstr ""
-#: templates/js/translated/build.js:2222 templates/js/translated/order.js:3266
+#: templates/js/translated/build.js:2222 templates/js/translated/order.js:3277
msgid "No matching stock locations"
msgstr ""
-#: templates/js/translated/build.js:2294 templates/js/translated/order.js:3343
+#: templates/js/translated/build.js:2294 templates/js/translated/order.js:3354
msgid "No matching stock items"
msgstr ""
@@ -8571,9 +8850,9 @@ msgstr ""
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:2558 templates/js/translated/part.js:1423
-#: templates/js/translated/part.js:1957 templates/js/translated/stock.js:1686
-#: templates/js/translated/stock.js:2390
+#: templates/js/translated/build.js:2558 templates/js/translated/part.js:1444
+#: templates/js/translated/part.js:1981 templates/js/translated/stock.js:1705
+#: templates/js/translated/stock.js:2408
msgid "Select"
msgstr ""
@@ -8585,7 +8864,7 @@ msgstr ""
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2636 templates/js/translated/stock.js:2657
+#: templates/js/translated/build.js:2636 templates/js/translated/stock.js:2675
msgid "No user information"
msgstr ""
@@ -8593,118 +8872,144 @@ msgstr ""
msgid "No parts allocated for"
msgstr ""
-#: templates/js/translated/company.js:66
+#: templates/js/translated/company.js:67
msgid "Add Manufacturer"
msgstr ""
-#: templates/js/translated/company.js:79 templates/js/translated/company.js:181
+#: templates/js/translated/company.js:80 templates/js/translated/company.js:182
msgid "Add Manufacturer Part"
msgstr ""
-#: templates/js/translated/company.js:100
+#: templates/js/translated/company.js:101
msgid "Edit Manufacturer Part"
msgstr ""
-#: templates/js/translated/company.js:169 templates/js/translated/order.js:576
+#: templates/js/translated/company.js:170 templates/js/translated/order.js:576
msgid "Add Supplier"
msgstr ""
-#: templates/js/translated/company.js:197 templates/js/translated/order.js:828
+#: templates/js/translated/company.js:198 templates/js/translated/order.js:862
msgid "Add Supplier Part"
msgstr ""
-#: templates/js/translated/company.js:297
+#: templates/js/translated/company.js:298
msgid "All selected supplier parts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:313
+#: templates/js/translated/company.js:314
msgid "Delete Supplier Parts"
msgstr ""
-#: templates/js/translated/company.js:385
+#: templates/js/translated/company.js:386
msgid "Add new Company"
msgstr ""
-#: templates/js/translated/company.js:462
+#: templates/js/translated/company.js:463
msgid "Parts Supplied"
msgstr ""
-#: templates/js/translated/company.js:471
+#: templates/js/translated/company.js:472
msgid "Parts Manufactured"
msgstr ""
-#: templates/js/translated/company.js:486
+#: templates/js/translated/company.js:487
msgid "No company information found"
msgstr ""
-#: templates/js/translated/company.js:527
+#: templates/js/translated/company.js:528
msgid "All selected manufacturer parts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:542
+#: templates/js/translated/company.js:543
msgid "Delete Manufacturer Parts"
msgstr ""
-#: templates/js/translated/company.js:576
+#: templates/js/translated/company.js:577
msgid "All selected parameters will be deleted"
msgstr ""
-#: templates/js/translated/company.js:590
+#: templates/js/translated/company.js:591
msgid "Delete Parameters"
msgstr ""
-#: templates/js/translated/company.js:631
+#: templates/js/translated/company.js:632
msgid "No manufacturer parts found"
msgstr ""
-#: templates/js/translated/company.js:651
-#: templates/js/translated/company.js:912 templates/js/translated/part.js:636
-#: templates/js/translated/part.js:721
+#: templates/js/translated/company.js:652
+#: templates/js/translated/company.js:913 templates/js/translated/part.js:650
+#: templates/js/translated/part.js:735
msgid "Template part"
msgstr ""
-#: templates/js/translated/company.js:655
-#: templates/js/translated/company.js:916 templates/js/translated/part.js:640
-#: templates/js/translated/part.js:725
+#: templates/js/translated/company.js:656
+#: templates/js/translated/company.js:917 templates/js/translated/part.js:654
+#: templates/js/translated/part.js:739
msgid "Assembled part"
msgstr ""
-#: templates/js/translated/company.js:783 templates/js/translated/part.js:828
+#: templates/js/translated/company.js:784 templates/js/translated/part.js:855
msgid "No parameters found"
msgstr ""
-#: templates/js/translated/company.js:820 templates/js/translated/part.js:870
+#: templates/js/translated/company.js:821 templates/js/translated/part.js:897
msgid "Edit parameter"
msgstr ""
-#: templates/js/translated/company.js:821 templates/js/translated/part.js:871
+#: templates/js/translated/company.js:822 templates/js/translated/part.js:898
msgid "Delete parameter"
msgstr ""
-#: templates/js/translated/company.js:840 templates/js/translated/part.js:888
+#: templates/js/translated/company.js:841 templates/js/translated/part.js:915
msgid "Edit Parameter"
msgstr ""
-#: templates/js/translated/company.js:851 templates/js/translated/part.js:900
+#: templates/js/translated/company.js:852 templates/js/translated/part.js:927
msgid "Delete Parameter"
msgstr ""
-#: templates/js/translated/company.js:891
+#: templates/js/translated/company.js:892
msgid "No supplier parts found"
msgstr ""
-#: templates/js/translated/company.js:1032
+#: templates/js/translated/company.js:1033
msgid "Availability"
msgstr ""
-#: templates/js/translated/company.js:1055
+#: templates/js/translated/company.js:1056
msgid "Edit supplier part"
msgstr ""
-#: templates/js/translated/company.js:1056
+#: templates/js/translated/company.js:1057
msgid "Delete supplier part"
msgstr ""
+#: templates/js/translated/company.js:1112
+#: templates/js/translated/pricing.js:423
+msgid "Delete Price Break"
+msgstr ""
+
+#: templates/js/translated/company.js:1128
+#: templates/js/translated/pricing.js:437
+msgid "Edit Price Break"
+msgstr ""
+
+#: templates/js/translated/company.js:1145
+msgid "No price break information found"
+msgstr ""
+
+#: templates/js/translated/company.js:1174
+msgid "Last updated"
+msgstr ""
+
+#: templates/js/translated/company.js:1180
+msgid "Edit price break"
+msgstr ""
+
+#: templates/js/translated/company.js:1181
+msgid "Delete price break"
+msgstr ""
+
#: templates/js/translated/filters.js:178
#: templates/js/translated/filters.js:441
msgid "true"
@@ -8785,27 +9090,27 @@ msgstr ""
msgid "Clear input"
msgstr ""
-#: templates/js/translated/forms.js:2638
+#: templates/js/translated/forms.js:2628
msgid "File Column"
msgstr ""
-#: templates/js/translated/forms.js:2638
+#: templates/js/translated/forms.js:2628
msgid "Field Name"
msgstr ""
-#: templates/js/translated/forms.js:2650
+#: templates/js/translated/forms.js:2640
msgid "Select Columns"
msgstr ""
-#: templates/js/translated/helpers.js:24
+#: templates/js/translated/helpers.js:26
msgid "YES"
msgstr ""
-#: templates/js/translated/helpers.js:26
+#: templates/js/translated/helpers.js:28
msgid "NO"
msgstr ""
-#: templates/js/translated/helpers.js:363
+#: templates/js/translated/helpers.js:434
msgid "Notes updated"
msgstr ""
@@ -8814,7 +9119,7 @@ msgid "Labels sent to printer"
msgstr ""
#: templates/js/translated/label.js:60 templates/js/translated/report.js:118
-#: templates/js/translated/stock.js:1078
+#: templates/js/translated/stock.js:1097
msgid "Select Stock Items"
msgstr ""
@@ -8934,14 +9239,6 @@ msgstr ""
msgid "Stock ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:159
-msgid "Location ID"
-msgstr ""
-
-#: templates/js/translated/model_renderers.js:177
-msgid "Build ID"
-msgstr ""
-
#: templates/js/translated/model_renderers.js:278
#: templates/js/translated/model_renderers.js:303
msgid "Order ID"
@@ -8952,16 +9249,12 @@ msgstr ""
msgid "Shipment ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:338
-msgid "Category ID"
-msgstr ""
-
#: templates/js/translated/model_renderers.js:381
msgid "Manufacturer Part ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:418
-msgid "Supplier Part ID"
+#: templates/js/translated/news.js:23
+msgid "No news found"
msgstr ""
#: templates/js/translated/notification.js:42
@@ -9104,659 +9397,688 @@ msgstr ""
msgid "Duplication Options"
msgstr ""
-#: templates/js/translated/order.js:957
+#: templates/js/translated/order.js:991
msgid "Export Order"
msgstr ""
-#: templates/js/translated/order.js:1008
+#: templates/js/translated/order.js:1042
msgid "At least one purchaseable part must be selected"
msgstr ""
-#: templates/js/translated/order.js:1033
+#: templates/js/translated/order.js:1067
msgid "Quantity to order"
msgstr ""
-#: templates/js/translated/order.js:1042
+#: templates/js/translated/order.js:1076
msgid "New supplier part"
msgstr ""
-#: templates/js/translated/order.js:1060
+#: templates/js/translated/order.js:1094
msgid "New purchase order"
msgstr ""
-#: templates/js/translated/order.js:1093
+#: templates/js/translated/order.js:1127
msgid "Add to purchase order"
msgstr ""
-#: templates/js/translated/order.js:1233
+#: templates/js/translated/order.js:1267
msgid "No matching supplier parts"
msgstr ""
-#: templates/js/translated/order.js:1252
+#: templates/js/translated/order.js:1286
msgid "No matching purchase orders"
msgstr ""
-#: templates/js/translated/order.js:1429
+#: templates/js/translated/order.js:1463
msgid "Select Line Items"
msgstr ""
-#: templates/js/translated/order.js:1430
+#: templates/js/translated/order.js:1464
msgid "At least one line item must be selected"
msgstr ""
-#: templates/js/translated/order.js:1450 templates/js/translated/order.js:1563
+#: templates/js/translated/order.js:1484 templates/js/translated/order.js:1597
msgid "Add batch code"
msgstr ""
-#: templates/js/translated/order.js:1456 templates/js/translated/order.js:1574
+#: templates/js/translated/order.js:1490 templates/js/translated/order.js:1608
msgid "Add serial numbers"
msgstr ""
-#: templates/js/translated/order.js:1471
+#: templates/js/translated/order.js:1505
msgid "Received Quantity"
msgstr ""
-#: templates/js/translated/order.js:1482
+#: templates/js/translated/order.js:1516
msgid "Quantity to receive"
msgstr ""
-#: templates/js/translated/order.js:1546 templates/js/translated/stock.js:2146
+#: templates/js/translated/order.js:1580 templates/js/translated/stock.js:2164
msgid "Stock Status"
msgstr ""
-#: templates/js/translated/order.js:1639
+#: templates/js/translated/order.js:1673
msgid "Order Code"
msgstr ""
-#: templates/js/translated/order.js:1640
+#: templates/js/translated/order.js:1674
msgid "Ordered"
msgstr ""
-#: templates/js/translated/order.js:1642
+#: templates/js/translated/order.js:1676
msgid "Quantity to Receive"
msgstr ""
-#: templates/js/translated/order.js:1661
+#: templates/js/translated/order.js:1695
msgid "Confirm receipt of items"
msgstr ""
-#: templates/js/translated/order.js:1662
+#: templates/js/translated/order.js:1696
msgid "Receive Purchase Order Items"
msgstr ""
-#: templates/js/translated/order.js:1940 templates/js/translated/part.js:941
+#: templates/js/translated/order.js:1974 templates/js/translated/part.js:968
msgid "No purchase orders found"
msgstr ""
-#: templates/js/translated/order.js:1967 templates/js/translated/order.js:2798
+#: templates/js/translated/order.js:2001 templates/js/translated/order.js:2809
msgid "Order is overdue"
msgstr ""
-#: templates/js/translated/order.js:2017 templates/js/translated/order.js:2863
-#: templates/js/translated/order.js:3004
+#: templates/js/translated/order.js:2051 templates/js/translated/order.js:2874
+#: templates/js/translated/order.js:3015
msgid "Items"
msgstr ""
-#: templates/js/translated/order.js:2115 templates/js/translated/order.js:4078
+#: templates/js/translated/order.js:2154 templates/js/translated/order.js:4075
msgid "Duplicate Line Item"
msgstr ""
-#: templates/js/translated/order.js:2132 templates/js/translated/order.js:4100
+#: templates/js/translated/order.js:2171 templates/js/translated/order.js:4097
msgid "Edit Line Item"
msgstr ""
-#: templates/js/translated/order.js:2145 templates/js/translated/order.js:4111
+#: templates/js/translated/order.js:2184 templates/js/translated/order.js:4108
msgid "Delete Line Item"
msgstr ""
-#: templates/js/translated/order.js:2188
+#: templates/js/translated/order.js:2227
msgid "No line items found"
msgstr ""
-#: templates/js/translated/order.js:2215 templates/js/translated/order.js:3812
+#: templates/js/translated/order.js:2254 templates/js/translated/order.js:3827
msgid "Total"
msgstr ""
-#: templates/js/translated/order.js:2270 templates/js/translated/part.js:1043
-#: templates/js/translated/part.js:1095
+#: templates/js/translated/order.js:2309 templates/js/translated/part.js:1070
+#: templates/js/translated/part.js:1122
msgid "Total Quantity"
msgstr ""
-#: templates/js/translated/order.js:2301 templates/js/translated/order.js:2500
-#: templates/js/translated/order.js:3837 templates/js/translated/order.js:4342
-#: templates/js/translated/part.js:2199 templates/js/translated/part.js:2797
+#: templates/js/translated/order.js:2340 templates/js/translated/order.js:2527
+#: templates/js/translated/order.js:3852 templates/js/translated/order.js:4343
+#: templates/js/translated/pricing.js:260
+#: templates/js/translated/pricing.js:329
+#: templates/js/translated/pricing.js:545
msgid "Unit Price"
msgstr ""
-#: templates/js/translated/order.js:2316 templates/js/translated/order.js:2516
-#: templates/js/translated/order.js:3853 templates/js/translated/order.js:4358
+#: templates/js/translated/order.js:2350 templates/js/translated/order.js:2537
+#: templates/js/translated/order.js:3862 templates/js/translated/order.js:4353
msgid "Total Price"
msgstr ""
-#: templates/js/translated/order.js:2357 templates/js/translated/order.js:3895
-#: templates/js/translated/part.js:1079
+#: templates/js/translated/order.js:2380 templates/js/translated/order.js:3892
+#: templates/js/translated/part.js:1106
msgid "This line item is overdue"
msgstr ""
-#: templates/js/translated/order.js:2416 templates/js/translated/part.js:1130
+#: templates/js/translated/order.js:2439 templates/js/translated/part.js:1151
msgid "Receive line item"
msgstr ""
-#: templates/js/translated/order.js:2420 templates/js/translated/order.js:4032
+#: templates/js/translated/order.js:2443 templates/js/translated/order.js:4029
msgid "Duplicate line item"
msgstr ""
-#: templates/js/translated/order.js:2421 templates/js/translated/order.js:4033
+#: templates/js/translated/order.js:2444 templates/js/translated/order.js:4030
msgid "Edit line item"
msgstr ""
-#: templates/js/translated/order.js:2422 templates/js/translated/order.js:4037
+#: templates/js/translated/order.js:2445 templates/js/translated/order.js:4034
msgid "Delete line item"
msgstr ""
-#: templates/js/translated/order.js:2564 templates/js/translated/order.js:4406
+#: templates/js/translated/order.js:2574 templates/js/translated/order.js:4389
msgid "Duplicate line"
msgstr ""
-#: templates/js/translated/order.js:2565 templates/js/translated/order.js:4407
+#: templates/js/translated/order.js:2575 templates/js/translated/order.js:4390
msgid "Edit line"
msgstr ""
-#: templates/js/translated/order.js:2566 templates/js/translated/order.js:4408
+#: templates/js/translated/order.js:2576 templates/js/translated/order.js:4391
msgid "Delete line"
msgstr ""
-#: templates/js/translated/order.js:2595 templates/js/translated/order.js:4437
+#: templates/js/translated/order.js:2606 templates/js/translated/order.js:4420
msgid "Duplicate Line"
msgstr ""
-#: templates/js/translated/order.js:2616 templates/js/translated/order.js:4458
+#: templates/js/translated/order.js:2627 templates/js/translated/order.js:4441
msgid "Edit Line"
msgstr ""
-#: templates/js/translated/order.js:2627 templates/js/translated/order.js:4469
+#: templates/js/translated/order.js:2638 templates/js/translated/order.js:4452
msgid "Delete Line"
msgstr ""
-#: templates/js/translated/order.js:2638
+#: templates/js/translated/order.js:2649
msgid "No matching line"
msgstr ""
-#: templates/js/translated/order.js:2749
+#: templates/js/translated/order.js:2760
msgid "No sales orders found"
msgstr ""
-#: templates/js/translated/order.js:2812
+#: templates/js/translated/order.js:2823
msgid "Invalid Customer"
msgstr ""
-#: templates/js/translated/order.js:2910
+#: templates/js/translated/order.js:2921
msgid "Edit shipment"
msgstr ""
-#: templates/js/translated/order.js:2913
+#: templates/js/translated/order.js:2924
msgid "Complete shipment"
msgstr ""
-#: templates/js/translated/order.js:2918
+#: templates/js/translated/order.js:2929
msgid "Delete shipment"
msgstr ""
-#: templates/js/translated/order.js:2938
+#: templates/js/translated/order.js:2949
msgid "Edit Shipment"
msgstr ""
-#: templates/js/translated/order.js:2955
+#: templates/js/translated/order.js:2966
msgid "Delete Shipment"
msgstr ""
-#: templates/js/translated/order.js:2989
+#: templates/js/translated/order.js:3000
msgid "No matching shipments found"
msgstr ""
-#: templates/js/translated/order.js:2999
+#: templates/js/translated/order.js:3010
msgid "Shipment Reference"
msgstr ""
-#: templates/js/translated/order.js:3023
+#: templates/js/translated/order.js:3034
msgid "Not shipped"
msgstr ""
-#: templates/js/translated/order.js:3029
+#: templates/js/translated/order.js:3040
msgid "Tracking"
msgstr ""
-#: templates/js/translated/order.js:3033
+#: templates/js/translated/order.js:3044
msgid "Invoice"
msgstr ""
-#: templates/js/translated/order.js:3202
+#: templates/js/translated/order.js:3213
msgid "Add Shipment"
msgstr ""
-#: templates/js/translated/order.js:3253
+#: templates/js/translated/order.js:3264
msgid "Confirm stock allocation"
msgstr ""
-#: templates/js/translated/order.js:3254
+#: templates/js/translated/order.js:3265
msgid "Allocate Stock Items to Sales Order"
msgstr ""
-#: templates/js/translated/order.js:3462
+#: templates/js/translated/order.js:3473
msgid "No sales order allocations found"
msgstr ""
-#: templates/js/translated/order.js:3541
+#: templates/js/translated/order.js:3552
msgid "Edit Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:3558
+#: templates/js/translated/order.js:3569
msgid "Confirm Delete Operation"
msgstr ""
-#: templates/js/translated/order.js:3559
+#: templates/js/translated/order.js:3570
msgid "Delete Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:3604 templates/js/translated/order.js:3693
-#: templates/js/translated/stock.js:1602
+#: templates/js/translated/order.js:3615 templates/js/translated/order.js:3704
+#: templates/js/translated/stock.js:1621
msgid "Shipped to customer"
msgstr ""
-#: templates/js/translated/order.js:3612 templates/js/translated/order.js:3702
+#: templates/js/translated/order.js:3623 templates/js/translated/order.js:3713
msgid "Stock location not specified"
msgstr ""
-#: templates/js/translated/order.js:4016
+#: templates/js/translated/order.js:4013
msgid "Allocate serial numbers"
msgstr ""
-#: templates/js/translated/order.js:4022
+#: templates/js/translated/order.js:4019
msgid "Purchase stock"
msgstr ""
-#: templates/js/translated/order.js:4029 templates/js/translated/order.js:4227
+#: templates/js/translated/order.js:4026 templates/js/translated/order.js:4224
msgid "Calculate price"
msgstr ""
-#: templates/js/translated/order.js:4041
+#: templates/js/translated/order.js:4038
msgid "Cannot be deleted as items have been shipped"
msgstr ""
-#: templates/js/translated/order.js:4044
+#: templates/js/translated/order.js:4041
msgid "Cannot be deleted as items have been allocated"
msgstr ""
-#: templates/js/translated/order.js:4126
+#: templates/js/translated/order.js:4123
msgid "Allocate Serial Numbers"
msgstr ""
-#: templates/js/translated/order.js:4235
+#: templates/js/translated/order.js:4232
msgid "Update Unit Price"
msgstr ""
-#: templates/js/translated/order.js:4249
+#: templates/js/translated/order.js:4246
msgid "No matching line items"
msgstr ""
-#: templates/js/translated/order.js:4480
+#: templates/js/translated/order.js:4463
msgid "No matching lines"
msgstr ""
-#: templates/js/translated/part.js:56
+#: templates/js/translated/part.js:52
msgid "Part Attributes"
msgstr ""
-#: templates/js/translated/part.js:60
+#: templates/js/translated/part.js:56
msgid "Part Creation Options"
msgstr ""
-#: templates/js/translated/part.js:64
+#: templates/js/translated/part.js:60
msgid "Part Duplication Options"
msgstr ""
-#: templates/js/translated/part.js:68
+#: templates/js/translated/part.js:64
msgid "Supplier Options"
msgstr ""
-#: templates/js/translated/part.js:82
+#: templates/js/translated/part.js:78
msgid "Add Part Category"
msgstr ""
-#: templates/js/translated/part.js:166
+#: templates/js/translated/part.js:162
msgid "Create Initial Stock"
msgstr ""
-#: templates/js/translated/part.js:167
+#: templates/js/translated/part.js:163
msgid "Create an initial stock item for this part"
msgstr ""
-#: templates/js/translated/part.js:174
+#: templates/js/translated/part.js:170
msgid "Initial Stock Quantity"
msgstr ""
-#: templates/js/translated/part.js:175
+#: templates/js/translated/part.js:171
msgid "Specify initial stock quantity for this part"
msgstr ""
-#: templates/js/translated/part.js:182
+#: templates/js/translated/part.js:178
msgid "Select destination stock location"
msgstr ""
-#: templates/js/translated/part.js:200
+#: templates/js/translated/part.js:196
msgid "Copy Category Parameters"
msgstr ""
-#: templates/js/translated/part.js:201
+#: templates/js/translated/part.js:197
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: templates/js/translated/part.js:209
+#: templates/js/translated/part.js:205
msgid "Add Supplier Data"
msgstr ""
-#: templates/js/translated/part.js:210
+#: templates/js/translated/part.js:206
msgid "Create initial supplier data for this part"
msgstr ""
-#: templates/js/translated/part.js:266
+#: templates/js/translated/part.js:262
msgid "Copy Image"
msgstr ""
-#: templates/js/translated/part.js:267
+#: templates/js/translated/part.js:263
msgid "Copy image from original part"
msgstr ""
-#: templates/js/translated/part.js:275
+#: templates/js/translated/part.js:271
msgid "Copy bill of materials from original part"
msgstr ""
-#: templates/js/translated/part.js:282
+#: templates/js/translated/part.js:278
msgid "Copy Parameters"
msgstr ""
-#: templates/js/translated/part.js:283
+#: templates/js/translated/part.js:279
msgid "Copy parameter data from original part"
msgstr ""
-#: templates/js/translated/part.js:296
+#: templates/js/translated/part.js:292
msgid "Parent part category"
msgstr ""
-#: templates/js/translated/part.js:306 templates/js/translated/stock.js:118
+#: templates/js/translated/part.js:302 templates/js/translated/stock.js:118
msgid "Icon (optional) - Explore all available icons on"
msgstr ""
-#: templates/js/translated/part.js:322
+#: templates/js/translated/part.js:318
msgid "Edit Part Category"
msgstr ""
-#: templates/js/translated/part.js:335
+#: templates/js/translated/part.js:331
msgid "Are you sure you want to delete this part category?"
msgstr ""
-#: templates/js/translated/part.js:337
-msgid "Any child categories will be moved to the parent of this category"
+#: templates/js/translated/part.js:336
+msgid "Move to parent category"
msgstr ""
-#: templates/js/translated/part.js:338
-msgid "Any parts in this category will be moved to the parent of this category"
-msgstr ""
-
-#: templates/js/translated/part.js:343
+#: templates/js/translated/part.js:345
msgid "Delete Part Category"
msgstr ""
-#: templates/js/translated/part.js:369
+#: templates/js/translated/part.js:349
+msgid "Action for parts in this category"
+msgstr ""
+
+#: templates/js/translated/part.js:354
+msgid "Action for child categories"
+msgstr ""
+
+#: templates/js/translated/part.js:383
msgid "Edit Part"
msgstr ""
-#: templates/js/translated/part.js:371
+#: templates/js/translated/part.js:385
msgid "Part edited"
msgstr ""
-#: templates/js/translated/part.js:382
+#: templates/js/translated/part.js:396
msgid "Create Part Variant"
msgstr ""
-#: templates/js/translated/part.js:434
+#: templates/js/translated/part.js:448
msgid "Active Part"
msgstr ""
-#: templates/js/translated/part.js:435
+#: templates/js/translated/part.js:449
msgid "Part cannot be deleted as it is currently active"
msgstr ""
-#: templates/js/translated/part.js:449
+#: templates/js/translated/part.js:463
msgid "Deleting this part cannot be reversed"
msgstr ""
-#: templates/js/translated/part.js:451
+#: templates/js/translated/part.js:465
msgid "Any stock items for this part will be deleted"
msgstr ""
-#: templates/js/translated/part.js:452
+#: templates/js/translated/part.js:466
msgid "This part will be removed from any Bills of Material"
msgstr ""
-#: templates/js/translated/part.js:453
+#: templates/js/translated/part.js:467
msgid "All manufacturer and supplier information for this part will be deleted"
msgstr ""
-#: templates/js/translated/part.js:460
+#: templates/js/translated/part.js:474
msgid "Delete Part"
msgstr ""
-#: templates/js/translated/part.js:496
+#: templates/js/translated/part.js:510
msgid "You are subscribed to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:498
+#: templates/js/translated/part.js:512
msgid "You have subscribed to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:503
+#: templates/js/translated/part.js:517
msgid "Subscribe to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:505
+#: templates/js/translated/part.js:519
msgid "You have unsubscribed to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:522
+#: templates/js/translated/part.js:536
msgid "Validating the BOM will mark each line item as valid"
msgstr ""
-#: templates/js/translated/part.js:532
+#: templates/js/translated/part.js:546
msgid "Validate Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:535
+#: templates/js/translated/part.js:549
msgid "Validated Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:560
+#: templates/js/translated/part.js:574
msgid "Copy Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:584 templates/js/translated/part.js:1521
-#: templates/js/translated/table_filters.js:476
+#: templates/js/translated/part.js:598 templates/js/translated/part.js:1532
+#: templates/js/translated/table_filters.js:480
msgid "Low stock"
msgstr ""
-#: templates/js/translated/part.js:594
+#: templates/js/translated/part.js:608
msgid "No stock available"
msgstr ""
-#: templates/js/translated/part.js:628 templates/js/translated/part.js:713
+#: templates/js/translated/part.js:642 templates/js/translated/part.js:727
msgid "Trackable part"
msgstr ""
-#: templates/js/translated/part.js:632 templates/js/translated/part.js:717
+#: templates/js/translated/part.js:646 templates/js/translated/part.js:731
msgid "Virtual part"
msgstr ""
-#: templates/js/translated/part.js:644
+#: templates/js/translated/part.js:658
msgid "Subscribed part"
msgstr ""
-#: templates/js/translated/part.js:648
+#: templates/js/translated/part.js:662
msgid "Salable part"
msgstr ""
-#: templates/js/translated/part.js:776
+#: templates/js/translated/part.js:800
msgid "No variants found"
msgstr ""
-#: templates/js/translated/part.js:1200
+#: templates/js/translated/part.js:1221
msgid "Delete part relationship"
msgstr ""
-#: templates/js/translated/part.js:1224
+#: templates/js/translated/part.js:1245
msgid "Delete Part Relationship"
msgstr ""
-#: templates/js/translated/part.js:1291 templates/js/translated/part.js:1609
+#: templates/js/translated/part.js:1312 templates/js/translated/part.js:1633
msgid "No parts found"
msgstr ""
-#: templates/js/translated/part.js:1488
+#: templates/js/translated/part.js:1499
msgid "No category"
msgstr ""
-#: templates/js/translated/part.js:1519
+#: templates/js/translated/part.js:1530
msgid "No stock"
msgstr ""
-#: templates/js/translated/part.js:1543
+#: templates/js/translated/part.js:1554
msgid "Allocated to build orders"
msgstr ""
-#: templates/js/translated/part.js:1547
+#: templates/js/translated/part.js:1558
msgid "Allocated to sales orders"
msgstr ""
-#: templates/js/translated/part.js:1633 templates/js/translated/part.js:1876
-#: templates/js/translated/stock.js:2349
+#: templates/js/translated/part.js:1657 templates/js/translated/part.js:1900
+#: templates/js/translated/stock.js:2367
msgid "Display as list"
msgstr ""
-#: templates/js/translated/part.js:1649
+#: templates/js/translated/part.js:1673
msgid "Display as grid"
msgstr ""
-#: templates/js/translated/part.js:1715
+#: templates/js/translated/part.js:1739
msgid "Set the part category for the selected parts"
msgstr ""
-#: templates/js/translated/part.js:1720
+#: templates/js/translated/part.js:1744
msgid "Set Part Category"
msgstr ""
-#: templates/js/translated/part.js:1725
+#: templates/js/translated/part.js:1749
msgid "Select Part Category"
msgstr ""
-#: templates/js/translated/part.js:1738
+#: templates/js/translated/part.js:1762
msgid "Category is required"
msgstr ""
-#: templates/js/translated/part.js:1896 templates/js/translated/stock.js:2369
+#: templates/js/translated/part.js:1920 templates/js/translated/stock.js:2387
msgid "Display as tree"
msgstr ""
-#: templates/js/translated/part.js:1976
+#: templates/js/translated/part.js:2000
msgid "Load Subcategories"
msgstr ""
-#: templates/js/translated/part.js:1992
+#: templates/js/translated/part.js:2016
msgid "Subscribed category"
msgstr ""
-#: templates/js/translated/part.js:2056
+#: templates/js/translated/part.js:2080
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:2107 templates/js/translated/stock.js:1299
+#: templates/js/translated/part.js:2131 templates/js/translated/stock.js:1318
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:2108 templates/js/translated/stock.js:1300
-#: templates/js/translated/stock.js:1560
+#: templates/js/translated/part.js:2132 templates/js/translated/stock.js:1319
+#: templates/js/translated/stock.js:1579
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:2114
+#: templates/js/translated/part.js:2138
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:2136
+#: templates/js/translated/part.js:2160
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2150
+#: templates/js/translated/part.js:2174
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2175
-#, python-brace-format
-msgid "No ${human_name} information found"
-msgstr ""
-
-#: templates/js/translated/part.js:2232
-#, python-brace-format
-msgid "Edit ${human_name}"
-msgstr ""
-
-#: templates/js/translated/part.js:2233
-#, python-brace-format
-msgid "Delete ${human_name}"
-msgstr ""
-
-#: templates/js/translated/part.js:2398 templates/js/translated/part.js:2399
+#: templates/js/translated/part.js:2255 templates/js/translated/part.js:2256
msgid "No date specified"
msgstr ""
-#: templates/js/translated/part.js:2401
+#: templates/js/translated/part.js:2258
msgid "Specified date is in the past"
msgstr ""
-#: templates/js/translated/part.js:2407
+#: templates/js/translated/part.js:2264
msgid "Speculative"
msgstr ""
-#: templates/js/translated/part.js:2457
+#: templates/js/translated/part.js:2314
msgid "No scheduling information available for this part"
msgstr ""
-#: templates/js/translated/part.js:2463
+#: templates/js/translated/part.js:2320
msgid "Error fetching scheduling information for this part"
msgstr ""
-#: templates/js/translated/part.js:2559
+#: templates/js/translated/part.js:2416
msgid "Scheduled Stock Quantities"
msgstr ""
-#: templates/js/translated/part.js:2575
+#: templates/js/translated/part.js:2432
msgid "Maximum Quantity"
msgstr ""
-#: templates/js/translated/part.js:2620
+#: templates/js/translated/part.js:2477
msgid "Minimum Stock Level"
msgstr ""
-#: templates/js/translated/part.js:2721
-msgid "Single Price"
-msgstr ""
-
-#: templates/js/translated/part.js:2740
-msgid "Single Price Difference"
-msgstr ""
-
#: templates/js/translated/plugin.js:23
msgid "The Plugin was installed"
msgstr ""
+#: templates/js/translated/pricing.js:54
+msgid "No BOM data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:196
+msgid "No supplier pricing data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:305
+msgid "No price break data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:361
+#, python-brace-format
+msgid "Edit ${human_name}"
+msgstr ""
+
+#: templates/js/translated/pricing.js:362
+#, python-brace-format
+msgid "Delete ${human_name}"
+msgstr ""
+
+#: templates/js/translated/pricing.js:480
+msgid "No purchase history data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:502
+msgid "Purchase Price History"
+msgstr ""
+
+#: templates/js/translated/pricing.js:602
+msgid "No sales history data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:624
+msgid "Sale Price History"
+msgstr ""
+
+#: templates/js/translated/pricing.js:708
+msgid "No variant data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:748
+msgid "Variant Part"
+msgstr ""
+
#: templates/js/translated/report.js:67
msgid "items selected"
msgstr ""
@@ -9855,364 +10177,364 @@ msgstr ""
msgid "Are you sure you want to delete this stock location?"
msgstr ""
-#: templates/js/translated/stock.js:175
-msgid "Any child locations will be moved to the parent of this location"
+#: templates/js/translated/stock.js:180
+msgid "Move to parent stock location"
msgstr ""
-#: templates/js/translated/stock.js:176
-msgid "Any stock items in this location will be moved to the parent of this location"
-msgstr ""
-
-#: templates/js/translated/stock.js:182
+#: templates/js/translated/stock.js:189
msgid "Delete Stock Location"
msgstr ""
-#: templates/js/translated/stock.js:227
+#: templates/js/translated/stock.js:193
+msgid "Action for stock items in this stock location"
+msgstr ""
+
+#: templates/js/translated/stock.js:198
+msgid "Action for sub-locations"
+msgstr ""
+
+#: templates/js/translated/stock.js:246
msgid "This part cannot be serialized"
msgstr ""
-#: templates/js/translated/stock.js:266
+#: templates/js/translated/stock.js:285
msgid "Enter initial quantity for this stock item"
msgstr ""
-#: templates/js/translated/stock.js:272
+#: templates/js/translated/stock.js:291
msgid "Enter serial numbers for new stock (or leave blank)"
msgstr ""
-#: templates/js/translated/stock.js:337
+#: templates/js/translated/stock.js:356
msgid "Stock item duplicated"
msgstr ""
-#: templates/js/translated/stock.js:357
+#: templates/js/translated/stock.js:376
msgid "Duplicate Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:373
+#: templates/js/translated/stock.js:392
msgid "Are you sure you want to delete this stock item?"
msgstr ""
-#: templates/js/translated/stock.js:378
+#: templates/js/translated/stock.js:397
msgid "Delete Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:399
+#: templates/js/translated/stock.js:418
msgid "Edit Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:449
+#: templates/js/translated/stock.js:468
msgid "Created new stock item"
msgstr ""
-#: templates/js/translated/stock.js:462
+#: templates/js/translated/stock.js:481
msgid "Created multiple stock items"
msgstr ""
-#: templates/js/translated/stock.js:487
+#: templates/js/translated/stock.js:506
msgid "Find Serial Number"
msgstr ""
-#: templates/js/translated/stock.js:491 templates/js/translated/stock.js:492
+#: templates/js/translated/stock.js:510 templates/js/translated/stock.js:511
msgid "Enter serial number"
msgstr ""
-#: templates/js/translated/stock.js:508
+#: templates/js/translated/stock.js:527
msgid "Enter a serial number"
msgstr ""
-#: templates/js/translated/stock.js:528
+#: templates/js/translated/stock.js:547
msgid "No matching serial number"
msgstr ""
-#: templates/js/translated/stock.js:537
+#: templates/js/translated/stock.js:556
msgid "More than one matching result found"
msgstr ""
-#: templates/js/translated/stock.js:660
+#: templates/js/translated/stock.js:679
msgid "Confirm stock assignment"
msgstr ""
-#: templates/js/translated/stock.js:661
+#: templates/js/translated/stock.js:680
msgid "Assign Stock to Customer"
msgstr ""
-#: templates/js/translated/stock.js:738
+#: templates/js/translated/stock.js:757
msgid "Warning: Merge operation cannot be reversed"
msgstr ""
-#: templates/js/translated/stock.js:739
+#: templates/js/translated/stock.js:758
msgid "Some information will be lost when merging stock items"
msgstr ""
-#: templates/js/translated/stock.js:741
+#: templates/js/translated/stock.js:760
msgid "Stock transaction history will be deleted for merged items"
msgstr ""
-#: templates/js/translated/stock.js:742
+#: templates/js/translated/stock.js:761
msgid "Supplier part information will be deleted for merged items"
msgstr ""
-#: templates/js/translated/stock.js:828
+#: templates/js/translated/stock.js:847
msgid "Confirm stock item merge"
msgstr ""
-#: templates/js/translated/stock.js:829
+#: templates/js/translated/stock.js:848
msgid "Merge Stock Items"
msgstr ""
-#: templates/js/translated/stock.js:924
+#: templates/js/translated/stock.js:943
msgid "Transfer Stock"
msgstr ""
-#: templates/js/translated/stock.js:925
+#: templates/js/translated/stock.js:944
msgid "Move"
msgstr ""
-#: templates/js/translated/stock.js:931
+#: templates/js/translated/stock.js:950
msgid "Count Stock"
msgstr ""
-#: templates/js/translated/stock.js:932
+#: templates/js/translated/stock.js:951
msgid "Count"
msgstr ""
-#: templates/js/translated/stock.js:936
+#: templates/js/translated/stock.js:955
msgid "Remove Stock"
msgstr ""
-#: templates/js/translated/stock.js:937
+#: templates/js/translated/stock.js:956
msgid "Take"
msgstr ""
-#: templates/js/translated/stock.js:941
+#: templates/js/translated/stock.js:960
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:942 users/models.py:218
+#: templates/js/translated/stock.js:961 users/models.py:220
msgid "Add"
msgstr ""
-#: templates/js/translated/stock.js:946
+#: templates/js/translated/stock.js:965
msgid "Delete Stock"
msgstr ""
-#: templates/js/translated/stock.js:1039
+#: templates/js/translated/stock.js:1058
msgid "Quantity cannot be adjusted for serialized stock"
msgstr ""
-#: templates/js/translated/stock.js:1039
+#: templates/js/translated/stock.js:1058
msgid "Specify stock quantity"
msgstr ""
-#: templates/js/translated/stock.js:1079
+#: templates/js/translated/stock.js:1098
msgid "You must select at least one available stock item"
msgstr ""
-#: templates/js/translated/stock.js:1102
+#: templates/js/translated/stock.js:1121
msgid "Confirm stock adjustment"
msgstr ""
-#: templates/js/translated/stock.js:1238
+#: templates/js/translated/stock.js:1257
msgid "PASS"
msgstr ""
-#: templates/js/translated/stock.js:1240
+#: templates/js/translated/stock.js:1259
msgid "FAIL"
msgstr ""
-#: templates/js/translated/stock.js:1245
+#: templates/js/translated/stock.js:1264
msgid "NO RESULT"
msgstr ""
-#: templates/js/translated/stock.js:1292
+#: templates/js/translated/stock.js:1311
msgid "Pass test"
msgstr ""
-#: templates/js/translated/stock.js:1295
+#: templates/js/translated/stock.js:1314
msgid "Add test result"
msgstr ""
-#: templates/js/translated/stock.js:1321
+#: templates/js/translated/stock.js:1340
msgid "No test results found"
msgstr ""
-#: templates/js/translated/stock.js:1378
+#: templates/js/translated/stock.js:1397
msgid "Test Date"
msgstr ""
-#: templates/js/translated/stock.js:1543
+#: templates/js/translated/stock.js:1562
msgid "Edit Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1565
+#: templates/js/translated/stock.js:1584
msgid "Delete Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1594
+#: templates/js/translated/stock.js:1613
msgid "In production"
msgstr ""
-#: templates/js/translated/stock.js:1598
+#: templates/js/translated/stock.js:1617
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:1606
+#: templates/js/translated/stock.js:1625
msgid "Assigned to Sales Order"
msgstr ""
-#: templates/js/translated/stock.js:1612
+#: templates/js/translated/stock.js:1631
msgid "No stock location set"
msgstr ""
-#: templates/js/translated/stock.js:1781
+#: templates/js/translated/stock.js:1800
msgid "Stock item is in production"
msgstr ""
-#: templates/js/translated/stock.js:1786
+#: templates/js/translated/stock.js:1805
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/translated/stock.js:1789
+#: templates/js/translated/stock.js:1808
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/translated/stock.js:1792
+#: templates/js/translated/stock.js:1811
msgid "Serialized stock item has been allocated"
msgstr ""
-#: templates/js/translated/stock.js:1794
+#: templates/js/translated/stock.js:1813
msgid "Stock item has been fully allocated"
msgstr ""
-#: templates/js/translated/stock.js:1796
+#: templates/js/translated/stock.js:1815
msgid "Stock item has been partially allocated"
msgstr ""
-#: templates/js/translated/stock.js:1799
+#: templates/js/translated/stock.js:1818
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:1803
+#: templates/js/translated/stock.js:1822
msgid "Stock item has expired"
msgstr ""
-#: templates/js/translated/stock.js:1805
+#: templates/js/translated/stock.js:1824
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/translated/stock.js:1812
+#: templates/js/translated/stock.js:1831
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/translated/stock.js:1814
+#: templates/js/translated/stock.js:1833
msgid "Stock item is lost"
msgstr ""
-#: templates/js/translated/stock.js:1816
+#: templates/js/translated/stock.js:1835
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/translated/stock.js:1820
-#: templates/js/translated/table_filters.js:204
+#: templates/js/translated/stock.js:1839
+#: templates/js/translated/table_filters.js:208
msgid "Depleted"
msgstr ""
-#: templates/js/translated/stock.js:1871
-msgid "Stocktake"
-msgstr ""
-
-#: templates/js/translated/stock.js:1950
+#: templates/js/translated/stock.js:1969
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/translated/stock.js:1988
+#: templates/js/translated/stock.js:2006
msgid "No stock items matching query"
msgstr ""
-#: templates/js/translated/stock.js:2161
+#: templates/js/translated/stock.js:2179
msgid "Set Stock Status"
msgstr ""
-#: templates/js/translated/stock.js:2175
+#: templates/js/translated/stock.js:2193
msgid "Select Status Code"
msgstr ""
-#: templates/js/translated/stock.js:2176
+#: templates/js/translated/stock.js:2194
msgid "Status code must be selected"
msgstr ""
-#: templates/js/translated/stock.js:2408
+#: templates/js/translated/stock.js:2426
msgid "Load Subloactions"
msgstr ""
-#: templates/js/translated/stock.js:2503
+#: templates/js/translated/stock.js:2521
msgid "Details"
msgstr ""
-#: templates/js/translated/stock.js:2519
+#: templates/js/translated/stock.js:2537
msgid "Part information unavailable"
msgstr ""
-#: templates/js/translated/stock.js:2541
+#: templates/js/translated/stock.js:2559
msgid "Location no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2560
+#: templates/js/translated/stock.js:2578
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2579
+#: templates/js/translated/stock.js:2597
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2597
+#: templates/js/translated/stock.js:2615
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2620
+#: templates/js/translated/stock.js:2638
msgid "Added"
msgstr ""
-#: templates/js/translated/stock.js:2628
+#: templates/js/translated/stock.js:2646
msgid "Removed"
msgstr ""
-#: templates/js/translated/stock.js:2704
+#: templates/js/translated/stock.js:2722
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:2755 templates/js/translated/stock.js:2791
+#: templates/js/translated/stock.js:2773 templates/js/translated/stock.js:2809
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2804
+#: templates/js/translated/stock.js:2822
msgid "Select stock item to uninstall"
msgstr ""
-#: templates/js/translated/stock.js:2825
+#: templates/js/translated/stock.js:2843
msgid "Install another stock item into this item"
msgstr ""
-#: templates/js/translated/stock.js:2826
+#: templates/js/translated/stock.js:2844
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: templates/js/translated/stock.js:2828
+#: templates/js/translated/stock.js:2846
msgid "The Stock Item links to a Part which is the BOM for this Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2829
+#: templates/js/translated/stock.js:2847
msgid "The Stock Item is currently available in stock"
msgstr ""
-#: templates/js/translated/stock.js:2830
+#: templates/js/translated/stock.js:2848
msgid "The Stock Item is not already installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:2831
+#: templates/js/translated/stock.js:2849
msgid "The Stock Item is tracked by either a batch code or serial number"
msgstr ""
-#: templates/js/translated/stock.js:2844
+#: templates/js/translated/stock.js:2862
msgid "Select part to install"
msgstr ""
@@ -10236,215 +10558,220 @@ msgstr ""
msgid "Allow Variant Stock"
msgstr ""
-#: templates/js/translated/table_filters.js:126
-#: templates/js/translated/table_filters.js:199
+#: templates/js/translated/table_filters.js:92
+#: templates/js/translated/table_filters.js:508
+msgid "Has Pricing"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:130
+#: templates/js/translated/table_filters.js:203
msgid "Include sublocations"
msgstr ""
-#: templates/js/translated/table_filters.js:127
+#: templates/js/translated/table_filters.js:131
msgid "Include locations"
msgstr ""
-#: templates/js/translated/table_filters.js:137
-#: templates/js/translated/table_filters.js:138
-#: templates/js/translated/table_filters.js:445
+#: templates/js/translated/table_filters.js:141
+#: templates/js/translated/table_filters.js:142
+#: templates/js/translated/table_filters.js:449
msgid "Include subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:142
-#: templates/js/translated/table_filters.js:488
+#: templates/js/translated/table_filters.js:146
+#: templates/js/translated/table_filters.js:492
msgid "Subscribed"
msgstr ""
-#: templates/js/translated/table_filters.js:152
-#: templates/js/translated/table_filters.js:234
-msgid "Is Serialized"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:155
-#: templates/js/translated/table_filters.js:241
-msgid "Serial number GTE"
-msgstr ""
-
#: templates/js/translated/table_filters.js:156
-#: templates/js/translated/table_filters.js:242
-msgid "Serial number greater than or equal to"
+#: templates/js/translated/table_filters.js:238
+msgid "Is Serialized"
msgstr ""
#: templates/js/translated/table_filters.js:159
#: templates/js/translated/table_filters.js:245
-msgid "Serial number LTE"
+msgid "Serial number GTE"
msgstr ""
#: templates/js/translated/table_filters.js:160
#: templates/js/translated/table_filters.js:246
-msgid "Serial number less than or equal to"
+msgid "Serial number greater than or equal to"
msgstr ""
#: templates/js/translated/table_filters.js:163
+#: templates/js/translated/table_filters.js:249
+msgid "Serial number LTE"
+msgstr ""
+
#: templates/js/translated/table_filters.js:164
-#: templates/js/translated/table_filters.js:237
-#: templates/js/translated/table_filters.js:238
+#: templates/js/translated/table_filters.js:250
+msgid "Serial number less than or equal to"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:167
+#: templates/js/translated/table_filters.js:168
+#: templates/js/translated/table_filters.js:241
+#: templates/js/translated/table_filters.js:242
msgid "Serial number"
msgstr ""
-#: templates/js/translated/table_filters.js:168
-#: templates/js/translated/table_filters.js:259
+#: templates/js/translated/table_filters.js:172
+#: templates/js/translated/table_filters.js:263
msgid "Batch code"
msgstr ""
-#: templates/js/translated/table_filters.js:179
-#: templates/js/translated/table_filters.js:417
+#: templates/js/translated/table_filters.js:183
+#: templates/js/translated/table_filters.js:421
msgid "Active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:180
+#: templates/js/translated/table_filters.js:184
msgid "Show stock for active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:185
+#: templates/js/translated/table_filters.js:189
msgid "Part is an assembly"
msgstr ""
-#: templates/js/translated/table_filters.js:189
+#: templates/js/translated/table_filters.js:193
msgid "Is allocated"
msgstr ""
-#: templates/js/translated/table_filters.js:190
+#: templates/js/translated/table_filters.js:194
msgid "Item has been allocated"
msgstr ""
-#: templates/js/translated/table_filters.js:195
+#: templates/js/translated/table_filters.js:199
msgid "Stock is available for use"
msgstr ""
-#: templates/js/translated/table_filters.js:200
+#: templates/js/translated/table_filters.js:204
msgid "Include stock in sublocations"
msgstr ""
-#: templates/js/translated/table_filters.js:205
+#: templates/js/translated/table_filters.js:209
msgid "Show stock items which are depleted"
msgstr ""
-#: templates/js/translated/table_filters.js:210
+#: templates/js/translated/table_filters.js:214
msgid "Show items which are in stock"
msgstr ""
-#: templates/js/translated/table_filters.js:214
+#: templates/js/translated/table_filters.js:218
msgid "In Production"
msgstr ""
-#: templates/js/translated/table_filters.js:215
+#: templates/js/translated/table_filters.js:219
msgid "Show items which are in production"
msgstr ""
-#: templates/js/translated/table_filters.js:219
+#: templates/js/translated/table_filters.js:223
msgid "Include Variants"
msgstr ""
-#: templates/js/translated/table_filters.js:220
+#: templates/js/translated/table_filters.js:224
msgid "Include stock items for variant parts"
msgstr ""
-#: templates/js/translated/table_filters.js:224
+#: templates/js/translated/table_filters.js:228
msgid "Installed"
msgstr ""
-#: templates/js/translated/table_filters.js:225
+#: templates/js/translated/table_filters.js:229
msgid "Show stock items which are installed in another item"
msgstr ""
-#: templates/js/translated/table_filters.js:230
+#: templates/js/translated/table_filters.js:234
msgid "Show items which have been assigned to a customer"
msgstr ""
-#: templates/js/translated/table_filters.js:250
-#: templates/js/translated/table_filters.js:251
+#: templates/js/translated/table_filters.js:254
+#: templates/js/translated/table_filters.js:255
msgid "Stock status"
msgstr ""
-#: templates/js/translated/table_filters.js:254
+#: templates/js/translated/table_filters.js:258
msgid "Has batch code"
msgstr ""
-#: templates/js/translated/table_filters.js:262
+#: templates/js/translated/table_filters.js:266
msgid "Tracked"
msgstr ""
-#: templates/js/translated/table_filters.js:263
+#: templates/js/translated/table_filters.js:267
msgid "Stock item is tracked by either batch code or serial number"
msgstr ""
-#: templates/js/translated/table_filters.js:268
+#: templates/js/translated/table_filters.js:272
msgid "Has purchase price"
msgstr ""
-#: templates/js/translated/table_filters.js:269
+#: templates/js/translated/table_filters.js:273
msgid "Show stock items which have a purchase price set"
msgstr ""
-#: templates/js/translated/table_filters.js:278
+#: templates/js/translated/table_filters.js:282
msgid "Show stock items which have expired"
msgstr ""
-#: templates/js/translated/table_filters.js:284
+#: templates/js/translated/table_filters.js:288
msgid "Show stock which is close to expiring"
msgstr ""
-#: templates/js/translated/table_filters.js:296
+#: templates/js/translated/table_filters.js:300
msgid "Test Passed"
msgstr ""
-#: templates/js/translated/table_filters.js:300
+#: templates/js/translated/table_filters.js:304
msgid "Include Installed Items"
msgstr ""
-#: templates/js/translated/table_filters.js:319
+#: templates/js/translated/table_filters.js:323
msgid "Build status"
msgstr ""
-#: templates/js/translated/table_filters.js:332
-#: templates/js/translated/table_filters.js:373
+#: templates/js/translated/table_filters.js:336
+#: templates/js/translated/table_filters.js:377
msgid "Assigned to me"
msgstr ""
-#: templates/js/translated/table_filters.js:349
-#: templates/js/translated/table_filters.js:360
-#: templates/js/translated/table_filters.js:390
+#: templates/js/translated/table_filters.js:353
+#: templates/js/translated/table_filters.js:364
+#: templates/js/translated/table_filters.js:394
msgid "Order status"
msgstr ""
-#: templates/js/translated/table_filters.js:365
-#: templates/js/translated/table_filters.js:382
-#: templates/js/translated/table_filters.js:395
+#: templates/js/translated/table_filters.js:369
+#: templates/js/translated/table_filters.js:386
+#: templates/js/translated/table_filters.js:399
msgid "Outstanding"
msgstr ""
-#: templates/js/translated/table_filters.js:446
+#: templates/js/translated/table_filters.js:450
msgid "Include parts in subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:451
+#: templates/js/translated/table_filters.js:455
msgid "Show active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:459
+#: templates/js/translated/table_filters.js:463
msgid "Available stock"
msgstr ""
-#: templates/js/translated/table_filters.js:467
+#: templates/js/translated/table_filters.js:471
msgid "Has IPN"
msgstr ""
-#: templates/js/translated/table_filters.js:468
+#: templates/js/translated/table_filters.js:472
msgid "Part has internal part number"
msgstr ""
-#: templates/js/translated/table_filters.js:472
+#: templates/js/translated/table_filters.js:476
msgid "In stock"
msgstr ""
-#: templates/js/translated/table_filters.js:480
+#: templates/js/translated/table_filters.js:484
msgid "Purchasable"
msgstr ""
@@ -10554,6 +10881,10 @@ msgstr ""
msgid "Show all notifications and history"
msgstr ""
+#: templates/price_data.html:7
+msgid "No data"
+msgstr ""
+
#: templates/qr_code.html:11
msgid "QR data not provided"
msgstr ""
@@ -10738,35 +11069,35 @@ msgstr ""
msgid "Important dates"
msgstr ""
-#: users/models.py:205
+#: users/models.py:207
msgid "Permission set"
msgstr ""
-#: users/models.py:213
+#: users/models.py:215
msgid "Group"
msgstr ""
-#: users/models.py:216
+#: users/models.py:218
msgid "View"
msgstr ""
-#: users/models.py:216
+#: users/models.py:218
msgid "Permission to view items"
msgstr ""
-#: users/models.py:218
+#: users/models.py:220
msgid "Permission to add items"
msgstr ""
-#: users/models.py:220
+#: users/models.py:222
msgid "Change"
msgstr ""
-#: users/models.py:220
+#: users/models.py:222
msgid "Permissions to edit items"
msgstr ""
-#: users/models.py:222
+#: users/models.py:224
msgid "Permission to delete items"
msgstr ""
diff --git a/InvenTree/locale/en/LC_MESSAGES/django.po b/InvenTree/locale/en/LC_MESSAGES/django.po
index 705be13374..d44b8bfdbf 100644
--- a/InvenTree/locale/en/LC_MESSAGES/django.po
+++ b/InvenTree/locale/en/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-11-03 11:22+0000\n"
+"POT-Creation-Date: 2022-11-07 02:58+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
@@ -43,9 +43,9 @@ msgstr ""
#: stock/templates/stock/stock_sidebar.html:25
#: templates/js/translated/barcode.js:108 templates/js/translated/bom.js:1146
#: templates/js/translated/company.js:1022
-#: templates/js/translated/order.js:2404 templates/js/translated/order.js:2552
-#: templates/js/translated/order.js:3048 templates/js/translated/order.js:3999
-#: templates/js/translated/order.js:4394 templates/js/translated/stock.js:1374
+#: templates/js/translated/order.js:2409 templates/js/translated/order.js:2561
+#: templates/js/translated/order.js:3059 templates/js/translated/order.js:4014
+#: templates/js/translated/order.js:4413 templates/js/translated/stock.js:1374
#: templates/js/translated/stock.js:1982
msgid "Notes"
msgstr ""
@@ -211,7 +211,7 @@ msgstr ""
#: report/templates/report/inventree_build_order_base.html:164
#: templates/js/translated/company.js:691
#: templates/js/translated/company.js:1011
-#: templates/js/translated/order.js:3037 templates/js/translated/part.js:1569
+#: templates/js/translated/order.js:3048 templates/js/translated/part.js:1569
msgid "Link"
msgstr ""
@@ -229,10 +229,10 @@ msgstr ""
msgid "File comment"
msgstr ""
-#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1744
-#: common/models.py:1745 common/models.py:1968 common/models.py:1969
-#: common/models.py:2231 common/models.py:2232 part/models.py:2254
-#: part/models.py:2274 plugin/models.py:260 plugin/models.py:261
+#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1758
+#: common/models.py:1759 common/models.py:1982 common/models.py:1983
+#: common/models.py:2245 common/models.py:2246 part/models.py:2254
+#: part/models.py:2274 plugin/models.py:264 plugin/models.py:265
#: report/templates/report/inventree_test_report_base.html:96
#: templates/js/translated/stock.js:2651
msgid "User"
@@ -271,14 +271,14 @@ msgstr ""
msgid "Invalid choice"
msgstr ""
-#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1954
+#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1968
#: company/models.py:359 label/models.py:101 part/models.py:760
#: part/models.py:2429 plugin/models.py:94 report/models.py:152
#: templates/InvenTree/settings/mixins/urls.html:13
-#: templates/InvenTree/settings/plugin.html:51
-#: templates/InvenTree/settings/plugin.html:134
+#: templates/InvenTree/settings/plugin.html:60
+#: templates/InvenTree/settings/plugin.html:104
#: templates/InvenTree/settings/plugin_settings.html:23
-#: templates/InvenTree/settings/settings.html:347
+#: templates/InvenTree/settings/settings.html:344
#: templates/js/translated/company.js:580
#: templates/js/translated/company.js:793
#: templates/js/translated/notification.js:71
@@ -298,13 +298,13 @@ msgstr ""
#: report/models.py:507 report/models.py:551
#: report/templates/report/inventree_build_order_base.html:117
#: stock/templates/stock/location.html:117
-#: templates/InvenTree/settings/plugin_settings.html:33
-#: templates/InvenTree/settings/settings.html:358
+#: templates/InvenTree/settings/plugin_settings.html:28
+#: templates/InvenTree/settings/settings.html:355
#: templates/js/translated/bom.js:579 templates/js/translated/bom.js:887
#: templates/js/translated/build.js:2580 templates/js/translated/company.js:444
#: templates/js/translated/company.js:702
#: templates/js/translated/company.js:986 templates/js/translated/order.js:1988
-#: templates/js/translated/order.js:2220 templates/js/translated/order.js:2826
+#: templates/js/translated/order.js:2225 templates/js/translated/order.js:2837
#: templates/js/translated/part.js:745 templates/js/translated/part.js:1187
#: templates/js/translated/part.js:1464 templates/js/translated/part.js:2000
#: templates/js/translated/part.js:2075 templates/js/translated/stock.js:1748
@@ -563,7 +563,7 @@ msgid "Returned"
msgstr ""
#: InvenTree/status_codes.py:141 order/models.py:1142
-#: templates/js/translated/order.js:3625 templates/js/translated/order.js:3974
+#: templates/js/translated/order.js:3636 templates/js/translated/order.js:3989
msgid "Shipped"
msgstr ""
@@ -747,7 +747,7 @@ msgstr ""
#: build/models.py:111 build/templates/build/build_base.html:13
#: build/templates/build/index.html:8 build/templates/build/index.html:12
-#: order/templates/order/sales_order_detail.html:120
+#: order/templates/order/sales_order_detail.html:125
#: order/templates/order/so_sidebar.html:13
#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221
#: templates/InvenTree/search.html:141
@@ -766,9 +766,9 @@ msgstr ""
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:92
#: templates/js/translated/bom.js:716 templates/js/translated/bom.js:897
-#: templates/js/translated/build.js:1843 templates/js/translated/order.js:2251
-#: templates/js/translated/order.js:2481 templates/js/translated/order.js:3818
-#: templates/js/translated/order.js:4323
+#: templates/js/translated/build.js:1843 templates/js/translated/order.js:2256
+#: templates/js/translated/order.js:2490 templates/js/translated/order.js:3833
+#: templates/js/translated/order.js:4342
msgid "Reference"
msgstr ""
@@ -812,8 +812,8 @@ msgstr ""
#: templates/js/translated/company.js:643
#: templates/js/translated/company.js:904 templates/js/translated/order.js:106
#: templates/js/translated/order.js:1134 templates/js/translated/order.js:1638
-#: templates/js/translated/order.js:2205 templates/js/translated/order.js:3180
-#: templates/js/translated/order.js:3576 templates/js/translated/order.js:3802
+#: templates/js/translated/order.js:2210 templates/js/translated/order.js:3191
+#: templates/js/translated/order.js:3587 templates/js/translated/order.js:3817
#: templates/js/translated/part.js:1172 templates/js/translated/part.js:1244
#: templates/js/translated/part.js:1442 templates/js/translated/stock.js:586
#: templates/js/translated/stock.js:751 templates/js/translated/stock.js:958
@@ -835,7 +835,7 @@ msgid "SalesOrder to which this build is allocated"
msgstr ""
#: build/models.py:202 build/serializers.py:822
-#: templates/js/translated/build.js:2182 templates/js/translated/order.js:3168
+#: templates/js/translated/build.js:2182 templates/js/translated/order.js:3179
msgid "Source Location"
msgstr ""
@@ -885,7 +885,7 @@ msgid "Batch code for this build output"
msgstr ""
#: build/models.py:252 order/models.py:86 part/models.py:952
-#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2839
+#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2850
msgid "Creation Date"
msgstr ""
@@ -1002,9 +1002,9 @@ msgstr ""
#: stock/templates/stock/item_base.html:197
#: templates/js/translated/build.js:790 templates/js/translated/build.js:795
#: templates/js/translated/build.js:2196 templates/js/translated/build.js:2747
-#: templates/js/translated/order.js:107 templates/js/translated/order.js:3181
-#: templates/js/translated/order.js:3483 templates/js/translated/order.js:3488
-#: templates/js/translated/order.js:3583 templates/js/translated/order.js:3675
+#: templates/js/translated/order.js:107 templates/js/translated/order.js:3192
+#: templates/js/translated/order.js:3494 templates/js/translated/order.js:3499
+#: templates/js/translated/order.js:3594 templates/js/translated/order.js:3686
#: templates/js/translated/stock.js:587 templates/js/translated/stock.js:752
#: templates/js/translated/stock.js:2587
msgid "Stock Item"
@@ -1016,7 +1016,7 @@ msgstr ""
#: build/models.py:1359 build/serializers.py:192
#: build/templates/build/build_base.html:85
-#: build/templates/build/detail.html:34 common/models.py:1776
+#: build/templates/build/detail.html:34 common/models.py:1790
#: company/templates/company/supplier_part.html:341 order/models.py:911
#: order/models.py:1437 order/serializers.py:1213
#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:40
@@ -1039,10 +1039,10 @@ msgstr ""
#: templates/js/translated/build.js:2197
#: templates/js/translated/model_renderers.js:120
#: templates/js/translated/order.js:123 templates/js/translated/order.js:1137
-#: templates/js/translated/order.js:2257 templates/js/translated/order.js:2487
-#: templates/js/translated/order.js:3182 templates/js/translated/order.js:3502
-#: templates/js/translated/order.js:3589 templates/js/translated/order.js:3681
-#: templates/js/translated/order.js:3824 templates/js/translated/order.js:4329
+#: templates/js/translated/order.js:2262 templates/js/translated/order.js:2496
+#: templates/js/translated/order.js:3193 templates/js/translated/order.js:3513
+#: templates/js/translated/order.js:3600 templates/js/translated/order.js:3692
+#: templates/js/translated/order.js:3839 templates/js/translated/order.js:4348
#: templates/js/translated/part.js:1036 templates/js/translated/part.js:2220
#: templates/js/translated/part.js:2689 templates/js/translated/part.js:2730
#: templates/js/translated/part.js:2808 templates/js/translated/stock.js:458
@@ -1136,8 +1136,8 @@ msgstr ""
#: templates/js/translated/barcode.js:480
#: templates/js/translated/barcode.js:724 templates/js/translated/build.js:802
#: templates/js/translated/build.js:1749 templates/js/translated/order.js:1534
-#: templates/js/translated/order.js:3495 templates/js/translated/order.js:3600
-#: templates/js/translated/order.js:3608 templates/js/translated/order.js:3689
+#: templates/js/translated/order.js:3506 templates/js/translated/order.js:3611
+#: templates/js/translated/order.js:3619 templates/js/translated/order.js:3700
#: templates/js/translated/part.js:181 templates/js/translated/stock.js:588
#: templates/js/translated/stock.js:753 templates/js/translated/stock.js:960
#: templates/js/translated/stock.js:1856 templates/js/translated/stock.js:2528
@@ -1153,7 +1153,7 @@ msgstr ""
#: order/serializers.py:482 stock/templates/stock/item_base.html:421
#: templates/js/translated/barcode.js:214 templates/js/translated/build.js:2614
#: templates/js/translated/order.js:1643 templates/js/translated/order.js:1992
-#: templates/js/translated/order.js:2831 templates/js/translated/stock.js:1831
+#: templates/js/translated/order.js:2842 templates/js/translated/stock.js:1831
#: templates/js/translated/stock.js:2605 templates/js/translated/stock.js:2737
msgid "Status"
msgstr ""
@@ -1388,8 +1388,8 @@ msgstr ""
#: order/templates/order/sales_order_base.html:164
#: report/templates/report/inventree_build_order_base.html:125
#: templates/js/translated/build.js:2654 templates/js/translated/order.js:2009
-#: templates/js/translated/order.js:2351 templates/js/translated/order.js:2847
-#: templates/js/translated/order.js:3887 templates/js/translated/part.js:1051
+#: templates/js/translated/order.js:2356 templates/js/translated/order.js:2858
+#: templates/js/translated/order.js:3902 templates/js/translated/part.js:1051
msgid "Target Date"
msgstr ""
@@ -1424,7 +1424,7 @@ msgstr ""
#: report/templates/report/inventree_so_report.html:77
#: stock/templates/stock/item_base.html:368
#: templates/email/overdue_sales_order.html:15
-#: templates/js/translated/order.js:2793
+#: templates/js/translated/order.js:2804
msgid "Sales Order"
msgstr ""
@@ -1451,7 +1451,7 @@ msgid "Stock can be taken from any available location."
msgstr ""
#: build/templates/build/detail.html:49 order/models.py:1037
-#: templates/js/translated/order.js:1644 templates/js/translated/order.js:2393
+#: templates/js/translated/order.js:1644 templates/js/translated/order.js:2398
msgid "Destination"
msgstr ""
@@ -1598,8 +1598,8 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:151
#: company/templates/company/manufacturer_part_sidebar.html:9
#: order/templates/order/po_sidebar.html:9
-#: order/templates/order/purchase_order_detail.html:82
-#: order/templates/order/sales_order_detail.html:135
+#: order/templates/order/purchase_order_detail.html:86
+#: order/templates/order/sales_order_detail.html:140
#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:212
#: part/templates/part/part_sidebar.html:57 stock/templates/stock/item.html:117
#: stock/templates/stock/stock_sidebar.html:23
@@ -2200,500 +2200,516 @@ msgid "Enable creation of default shipment with sales orders"
msgstr ""
#: common/models.py:1263
-msgid "Purchase Order Reference Pattern"
+msgid "Edit Completed Sales Orders"
msgstr ""
#: common/models.py:1264
-msgid "Required pattern for generating Purchase Order reference field"
+msgid "Allow editing of sales orders after they have been shipped or completed"
+msgstr ""
+
+#: common/models.py:1270
+msgid "Purchase Order Reference Pattern"
msgstr ""
#: common/models.py:1271
-msgid "Enable password forgot"
+msgid "Required pattern for generating Purchase Order reference field"
msgstr ""
-#: common/models.py:1272
-msgid "Enable password forgot function on the login pages"
+#: common/models.py:1277
+msgid "Edit Completed Purchase Orders"
msgstr ""
#: common/models.py:1278
-msgid "Enable registration"
-msgstr ""
-
-#: common/models.py:1279
-msgid "Enable self-registration for users on the login pages"
+msgid "Allow editing of purchase orders after they have been shipped or completed"
msgstr ""
#: common/models.py:1285
-msgid "Enable SSO"
+msgid "Enable password forgot"
msgstr ""
#: common/models.py:1286
-msgid "Enable SSO on the login pages"
+msgid "Enable password forgot function on the login pages"
msgstr ""
#: common/models.py:1292
-msgid "Email required"
+msgid "Enable registration"
msgstr ""
#: common/models.py:1293
-msgid "Require user to supply mail on signup"
+msgid "Enable self-registration for users on the login pages"
msgstr ""
#: common/models.py:1299
-msgid "Auto-fill SSO users"
+msgid "Enable SSO"
msgstr ""
#: common/models.py:1300
-msgid "Automatically fill out user-details from SSO account-data"
+msgid "Enable SSO on the login pages"
msgstr ""
#: common/models.py:1306
-msgid "Mail twice"
+msgid "Email required"
msgstr ""
#: common/models.py:1307
-msgid "On signup ask users twice for their mail"
+msgid "Require user to supply mail on signup"
msgstr ""
#: common/models.py:1313
-msgid "Password twice"
+msgid "Auto-fill SSO users"
msgstr ""
#: common/models.py:1314
-msgid "On signup ask users twice for their password"
+msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
#: common/models.py:1320
-msgid "Group on signup"
+msgid "Mail twice"
msgstr ""
#: common/models.py:1321
-msgid "Group to which new users are assigned on registration"
+msgid "On signup ask users twice for their mail"
msgstr ""
#: common/models.py:1327
-msgid "Enforce MFA"
+msgid "Password twice"
msgstr ""
#: common/models.py:1328
-msgid "Users must use multifactor security."
+msgid "On signup ask users twice for their password"
msgstr ""
#: common/models.py:1334
-msgid "Check plugins on startup"
+msgid "Group on signup"
msgstr ""
#: common/models.py:1335
-msgid "Check that all plugins are installed on startup - enable in container enviroments"
+msgid "Group to which new users are assigned on registration"
+msgstr ""
+
+#: common/models.py:1341
+msgid "Enforce MFA"
msgstr ""
#: common/models.py:1342
+msgid "Users must use multifactor security."
+msgstr ""
+
+#: common/models.py:1348
+msgid "Check plugins on startup"
+msgstr ""
+
+#: common/models.py:1349
+msgid "Check that all plugins are installed on startup - enable in container environments"
+msgstr ""
+
+#: common/models.py:1356
msgid "Check plugin signatures"
msgstr ""
-#: common/models.py:1343
+#: common/models.py:1357
msgid "Check and show signatures for plugins"
msgstr ""
-#: common/models.py:1350
+#: common/models.py:1364
msgid "Enable URL integration"
msgstr ""
-#: common/models.py:1351
+#: common/models.py:1365
msgid "Enable plugins to add URL routes"
msgstr ""
-#: common/models.py:1358
+#: common/models.py:1372
msgid "Enable navigation integration"
msgstr ""
-#: common/models.py:1359
+#: common/models.py:1373
msgid "Enable plugins to integrate into navigation"
msgstr ""
-#: common/models.py:1366
+#: common/models.py:1380
msgid "Enable app integration"
msgstr ""
-#: common/models.py:1367
+#: common/models.py:1381
msgid "Enable plugins to add apps"
msgstr ""
-#: common/models.py:1374
+#: common/models.py:1388
msgid "Enable schedule integration"
msgstr ""
-#: common/models.py:1375
+#: common/models.py:1389
msgid "Enable plugins to run scheduled tasks"
msgstr ""
-#: common/models.py:1382
+#: common/models.py:1396
msgid "Enable event integration"
msgstr ""
-#: common/models.py:1383
+#: common/models.py:1397
msgid "Enable plugins to respond to internal events"
msgstr ""
-#: common/models.py:1402 common/models.py:1737
+#: common/models.py:1416 common/models.py:1751
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:1424
+#: common/models.py:1438
msgid "Show subscribed parts"
msgstr ""
-#: common/models.py:1425
+#: common/models.py:1439
msgid "Show subscribed parts on the homepage"
msgstr ""
-#: common/models.py:1431
+#: common/models.py:1445
msgid "Show subscribed categories"
msgstr ""
-#: common/models.py:1432
+#: common/models.py:1446
msgid "Show subscribed part categories on the homepage"
msgstr ""
-#: common/models.py:1438
+#: common/models.py:1452
msgid "Show latest parts"
msgstr ""
-#: common/models.py:1439
+#: common/models.py:1453
msgid "Show latest parts on the homepage"
msgstr ""
-#: common/models.py:1445
+#: common/models.py:1459
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:1446
+#: common/models.py:1460
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:1452
+#: common/models.py:1466
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:1453
+#: common/models.py:1467
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:1459
+#: common/models.py:1473
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:1460
+#: common/models.py:1474
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:1466
+#: common/models.py:1480
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:1467
+#: common/models.py:1481
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:1473
+#: common/models.py:1487
msgid "Show low stock"
msgstr ""
-#: common/models.py:1474
+#: common/models.py:1488
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:1480
+#: common/models.py:1494
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:1481
+#: common/models.py:1495
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:1487
+#: common/models.py:1501
msgid "Show needed stock"
msgstr ""
-#: common/models.py:1488
+#: common/models.py:1502
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:1494
+#: common/models.py:1508
msgid "Show expired stock"
msgstr ""
-#: common/models.py:1495
+#: common/models.py:1509
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:1501
+#: common/models.py:1515
msgid "Show stale stock"
msgstr ""
-#: common/models.py:1502
+#: common/models.py:1516
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:1508
+#: common/models.py:1522
msgid "Show pending builds"
msgstr ""
-#: common/models.py:1509
+#: common/models.py:1523
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:1515
+#: common/models.py:1529
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:1516
+#: common/models.py:1530
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:1522
+#: common/models.py:1536
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:1523
+#: common/models.py:1537
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:1529
+#: common/models.py:1543
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:1530
+#: common/models.py:1544
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:1536
+#: common/models.py:1550
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:1537
+#: common/models.py:1551
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:1543
+#: common/models.py:1557
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:1544
+#: common/models.py:1558
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:1550
+#: common/models.py:1564
msgid "Inline label display"
msgstr ""
-#: common/models.py:1551
+#: common/models.py:1565
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1557
+#: common/models.py:1571
msgid "Inline report display"
msgstr ""
-#: common/models.py:1558
+#: common/models.py:1572
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1564
+#: common/models.py:1578
msgid "Search Parts"
msgstr ""
-#: common/models.py:1565
+#: common/models.py:1579
msgid "Display parts in search preview window"
msgstr ""
-#: common/models.py:1571
+#: common/models.py:1585
msgid "Seach Supplier Parts"
msgstr ""
-#: common/models.py:1572
+#: common/models.py:1586
msgid "Display supplier parts in search preview window"
msgstr ""
-#: common/models.py:1578
+#: common/models.py:1592
msgid "Search Manufacturer Parts"
msgstr ""
-#: common/models.py:1579
+#: common/models.py:1593
msgid "Display manufacturer parts in search preview window"
msgstr ""
-#: common/models.py:1585
+#: common/models.py:1599
msgid "Hide Inactive Parts"
msgstr ""
-#: common/models.py:1586
+#: common/models.py:1600
msgid "Excluded inactive parts from search preview window"
msgstr ""
-#: common/models.py:1592
+#: common/models.py:1606
msgid "Search Categories"
msgstr ""
-#: common/models.py:1593
+#: common/models.py:1607
msgid "Display part categories in search preview window"
msgstr ""
-#: common/models.py:1599
+#: common/models.py:1613
msgid "Search Stock"
msgstr ""
-#: common/models.py:1600
+#: common/models.py:1614
msgid "Display stock items in search preview window"
msgstr ""
-#: common/models.py:1606
+#: common/models.py:1620
msgid "Hide Unavailable Stock Items"
msgstr ""
-#: common/models.py:1607
+#: common/models.py:1621
msgid "Exclude stock items which are not available from the search preview window"
msgstr ""
-#: common/models.py:1613
+#: common/models.py:1627
msgid "Search Locations"
msgstr ""
-#: common/models.py:1614
+#: common/models.py:1628
msgid "Display stock locations in search preview window"
msgstr ""
-#: common/models.py:1620
+#: common/models.py:1634
msgid "Search Companies"
msgstr ""
-#: common/models.py:1621
+#: common/models.py:1635
msgid "Display companies in search preview window"
msgstr ""
-#: common/models.py:1627
+#: common/models.py:1641
msgid "Search Build Orders"
msgstr ""
-#: common/models.py:1628
+#: common/models.py:1642
msgid "Display build orders in search preview window"
msgstr ""
-#: common/models.py:1634
+#: common/models.py:1648
msgid "Search Purchase Orders"
msgstr ""
-#: common/models.py:1635
+#: common/models.py:1649
msgid "Display purchase orders in search preview window"
msgstr ""
-#: common/models.py:1641
+#: common/models.py:1655
msgid "Exclude Inactive Purchase Orders"
msgstr ""
-#: common/models.py:1642
+#: common/models.py:1656
msgid "Exclude inactive purchase orders from search preview window"
msgstr ""
-#: common/models.py:1648
+#: common/models.py:1662
msgid "Search Sales Orders"
msgstr ""
-#: common/models.py:1649
+#: common/models.py:1663
msgid "Display sales orders in search preview window"
msgstr ""
-#: common/models.py:1655
+#: common/models.py:1669
msgid "Exclude Inactive Sales Orders"
msgstr ""
-#: common/models.py:1656
+#: common/models.py:1670
msgid "Exclude inactive sales orders from search preview window"
msgstr ""
-#: common/models.py:1662
+#: common/models.py:1676
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:1663
+#: common/models.py:1677
msgid "Number of results to show in each section of the search preview window"
msgstr ""
-#: common/models.py:1669
+#: common/models.py:1683
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:1670
+#: common/models.py:1684
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:1676
+#: common/models.py:1690
msgid "Escape Key Closes Forms"
msgstr ""
-#: common/models.py:1677
+#: common/models.py:1691
msgid "Use the escape key to close modal forms"
msgstr ""
-#: common/models.py:1683
+#: common/models.py:1697
msgid "Fixed Navbar"
msgstr ""
-#: common/models.py:1684
+#: common/models.py:1698
msgid "The navbar position is fixed to the top of the screen"
msgstr ""
-#: common/models.py:1690
+#: common/models.py:1704
msgid "Date Format"
msgstr ""
-#: common/models.py:1691
+#: common/models.py:1705
msgid "Preferred format for displaying dates"
msgstr ""
-#: common/models.py:1705 part/templates/part/detail.html:41
+#: common/models.py:1719 part/templates/part/detail.html:41
msgid "Part Scheduling"
msgstr ""
-#: common/models.py:1706
+#: common/models.py:1720
msgid "Display part scheduling information"
msgstr ""
-#: common/models.py:1712
+#: common/models.py:1726
msgid "Table String Length"
msgstr ""
-#: common/models.py:1713
+#: common/models.py:1727
msgid "Maximimum length limit for strings displayed in table views"
msgstr ""
-#: common/models.py:1777
+#: common/models.py:1791
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1784 company/serializers.py:372
+#: common/models.py:1798 company/serializers.py:372
#: company/templates/company/supplier_part.html:346 order/models.py:952
#: templates/js/translated/part.js:1103 templates/js/translated/part.js:2225
msgid "Price"
msgstr ""
-#: common/models.py:1785
+#: common/models.py:1799
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1945 common/models.py:2123
+#: common/models.py:1959 common/models.py:2137
msgid "Endpoint"
msgstr ""
-#: common/models.py:1946
+#: common/models.py:1960
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:1955
+#: common/models.py:1969
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:1960 part/models.py:935 plugin/models.py:100
+#: common/models.py:1974 part/models.py:935 plugin/models.py:100
#: templates/js/translated/table_filters.js:34
#: templates/js/translated/table_filters.js:112
#: templates/js/translated/table_filters.js:324
@@ -2701,67 +2717,67 @@ msgstr ""
msgid "Active"
msgstr ""
-#: common/models.py:1961
+#: common/models.py:1975
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:1975
+#: common/models.py:1989
msgid "Token"
msgstr ""
-#: common/models.py:1976
+#: common/models.py:1990
msgid "Token for access"
msgstr ""
-#: common/models.py:1983
+#: common/models.py:1997
msgid "Secret"
msgstr ""
-#: common/models.py:1984
+#: common/models.py:1998
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:2090
+#: common/models.py:2104
msgid "Message ID"
msgstr ""
-#: common/models.py:2091
+#: common/models.py:2105
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:2099
+#: common/models.py:2113
msgid "Host"
msgstr ""
-#: common/models.py:2100
+#: common/models.py:2114
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:2107
+#: common/models.py:2121
msgid "Header"
msgstr ""
-#: common/models.py:2108
+#: common/models.py:2122
msgid "Header of this message"
msgstr ""
-#: common/models.py:2114
+#: common/models.py:2128
msgid "Body"
msgstr ""
-#: common/models.py:2115
+#: common/models.py:2129
msgid "Body of this message"
msgstr ""
-#: common/models.py:2124
+#: common/models.py:2138
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:2129
+#: common/models.py:2143
msgid "Worked on"
msgstr ""
-#: common/models.py:2130
+#: common/models.py:2144
msgid "Was the work on this message finished?"
msgstr ""
@@ -2786,7 +2802,7 @@ msgstr ""
msgid "Error raised by plugin"
msgstr ""
-#: common/views.py:85 order/templates/order/purchase_order_detail.html:23
+#: common/views.py:85 order/templates/order/purchase_order_detail.html:25
#: order/views.py:102 part/views.py:112
#: templates/patterns/wizard/upload.html:37
msgid "Upload File"
@@ -2945,7 +2961,7 @@ msgstr ""
#: templates/js/translated/company.js:304
#: templates/js/translated/company.js:532
#: templates/js/translated/company.js:684
-#: templates/js/translated/company.js:975 templates/js/translated/order.js:2239
+#: templates/js/translated/company.js:975 templates/js/translated/order.js:2244
#: templates/js/translated/part.js:247 templates/js/translated/part.js:1025
msgid "MPN"
msgstr ""
@@ -2987,7 +3003,7 @@ msgstr ""
#: company/models.py:373 part/models.py:902 part/models.py:2434
#: part/templates/part/part_base.html:286
-#: templates/InvenTree/settings/settings.html:352
+#: templates/InvenTree/settings/settings.html:349
#: templates/js/translated/company.js:805 templates/js/translated/part.js:853
msgid "Units"
msgstr ""
@@ -3019,7 +3035,7 @@ msgstr ""
#: company/models.py:499 company/templates/company/supplier_part.html:146
#: part/bom.py:238 part/bom.py:266 templates/js/translated/company.js:302
-#: templates/js/translated/order.js:2226 templates/js/translated/part.js:228
+#: templates/js/translated/order.js:2231 templates/js/translated/part.js:228
#: templates/js/translated/part.js:1011
msgid "SKU"
msgstr ""
@@ -3069,7 +3085,7 @@ msgstr ""
#: company/templates/company/supplier_part.html:174
#: templates/js/translated/company.js:996 templates/js/translated/order.js:820
#: templates/js/translated/order.js:1215 templates/js/translated/order.js:1470
-#: templates/js/translated/order.js:2270 templates/js/translated/order.js:2287
+#: templates/js/translated/order.js:2275 templates/js/translated/order.js:2292
#: templates/js/translated/part.js:1043 templates/js/translated/part.js:1095
msgid "Pack Quantity"
msgstr ""
@@ -3168,7 +3184,7 @@ msgstr ""
#: stock/models.py:646 stock/serializers.py:813
#: stock/templates/stock/item_base.html:399
#: templates/email/overdue_sales_order.html:16
-#: templates/js/translated/company.js:428 templates/js/translated/order.js:2808
+#: templates/js/translated/company.js:428 templates/js/translated/order.js:2819
#: templates/js/translated/stock.js:2569
#: templates/js/translated/table_filters.js:435
msgid "Customer"
@@ -3763,7 +3779,7 @@ msgid "Target date for order completion. Order will be overdue after this date."
msgstr ""
#: order/models.py:666 order/models.py:1218
-#: templates/js/translated/order.js:2855 templates/js/translated/order.js:3017
+#: templates/js/translated/order.js:2866 templates/js/translated/order.js:3028
msgid "Shipment Date"
msgstr ""
@@ -3825,7 +3841,7 @@ msgstr ""
#: order/models.py:997 order/models.py:1077 order/models.py:1118
#: order/models.py:1212 order/models.py:1344
-#: templates/js/translated/order.js:3473
+#: templates/js/translated/order.js:3484
msgid "Order"
msgstr ""
@@ -3846,7 +3862,7 @@ msgid "Supplier part"
msgstr ""
#: order/models.py:1023 order/templates/order/order_base.html:178
-#: templates/js/translated/order.js:1641 templates/js/translated/order.js:2373
+#: templates/js/translated/order.js:1641 templates/js/translated/order.js:2378
#: templates/js/translated/part.js:1087 templates/js/translated/part.js:1125
#: templates/js/translated/table_filters.js:346
msgid "Received"
@@ -4163,7 +4179,7 @@ msgid "Receive items"
msgstr ""
#: order/templates/order/order_base.html:67
-#: order/templates/order/purchase_order_detail.html:30
+#: order/templates/order/purchase_order_detail.html:32
msgid "Receive Items"
msgstr ""
@@ -4250,7 +4266,7 @@ msgstr ""
#: templates/js/translated/bom.js:102 templates/js/translated/build.js:479
#: templates/js/translated/build.js:631 templates/js/translated/build.js:2078
#: templates/js/translated/order.js:1084 templates/js/translated/order.js:1586
-#: templates/js/translated/order.js:3092 templates/js/translated/stock.js:625
+#: templates/js/translated/order.js:3103 templates/js/translated/stock.js:625
#: templates/js/translated/stock.js:793
#: templates/patterns/wizard/match_fields.html:70
msgid "Remove row"
@@ -4279,42 +4295,42 @@ msgstr ""
msgid "Received Stock"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:17
+#: order/templates/order/purchase_order_detail.html:19
msgid "Purchase Order Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:26
-#: order/templates/order/sales_order_detail.html:22
-#: order/templates/order/sales_order_detail.html:255
+#: order/templates/order/purchase_order_detail.html:28
+#: order/templates/order/sales_order_detail.html:24
+#: order/templates/order/sales_order_detail.html:260
#: templates/js/translated/order.js:728
msgid "Add Line Item"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:29
+#: order/templates/order/purchase_order_detail.html:31
msgid "Receive selected items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:48
-#: order/templates/order/sales_order_detail.html:42
+#: order/templates/order/purchase_order_detail.html:50
+#: order/templates/order/sales_order_detail.html:45
msgid "Extra Lines"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:53
-#: order/templates/order/sales_order_detail.html:47
-#: order/templates/order/sales_order_detail.html:280
+#: order/templates/order/purchase_order_detail.html:56
+#: order/templates/order/sales_order_detail.html:51
+#: order/templates/order/sales_order_detail.html:291
msgid "Add Extra Line"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:72
+#: order/templates/order/purchase_order_detail.html:76
msgid "Received Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:97
-#: order/templates/order/sales_order_detail.html:150
+#: order/templates/order/purchase_order_detail.html:101
+#: order/templates/order/sales_order_detail.html:155
msgid "Order Notes"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:232
+#: order/templates/order/purchase_order_detail.html:239
msgid "Add Order Line"
msgstr ""
@@ -4346,12 +4362,12 @@ msgid "This Sales Order has not been fully allocated"
msgstr ""
#: order/templates/order/sales_order_base.html:123
-#: templates/js/translated/order.js:2821
+#: templates/js/translated/order.js:2832
msgid "Customer Reference"
msgstr ""
#: order/templates/order/sales_order_base.html:141
-#: order/templates/order/sales_order_detail.html:104
+#: order/templates/order/sales_order_detail.html:109
#: order/templates/order/so_sidebar.html:11
msgid "Completed Shipments"
msgstr ""
@@ -4360,22 +4376,22 @@ msgstr ""
msgid "Edit Sales Order"
msgstr ""
-#: order/templates/order/sales_order_detail.html:17
+#: order/templates/order/sales_order_detail.html:18
msgid "Sales Order Items"
msgstr ""
-#: order/templates/order/sales_order_detail.html:68
+#: order/templates/order/sales_order_detail.html:73
#: order/templates/order/so_sidebar.html:8
msgid "Pending Shipments"
msgstr ""
-#: order/templates/order/sales_order_detail.html:72
+#: order/templates/order/sales_order_detail.html:77
#: templates/attachment_table.html:6 templates/js/translated/bom.js:1158
#: templates/js/translated/build.js:1979
msgid "Actions"
msgstr ""
-#: order/templates/order/sales_order_detail.html:81
+#: order/templates/order/sales_order_detail.html:86
msgid "New Shipment"
msgstr ""
@@ -4455,7 +4471,7 @@ msgid "Total Stock"
msgstr ""
#: part/bom.py:129 part/templates/part/part_base.html:195
-#: templates/js/translated/order.js:3913
+#: templates/js/translated/order.js:3928
msgid "Available Stock"
msgstr ""
@@ -4565,7 +4581,7 @@ msgstr ""
#: part/models.py:797 part/models.py:2272 part/models.py:2516
#: part/templates/part/part_base.html:263
-#: templates/InvenTree/settings/settings.html:232
+#: templates/InvenTree/settings/settings.html:229
#: templates/js/translated/notification.js:50
#: templates/js/translated/part.js:1480 templates/js/translated/part.js:1724
msgid "Category"
@@ -4753,7 +4769,7 @@ msgid "Parent Part"
msgstr ""
#: part/models.py:2474 part/models.py:2522 part/models.py:2523
-#: templates/InvenTree/settings/settings.html:227
+#: templates/InvenTree/settings/settings.html:224
msgid "Parameter Template"
msgstr ""
@@ -4765,7 +4781,7 @@ msgstr ""
msgid "Parameter Value"
msgstr ""
-#: part/models.py:2527 templates/InvenTree/settings/settings.html:236
+#: part/models.py:2527 templates/InvenTree/settings/settings.html:233
msgid "Default Value"
msgstr ""
@@ -5572,7 +5588,7 @@ msgstr ""
#: part/templates/part/part_scheduling.html:13
#: report/templates/report/inventree_test_report_base.html:97
-#: templates/InvenTree/settings/plugin.html:53
+#: templates/InvenTree/settings/plugin.html:63
#: templates/InvenTree/settings/plugin_settings.html:38
#: templates/js/translated/order.js:2001 templates/js/translated/stock.js:2478
msgid "Date"
@@ -5760,8 +5776,8 @@ msgstr ""
msgid "Part Pricing"
msgstr ""
-#: plugin/apps.py:56
-msgid "Your enviroment has an outdated git version. This prevents InvenTree from loading plugin details."
+#: plugin/apps.py:55
+msgid "Your environment has an outdated git version. This prevents InvenTree from loading plugin details."
msgstr ""
#: plugin/base/action/api.py:27
@@ -5772,23 +5788,23 @@ msgstr ""
msgid "No matching action found"
msgstr ""
-#: plugin/base/barcodes/api.py:54 plugin/base/barcodes/api.py:113
+#: plugin/base/barcodes/api.py:54 plugin/base/barcodes/api.py:110
msgid "Missing barcode data"
msgstr ""
-#: plugin/base/barcodes/api.py:83
+#: plugin/base/barcodes/api.py:80
msgid "No match found for barcode data"
msgstr ""
-#: plugin/base/barcodes/api.py:87
+#: plugin/base/barcodes/api.py:84
msgid "Match found for barcode data"
msgstr ""
-#: plugin/base/barcodes/api.py:126
+#: plugin/base/barcodes/api.py:120
msgid "Barcode matches existing item"
msgstr ""
-#: plugin/base/barcodes/api.py:223
+#: plugin/base/barcodes/api.py:217
msgid "No match found for provided value"
msgstr ""
@@ -5796,21 +5812,34 @@ msgstr ""
msgid "Label printing failed"
msgstr ""
-#: plugin/builtin/integration/core_notifications.py:30
+#: plugin/builtin/barcodes/inventree_barcode.py:26
+msgid "Inventree Barcodes"
+msgstr ""
+
+#: plugin/builtin/barcodes/inventree_barcode.py:27
+msgid "Provides native support for barcodes"
+msgstr ""
+
+#: plugin/builtin/barcodes/inventree_barcode.py:29
+#: plugin/builtin/integration/core_notifications.py:31
msgid "InvenTree contributors"
msgstr ""
-#: plugin/builtin/integration/core_notifications.py:31
+#: plugin/builtin/integration/core_notifications.py:30
+msgid "InvenTree Notifications"
+msgstr ""
+
+#: plugin/builtin/integration/core_notifications.py:32
msgid "Integrated outgoing notificaton methods"
msgstr ""
-#: plugin/builtin/integration/core_notifications.py:35
-#: plugin/builtin/integration/core_notifications.py:54
+#: plugin/builtin/integration/core_notifications.py:37
+#: plugin/builtin/integration/core_notifications.py:56
msgid "Enable email notifications"
msgstr ""
-#: plugin/builtin/integration/core_notifications.py:36
-#: plugin/builtin/integration/core_notifications.py:55
+#: plugin/builtin/integration/core_notifications.py:38
+#: plugin/builtin/integration/core_notifications.py:57
msgid "Allow sending of emails for event notifications"
msgstr ""
@@ -5830,7 +5859,7 @@ msgstr ""
msgid "Plugin Configurations"
msgstr ""
-#: plugin/models.py:86
+#: plugin/models.py:86 templates/InvenTree/settings/plugin.html:61
msgid "Key"
msgstr ""
@@ -5850,32 +5879,36 @@ msgstr ""
msgid "Sample plugin"
msgstr ""
-#: plugin/models.py:188 templates/InvenTree/settings/plugin_settings.html:10
+#: plugin/models.py:167
+msgid "Builtin Plugin"
+msgstr ""
+
+#: plugin/models.py:192 templates/InvenTree/settings/plugin_settings.html:10
msgid "Plugin"
msgstr ""
-#: plugin/models.py:253
+#: plugin/models.py:257
msgid "Method"
msgstr ""
-#: plugin/plugin.py:252
+#: plugin/plugin.py:257
msgid "No author found"
msgstr ""
-#: plugin/plugin.py:264
+#: plugin/plugin.py:269
msgid "No date found"
msgstr ""
-#: plugin/registry.py:431
+#: plugin/registry.py:439
msgid "Plugin `{plg_name}` is not compatible with the current InvenTree version {version.inventreeVersion()}!"
msgstr ""
-#: plugin/registry.py:433
+#: plugin/registry.py:441
#, python-brace-format
msgid "Plugin requires at least version {plg_i.MIN_VERSION}"
msgstr ""
-#: plugin/registry.py:435
+#: plugin/registry.py:443
#, python-brace-format
msgid "Plugin requires at most version {plg_i.MAX_VERSION}"
msgstr ""
@@ -6058,8 +6091,8 @@ msgstr ""
#: templates/js/translated/build.js:472 templates/js/translated/build.js:624
#: templates/js/translated/build.js:1234 templates/js/translated/build.js:1735
#: templates/js/translated/model_renderers.js:118
-#: templates/js/translated/order.js:121 templates/js/translated/order.js:3592
-#: templates/js/translated/order.js:3679 templates/js/translated/stock.js:490
+#: templates/js/translated/order.js:121 templates/js/translated/order.js:3603
+#: templates/js/translated/order.js:3690 templates/js/translated/stock.js:490
msgid "Serial Number"
msgstr ""
@@ -7087,7 +7120,7 @@ msgid "Part Parameter Templates"
msgstr ""
#: templates/InvenTree/settings/plugin.html:10
-#: templates/InvenTree/settings/sidebar.html:56
+#: templates/InvenTree/settings/sidebar.html:55
msgid "Plugin Settings"
msgstr ""
@@ -7095,52 +7128,64 @@ msgstr ""
msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage."
msgstr ""
-#: templates/InvenTree/settings/plugin.html:36
-#: templates/InvenTree/settings/sidebar.html:58
+#: templates/InvenTree/settings/plugin.html:38
+#: templates/InvenTree/settings/sidebar.html:57
msgid "Plugins"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:41
+#: templates/InvenTree/settings/plugin.html:44
#: templates/js/translated/plugin.js:16
msgid "Install Plugin"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:50 templates/navbar.html:137
-#: users/models.py:36
-msgid "Admin"
+#: templates/InvenTree/settings/plugin.html:52
+msgid "External plugins are not enabled for this InvenTree installation"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:52
-#: templates/InvenTree/settings/plugin_settings.html:28
+#: templates/InvenTree/settings/plugin.html:62
+#: templates/InvenTree/settings/plugin_settings.html:33
msgid "Author"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:54
+#: templates/InvenTree/settings/plugin.html:64
#: templates/InvenTree/settings/plugin_settings.html:43
msgid "Version"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:76
-msgid "Sample"
+#: templates/InvenTree/settings/plugin.html:72
+msgid "Active plugins"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:101
+#: templates/InvenTree/settings/plugin.html:80
msgid "Inactive plugins"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:124
+#: templates/InvenTree/settings/plugin.html:94
msgid "Plugin Error Stack"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:133
+#: templates/InvenTree/settings/plugin.html:103
msgid "Stage"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:135
+#: templates/InvenTree/settings/plugin.html:105
#: templates/js/translated/notification.js:75
msgid "Message"
msgstr ""
+#: templates/InvenTree/settings/plugin_details.html:32
+#: templates/InvenTree/settings/plugin_settings.html:101
+msgid "Builtin"
+msgstr ""
+
+#: templates/InvenTree/settings/plugin_details.html:38
+msgid "Sample"
+msgstr ""
+
+#: templates/InvenTree/settings/plugin_details.html:47
+msgid "Unvailable"
+msgstr ""
+
#: templates/InvenTree/settings/plugin_settings.html:17
msgid "Plugin information"
msgstr ""
@@ -7177,29 +7222,33 @@ msgstr ""
msgid "Installation path"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:100
+#: templates/InvenTree/settings/plugin_settings.html:102
+msgid "This is a builtin plugin which cannot be disabled"
+msgstr ""
+
+#: templates/InvenTree/settings/plugin_settings.html:107
msgid "Commit Author"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:104
+#: templates/InvenTree/settings/plugin_settings.html:111
#: templates/about.html:36
msgid "Commit Date"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:108
+#: templates/InvenTree/settings/plugin_settings.html:115
#: templates/about.html:29
msgid "Commit Hash"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:112
+#: templates/InvenTree/settings/plugin_settings.html:119
msgid "Commit Message"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:120
+#: templates/InvenTree/settings/plugin_settings.html:127
msgid "Sign Status"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:125
+#: templates/InvenTree/settings/plugin_settings.html:132
msgid "Sign Key"
msgstr ""
@@ -7220,66 +7269,66 @@ msgstr ""
msgid "Edit setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:120
+#: templates/InvenTree/settings/settings.html:117
msgid "Edit Plugin Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:122
+#: templates/InvenTree/settings/settings.html:119
msgid "Edit Notification Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:125
+#: templates/InvenTree/settings/settings.html:122
msgid "Edit Global Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:127
+#: templates/InvenTree/settings/settings.html:124
msgid "Edit User Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:217
+#: templates/InvenTree/settings/settings.html:214
msgid "No category parameter templates found"
msgstr ""
-#: templates/InvenTree/settings/settings.html:239
-#: templates/InvenTree/settings/settings.html:364
+#: templates/InvenTree/settings/settings.html:236
+#: templates/InvenTree/settings/settings.html:361
msgid "Edit Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:240
-#: templates/InvenTree/settings/settings.html:365
+#: templates/InvenTree/settings/settings.html:237
+#: templates/InvenTree/settings/settings.html:362
msgid "Delete Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:280
+#: templates/InvenTree/settings/settings.html:277
msgid "Create Category Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:325
+#: templates/InvenTree/settings/settings.html:322
msgid "Delete Category Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:337
+#: templates/InvenTree/settings/settings.html:334
msgid "No part parameter templates found"
msgstr ""
-#: templates/InvenTree/settings/settings.html:341
+#: templates/InvenTree/settings/settings.html:338
#: templates/js/translated/notification.js:36
msgid "ID"
msgstr ""
-#: templates/InvenTree/settings/settings.html:383
+#: templates/InvenTree/settings/settings.html:380
msgid "Create Part Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:402
+#: templates/InvenTree/settings/settings.html:399
msgid "Edit Part Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:416
+#: templates/InvenTree/settings/settings.html:413
msgid "Any parameters which reference this template will also be deleted"
msgstr ""
-#: templates/InvenTree/settings/settings.html:424
+#: templates/InvenTree/settings/settings.html:421
msgid "Delete Part Parameter Template"
msgstr ""
@@ -7737,7 +7786,7 @@ msgstr ""
msgid "Or use a SSO-provider for signup"
msgstr ""
-#: templates/admin_button.html:2
+#: templates/admin_button.html:8
msgid "View in administration panel"
msgstr ""
@@ -8212,7 +8261,7 @@ msgid "Variant stock allowed"
msgstr ""
#: templates/js/translated/bom.js:983 templates/js/translated/build.js:1907
-#: templates/js/translated/order.js:3927
+#: templates/js/translated/order.js:3942
msgid "No Stock Available"
msgstr ""
@@ -8425,12 +8474,12 @@ msgid "No required tests for this build"
msgstr ""
#: templates/js/translated/build.js:1775 templates/js/translated/build.js:2765
-#: templates/js/translated/order.js:3627
+#: templates/js/translated/order.js:3638
msgid "Edit stock allocation"
msgstr ""
#: templates/js/translated/build.js:1777 templates/js/translated/build.js:2766
-#: templates/js/translated/order.js:3628
+#: templates/js/translated/order.js:3639
msgid "Delete stock allocation"
msgstr ""
@@ -8450,20 +8499,20 @@ msgstr ""
msgid "Quantity Per"
msgstr ""
-#: templates/js/translated/build.js:1901 templates/js/translated/order.js:3934
+#: templates/js/translated/build.js:1901 templates/js/translated/order.js:3949
msgid "Insufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3932
+#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3947
msgid "Sufficient stock available"
msgstr ""
#: templates/js/translated/build.js:1937 templates/js/translated/build.js:2195
-#: templates/js/translated/build.js:2761 templates/js/translated/order.js:3946
+#: templates/js/translated/build.js:2761 templates/js/translated/order.js:3961
msgid "Allocated"
msgstr ""
-#: templates/js/translated/build.js:1993 templates/js/translated/order.js:4026
+#: templates/js/translated/build.js:1993 templates/js/translated/order.js:4041
msgid "Build stock"
msgstr ""
@@ -8471,21 +8520,21 @@ msgstr ""
msgid "Order stock"
msgstr ""
-#: templates/js/translated/build.js:2000 templates/js/translated/order.js:4019
+#: templates/js/translated/build.js:2000 templates/js/translated/order.js:4034
msgid "Allocate stock"
msgstr ""
#: templates/js/translated/build.js:2039 templates/js/translated/label.js:172
-#: templates/js/translated/order.js:1007 templates/js/translated/order.js:3154
+#: templates/js/translated/order.js:1007 templates/js/translated/order.js:3165
#: templates/js/translated/report.js:225
msgid "Select Parts"
msgstr ""
-#: templates/js/translated/build.js:2040 templates/js/translated/order.js:3155
+#: templates/js/translated/build.js:2040 templates/js/translated/order.js:3166
msgid "You must select at least one part to allocate"
msgstr ""
-#: templates/js/translated/build.js:2089 templates/js/translated/order.js:3103
+#: templates/js/translated/build.js:2089 templates/js/translated/order.js:3114
msgid "Specify stock allocation quantity"
msgstr ""
@@ -8497,7 +8546,7 @@ msgstr ""
msgid "All selected parts have been fully allocated"
msgstr ""
-#: templates/js/translated/build.js:2183 templates/js/translated/order.js:3169
+#: templates/js/translated/build.js:2183 templates/js/translated/order.js:3180
msgid "Select source location (leave blank to take from all locations)"
msgstr ""
@@ -8505,11 +8554,11 @@ msgstr ""
msgid "Allocate Stock Items to Build Order"
msgstr ""
-#: templates/js/translated/build.js:2222 templates/js/translated/order.js:3266
+#: templates/js/translated/build.js:2222 templates/js/translated/order.js:3277
msgid "No matching stock locations"
msgstr ""
-#: templates/js/translated/build.js:2294 templates/js/translated/order.js:3343
+#: templates/js/translated/build.js:2294 templates/js/translated/order.js:3354
msgid "No matching stock items"
msgstr ""
@@ -9158,218 +9207,218 @@ msgstr ""
msgid "No purchase orders found"
msgstr ""
-#: templates/js/translated/order.js:1967 templates/js/translated/order.js:2798
+#: templates/js/translated/order.js:1967 templates/js/translated/order.js:2809
msgid "Order is overdue"
msgstr ""
-#: templates/js/translated/order.js:2017 templates/js/translated/order.js:2863
-#: templates/js/translated/order.js:3004
+#: templates/js/translated/order.js:2017 templates/js/translated/order.js:2874
+#: templates/js/translated/order.js:3015
msgid "Items"
msgstr ""
-#: templates/js/translated/order.js:2115 templates/js/translated/order.js:4078
+#: templates/js/translated/order.js:2120 templates/js/translated/order.js:4093
msgid "Duplicate Line Item"
msgstr ""
-#: templates/js/translated/order.js:2132 templates/js/translated/order.js:4100
+#: templates/js/translated/order.js:2137 templates/js/translated/order.js:4115
msgid "Edit Line Item"
msgstr ""
-#: templates/js/translated/order.js:2145 templates/js/translated/order.js:4111
+#: templates/js/translated/order.js:2150 templates/js/translated/order.js:4126
msgid "Delete Line Item"
msgstr ""
-#: templates/js/translated/order.js:2188
+#: templates/js/translated/order.js:2193
msgid "No line items found"
msgstr ""
-#: templates/js/translated/order.js:2215 templates/js/translated/order.js:3812
+#: templates/js/translated/order.js:2220 templates/js/translated/order.js:3827
msgid "Total"
msgstr ""
-#: templates/js/translated/order.js:2270 templates/js/translated/part.js:1043
+#: templates/js/translated/order.js:2275 templates/js/translated/part.js:1043
#: templates/js/translated/part.js:1095
msgid "Total Quantity"
msgstr ""
-#: templates/js/translated/order.js:2301 templates/js/translated/order.js:2500
-#: templates/js/translated/order.js:3837 templates/js/translated/order.js:4342
+#: templates/js/translated/order.js:2306 templates/js/translated/order.js:2509
+#: templates/js/translated/order.js:3852 templates/js/translated/order.js:4361
#: templates/js/translated/part.js:2199 templates/js/translated/part.js:2797
msgid "Unit Price"
msgstr ""
-#: templates/js/translated/order.js:2316 templates/js/translated/order.js:2516
-#: templates/js/translated/order.js:3853 templates/js/translated/order.js:4358
+#: templates/js/translated/order.js:2321 templates/js/translated/order.js:2525
+#: templates/js/translated/order.js:3868 templates/js/translated/order.js:4377
msgid "Total Price"
msgstr ""
-#: templates/js/translated/order.js:2357 templates/js/translated/order.js:3895
+#: templates/js/translated/order.js:2362 templates/js/translated/order.js:3910
#: templates/js/translated/part.js:1079
msgid "This line item is overdue"
msgstr ""
-#: templates/js/translated/order.js:2416 templates/js/translated/part.js:1130
+#: templates/js/translated/order.js:2421 templates/js/translated/part.js:1130
msgid "Receive line item"
msgstr ""
-#: templates/js/translated/order.js:2420 templates/js/translated/order.js:4032
+#: templates/js/translated/order.js:2425 templates/js/translated/order.js:4047
msgid "Duplicate line item"
msgstr ""
-#: templates/js/translated/order.js:2421 templates/js/translated/order.js:4033
+#: templates/js/translated/order.js:2426 templates/js/translated/order.js:4048
msgid "Edit line item"
msgstr ""
-#: templates/js/translated/order.js:2422 templates/js/translated/order.js:4037
+#: templates/js/translated/order.js:2427 templates/js/translated/order.js:4052
msgid "Delete line item"
msgstr ""
-#: templates/js/translated/order.js:2564 templates/js/translated/order.js:4406
+#: templates/js/translated/order.js:2574 templates/js/translated/order.js:4425
msgid "Duplicate line"
msgstr ""
-#: templates/js/translated/order.js:2565 templates/js/translated/order.js:4407
+#: templates/js/translated/order.js:2575 templates/js/translated/order.js:4426
msgid "Edit line"
msgstr ""
-#: templates/js/translated/order.js:2566 templates/js/translated/order.js:4408
+#: templates/js/translated/order.js:2576 templates/js/translated/order.js:4427
msgid "Delete line"
msgstr ""
-#: templates/js/translated/order.js:2595 templates/js/translated/order.js:4437
+#: templates/js/translated/order.js:2606 templates/js/translated/order.js:4456
msgid "Duplicate Line"
msgstr ""
-#: templates/js/translated/order.js:2616 templates/js/translated/order.js:4458
+#: templates/js/translated/order.js:2627 templates/js/translated/order.js:4477
msgid "Edit Line"
msgstr ""
-#: templates/js/translated/order.js:2627 templates/js/translated/order.js:4469
+#: templates/js/translated/order.js:2638 templates/js/translated/order.js:4488
msgid "Delete Line"
msgstr ""
-#: templates/js/translated/order.js:2638
+#: templates/js/translated/order.js:2649
msgid "No matching line"
msgstr ""
-#: templates/js/translated/order.js:2749
+#: templates/js/translated/order.js:2760
msgid "No sales orders found"
msgstr ""
-#: templates/js/translated/order.js:2812
+#: templates/js/translated/order.js:2823
msgid "Invalid Customer"
msgstr ""
-#: templates/js/translated/order.js:2910
+#: templates/js/translated/order.js:2921
msgid "Edit shipment"
msgstr ""
-#: templates/js/translated/order.js:2913
+#: templates/js/translated/order.js:2924
msgid "Complete shipment"
msgstr ""
-#: templates/js/translated/order.js:2918
+#: templates/js/translated/order.js:2929
msgid "Delete shipment"
msgstr ""
-#: templates/js/translated/order.js:2938
+#: templates/js/translated/order.js:2949
msgid "Edit Shipment"
msgstr ""
-#: templates/js/translated/order.js:2955
+#: templates/js/translated/order.js:2966
msgid "Delete Shipment"
msgstr ""
-#: templates/js/translated/order.js:2989
+#: templates/js/translated/order.js:3000
msgid "No matching shipments found"
msgstr ""
-#: templates/js/translated/order.js:2999
+#: templates/js/translated/order.js:3010
msgid "Shipment Reference"
msgstr ""
-#: templates/js/translated/order.js:3023
+#: templates/js/translated/order.js:3034
msgid "Not shipped"
msgstr ""
-#: templates/js/translated/order.js:3029
+#: templates/js/translated/order.js:3040
msgid "Tracking"
msgstr ""
-#: templates/js/translated/order.js:3033
+#: templates/js/translated/order.js:3044
msgid "Invoice"
msgstr ""
-#: templates/js/translated/order.js:3202
+#: templates/js/translated/order.js:3213
msgid "Add Shipment"
msgstr ""
-#: templates/js/translated/order.js:3253
+#: templates/js/translated/order.js:3264
msgid "Confirm stock allocation"
msgstr ""
-#: templates/js/translated/order.js:3254
+#: templates/js/translated/order.js:3265
msgid "Allocate Stock Items to Sales Order"
msgstr ""
-#: templates/js/translated/order.js:3462
+#: templates/js/translated/order.js:3473
msgid "No sales order allocations found"
msgstr ""
-#: templates/js/translated/order.js:3541
+#: templates/js/translated/order.js:3552
msgid "Edit Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:3558
+#: templates/js/translated/order.js:3569
msgid "Confirm Delete Operation"
msgstr ""
-#: templates/js/translated/order.js:3559
+#: templates/js/translated/order.js:3570
msgid "Delete Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:3604 templates/js/translated/order.js:3693
+#: templates/js/translated/order.js:3615 templates/js/translated/order.js:3704
#: templates/js/translated/stock.js:1602
msgid "Shipped to customer"
msgstr ""
-#: templates/js/translated/order.js:3612 templates/js/translated/order.js:3702
+#: templates/js/translated/order.js:3623 templates/js/translated/order.js:3713
msgid "Stock location not specified"
msgstr ""
-#: templates/js/translated/order.js:4016
+#: templates/js/translated/order.js:4031
msgid "Allocate serial numbers"
msgstr ""
-#: templates/js/translated/order.js:4022
+#: templates/js/translated/order.js:4037
msgid "Purchase stock"
msgstr ""
-#: templates/js/translated/order.js:4029 templates/js/translated/order.js:4227
+#: templates/js/translated/order.js:4044 templates/js/translated/order.js:4242
msgid "Calculate price"
msgstr ""
-#: templates/js/translated/order.js:4041
+#: templates/js/translated/order.js:4056
msgid "Cannot be deleted as items have been shipped"
msgstr ""
-#: templates/js/translated/order.js:4044
+#: templates/js/translated/order.js:4059
msgid "Cannot be deleted as items have been allocated"
msgstr ""
-#: templates/js/translated/order.js:4126
+#: templates/js/translated/order.js:4141
msgid "Allocate Serial Numbers"
msgstr ""
-#: templates/js/translated/order.js:4235
+#: templates/js/translated/order.js:4250
msgid "Update Unit Price"
msgstr ""
-#: templates/js/translated/order.js:4249
+#: templates/js/translated/order.js:4264
msgid "No matching line items"
msgstr ""
-#: templates/js/translated/order.js:4480
+#: templates/js/translated/order.js:4499
msgid "No matching lines"
msgstr ""
@@ -10508,6 +10557,10 @@ msgstr ""
msgid "New Notifications"
msgstr ""
+#: templates/navbar.html:137 users/models.py:36
+msgid "Admin"
+msgstr ""
+
#: templates/navbar.html:140
msgid "Logout"
msgstr ""
diff --git a/InvenTree/locale/es/LC_MESSAGES/django.po b/InvenTree/locale/es/LC_MESSAGES/django.po
index 39bf870e96..85ac75d7aa 100644
--- a/InvenTree/locale/es/LC_MESSAGES/django.po
+++ b/InvenTree/locale/es/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-11-04 14:07+0000\n"
-"PO-Revision-Date: 2022-11-04 19:02\n"
+"POT-Creation-Date: 2022-11-14 04:59+0000\n"
+"PO-Revision-Date: 2022-11-14 14:51\n"
"Last-Translator: \n"
"Language-Team: Spanish\n"
"Language: es_ES\n"
@@ -17,7 +17,7 @@ msgstr ""
"X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n"
"X-Crowdin-File-ID: 154\n"
-#: InvenTree/api.py:54
+#: InvenTree/api.py:61
msgid "API endpoint not found"
msgstr ""
@@ -25,27 +25,27 @@ msgstr ""
msgid "Error details can be found in the admin panel"
msgstr ""
-#: InvenTree/fields.py:120
+#: InvenTree/fields.py:129
msgid "Enter date"
msgstr ""
-#: InvenTree/fields.py:195 build/serializers.py:387
-#: build/templates/build/sidebar.html:21 company/models.py:525
-#: company/templates/company/sidebar.html:25 order/models.py:920
+#: InvenTree/fields.py:204 build/serializers.py:387
+#: build/templates/build/sidebar.html:21 company/models.py:529
+#: company/templates/company/sidebar.html:25 order/models.py:943
#: order/templates/order/po_sidebar.html:11
-#: order/templates/order/so_sidebar.html:17
-#: part/templates/part/part_sidebar.html:59
+#: order/templates/order/so_sidebar.html:17 part/admin.py:27
+#: part/templates/part/part_sidebar.html:57
#: report/templates/report/inventree_build_order_base.html:172
-#: stock/models.py:2002 stock/models.py:2110 stock/serializers.py:327
-#: stock/serializers.py:460 stock/serializers.py:541 stock/serializers.py:827
-#: stock/serializers.py:926 stock/serializers.py:1058
+#: stock/admin.py:103 stock/models.py:2018 stock/models.py:2126
+#: stock/serializers.py:321 stock/serializers.py:454 stock/serializers.py:535
+#: stock/serializers.py:826 stock/serializers.py:925 stock/serializers.py:1057
#: stock/templates/stock/stock_sidebar.html:25
-#: templates/js/translated/barcode.js:108 templates/js/translated/bom.js:1146
-#: templates/js/translated/company.js:1022
-#: templates/js/translated/order.js:2404 templates/js/translated/order.js:2552
-#: templates/js/translated/order.js:3048 templates/js/translated/order.js:3999
-#: templates/js/translated/order.js:4394 templates/js/translated/stock.js:1374
-#: templates/js/translated/stock.js:1982
+#: templates/js/translated/barcode.js:108 templates/js/translated/bom.js:1211
+#: templates/js/translated/company.js:1023
+#: templates/js/translated/order.js:2427 templates/js/translated/order.js:2561
+#: templates/js/translated/order.js:3059 templates/js/translated/order.js:3996
+#: templates/js/translated/order.js:4377 templates/js/translated/stock.js:1393
+#: templates/js/translated/stock.js:2000
msgid "Notes"
msgstr ""
@@ -122,43 +122,43 @@ msgstr ""
msgid "Supplied URL is not a valid image file"
msgstr ""
-#: InvenTree/helpers.py:602 order/models.py:325 order/models.py:477
+#: InvenTree/helpers.py:589 order/models.py:329 order/models.py:496
msgid "Invalid quantity provided"
msgstr ""
-#: InvenTree/helpers.py:610
+#: InvenTree/helpers.py:597
msgid "Empty serial number string"
msgstr ""
-#: InvenTree/helpers.py:640
+#: InvenTree/helpers.py:627
msgid "Duplicate serial"
msgstr ""
-#: InvenTree/helpers.py:673 InvenTree/helpers.py:708
+#: InvenTree/helpers.py:660 InvenTree/helpers.py:695
#, python-brace-format
msgid "Invalid group range: {g}"
msgstr ""
-#: InvenTree/helpers.py:702
+#: InvenTree/helpers.py:689
#, python-brace-format
msgid "Group range {g} exceeds allowed quantity ({q})"
msgstr ""
-#: InvenTree/helpers.py:726 InvenTree/helpers.py:733 InvenTree/helpers.py:748
+#: InvenTree/helpers.py:713 InvenTree/helpers.py:720 InvenTree/helpers.py:735
#, python-brace-format
msgid "Invalid group sequence: {g}"
msgstr ""
-#: InvenTree/helpers.py:758
+#: InvenTree/helpers.py:745
msgid "No serial numbers found"
msgstr ""
-#: InvenTree/helpers.py:761
+#: InvenTree/helpers.py:748
#, python-brace-format
msgid "Number of unique serial numbers ({s}) must match quantity ({q})"
msgstr ""
-#: InvenTree/helpers.py:960
+#: InvenTree/helpers.py:947
msgid "Remove HTML tags from this value"
msgstr ""
@@ -194,7 +194,7 @@ msgstr ""
msgid "Missing external link"
msgstr ""
-#: InvenTree/models.py:405 stock/models.py:2104
+#: InvenTree/models.py:405 stock/models.py:2120
#: templates/js/translated/attachment.js:103
#: templates/js/translated/attachment.js:241
msgid "Attachment"
@@ -204,18 +204,19 @@ msgstr ""
msgid "Select file to attach"
msgstr ""
-#: InvenTree/models.py:412 company/models.py:125 company/models.py:277
-#: company/models.py:512 order/models.py:84 order/models.py:1259
-#: part/models.py:816 part/templates/part/part_scheduling.html:11
+#: InvenTree/models.py:412 common/models.py:2313 company/models.py:129
+#: company/models.py:281 company/models.py:516 order/models.py:85
+#: order/models.py:1282 part/admin.py:25 part/models.py:835
+#: part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
-#: templates/js/translated/company.js:691
-#: templates/js/translated/company.js:1011
-#: templates/js/translated/order.js:3037 templates/js/translated/part.js:1569
+#: stock/admin.py:102 templates/js/translated/company.js:692
+#: templates/js/translated/company.js:1012
+#: templates/js/translated/order.js:3048 templates/js/translated/part.js:1593
msgid "Link"
msgstr ""
-#: InvenTree/models.py:413 build/models.py:290 part/models.py:817
-#: stock/models.py:660
+#: InvenTree/models.py:413 build/models.py:290 part/models.py:836
+#: stock/models.py:676
msgid "Link to external URL"
msgstr ""
@@ -228,12 +229,12 @@ msgstr ""
msgid "File comment"
msgstr ""
-#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1744
-#: common/models.py:1745 common/models.py:1968 common/models.py:1969
-#: common/models.py:2231 common/models.py:2232 part/models.py:2254
-#: part/models.py:2274 plugin/models.py:264 plugin/models.py:265
+#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1756
+#: common/models.py:1757 common/models.py:1980 common/models.py:1981
+#: common/models.py:2243 common/models.py:2244 part/models.py:2867
+#: part/models.py:2887 plugin/models.py:264 plugin/models.py:265
#: report/templates/report/inventree_test_report_base.html:96
-#: templates/js/translated/stock.js:2651
+#: templates/js/translated/stock.js:2669
msgid "User"
msgstr ""
@@ -270,44 +271,45 @@ msgstr ""
msgid "Invalid choice"
msgstr ""
-#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1954
-#: company/models.py:359 label/models.py:101 part/models.py:760
-#: part/models.py:2429 plugin/models.py:94 report/models.py:152
+#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1966
+#: company/models.py:363 label/models.py:101 part/models.py:779
+#: part/models.py:3042 plugin/models.py:94 report/models.py:152
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/plugin.html:60
#: templates/InvenTree/settings/plugin.html:104
#: templates/InvenTree/settings/plugin_settings.html:23
#: templates/InvenTree/settings/settings.html:344
-#: templates/js/translated/company.js:580
-#: templates/js/translated/company.js:793
+#: templates/js/translated/company.js:581
+#: templates/js/translated/company.js:794
#: templates/js/translated/notification.js:71
-#: templates/js/translated/part.js:686 templates/js/translated/part.js:838
-#: templates/js/translated/part.js:1964 templates/js/translated/stock.js:2396
+#: templates/js/translated/part.js:700 templates/js/translated/part.js:865
+#: templates/js/translated/part.js:1988 templates/js/translated/stock.js:2414
msgid "Name"
msgstr ""
#: InvenTree/models.py:564 build/models.py:163
-#: build/templates/build/detail.html:24 company/models.py:283
-#: company/models.py:518 company/templates/company/company_base.html:71
+#: build/templates/build/detail.html:24 company/models.py:287
+#: company/models.py:522 company/templates/company/company_base.html:71
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:108 label/models.py:108
-#: order/models.py:82 part/models.py:783 part/models.py:2438
-#: part/templates/part/category.html:75 part/templates/part/part_base.html:172
+#: order/models.py:83 part/admin.py:141 part/admin.py:222 part/models.py:802
+#: part/models.py:3051 part/templates/part/category.html:75
+#: part/templates/part/part_base.html:172
#: part/templates/part/part_scheduling.html:12 report/models.py:165
#: report/models.py:507 report/models.py:551
#: report/templates/report/inventree_build_order_base.html:117
-#: stock/templates/stock/location.html:117
+#: stock/admin.py:25 stock/templates/stock/location.html:117
#: templates/InvenTree/settings/plugin_settings.html:28
#: templates/InvenTree/settings/settings.html:355
-#: templates/js/translated/bom.js:579 templates/js/translated/bom.js:887
-#: templates/js/translated/build.js:2580 templates/js/translated/company.js:444
-#: templates/js/translated/company.js:702
-#: templates/js/translated/company.js:986 templates/js/translated/order.js:1988
-#: templates/js/translated/order.js:2220 templates/js/translated/order.js:2826
-#: templates/js/translated/part.js:745 templates/js/translated/part.js:1187
-#: templates/js/translated/part.js:1464 templates/js/translated/part.js:2000
-#: templates/js/translated/part.js:2075 templates/js/translated/stock.js:1748
-#: templates/js/translated/stock.js:2428 templates/js/translated/stock.js:2488
+#: templates/js/translated/bom.js:592 templates/js/translated/bom.js:895
+#: templates/js/translated/build.js:2580 templates/js/translated/company.js:445
+#: templates/js/translated/company.js:703
+#: templates/js/translated/company.js:987 templates/js/translated/order.js:2022
+#: templates/js/translated/order.js:2259 templates/js/translated/order.js:2837
+#: templates/js/translated/part.js:759 templates/js/translated/part.js:1208
+#: templates/js/translated/part.js:1475 templates/js/translated/part.js:2024
+#: templates/js/translated/part.js:2099 templates/js/translated/stock.js:1767
+#: templates/js/translated/stock.js:2446 templates/js/translated/stock.js:2506
msgid "Description"
msgstr ""
@@ -320,7 +322,7 @@ msgid "parent"
msgstr ""
#: InvenTree/models.py:580 InvenTree/models.py:581
-#: templates/js/translated/part.js:2009 templates/js/translated/stock.js:2437
+#: templates/js/translated/part.js:2033 templates/js/translated/stock.js:2455
msgid "Path"
msgstr ""
@@ -332,7 +334,7 @@ msgstr ""
msgid "Third party barcode data"
msgstr ""
-#: InvenTree/models.py:688 order/serializers.py:486
+#: InvenTree/models.py:688 order/serializers.py:477
msgid "Barcode Hash"
msgstr ""
@@ -352,187 +354,187 @@ msgstr ""
msgid "An error has been logged by the server."
msgstr ""
-#: InvenTree/serializers.py:58 part/models.py:2774
+#: InvenTree/serializers.py:58 part/models.py:3387
msgid "Must be a valid number"
msgstr ""
-#: InvenTree/serializers.py:265
+#: InvenTree/serializers.py:266
msgid "Filename"
msgstr ""
-#: InvenTree/serializers.py:300
+#: InvenTree/serializers.py:301
msgid "Invalid value"
msgstr ""
-#: InvenTree/serializers.py:322
+#: InvenTree/serializers.py:323
msgid "Data File"
msgstr ""
-#: InvenTree/serializers.py:323
+#: InvenTree/serializers.py:324
msgid "Select data file for upload"
msgstr ""
-#: InvenTree/serializers.py:344
+#: InvenTree/serializers.py:345
msgid "Unsupported file type"
msgstr ""
-#: InvenTree/serializers.py:350
+#: InvenTree/serializers.py:351
msgid "File is too large"
msgstr ""
-#: InvenTree/serializers.py:371
+#: InvenTree/serializers.py:372
msgid "No columns found in file"
msgstr ""
-#: InvenTree/serializers.py:374
+#: InvenTree/serializers.py:375
msgid "No data rows found in file"
msgstr ""
-#: InvenTree/serializers.py:497
+#: InvenTree/serializers.py:498
msgid "No data rows provided"
msgstr ""
-#: InvenTree/serializers.py:500
+#: InvenTree/serializers.py:501
msgid "No data columns supplied"
msgstr ""
-#: InvenTree/serializers.py:577
+#: InvenTree/serializers.py:578
#, python-brace-format
msgid "Missing required column: '{name}'"
msgstr ""
-#: InvenTree/serializers.py:586
+#: InvenTree/serializers.py:587
#, python-brace-format
msgid "Duplicate column: '{col}'"
msgstr ""
-#: InvenTree/serializers.py:605
+#: InvenTree/serializers.py:606
#: templates/InvenTree/settings/mixins/urls.html:14
msgid "URL"
msgstr ""
-#: InvenTree/serializers.py:606
+#: InvenTree/serializers.py:607
msgid "URL of remote image file"
msgstr ""
-#: InvenTree/serializers.py:620
+#: InvenTree/serializers.py:621
msgid "Downloading images from remote URL is not enabled"
msgstr ""
-#: InvenTree/settings.py:621
+#: InvenTree/settings.py:627
msgid "Czech"
msgstr ""
-#: InvenTree/settings.py:622
+#: InvenTree/settings.py:628
msgid "Danish"
msgstr ""
-#: InvenTree/settings.py:623
+#: InvenTree/settings.py:629
msgid "German"
msgstr ""
-#: InvenTree/settings.py:624
+#: InvenTree/settings.py:630
msgid "Greek"
msgstr ""
-#: InvenTree/settings.py:625
+#: InvenTree/settings.py:631
msgid "English"
msgstr ""
-#: InvenTree/settings.py:626
+#: InvenTree/settings.py:632
msgid "Spanish"
msgstr ""
-#: InvenTree/settings.py:627
+#: InvenTree/settings.py:633
msgid "Spanish (Mexican)"
msgstr ""
-#: InvenTree/settings.py:628
+#: InvenTree/settings.py:634
msgid "Farsi / Persian"
msgstr ""
-#: InvenTree/settings.py:629
+#: InvenTree/settings.py:635
msgid "French"
msgstr ""
-#: InvenTree/settings.py:630
+#: InvenTree/settings.py:636
msgid "Hebrew"
msgstr ""
-#: InvenTree/settings.py:631
+#: InvenTree/settings.py:637
msgid "Hungarian"
msgstr ""
-#: InvenTree/settings.py:632
+#: InvenTree/settings.py:638
msgid "Italian"
msgstr ""
-#: InvenTree/settings.py:633
+#: InvenTree/settings.py:639
msgid "Japanese"
msgstr ""
-#: InvenTree/settings.py:634
+#: InvenTree/settings.py:640
msgid "Korean"
msgstr ""
-#: InvenTree/settings.py:635
+#: InvenTree/settings.py:641
msgid "Dutch"
msgstr ""
-#: InvenTree/settings.py:636
+#: InvenTree/settings.py:642
msgid "Norwegian"
msgstr ""
-#: InvenTree/settings.py:637
+#: InvenTree/settings.py:643
msgid "Polish"
msgstr ""
-#: InvenTree/settings.py:638
+#: InvenTree/settings.py:644
msgid "Portuguese"
msgstr ""
-#: InvenTree/settings.py:639
+#: InvenTree/settings.py:645
msgid "Portuguese (Brazilian)"
msgstr ""
-#: InvenTree/settings.py:640
+#: InvenTree/settings.py:646
msgid "Russian"
msgstr ""
-#: InvenTree/settings.py:641
+#: InvenTree/settings.py:647
msgid "Swedish"
msgstr ""
-#: InvenTree/settings.py:642
+#: InvenTree/settings.py:648
msgid "Thai"
msgstr ""
-#: InvenTree/settings.py:643
+#: InvenTree/settings.py:649
msgid "Turkish"
msgstr ""
-#: InvenTree/settings.py:644
+#: InvenTree/settings.py:650
msgid "Vietnamese"
msgstr ""
-#: InvenTree/settings.py:645
+#: InvenTree/settings.py:651
msgid "Chinese"
msgstr ""
-#: InvenTree/status.py:99
+#: InvenTree/status.py:98
msgid "Background worker check failed"
msgstr ""
-#: InvenTree/status.py:103
+#: InvenTree/status.py:102
msgid "Email backend not configured"
msgstr ""
-#: InvenTree/status.py:106
+#: InvenTree/status.py:105
msgid "InvenTree system health checks failed"
msgstr ""
#: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140
-#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:342
+#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:346
msgid "Pending"
msgstr ""
@@ -561,8 +563,8 @@ msgstr ""
msgid "Returned"
msgstr ""
-#: InvenTree/status_codes.py:141 order/models.py:1142
-#: templates/js/translated/order.js:3625 templates/js/translated/order.js:3974
+#: InvenTree/status_codes.py:141 order/models.py:1165
+#: templates/js/translated/order.js:3636 templates/js/translated/order.js:3971
msgid "Shipped"
msgstr ""
@@ -646,7 +648,7 @@ msgstr ""
msgid "Split child item"
msgstr ""
-#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2086
+#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2104
msgid "Merged stock items"
msgstr ""
@@ -654,7 +656,7 @@ msgstr ""
msgid "Converted to variant"
msgstr ""
-#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:229
+#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:233
msgid "Sent to customer"
msgstr ""
@@ -746,7 +748,7 @@ msgstr ""
#: build/models.py:111 build/templates/build/build_base.html:13
#: build/templates/build/index.html:8 build/templates/build/index.html:12
-#: order/templates/order/sales_order_detail.html:120
+#: order/templates/order/sales_order_detail.html:125
#: order/templates/order/so_sidebar.html:13
#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221
#: templates/InvenTree/search.html:141
@@ -759,15 +761,15 @@ msgstr ""
msgid "Build Order Reference"
msgstr ""
-#: build/models.py:155 order/models.py:240 order/models.py:632
-#: order/models.py:918 part/models.py:2684
+#: build/models.py:155 order/models.py:241 order/models.py:651
+#: order/models.py:941 part/admin.py:224 part/models.py:3297
#: part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:92
-#: templates/js/translated/bom.js:716 templates/js/translated/bom.js:897
-#: templates/js/translated/build.js:1843 templates/js/translated/order.js:2251
-#: templates/js/translated/order.js:2481 templates/js/translated/order.js:3818
-#: templates/js/translated/order.js:4323
+#: templates/js/translated/bom.js:729 templates/js/translated/bom.js:905
+#: templates/js/translated/build.js:1843 templates/js/translated/order.js:2290
+#: templates/js/translated/order.js:2508 templates/js/translated/order.js:3833
+#: templates/js/translated/order.js:4324 templates/js/translated/pricing.js:119
msgid "Reference"
msgstr ""
@@ -785,39 +787,40 @@ msgid "BuildOrder to which this build is allocated"
msgstr ""
#: build/models.py:180 build/templates/build/build_base.html:80
-#: build/templates/build/detail.html:29 company/models.py:680
-#: order/models.py:1015 order/models.py:1126 order/models.py:1127
-#: part/models.py:343 part/models.py:2200 part/models.py:2215
-#: part/models.py:2234 part/models.py:2252 part/models.py:2351
-#: part/models.py:2472 part/models.py:2564 part/models.py:2649
-#: part/models.py:2943 part/serializers.py:828
+#: build/templates/build/detail.html:29 company/models.py:684
+#: order/models.py:1038 order/models.py:1149 order/models.py:1150
+#: part/models.py:362 part/models.py:2700 part/models.py:2813
+#: part/models.py:2828 part/models.py:2847 part/models.py:2865
+#: part/models.py:2964 part/models.py:3085 part/models.py:3177
+#: part/models.py:3262 part/models.py:3578 part/serializers.py:852
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
#: report/templates/report/inventree_build_order_base.html:109
#: report/templates/report/inventree_po_report.html:89
-#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:86
-#: stock/serializers.py:494 templates/InvenTree/search.html:82
+#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:90
+#: stock/serializers.py:488 templates/InvenTree/search.html:82
#: templates/email/build_order_completed.html:17
#: templates/email/build_order_required_stock.html:17
#: templates/email/low_stock_notification.html:16
#: templates/email/overdue_build_order.html:16
-#: templates/js/translated/barcode.js:479 templates/js/translated/bom.js:578
-#: templates/js/translated/bom.js:715 templates/js/translated/bom.js:841
+#: templates/js/translated/barcode.js:479 templates/js/translated/bom.js:591
+#: templates/js/translated/bom.js:728 templates/js/translated/bom.js:849
#: templates/js/translated/build.js:1214 templates/js/translated/build.js:1711
#: templates/js/translated/build.js:2194 templates/js/translated/build.js:2585
-#: templates/js/translated/company.js:301
-#: templates/js/translated/company.js:531
-#: templates/js/translated/company.js:643
-#: templates/js/translated/company.js:904 templates/js/translated/order.js:106
-#: templates/js/translated/order.js:1134 templates/js/translated/order.js:1638
-#: templates/js/translated/order.js:2205 templates/js/translated/order.js:3180
-#: templates/js/translated/order.js:3576 templates/js/translated/order.js:3802
-#: templates/js/translated/part.js:1172 templates/js/translated/part.js:1244
-#: templates/js/translated/part.js:1442 templates/js/translated/stock.js:586
-#: templates/js/translated/stock.js:751 templates/js/translated/stock.js:958
-#: templates/js/translated/stock.js:1700 templates/js/translated/stock.js:2514
-#: templates/js/translated/stock.js:2709 templates/js/translated/stock.js:2843
+#: templates/js/translated/company.js:302
+#: templates/js/translated/company.js:532
+#: templates/js/translated/company.js:644
+#: templates/js/translated/company.js:905 templates/js/translated/order.js:106
+#: templates/js/translated/order.js:1168 templates/js/translated/order.js:1672
+#: templates/js/translated/order.js:2244 templates/js/translated/order.js:3191
+#: templates/js/translated/order.js:3587 templates/js/translated/order.js:3817
+#: templates/js/translated/part.js:1193 templates/js/translated/part.js:1265
+#: templates/js/translated/part.js:1452 templates/js/translated/pricing.js:102
+#: templates/js/translated/stock.js:605 templates/js/translated/stock.js:770
+#: templates/js/translated/stock.js:977 templates/js/translated/stock.js:1719
+#: templates/js/translated/stock.js:2532 templates/js/translated/stock.js:2727
+#: templates/js/translated/stock.js:2861
msgid "Part"
msgstr ""
@@ -834,7 +837,7 @@ msgid "SalesOrder to which this build is allocated"
msgstr ""
#: build/models.py:202 build/serializers.py:822
-#: templates/js/translated/build.js:2182 templates/js/translated/order.js:3168
+#: templates/js/translated/build.js:2182 templates/js/translated/order.js:3179
msgid "Source Location"
msgstr ""
@@ -874,8 +877,8 @@ msgstr ""
msgid "Build status code"
msgstr ""
-#: build/models.py:245 build/serializers.py:224 order/serializers.py:464
-#: stock/models.py:664 templates/js/translated/order.js:1496
+#: build/models.py:245 build/serializers.py:224 order/serializers.py:455
+#: stock/models.py:680 templates/js/translated/order.js:1530
msgid "Batch Code"
msgstr ""
@@ -883,12 +886,12 @@ msgstr ""
msgid "Batch code for this build output"
msgstr ""
-#: build/models.py:252 order/models.py:86 part/models.py:952
-#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2839
+#: build/models.py:252 order/models.py:87 part/models.py:971
+#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2850
msgid "Creation Date"
msgstr ""
-#: build/models.py:256 order/models.py:662
+#: build/models.py:256 order/models.py:681
msgid "Target completion date"
msgstr ""
@@ -896,7 +899,7 @@ msgstr ""
msgid "Target date for build completion. Build will be overdue after this date."
msgstr ""
-#: build/models.py:260 order/models.py:291
+#: build/models.py:260 order/models.py:292
#: templates/js/translated/build.js:2662
msgid "Completion Date"
msgstr ""
@@ -914,11 +917,11 @@ msgid "User who issued this build order"
msgstr ""
#: build/models.py:283 build/templates/build/build_base.html:193
-#: build/templates/build/detail.html:115 order/models.py:100
+#: build/templates/build/detail.html:115 order/models.py:101
#: order/templates/order/order_base.html:185
-#: order/templates/order/sales_order_base.html:183 part/models.py:956
+#: order/templates/order/sales_order_base.html:183 part/models.py:975
#: report/templates/report/inventree_build_order_base.html:158
-#: templates/js/translated/build.js:2642 templates/js/translated/order.js:2022
+#: templates/js/translated/build.js:2642 templates/js/translated/order.js:2056
msgid "Responsible"
msgstr ""
@@ -929,7 +932,7 @@ msgstr ""
#: build/models.py:289 build/templates/build/detail.html:101
#: company/templates/company/manufacturer_part.html:107
#: company/templates/company/supplier_part.html:188
-#: part/templates/part/part_base.html:361 stock/models.py:658
+#: part/templates/part/part_base.html:376 stock/models.py:674
#: stock/templates/stock/item_base.html:203
msgid "External Link"
msgstr ""
@@ -968,11 +971,11 @@ msgstr ""
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr ""
-#: build/models.py:1191 order/models.py:1393
+#: build/models.py:1191 order/models.py:1416
msgid "Stock item is over-allocated"
msgstr ""
-#: build/models.py:1197 order/models.py:1396
+#: build/models.py:1197 order/models.py:1419
msgid "Allocation quantity must be greater than zero"
msgstr ""
@@ -994,18 +997,18 @@ msgstr ""
msgid "Build to allocate parts"
msgstr ""
-#: build/models.py:1346 build/serializers.py:663 order/serializers.py:1039
-#: order/serializers.py:1060 stock/serializers.py:398 stock/serializers.py:758
-#: stock/serializers.py:884 stock/templates/stock/item_base.html:10
+#: build/models.py:1346 build/serializers.py:663 order/serializers.py:1032
+#: order/serializers.py:1053 stock/serializers.py:392 stock/serializers.py:757
+#: stock/serializers.py:883 stock/templates/stock/item_base.html:10
#: stock/templates/stock/item_base.html:23
#: stock/templates/stock/item_base.html:197
#: templates/js/translated/build.js:790 templates/js/translated/build.js:795
#: templates/js/translated/build.js:2196 templates/js/translated/build.js:2747
-#: templates/js/translated/order.js:107 templates/js/translated/order.js:3181
-#: templates/js/translated/order.js:3483 templates/js/translated/order.js:3488
-#: templates/js/translated/order.js:3583 templates/js/translated/order.js:3675
-#: templates/js/translated/stock.js:587 templates/js/translated/stock.js:752
-#: templates/js/translated/stock.js:2587
+#: templates/js/translated/order.js:107 templates/js/translated/order.js:3192
+#: templates/js/translated/order.js:3494 templates/js/translated/order.js:3499
+#: templates/js/translated/order.js:3594 templates/js/translated/order.js:3686
+#: templates/js/translated/stock.js:606 templates/js/translated/stock.js:771
+#: templates/js/translated/stock.js:2605
msgid "Stock Item"
msgstr ""
@@ -1015,12 +1018,10 @@ msgstr ""
#: build/models.py:1359 build/serializers.py:192
#: build/templates/build/build_base.html:85
-#: build/templates/build/detail.html:34 common/models.py:1776
-#: company/templates/company/supplier_part.html:341 order/models.py:911
-#: order/models.py:1437 order/serializers.py:1213
-#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:40
-#: part/models.py:2665 part/templates/part/detail.html:938
-#: part/templates/part/detail.html:1024
+#: build/templates/build/detail.html:34 common/models.py:1788
+#: order/models.py:934 order/models.py:1460 order/serializers.py:1206
+#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:223
+#: part/forms.py:40 part/models.py:3278
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_build_order_base.html:113
@@ -1028,25 +1029,29 @@ msgstr ""
#: report/templates/report/inventree_so_report.html:91
#: report/templates/report/inventree_test_report_base.html:81
#: report/templates/report/inventree_test_report_base.html:139
-#: stock/serializers.py:291 stock/templates/stock/item_base.html:290
+#: stock/admin.py:86 stock/serializers.py:285
+#: stock/templates/stock/item_base.html:290
#: stock/templates/stock/item_base.html:298
#: templates/email/build_order_completed.html:18
-#: templates/js/translated/barcode.js:481 templates/js/translated/bom.js:717
-#: templates/js/translated/bom.js:905 templates/js/translated/build.js:474
+#: templates/js/translated/barcode.js:481 templates/js/translated/bom.js:730
+#: templates/js/translated/bom.js:913 templates/js/translated/build.js:474
#: templates/js/translated/build.js:626 templates/js/translated/build.js:817
#: templates/js/translated/build.js:1236 templates/js/translated/build.js:1737
#: templates/js/translated/build.js:2197
+#: templates/js/translated/company.js:1159
#: templates/js/translated/model_renderers.js:120
-#: templates/js/translated/order.js:123 templates/js/translated/order.js:1137
-#: templates/js/translated/order.js:2257 templates/js/translated/order.js:2487
-#: templates/js/translated/order.js:3182 templates/js/translated/order.js:3502
-#: templates/js/translated/order.js:3589 templates/js/translated/order.js:3681
-#: templates/js/translated/order.js:3824 templates/js/translated/order.js:4329
-#: templates/js/translated/part.js:1036 templates/js/translated/part.js:2220
-#: templates/js/translated/part.js:2689 templates/js/translated/part.js:2730
-#: templates/js/translated/part.js:2808 templates/js/translated/stock.js:458
-#: templates/js/translated/stock.js:612 templates/js/translated/stock.js:782
-#: templates/js/translated/stock.js:2636 templates/js/translated/stock.js:2721
+#: templates/js/translated/order.js:123 templates/js/translated/order.js:1171
+#: templates/js/translated/order.js:2296 templates/js/translated/order.js:2514
+#: templates/js/translated/order.js:3193 templates/js/translated/order.js:3513
+#: templates/js/translated/order.js:3600 templates/js/translated/order.js:3692
+#: templates/js/translated/order.js:3839 templates/js/translated/order.js:4330
+#: templates/js/translated/part.js:1063 templates/js/translated/part.js:2546
+#: templates/js/translated/pricing.js:114
+#: templates/js/translated/pricing.js:207
+#: templates/js/translated/pricing.js:255
+#: templates/js/translated/pricing.js:349 templates/js/translated/stock.js:477
+#: templates/js/translated/stock.js:631 templates/js/translated/stock.js:801
+#: templates/js/translated/stock.js:2654 templates/js/translated/stock.js:2739
msgid "Quantity"
msgstr ""
@@ -1087,10 +1092,10 @@ msgstr ""
msgid "Enter quantity for build output"
msgstr ""
-#: build/serializers.py:207 build/serializers.py:683 order/models.py:323
-#: order/serializers.py:304 order/serializers.py:459 part/serializers.py:558
-#: part/serializers.py:991 stock/models.py:518 stock/models.py:1253
-#: stock/serializers.py:300
+#: build/serializers.py:207 build/serializers.py:683 order/models.py:327
+#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:644
+#: part/serializers.py:1015 stock/models.py:534 stock/models.py:1269
+#: stock/serializers.py:294
msgid "Quantity must be greater than zero"
msgstr ""
@@ -1102,9 +1107,9 @@ msgstr ""
msgid "Integer quantity required, as the bill of materials contains trackable parts"
msgstr ""
-#: build/serializers.py:231 order/serializers.py:472 order/serializers.py:1217
-#: stock/serializers.py:309 templates/js/translated/order.js:1507
-#: templates/js/translated/stock.js:271 templates/js/translated/stock.js:459
+#: build/serializers.py:231 order/serializers.py:463 order/serializers.py:1210
+#: stock/serializers.py:303 templates/js/translated/order.js:1541
+#: templates/js/translated/stock.js:290 templates/js/translated/stock.js:478
msgid "Serial Numbers"
msgstr ""
@@ -1120,7 +1125,7 @@ msgstr ""
msgid "Automatically allocate required items with matching serial numbers"
msgstr ""
-#: build/serializers.py:281 stock/api.py:589
+#: build/serializers.py:281 stock/api.py:599
msgid "The following serial numbers already exist or are invalid"
msgstr ""
@@ -1128,18 +1133,18 @@ msgstr ""
msgid "A list of build outputs must be provided"
msgstr ""
-#: build/serializers.py:369 order/serializers.py:445 order/serializers.py:556
-#: stock/serializers.py:320 stock/serializers.py:455 stock/serializers.py:536
-#: stock/serializers.py:919 stock/serializers.py:1152
+#: build/serializers.py:369 order/serializers.py:436 order/serializers.py:547
+#: stock/serializers.py:314 stock/serializers.py:449 stock/serializers.py:530
+#: stock/serializers.py:918 stock/serializers.py:1151
#: stock/templates/stock/item_base.html:388
#: templates/js/translated/barcode.js:480
#: templates/js/translated/barcode.js:724 templates/js/translated/build.js:802
-#: templates/js/translated/build.js:1749 templates/js/translated/order.js:1534
-#: templates/js/translated/order.js:3495 templates/js/translated/order.js:3600
-#: templates/js/translated/order.js:3608 templates/js/translated/order.js:3689
-#: templates/js/translated/part.js:181 templates/js/translated/stock.js:588
-#: templates/js/translated/stock.js:753 templates/js/translated/stock.js:960
-#: templates/js/translated/stock.js:1856 templates/js/translated/stock.js:2528
+#: templates/js/translated/build.js:1749 templates/js/translated/order.js:1568
+#: templates/js/translated/order.js:3506 templates/js/translated/order.js:3611
+#: templates/js/translated/order.js:3619 templates/js/translated/order.js:3700
+#: templates/js/translated/part.js:177 templates/js/translated/stock.js:607
+#: templates/js/translated/stock.js:772 templates/js/translated/stock.js:979
+#: templates/js/translated/stock.js:1875 templates/js/translated/stock.js:2546
msgid "Location"
msgstr ""
@@ -1148,12 +1153,13 @@ msgid "Location for completed build outputs"
msgstr ""
#: build/serializers.py:376 build/templates/build/build_base.html:145
-#: build/templates/build/detail.html:62 order/models.py:651
-#: order/serializers.py:482 stock/templates/stock/item_base.html:421
+#: build/templates/build/detail.html:62 order/models.py:670
+#: order/serializers.py:473 stock/admin.py:89
+#: stock/templates/stock/item_base.html:421
#: templates/js/translated/barcode.js:214 templates/js/translated/build.js:2614
-#: templates/js/translated/order.js:1643 templates/js/translated/order.js:1992
-#: templates/js/translated/order.js:2831 templates/js/translated/stock.js:1831
-#: templates/js/translated/stock.js:2605 templates/js/translated/stock.js:2737
+#: templates/js/translated/order.js:1677 templates/js/translated/order.js:2026
+#: templates/js/translated/order.js:2842 templates/js/translated/stock.js:1850
+#: templates/js/translated/stock.js:2623 templates/js/translated/stock.js:2755
msgid "Status"
msgstr ""
@@ -1213,7 +1219,7 @@ msgstr ""
msgid "Required stock has not been fully allocated"
msgstr ""
-#: build/serializers.py:545 order/serializers.py:208 order/serializers.py:1107
+#: build/serializers.py:545 order/serializers.py:202 order/serializers.py:1100
msgid "Accept Incomplete"
msgstr ""
@@ -1229,8 +1235,8 @@ msgstr ""
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:595 build/serializers.py:640 part/models.py:2801
-#: part/models.py:2935
+#: build/serializers.py:595 build/serializers.py:640 part/models.py:3414
+#: part/models.py:3570
msgid "BOM Item"
msgstr ""
@@ -1246,11 +1252,11 @@ msgstr ""
msgid "bom_item.part must point to the same part as the build order"
msgstr ""
-#: build/serializers.py:669 stock/serializers.py:771
+#: build/serializers.py:669 stock/serializers.py:770
msgid "Item must be in stock"
msgstr ""
-#: build/serializers.py:727 order/serializers.py:1097
+#: build/serializers.py:727 order/serializers.py:1090
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr ""
@@ -1267,7 +1273,7 @@ msgstr ""
msgid "This stock item has already been allocated to this build output"
msgstr ""
-#: build/serializers.py:768 order/serializers.py:1381
+#: build/serializers.py:768 order/serializers.py:1374
msgid "Allocation items must be provided"
msgstr ""
@@ -1382,13 +1388,13 @@ msgid "Stock has not been fully allocated to this Build Order"
msgstr ""
#: build/templates/build/build_base.html:154
-#: build/templates/build/detail.html:131 order/models.py:924
+#: build/templates/build/detail.html:131 order/models.py:947
#: order/templates/order/order_base.html:171
#: order/templates/order/sales_order_base.html:164
#: report/templates/report/inventree_build_order_base.html:125
-#: templates/js/translated/build.js:2654 templates/js/translated/order.js:2009
-#: templates/js/translated/order.js:2351 templates/js/translated/order.js:2847
-#: templates/js/translated/order.js:3887 templates/js/translated/part.js:1051
+#: templates/js/translated/build.js:2654 templates/js/translated/order.js:2043
+#: templates/js/translated/order.js:2374 templates/js/translated/order.js:2858
+#: templates/js/translated/order.js:3884 templates/js/translated/part.js:1078
msgid "Target Date"
msgstr ""
@@ -1401,29 +1407,29 @@ msgstr ""
#: build/templates/build/build_base.html:204
#: order/templates/order/order_base.html:107
#: order/templates/order/sales_order_base.html:94
-#: templates/js/translated/table_filters.js:328
-#: templates/js/translated/table_filters.js:369
-#: templates/js/translated/table_filters.js:399
+#: templates/js/translated/table_filters.js:332
+#: templates/js/translated/table_filters.js:373
+#: templates/js/translated/table_filters.js:403
msgid "Overdue"
msgstr ""
#: build/templates/build/build_base.html:166
#: build/templates/build/detail.html:67 build/templates/build/detail.html:142
#: order/templates/order/sales_order_base.html:171
-#: templates/js/translated/table_filters.js:408
+#: templates/js/translated/table_filters.js:412
msgid "Completed"
msgstr ""
#: build/templates/build/build_base.html:179
-#: build/templates/build/detail.html:94 order/models.py:1119
-#: order/models.py:1213 order/models.py:1344
+#: build/templates/build/detail.html:94 order/models.py:1142
+#: order/models.py:1236 order/models.py:1367
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
#: report/templates/report/inventree_build_order_base.html:135
#: report/templates/report/inventree_so_report.html:77
#: stock/templates/stock/item_base.html:368
#: templates/email/overdue_sales_order.html:15
-#: templates/js/translated/order.js:2793
+#: templates/js/translated/order.js:2804 templates/js/translated/pricing.js:637
msgid "Sales Order"
msgstr ""
@@ -1449,8 +1455,8 @@ msgstr ""
msgid "Stock can be taken from any available location."
msgstr ""
-#: build/templates/build/detail.html:49 order/models.py:1037
-#: templates/js/translated/order.js:1644 templates/js/translated/order.js:2393
+#: build/templates/build/detail.html:49 order/models.py:1060
+#: templates/js/translated/order.js:1678 templates/js/translated/order.js:2416
msgid "Destination"
msgstr ""
@@ -1462,14 +1468,14 @@ msgstr ""
msgid "Allocated Parts"
msgstr ""
-#: build/templates/build/detail.html:80
+#: build/templates/build/detail.html:80 stock/admin.py:88
#: stock/templates/stock/item_base.html:168
#: templates/js/translated/build.js:1240
#: templates/js/translated/model_renderers.js:124
-#: templates/js/translated/stock.js:1026 templates/js/translated/stock.js:1845
-#: templates/js/translated/stock.js:2744
-#: templates/js/translated/table_filters.js:167
-#: templates/js/translated/table_filters.js:258
+#: templates/js/translated/stock.js:1045 templates/js/translated/stock.js:1864
+#: templates/js/translated/stock.js:2762
+#: templates/js/translated/table_filters.js:171
+#: templates/js/translated/table_filters.js:262
msgid "Batch"
msgstr ""
@@ -1527,7 +1533,7 @@ msgstr ""
#: build/templates/build/detail.html:187
#: company/templates/company/detail.html:37
#: company/templates/company/detail.html:85
-#: part/templates/part/category.html:178 templates/js/translated/order.js:1177
+#: part/templates/part/category.html:178 templates/js/translated/order.js:1211
msgid "Order Parts"
msgstr ""
@@ -1597,10 +1603,10 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:151
#: company/templates/company/manufacturer_part_sidebar.html:9
#: order/templates/order/po_sidebar.html:9
-#: order/templates/order/purchase_order_detail.html:82
-#: order/templates/order/sales_order_detail.html:135
-#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:212
-#: part/templates/part/part_sidebar.html:57 stock/templates/stock/item.html:117
+#: order/templates/order/purchase_order_detail.html:86
+#: order/templates/order/sales_order_detail.html:140
+#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:210
+#: part/templates/part/part_sidebar.html:55 stock/templates/stock/item.html:117
#: stock/templates/stock/stock_sidebar.html:23
msgid "Attachments"
msgstr ""
@@ -1617,7 +1623,7 @@ msgstr ""
msgid "All untracked stock items have been allocated"
msgstr ""
-#: build/templates/build/index.html:18 part/templates/part/detail.html:318
+#: build/templates/build/index.html:18 part/templates/part/detail.html:316
msgid "New Build Order"
msgstr ""
@@ -1734,7 +1740,7 @@ msgstr ""
msgid "Show the `about` modal only to superusers"
msgstr ""
-#: common/models.py:833 company/models.py:94 company/models.py:95
+#: common/models.py:833 company/models.py:98 company/models.py:99
msgid "Company name"
msgstr ""
@@ -1902,9 +1908,9 @@ msgstr ""
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:1002 part/models.py:2474 report/models.py:158
-#: templates/js/translated/table_filters.js:38
-#: templates/js/translated/table_filters.js:492
+#: common/models.py:1002 part/admin.py:41 part/models.py:3087
+#: report/models.py:158 templates/js/translated/table_filters.js:38
+#: templates/js/translated/table_filters.js:496
msgid "Template"
msgstr ""
@@ -1912,9 +1918,10 @@ msgstr ""
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:1009 part/models.py:908 templates/js/translated/bom.js:1531
-#: templates/js/translated/table_filters.js:184
-#: templates/js/translated/table_filters.js:455
+#: common/models.py:1009 part/admin.py:37 part/admin.py:229 part/models.py:927
+#: templates/js/translated/bom.js:1594
+#: templates/js/translated/table_filters.js:188
+#: templates/js/translated/table_filters.js:459
msgid "Assembly"
msgstr ""
@@ -1922,8 +1929,8 @@ msgstr ""
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:1016 part/models.py:914
-#: templates/js/translated/table_filters.js:463
+#: common/models.py:1016 part/admin.py:38 part/models.py:933
+#: templates/js/translated/table_filters.js:467
msgid "Component"
msgstr ""
@@ -1931,7 +1938,7 @@ msgstr ""
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:1023 part/models.py:925
+#: common/models.py:1023 part/admin.py:39 part/models.py:944
msgid "Purchaseable"
msgstr ""
@@ -1939,8 +1946,8 @@ msgstr ""
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:1030 part/models.py:930
-#: templates/js/translated/table_filters.js:484
+#: common/models.py:1030 part/admin.py:40 part/models.py:949
+#: templates/js/translated/table_filters.js:488
msgid "Salable"
msgstr ""
@@ -1948,10 +1955,10 @@ msgstr ""
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:1037 part/models.py:920
+#: common/models.py:1037 part/admin.py:42 part/models.py:939
#: templates/js/translated/table_filters.js:46
-#: templates/js/translated/table_filters.js:116
-#: templates/js/translated/table_filters.js:496
+#: templates/js/translated/table_filters.js:120
+#: templates/js/translated/table_filters.js:500
msgid "Trackable"
msgstr ""
@@ -1959,10 +1966,10 @@ msgstr ""
msgid "Parts are trackable by default"
msgstr ""
-#: common/models.py:1044 part/models.py:940
+#: common/models.py:1044 part/admin.py:43 part/models.py:959
#: part/templates/part/part_base.html:156
#: templates/js/translated/table_filters.js:42
-#: templates/js/translated/table_filters.js:500
+#: templates/js/translated/table_filters.js:504
msgid "Virtual"
msgstr ""
@@ -1979,791 +1986,837 @@ msgid "Display the import wizard in some part views"
msgstr ""
#: common/models.py:1058
-msgid "Show Price in Forms"
-msgstr ""
-
-#: common/models.py:1059
-msgid "Display part price in some forms"
-msgstr ""
-
-#: common/models.py:1070
-msgid "Show Price in BOM"
-msgstr ""
-
-#: common/models.py:1071
-msgid "Include pricing information in BOM tables"
-msgstr ""
-
-#: common/models.py:1082
-msgid "Show Price History"
-msgstr ""
-
-#: common/models.py:1083
-msgid "Display historical pricing for Part"
-msgstr ""
-
-#: common/models.py:1089
msgid "Show related parts"
msgstr ""
-#: common/models.py:1090
+#: common/models.py:1059
msgid "Display related parts for a part"
msgstr ""
-#: common/models.py:1096
+#: common/models.py:1065
msgid "Create initial stock"
msgstr ""
-#: common/models.py:1097
+#: common/models.py:1066
msgid "Create initial stock on part creation"
msgstr ""
-#: common/models.py:1103
-msgid "Internal Prices"
-msgstr ""
-
-#: common/models.py:1104
-msgid "Enable internal prices for parts"
-msgstr ""
-
-#: common/models.py:1110
-msgid "Internal Price as BOM-Price"
-msgstr ""
-
-#: common/models.py:1111
-msgid "Use the internal price (if set) in BOM-price calculations"
-msgstr ""
-
-#: common/models.py:1117
+#: common/models.py:1072
msgid "Part Name Display Format"
msgstr ""
-#: common/models.py:1118
+#: common/models.py:1073
msgid "Format to display the part name"
msgstr ""
-#: common/models.py:1125
+#: common/models.py:1080
msgid "Part Category Default Icon"
msgstr ""
-#: common/models.py:1126
+#: common/models.py:1081
msgid "Part category default icon (empty means no icon)"
msgstr ""
-#: common/models.py:1131
-msgid "Enable label printing"
+#: common/models.py:1086
+msgid "Pricing Decimal Places"
msgstr ""
-#: common/models.py:1132
-msgid "Enable label printing from the web interface"
+#: common/models.py:1087
+msgid "Number of decimal places to display when rendering pricing data"
msgstr ""
-#: common/models.py:1138
-msgid "Label Image DPI"
+#: common/models.py:1097
+msgid "Pricing Rebuild Time"
msgstr ""
-#: common/models.py:1139
-msgid "DPI resolution when generating image files to supply to label printing plugins"
+#: common/models.py:1098
+msgid "Number of days before part pricing is automatically updated"
msgstr ""
-#: common/models.py:1148
-msgid "Enable Reports"
-msgstr ""
-
-#: common/models.py:1149
-msgid "Enable generation of reports"
-msgstr ""
-
-#: common/models.py:1155 templates/stats.html:25
-msgid "Debug Mode"
-msgstr ""
-
-#: common/models.py:1156
-msgid "Generate reports in debug mode (HTML output)"
-msgstr ""
-
-#: common/models.py:1162
-msgid "Page Size"
-msgstr ""
-
-#: common/models.py:1163
-msgid "Default page size for PDF reports"
-msgstr ""
-
-#: common/models.py:1173
-msgid "Enable Test Reports"
-msgstr ""
-
-#: common/models.py:1174
-msgid "Enable generation of test reports"
-msgstr ""
-
-#: common/models.py:1180
-msgid "Attach Test Reports"
-msgstr ""
-
-#: common/models.py:1181
-msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item"
-msgstr ""
-
-#: common/models.py:1187
-msgid "Globally Unique Serials"
-msgstr ""
-
-#: common/models.py:1188
-msgid "Serial numbers for stock items must be globally unique"
-msgstr ""
-
-#: common/models.py:1194
-msgid "Batch Code Template"
-msgstr ""
-
-#: common/models.py:1195
-msgid "Template for generating default batch codes for stock items"
-msgstr ""
-
-#: common/models.py:1200
-msgid "Stock Expiry"
-msgstr ""
-
-#: common/models.py:1201
-msgid "Enable stock expiry functionality"
-msgstr ""
-
-#: common/models.py:1207
-msgid "Sell Expired Stock"
-msgstr ""
-
-#: common/models.py:1208
-msgid "Allow sale of expired stock"
-msgstr ""
-
-#: common/models.py:1214
-msgid "Stock Stale Time"
-msgstr ""
-
-#: common/models.py:1215
-msgid "Number of days stock items are considered stale before expiring"
-msgstr ""
-
-#: common/models.py:1217
+#: common/models.py:1099 common/models.py:1208
msgid "days"
msgstr ""
-#: common/models.py:1222
+#: common/models.py:1108
+msgid "Internal Prices"
+msgstr ""
+
+#: common/models.py:1109
+msgid "Enable internal prices for parts"
+msgstr ""
+
+#: common/models.py:1115
+msgid "Internal Price Override"
+msgstr ""
+
+#: common/models.py:1116
+msgid "If available, internal prices override price range calculations"
+msgstr ""
+
+#: common/models.py:1122
+msgid "Enable label printing"
+msgstr ""
+
+#: common/models.py:1123
+msgid "Enable label printing from the web interface"
+msgstr ""
+
+#: common/models.py:1129
+msgid "Label Image DPI"
+msgstr ""
+
+#: common/models.py:1130
+msgid "DPI resolution when generating image files to supply to label printing plugins"
+msgstr ""
+
+#: common/models.py:1139
+msgid "Enable Reports"
+msgstr ""
+
+#: common/models.py:1140
+msgid "Enable generation of reports"
+msgstr ""
+
+#: common/models.py:1146 templates/stats.html:25
+msgid "Debug Mode"
+msgstr ""
+
+#: common/models.py:1147
+msgid "Generate reports in debug mode (HTML output)"
+msgstr ""
+
+#: common/models.py:1153
+msgid "Page Size"
+msgstr ""
+
+#: common/models.py:1154
+msgid "Default page size for PDF reports"
+msgstr ""
+
+#: common/models.py:1164
+msgid "Enable Test Reports"
+msgstr ""
+
+#: common/models.py:1165
+msgid "Enable generation of test reports"
+msgstr ""
+
+#: common/models.py:1171
+msgid "Attach Test Reports"
+msgstr ""
+
+#: common/models.py:1172
+msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item"
+msgstr ""
+
+#: common/models.py:1178
+msgid "Globally Unique Serials"
+msgstr ""
+
+#: common/models.py:1179
+msgid "Serial numbers for stock items must be globally unique"
+msgstr ""
+
+#: common/models.py:1185
+msgid "Batch Code Template"
+msgstr ""
+
+#: common/models.py:1186
+msgid "Template for generating default batch codes for stock items"
+msgstr ""
+
+#: common/models.py:1191
+msgid "Stock Expiry"
+msgstr ""
+
+#: common/models.py:1192
+msgid "Enable stock expiry functionality"
+msgstr ""
+
+#: common/models.py:1198
+msgid "Sell Expired Stock"
+msgstr ""
+
+#: common/models.py:1199
+msgid "Allow sale of expired stock"
+msgstr ""
+
+#: common/models.py:1205
+msgid "Stock Stale Time"
+msgstr ""
+
+#: common/models.py:1206
+msgid "Number of days stock items are considered stale before expiring"
+msgstr ""
+
+#: common/models.py:1213
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:1223
+#: common/models.py:1214
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:1229
+#: common/models.py:1220
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:1230
+#: common/models.py:1221
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:1236
+#: common/models.py:1227
msgid "Stock Location Default Icon"
msgstr ""
-#: common/models.py:1237
+#: common/models.py:1228
msgid "Stock location default icon (empty means no icon)"
msgstr ""
-#: common/models.py:1242
+#: common/models.py:1233
msgid "Build Order Reference Pattern"
msgstr ""
-#: common/models.py:1243
+#: common/models.py:1234
msgid "Required pattern for generating Build Order reference field"
msgstr ""
-#: common/models.py:1249
+#: common/models.py:1240
msgid "Sales Order Reference Pattern"
msgstr ""
-#: common/models.py:1250
+#: common/models.py:1241
msgid "Required pattern for generating Sales Order reference field"
msgstr ""
-#: common/models.py:1256
+#: common/models.py:1247
msgid "Sales Order Default Shipment"
msgstr ""
-#: common/models.py:1257
+#: common/models.py:1248
msgid "Enable creation of default shipment with sales orders"
msgstr ""
-#: common/models.py:1263
+#: common/models.py:1254
+msgid "Edit Completed Sales Orders"
+msgstr ""
+
+#: common/models.py:1255
+msgid "Allow editing of sales orders after they have been shipped or completed"
+msgstr ""
+
+#: common/models.py:1261
msgid "Purchase Order Reference Pattern"
msgstr ""
-#: common/models.py:1264
+#: common/models.py:1262
msgid "Required pattern for generating Purchase Order reference field"
msgstr ""
-#: common/models.py:1271
+#: common/models.py:1268
+msgid "Edit Completed Purchase Orders"
+msgstr ""
+
+#: common/models.py:1269
+msgid "Allow editing of purchase orders after they have been shipped or completed"
+msgstr ""
+
+#: common/models.py:1276
msgid "Enable password forgot"
msgstr ""
-#: common/models.py:1272
+#: common/models.py:1277
msgid "Enable password forgot function on the login pages"
msgstr ""
-#: common/models.py:1278
+#: common/models.py:1283
msgid "Enable registration"
msgstr ""
-#: common/models.py:1279
+#: common/models.py:1284
msgid "Enable self-registration for users on the login pages"
msgstr ""
-#: common/models.py:1285
+#: common/models.py:1290
msgid "Enable SSO"
msgstr ""
-#: common/models.py:1286
+#: common/models.py:1291
msgid "Enable SSO on the login pages"
msgstr ""
-#: common/models.py:1292
+#: common/models.py:1297
msgid "Email required"
msgstr ""
-#: common/models.py:1293
+#: common/models.py:1298
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/models.py:1299
+#: common/models.py:1304
msgid "Auto-fill SSO users"
msgstr ""
-#: common/models.py:1300
+#: common/models.py:1305
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/models.py:1306
+#: common/models.py:1311
msgid "Mail twice"
msgstr ""
-#: common/models.py:1307
+#: common/models.py:1312
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/models.py:1313
+#: common/models.py:1318
msgid "Password twice"
msgstr ""
-#: common/models.py:1314
+#: common/models.py:1319
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/models.py:1320
+#: common/models.py:1325
msgid "Group on signup"
msgstr ""
-#: common/models.py:1321
+#: common/models.py:1326
msgid "Group to which new users are assigned on registration"
msgstr ""
-#: common/models.py:1327
+#: common/models.py:1332
msgid "Enforce MFA"
msgstr ""
-#: common/models.py:1328
+#: common/models.py:1333
msgid "Users must use multifactor security."
msgstr ""
-#: common/models.py:1334
+#: common/models.py:1339
msgid "Check plugins on startup"
msgstr ""
-#: common/models.py:1335
+#: common/models.py:1340
msgid "Check that all plugins are installed on startup - enable in container environments"
msgstr ""
-#: common/models.py:1342
+#: common/models.py:1347
msgid "Check plugin signatures"
msgstr ""
-#: common/models.py:1343
+#: common/models.py:1348
msgid "Check and show signatures for plugins"
msgstr ""
-#: common/models.py:1350
+#: common/models.py:1355
msgid "Enable URL integration"
msgstr ""
-#: common/models.py:1351
+#: common/models.py:1356
msgid "Enable plugins to add URL routes"
msgstr ""
-#: common/models.py:1358
+#: common/models.py:1363
msgid "Enable navigation integration"
msgstr ""
-#: common/models.py:1359
+#: common/models.py:1364
msgid "Enable plugins to integrate into navigation"
msgstr ""
-#: common/models.py:1366
+#: common/models.py:1371
msgid "Enable app integration"
msgstr ""
-#: common/models.py:1367
+#: common/models.py:1372
msgid "Enable plugins to add apps"
msgstr ""
-#: common/models.py:1374
+#: common/models.py:1379
msgid "Enable schedule integration"
msgstr ""
-#: common/models.py:1375
+#: common/models.py:1380
msgid "Enable plugins to run scheduled tasks"
msgstr ""
-#: common/models.py:1382
+#: common/models.py:1387
msgid "Enable event integration"
msgstr ""
-#: common/models.py:1383
+#: common/models.py:1388
msgid "Enable plugins to respond to internal events"
msgstr ""
-#: common/models.py:1402 common/models.py:1737
+#: common/models.py:1407 common/models.py:1749
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:1424
+#: common/models.py:1429
msgid "Show subscribed parts"
msgstr ""
-#: common/models.py:1425
+#: common/models.py:1430
msgid "Show subscribed parts on the homepage"
msgstr ""
-#: common/models.py:1431
+#: common/models.py:1436
msgid "Show subscribed categories"
msgstr ""
-#: common/models.py:1432
+#: common/models.py:1437
msgid "Show subscribed part categories on the homepage"
msgstr ""
-#: common/models.py:1438
+#: common/models.py:1443
msgid "Show latest parts"
msgstr ""
-#: common/models.py:1439
+#: common/models.py:1444
msgid "Show latest parts on the homepage"
msgstr ""
-#: common/models.py:1445
+#: common/models.py:1450
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:1446
+#: common/models.py:1451
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:1452
+#: common/models.py:1457
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:1453
+#: common/models.py:1458
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:1459
+#: common/models.py:1464
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:1460
+#: common/models.py:1465
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:1466
+#: common/models.py:1471
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:1467
+#: common/models.py:1472
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:1473
+#: common/models.py:1478
msgid "Show low stock"
msgstr ""
-#: common/models.py:1474
+#: common/models.py:1479
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:1480
+#: common/models.py:1485
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:1481
+#: common/models.py:1486
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:1487
+#: common/models.py:1492
msgid "Show needed stock"
msgstr ""
-#: common/models.py:1488
+#: common/models.py:1493
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:1494
+#: common/models.py:1499
msgid "Show expired stock"
msgstr ""
-#: common/models.py:1495
+#: common/models.py:1500
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:1501
+#: common/models.py:1506
msgid "Show stale stock"
msgstr ""
-#: common/models.py:1502
+#: common/models.py:1507
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:1508
+#: common/models.py:1513
msgid "Show pending builds"
msgstr ""
-#: common/models.py:1509
+#: common/models.py:1514
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:1515
+#: common/models.py:1520
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:1516
+#: common/models.py:1521
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:1522
+#: common/models.py:1527
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:1523
+#: common/models.py:1528
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:1529
+#: common/models.py:1534
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:1530
+#: common/models.py:1535
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:1536
+#: common/models.py:1541
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:1537
+#: common/models.py:1542
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:1543
+#: common/models.py:1548
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:1544
+#: common/models.py:1549
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:1550
+#: common/models.py:1555
+msgid "Show News"
+msgstr ""
+
+#: common/models.py:1556
+msgid "Show news on the homepage"
+msgstr ""
+
+#: common/models.py:1562
msgid "Inline label display"
msgstr ""
-#: common/models.py:1551
+#: common/models.py:1563
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1557
+#: common/models.py:1569
msgid "Inline report display"
msgstr ""
-#: common/models.py:1558
+#: common/models.py:1570
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1564
+#: common/models.py:1576
msgid "Search Parts"
msgstr ""
-#: common/models.py:1565
+#: common/models.py:1577
msgid "Display parts in search preview window"
msgstr ""
-#: common/models.py:1571
+#: common/models.py:1583
msgid "Seach Supplier Parts"
msgstr ""
-#: common/models.py:1572
+#: common/models.py:1584
msgid "Display supplier parts in search preview window"
msgstr ""
-#: common/models.py:1578
+#: common/models.py:1590
msgid "Search Manufacturer Parts"
msgstr ""
-#: common/models.py:1579
+#: common/models.py:1591
msgid "Display manufacturer parts in search preview window"
msgstr ""
-#: common/models.py:1585
+#: common/models.py:1597
msgid "Hide Inactive Parts"
msgstr ""
-#: common/models.py:1586
+#: common/models.py:1598
msgid "Excluded inactive parts from search preview window"
msgstr ""
-#: common/models.py:1592
+#: common/models.py:1604
msgid "Search Categories"
msgstr ""
-#: common/models.py:1593
+#: common/models.py:1605
msgid "Display part categories in search preview window"
msgstr ""
-#: common/models.py:1599
+#: common/models.py:1611
msgid "Search Stock"
msgstr ""
-#: common/models.py:1600
+#: common/models.py:1612
msgid "Display stock items in search preview window"
msgstr ""
-#: common/models.py:1606
+#: common/models.py:1618
msgid "Hide Unavailable Stock Items"
msgstr ""
-#: common/models.py:1607
+#: common/models.py:1619
msgid "Exclude stock items which are not available from the search preview window"
msgstr ""
-#: common/models.py:1613
+#: common/models.py:1625
msgid "Search Locations"
msgstr ""
-#: common/models.py:1614
+#: common/models.py:1626
msgid "Display stock locations in search preview window"
msgstr ""
-#: common/models.py:1620
+#: common/models.py:1632
msgid "Search Companies"
msgstr ""
-#: common/models.py:1621
+#: common/models.py:1633
msgid "Display companies in search preview window"
msgstr ""
-#: common/models.py:1627
+#: common/models.py:1639
msgid "Search Build Orders"
msgstr ""
-#: common/models.py:1628
+#: common/models.py:1640
msgid "Display build orders in search preview window"
msgstr ""
-#: common/models.py:1634
+#: common/models.py:1646
msgid "Search Purchase Orders"
msgstr ""
-#: common/models.py:1635
+#: common/models.py:1647
msgid "Display purchase orders in search preview window"
msgstr ""
-#: common/models.py:1641
+#: common/models.py:1653
msgid "Exclude Inactive Purchase Orders"
msgstr ""
-#: common/models.py:1642
+#: common/models.py:1654
msgid "Exclude inactive purchase orders from search preview window"
msgstr ""
-#: common/models.py:1648
+#: common/models.py:1660
msgid "Search Sales Orders"
msgstr ""
-#: common/models.py:1649
+#: common/models.py:1661
msgid "Display sales orders in search preview window"
msgstr ""
-#: common/models.py:1655
+#: common/models.py:1667
msgid "Exclude Inactive Sales Orders"
msgstr ""
-#: common/models.py:1656
+#: common/models.py:1668
msgid "Exclude inactive sales orders from search preview window"
msgstr ""
-#: common/models.py:1662
+#: common/models.py:1674
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:1663
+#: common/models.py:1675
msgid "Number of results to show in each section of the search preview window"
msgstr ""
-#: common/models.py:1669
+#: common/models.py:1681
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:1670
+#: common/models.py:1682
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:1676
+#: common/models.py:1688
msgid "Escape Key Closes Forms"
msgstr ""
-#: common/models.py:1677
+#: common/models.py:1689
msgid "Use the escape key to close modal forms"
msgstr ""
-#: common/models.py:1683
+#: common/models.py:1695
msgid "Fixed Navbar"
msgstr ""
-#: common/models.py:1684
+#: common/models.py:1696
msgid "The navbar position is fixed to the top of the screen"
msgstr ""
-#: common/models.py:1690
+#: common/models.py:1702
msgid "Date Format"
msgstr ""
-#: common/models.py:1691
+#: common/models.py:1703
msgid "Preferred format for displaying dates"
msgstr ""
-#: common/models.py:1705 part/templates/part/detail.html:41
+#: common/models.py:1717 part/templates/part/detail.html:41
msgid "Part Scheduling"
msgstr ""
-#: common/models.py:1706
+#: common/models.py:1718
msgid "Display part scheduling information"
msgstr ""
-#: common/models.py:1712
+#: common/models.py:1724
msgid "Table String Length"
msgstr ""
-#: common/models.py:1713
+#: common/models.py:1725
msgid "Maximimum length limit for strings displayed in table views"
msgstr ""
-#: common/models.py:1777
+#: common/models.py:1789
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1784 company/serializers.py:372
-#: company/templates/company/supplier_part.html:346 order/models.py:952
-#: templates/js/translated/part.js:1103 templates/js/translated/part.js:2225
+#: common/models.py:1796 company/serializers.py:393 order/models.py:975
+#: templates/js/translated/company.js:1164 templates/js/translated/part.js:1130
+#: templates/js/translated/pricing.js:354
msgid "Price"
msgstr ""
-#: common/models.py:1785
+#: common/models.py:1797
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1945 common/models.py:2123
+#: common/models.py:1957 common/models.py:2135
msgid "Endpoint"
msgstr ""
-#: common/models.py:1946
+#: common/models.py:1958
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:1955
+#: common/models.py:1967
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:1960 part/models.py:935 plugin/models.py:100
-#: templates/js/translated/table_filters.js:34
-#: templates/js/translated/table_filters.js:112
-#: templates/js/translated/table_filters.js:324
-#: templates/js/translated/table_filters.js:450
+#: common/models.py:1972 part/admin.py:36 part/models.py:954
+#: plugin/models.py:100 templates/js/translated/table_filters.js:34
+#: templates/js/translated/table_filters.js:116
+#: templates/js/translated/table_filters.js:328
+#: templates/js/translated/table_filters.js:454
msgid "Active"
msgstr ""
-#: common/models.py:1961
+#: common/models.py:1973
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:1975
+#: common/models.py:1987
msgid "Token"
msgstr ""
-#: common/models.py:1976
+#: common/models.py:1988
msgid "Token for access"
msgstr ""
-#: common/models.py:1983
+#: common/models.py:1995
msgid "Secret"
msgstr ""
-#: common/models.py:1984
+#: common/models.py:1996
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:2090
+#: common/models.py:2102
msgid "Message ID"
msgstr ""
-#: common/models.py:2091
+#: common/models.py:2103
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:2099
+#: common/models.py:2111
msgid "Host"
msgstr ""
-#: common/models.py:2100
+#: common/models.py:2112
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:2107
+#: common/models.py:2119
msgid "Header"
msgstr ""
-#: common/models.py:2108
+#: common/models.py:2120
msgid "Header of this message"
msgstr ""
-#: common/models.py:2114
+#: common/models.py:2126
msgid "Body"
msgstr ""
-#: common/models.py:2115
+#: common/models.py:2127
msgid "Body of this message"
msgstr ""
-#: common/models.py:2124
+#: common/models.py:2136
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:2129
+#: common/models.py:2141
msgid "Worked on"
msgstr ""
-#: common/models.py:2130
+#: common/models.py:2142
msgid "Was the work on this message finished?"
msgstr ""
+#: common/models.py:2302
+msgid "Id"
+msgstr ""
+
+#: common/models.py:2308 templates/js/translated/news.js:34
+msgid "Title"
+msgstr ""
+
+#: common/models.py:2318 templates/js/translated/news.js:50
+msgid "Published"
+msgstr ""
+
+#: common/models.py:2323 templates/InvenTree/settings/plugin.html:62
+#: templates/InvenTree/settings/plugin_settings.html:33
+#: templates/js/translated/news.js:46
+msgid "Author"
+msgstr ""
+
+#: common/models.py:2328 templates/js/translated/news.js:42
+msgid "Summary"
+msgstr ""
+
+#: common/models.py:2333
+msgid "Read"
+msgstr ""
+
+#: common/models.py:2334
+msgid "Was this news item read?"
+msgstr ""
+
#: common/notifications.py:293
#, python-brace-format
msgid "New {verbose_name}"
@@ -2785,15 +2838,15 @@ msgstr ""
msgid "Error raised by plugin"
msgstr ""
-#: common/views.py:85 order/templates/order/purchase_order_detail.html:23
-#: order/views.py:102 part/views.py:112
+#: common/views.py:85 order/templates/order/purchase_order_detail.html:25
+#: order/views.py:102 part/views.py:107
#: templates/patterns/wizard/upload.html:37
msgid "Upload File"
msgstr ""
#: common/views.py:86 order/views.py:103
#: part/templates/part/import_wizard/ajax_match_fields.html:45
-#: part/views.py:113 templates/patterns/wizard/match_fields.html:51
+#: part/views.py:108 templates/patterns/wizard/match_fields.html:51
msgid "Match Fields"
msgstr ""
@@ -2816,298 +2869,301 @@ msgstr ""
msgid "Previous Step"
msgstr ""
-#: company/models.py:99
+#: company/models.py:103
msgid "Company description"
msgstr ""
-#: company/models.py:100
+#: company/models.py:104
msgid "Description of the company"
msgstr ""
-#: company/models.py:106 company/templates/company/company_base.html:100
+#: company/models.py:110 company/templates/company/company_base.html:100
#: templates/InvenTree/settings/plugin_settings.html:55
-#: templates/js/translated/company.js:448
+#: templates/js/translated/company.js:449
msgid "Website"
msgstr ""
-#: company/models.py:107
+#: company/models.py:111
msgid "Company website URL"
msgstr ""
-#: company/models.py:111 company/templates/company/company_base.html:118
+#: company/models.py:115 company/templates/company/company_base.html:118
msgid "Address"
msgstr ""
-#: company/models.py:112
+#: company/models.py:116
msgid "Company address"
msgstr ""
-#: company/models.py:115
+#: company/models.py:119
msgid "Phone number"
msgstr ""
-#: company/models.py:116
+#: company/models.py:120
msgid "Contact phone number"
msgstr ""
-#: company/models.py:119 company/templates/company/company_base.html:132
+#: company/models.py:123 company/templates/company/company_base.html:132
#: templates/InvenTree/settings/user.html:48
msgid "Email"
msgstr ""
-#: company/models.py:119
+#: company/models.py:123
msgid "Contact email address"
msgstr ""
-#: company/models.py:122 company/templates/company/company_base.html:139
+#: company/models.py:126 company/templates/company/company_base.html:139
msgid "Contact"
msgstr ""
-#: company/models.py:123
+#: company/models.py:127
msgid "Point of contact"
msgstr ""
-#: company/models.py:125
+#: company/models.py:129
msgid "Link to external company information"
msgstr ""
-#: company/models.py:136 part/models.py:829
+#: company/models.py:140 part/models.py:848
msgid "Image"
msgstr ""
-#: company/models.py:139 company/templates/company/detail.html:185
+#: company/models.py:143 company/templates/company/detail.html:185
msgid "Company Notes"
msgstr ""
-#: company/models.py:141
+#: company/models.py:145
msgid "is customer"
msgstr ""
-#: company/models.py:141
+#: company/models.py:145
msgid "Do you sell items to this company?"
msgstr ""
-#: company/models.py:143
+#: company/models.py:147
msgid "is supplier"
msgstr ""
-#: company/models.py:143
+#: company/models.py:147
msgid "Do you purchase items from this company?"
msgstr ""
-#: company/models.py:145
+#: company/models.py:149
msgid "is manufacturer"
msgstr ""
-#: company/models.py:145
+#: company/models.py:149
msgid "Does this company manufacture parts?"
msgstr ""
-#: company/models.py:149 company/serializers.py:378
-#: company/templates/company/company_base.html:106 part/serializers.py:153
-#: part/serializers.py:184 stock/serializers.py:178
+#: company/models.py:153 company/serializers.py:399
+#: company/templates/company/company_base.html:106 part/models.py:2681
+#: part/serializers.py:153 part/serializers.py:181 stock/serializers.py:182
+#: templates/InvenTree/settings/pricing.html:59
msgid "Currency"
msgstr ""
-#: company/models.py:152
+#: company/models.py:156
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:249 company/models.py:483 stock/models.py:600
-#: stock/serializers.py:85 stock/templates/stock/item_base.html:143
-#: templates/js/translated/bom.js:568
+#: company/models.py:253 company/models.py:487 stock/models.py:616
+#: stock/serializers.py:89 stock/templates/stock/item_base.html:143
+#: templates/js/translated/bom.js:581
msgid "Base Part"
msgstr ""
-#: company/models.py:253 company/models.py:487
+#: company/models.py:257 company/models.py:491
msgid "Select part"
msgstr ""
-#: company/models.py:264 company/templates/company/company_base.html:76
+#: company/models.py:268 company/templates/company/company_base.html:76
#: company/templates/company/manufacturer_part.html:90
#: company/templates/company/supplier_part.html:152
#: stock/templates/stock/item_base.html:210
-#: templates/js/translated/company.js:432
-#: templates/js/translated/company.js:533
-#: templates/js/translated/company.js:668
-#: templates/js/translated/company.js:956 templates/js/translated/part.js:236
-#: templates/js/translated/table_filters.js:427
+#: templates/js/translated/company.js:433
+#: templates/js/translated/company.js:534
+#: templates/js/translated/company.js:669
+#: templates/js/translated/company.js:957 templates/js/translated/part.js:232
+#: templates/js/translated/table_filters.js:431
msgid "Manufacturer"
msgstr ""
-#: company/models.py:265 templates/js/translated/part.js:237
+#: company/models.py:269 templates/js/translated/part.js:233
msgid "Select manufacturer"
msgstr ""
-#: company/models.py:271 company/templates/company/manufacturer_part.html:101
+#: company/models.py:275 company/templates/company/manufacturer_part.html:101
#: company/templates/company/supplier_part.html:160
-#: templates/js/translated/company.js:304
-#: templates/js/translated/company.js:532
-#: templates/js/translated/company.js:684
-#: templates/js/translated/company.js:975 templates/js/translated/order.js:2239
-#: templates/js/translated/part.js:247 templates/js/translated/part.js:1025
+#: templates/js/translated/company.js:305
+#: templates/js/translated/company.js:533
+#: templates/js/translated/company.js:685
+#: templates/js/translated/company.js:976 templates/js/translated/order.js:2278
+#: templates/js/translated/part.js:243 templates/js/translated/part.js:1052
msgid "MPN"
msgstr ""
-#: company/models.py:272 templates/js/translated/part.js:248
+#: company/models.py:276 templates/js/translated/part.js:244
msgid "Manufacturer Part Number"
msgstr ""
-#: company/models.py:278
+#: company/models.py:282
msgid "URL for external manufacturer part link"
msgstr ""
-#: company/models.py:284
+#: company/models.py:288
msgid "Manufacturer part description"
msgstr ""
-#: company/models.py:329 company/models.py:353 company/models.py:506
+#: company/models.py:333 company/models.py:357 company/models.py:510
#: company/templates/company/manufacturer_part.html:7
#: company/templates/company/manufacturer_part.html:24
#: stock/templates/stock/item_base.html:220
msgid "Manufacturer Part"
msgstr ""
-#: company/models.py:360
+#: company/models.py:364
msgid "Parameter name"
msgstr ""
-#: company/models.py:366
+#: company/models.py:370
#: report/templates/report/inventree_test_report_base.html:95
-#: stock/models.py:2097 templates/js/translated/company.js:581
-#: templates/js/translated/company.js:799 templates/js/translated/part.js:847
-#: templates/js/translated/stock.js:1360
+#: stock/models.py:2113 templates/js/translated/company.js:582
+#: templates/js/translated/company.js:800 templates/js/translated/part.js:874
+#: templates/js/translated/stock.js:1379
msgid "Value"
msgstr ""
-#: company/models.py:367
+#: company/models.py:371
msgid "Parameter value"
msgstr ""
-#: company/models.py:373 part/models.py:902 part/models.py:2434
-#: part/templates/part/part_base.html:286
+#: company/models.py:377 part/admin.py:26 part/models.py:921
+#: part/models.py:3047 part/templates/part/part_base.html:286
#: templates/InvenTree/settings/settings.html:349
-#: templates/js/translated/company.js:805 templates/js/translated/part.js:853
+#: templates/js/translated/company.js:806 templates/js/translated/part.js:880
msgid "Units"
msgstr ""
-#: company/models.py:374
+#: company/models.py:378
msgid "Parameter units"
msgstr ""
-#: company/models.py:451
+#: company/models.py:455
msgid "Linked manufacturer part must reference the same base part"
msgstr ""
-#: company/models.py:493 company/templates/company/company_base.html:81
-#: company/templates/company/supplier_part.html:136 order/models.py:263
-#: order/templates/order/order_base.html:121 part/bom.py:237 part/bom.py:265
+#: company/models.py:497 company/templates/company/company_base.html:81
+#: company/templates/company/supplier_part.html:136 order/models.py:264
+#: order/templates/order/order_base.html:121 part/bom.py:252 part/bom.py:280
#: stock/templates/stock/item_base.html:227
#: templates/email/overdue_purchase_order.html:16
-#: templates/js/translated/company.js:303
-#: templates/js/translated/company.js:436
-#: templates/js/translated/company.js:929 templates/js/translated/order.js:1975
-#: templates/js/translated/part.js:217 templates/js/translated/part.js:993
-#: templates/js/translated/table_filters.js:431
+#: templates/js/translated/company.js:304
+#: templates/js/translated/company.js:437
+#: templates/js/translated/company.js:930 templates/js/translated/order.js:2009
+#: templates/js/translated/part.js:213 templates/js/translated/part.js:1020
+#: templates/js/translated/pricing.js:231
+#: templates/js/translated/table_filters.js:435
msgid "Supplier"
msgstr ""
-#: company/models.py:494 templates/js/translated/part.js:218
+#: company/models.py:498 templates/js/translated/part.js:214
msgid "Select supplier"
msgstr ""
-#: company/models.py:499 company/templates/company/supplier_part.html:146
-#: part/bom.py:238 part/bom.py:266 templates/js/translated/company.js:302
-#: templates/js/translated/order.js:2226 templates/js/translated/part.js:228
-#: templates/js/translated/part.js:1011
+#: company/models.py:503 company/templates/company/supplier_part.html:146
+#: part/bom.py:253 part/bom.py:281 templates/js/translated/company.js:303
+#: templates/js/translated/order.js:2265 templates/js/translated/part.js:224
+#: templates/js/translated/part.js:1038 templates/js/translated/pricing.js:243
msgid "SKU"
msgstr ""
-#: company/models.py:500 templates/js/translated/part.js:229
+#: company/models.py:504 templates/js/translated/part.js:225
msgid "Supplier stock keeping unit"
msgstr ""
-#: company/models.py:507
+#: company/models.py:511
msgid "Select manufacturer part"
msgstr ""
-#: company/models.py:513
+#: company/models.py:517
msgid "URL for external supplier part link"
msgstr ""
-#: company/models.py:519
+#: company/models.py:523
msgid "Supplier part description"
msgstr ""
-#: company/models.py:524 company/templates/company/supplier_part.html:181
-#: part/models.py:2687 part/templates/part/upload_bom.html:59
+#: company/models.py:528 company/templates/company/supplier_part.html:181
+#: part/admin.py:225 part/models.py:3300 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_po_report.html:92
-#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:403
+#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:397
msgid "Note"
msgstr ""
-#: company/models.py:528 part/models.py:1788
+#: company/models.py:532 part/models.py:1817
msgid "base cost"
msgstr ""
-#: company/models.py:528 part/models.py:1788
+#: company/models.py:532 part/models.py:1817
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
-#: company/models.py:530 company/templates/company/supplier_part.html:167
-#: stock/models.py:626 stock/templates/stock/item_base.html:243
-#: templates/js/translated/company.js:991 templates/js/translated/stock.js:1978
+#: company/models.py:534 company/templates/company/supplier_part.html:167
+#: stock/admin.py:101 stock/models.py:642
+#: stock/templates/stock/item_base.html:243
+#: templates/js/translated/company.js:992 templates/js/translated/stock.js:1996
msgid "Packaging"
msgstr ""
-#: company/models.py:530
+#: company/models.py:534
msgid "Part packaging"
msgstr ""
-#: company/models.py:533 company/serializers.py:242
+#: company/models.py:537 company/serializers.py:242
#: company/templates/company/supplier_part.html:174
-#: templates/js/translated/company.js:996 templates/js/translated/order.js:820
-#: templates/js/translated/order.js:1215 templates/js/translated/order.js:1470
-#: templates/js/translated/order.js:2270 templates/js/translated/order.js:2287
-#: templates/js/translated/part.js:1043 templates/js/translated/part.js:1095
+#: templates/js/translated/company.js:997 templates/js/translated/order.js:826
+#: templates/js/translated/order.js:1249 templates/js/translated/order.js:1504
+#: templates/js/translated/order.js:2309 templates/js/translated/order.js:2326
+#: templates/js/translated/part.js:1070 templates/js/translated/part.js:1122
msgid "Pack Quantity"
msgstr ""
-#: company/models.py:534
+#: company/models.py:538
msgid "Unit quantity supplied in a single pack"
msgstr ""
-#: company/models.py:540 part/models.py:1790
+#: company/models.py:544 part/models.py:1819
msgid "multiple"
msgstr ""
-#: company/models.py:540
+#: company/models.py:544
msgid "Order multiple"
msgstr ""
-#: company/models.py:548 company/templates/company/supplier_part.html:115
+#: company/models.py:552 company/templates/company/supplier_part.html:115
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:18
-#: templates/js/translated/bom.js:963 templates/js/translated/build.js:1873
-#: templates/js/translated/build.js:2754 templates/js/translated/part.js:598
-#: templates/js/translated/part.js:601
-#: templates/js/translated/table_filters.js:194
+#: templates/js/translated/bom.js:1117 templates/js/translated/build.js:1873
+#: templates/js/translated/build.js:2754 templates/js/translated/part.js:612
+#: templates/js/translated/part.js:615
+#: templates/js/translated/table_filters.js:198
msgid "Available"
msgstr ""
-#: company/models.py:549
+#: company/models.py:553
msgid "Quantity available from supplier"
msgstr ""
-#: company/models.py:553
+#: company/models.py:557
msgid "Availability Updated"
msgstr ""
-#: company/models.py:554
+#: company/models.py:558
msgid "Date of last update of availability data"
msgstr ""
-#: company/models.py:682
+#: company/models.py:686
msgid "last updated"
msgstr ""
@@ -3121,7 +3177,7 @@ msgstr ""
#: company/templates/company/company_base.html:8
#: company/templates/company/company_base.html:12
-#: templates/InvenTree/search.html:179 templates/js/translated/company.js:421
+#: templates/InvenTree/search.html:179 templates/js/translated/company.js:422
msgid "Company"
msgstr ""
@@ -3139,7 +3195,7 @@ msgid "Edit company information"
msgstr ""
#: company/templates/company/company_base.html:34
-#: templates/js/translated/company.js:364
+#: templates/js/translated/company.js:365
msgid "Edit Company"
msgstr ""
@@ -3162,14 +3218,14 @@ msgstr ""
msgid "Download image from URL"
msgstr ""
-#: company/templates/company/company_base.html:86 order/models.py:646
-#: order/templates/order/sales_order_base.html:116 stock/models.py:645
-#: stock/models.py:646 stock/serializers.py:813
+#: company/templates/company/company_base.html:86 order/models.py:665
+#: order/templates/order/sales_order_base.html:116 stock/models.py:661
+#: stock/models.py:662 stock/serializers.py:812
#: stock/templates/stock/item_base.html:399
#: templates/email/overdue_sales_order.html:16
-#: templates/js/translated/company.js:428 templates/js/translated/order.js:2808
-#: templates/js/translated/stock.js:2569
-#: templates/js/translated/table_filters.js:435
+#: templates/js/translated/company.js:429 templates/js/translated/order.js:2819
+#: templates/js/translated/stock.js:2587
+#: templates/js/translated/table_filters.js:439
msgid "Customer"
msgstr ""
@@ -3182,12 +3238,12 @@ msgid "Phone"
msgstr ""
#: company/templates/company/company_base.html:208
-#: part/templates/part/part_base.html:499
+#: part/templates/part/part_base.html:514
msgid "Upload Image"
msgstr ""
#: company/templates/company/company_base.html:223
-#: part/templates/part/part_base.html:554
+#: part/templates/part/part_base.html:569
msgid "Download Image"
msgstr ""
@@ -3203,7 +3259,7 @@ msgstr ""
#: company/templates/company/detail.html:19
#: company/templates/company/manufacturer_part.html:123
-#: part/templates/part/detail.html:359
+#: part/templates/part/detail.html:357
msgid "New Supplier Part"
msgstr ""
@@ -3232,7 +3288,7 @@ msgstr ""
msgid "Create new manufacturer part"
msgstr ""
-#: company/templates/company/detail.html:66 part/templates/part/detail.html:389
+#: company/templates/company/detail.html:66 part/templates/part/detail.html:387
msgid "New Manufacturer Part"
msgstr ""
@@ -3246,7 +3302,7 @@ msgstr ""
#: order/templates/order/order_base.html:13
#: order/templates/order/purchase_orders.html:8
#: order/templates/order/purchase_orders.html:12
-#: part/templates/part/detail.html:84 part/templates/part/part_sidebar.html:37
+#: part/templates/part/detail.html:84 part/templates/part/part_sidebar.html:35
#: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200
#: templates/InvenTree/settings/sidebar.html:49
#: templates/js/translated/search.js:293 templates/navbar.html:50
@@ -3269,7 +3325,7 @@ msgstr ""
#: order/templates/order/sales_order_base.html:13
#: order/templates/order/sales_orders.html:8
#: order/templates/order/sales_orders.html:15
-#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:41
+#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:39
#: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220
#: templates/InvenTree/settings/sidebar.html:51
#: templates/js/translated/search.js:317 templates/navbar.html:61
@@ -3297,8 +3353,7 @@ msgid "Supplier List"
msgstr ""
#: company/templates/company/manufacturer_part.html:15 company/views.py:38
-#: part/templates/part/prices.html:172 templates/InvenTree/search.html:181
-#: templates/navbar.html:49
+#: templates/InvenTree/search.html:181 templates/navbar.html:49
msgid "Manufacturers"
msgstr ""
@@ -3309,12 +3364,12 @@ msgid "Order part"
msgstr ""
#: company/templates/company/manufacturer_part.html:39
-#: templates/js/translated/company.js:716
+#: templates/js/translated/company.js:717
msgid "Edit manufacturer part"
msgstr ""
#: company/templates/company/manufacturer_part.html:43
-#: templates/js/translated/company.js:717
+#: templates/js/translated/company.js:718
msgid "Delete manufacturer part"
msgstr ""
@@ -3329,35 +3384,36 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:119
#: company/templates/company/supplier_part.html:15 company/views.py:32
-#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:168
+#: part/admin.py:46 part/templates/part/part_sidebar.html:33
#: templates/InvenTree/search.html:191 templates/navbar.html:48
msgid "Suppliers"
msgstr ""
#: company/templates/company/manufacturer_part.html:136
-#: part/templates/part/detail.html:370
+#: part/templates/part/detail.html:368
msgid "Delete supplier parts"
msgstr ""
#: company/templates/company/manufacturer_part.html:136
#: company/templates/company/manufacturer_part.html:183
-#: part/templates/part/detail.html:371 part/templates/part/detail.html:401
-#: templates/js/translated/forms.js:455 templates/js/translated/helpers.js:36
-#: users/models.py:222
+#: part/templates/part/detail.html:369 part/templates/part/detail.html:399
+#: templates/js/translated/forms.js:455 templates/js/translated/helpers.js:38
+#: templates/js/translated/part.js:340 templates/js/translated/stock.js:184
+#: users/models.py:224
msgid "Delete"
msgstr ""
#: company/templates/company/manufacturer_part.html:166
#: company/templates/company/manufacturer_part_sidebar.html:5
#: part/templates/part/category_sidebar.html:19
-#: part/templates/part/detail.html:186 part/templates/part/part_sidebar.html:8
+#: part/templates/part/detail.html:184 part/templates/part/part_sidebar.html:8
msgid "Parameters"
msgstr ""
#: company/templates/company/manufacturer_part.html:170
-#: part/templates/part/detail.html:191
+#: part/templates/part/detail.html:189
#: templates/InvenTree/settings/category.html:12
-#: templates/InvenTree/settings/part.html:68
+#: templates/InvenTree/settings/part.html:62
msgid "New Parameter"
msgstr ""
@@ -3366,7 +3422,7 @@ msgid "Delete parameters"
msgstr ""
#: company/templates/company/manufacturer_part.html:245
-#: part/templates/part/detail.html:827
+#: part/templates/part/detail.html:825
msgid "Add Parameter"
msgstr ""
@@ -3387,10 +3443,10 @@ msgid "Assigned Stock Items"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:609
+#: company/templates/company/supplier_part.html:24 stock/models.py:625
#: stock/templates/stock/item_base.html:236
-#: templates/js/translated/company.js:945 templates/js/translated/order.js:1135
-#: templates/js/translated/stock.js:1935
+#: templates/js/translated/company.js:946 templates/js/translated/order.js:1169
+#: templates/js/translated/stock.js:1954
msgid "Supplier Part"
msgstr ""
@@ -3441,13 +3497,13 @@ msgstr ""
#: company/templates/company/supplier_part.html:64
#: company/templates/company/supplier_part.html:65
-#: templates/js/translated/company.js:247
+#: templates/js/translated/company.js:248
msgid "Edit Supplier Part"
msgstr ""
#: company/templates/company/supplier_part.html:69
#: company/templates/company/supplier_part.html:70
-#: templates/js/translated/company.js:222
+#: templates/js/translated/company.js:223
msgid "Duplicate Supplier Part"
msgstr ""
@@ -3482,7 +3538,7 @@ msgstr ""
#: company/templates/company/supplier_part.html:204
#: part/templates/part/detail.html:25 stock/templates/stock/location.html:198
-#: templates/js/translated/stock.js:435
+#: templates/js/translated/stock.js:454
msgid "New Stock Item"
msgstr ""
@@ -3492,47 +3548,20 @@ msgid "Supplier Part Orders"
msgstr ""
#: company/templates/company/supplier_part.html:242
-#: part/templates/part/prices.html:10
msgid "Pricing Information"
msgstr ""
#: company/templates/company/supplier_part.html:247
-#: company/templates/company/supplier_part.html:388
-#: part/templates/part/prices.html:276 templates/js/translated/part.js:2297
+#: company/templates/company/supplier_part.html:317
+#: templates/js/translated/pricing.js:413
msgid "Add Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:282
+#: company/templates/company/supplier_part.html:285
msgid "Link Barcode to Supplier Part"
msgstr ""
-#: company/templates/company/supplier_part.html:300
-msgid "No price break information found"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:314
-#: templates/js/translated/part.js:2307
-msgid "Delete Price Break"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:328
-#: templates/js/translated/part.js:2321
-msgid "Edit Price Break"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:353
-msgid "Edit price break"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:354
-msgid "Delete price break"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:363
-msgid "Last updated"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:444
+#: company/templates/company/supplier_part.html:375
msgid "Update Part Availability"
msgstr ""
@@ -3542,9 +3571,9 @@ msgstr ""
#: stock/templates/stock/stock_app_base.html:10
#: templates/InvenTree/search.html:153
#: templates/InvenTree/settings/sidebar.html:45
-#: templates/js/translated/part.js:749 templates/js/translated/part.js:1335
-#: templates/js/translated/part.js:1501 templates/js/translated/stock.js:959
-#: templates/js/translated/stock.js:1760 templates/navbar.html:31
+#: templates/js/translated/part.js:763 templates/js/translated/part.js:1356
+#: templates/js/translated/part.js:1512 templates/js/translated/stock.js:978
+#: templates/js/translated/stock.js:1779 templates/navbar.html:31
msgid "Stock"
msgstr ""
@@ -3558,19 +3587,20 @@ msgid "Supplier Part Pricing"
msgstr ""
#: company/templates/company/supplier_part_navbar.html:29
-#: part/templates/part/part_sidebar.html:31
+#: part/templates/part/part_sidebar.html:30
+#: templates/InvenTree/settings/sidebar.html:35
msgid "Pricing"
msgstr ""
#: company/templates/company/supplier_part_sidebar.html:5
#: part/templates/part/category.html:198
-#: part/templates/part/category_sidebar.html:17
+#: part/templates/part/category_sidebar.html:17 stock/admin.py:31
#: stock/templates/stock/location.html:168
#: stock/templates/stock/location.html:182
#: stock/templates/stock/location.html:194
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:155 templates/js/translated/search.js:225
-#: templates/js/translated/stock.js:2446 users/models.py:40
+#: templates/js/translated/stock.js:2464 users/models.py:40
msgid "Stock Items"
msgstr ""
@@ -3672,438 +3702,439 @@ msgstr ""
msgid "No matching purchase order found"
msgstr ""
-#: order/models.py:82
+#: order/models.py:83
msgid "Order description"
msgstr ""
-#: order/models.py:84 order/models.py:1260
+#: order/models.py:85 order/models.py:1283
msgid "Link to external page"
msgstr ""
-#: order/models.py:92
+#: order/models.py:93
msgid "Created By"
msgstr ""
-#: order/models.py:99
+#: order/models.py:100
msgid "User or group responsible for this order"
msgstr ""
-#: order/models.py:104
+#: order/models.py:105
msgid "Order notes"
msgstr ""
-#: order/models.py:241 order/models.py:633
+#: order/models.py:242 order/models.py:652
msgid "Order reference"
msgstr ""
-#: order/models.py:249 order/models.py:651
+#: order/models.py:250 order/models.py:670
msgid "Purchase order status"
msgstr ""
-#: order/models.py:264
+#: order/models.py:265
msgid "Company from which the items are being ordered"
msgstr ""
-#: order/models.py:267 order/templates/order/order_base.html:133
-#: templates/js/translated/order.js:1984
+#: order/models.py:268 order/templates/order/order_base.html:133
+#: templates/js/translated/order.js:2018
msgid "Supplier Reference"
msgstr ""
-#: order/models.py:267
+#: order/models.py:268
msgid "Supplier order reference code"
msgstr ""
-#: order/models.py:274
+#: order/models.py:275
msgid "received by"
msgstr ""
-#: order/models.py:279
+#: order/models.py:280
msgid "Issue Date"
msgstr ""
-#: order/models.py:280
+#: order/models.py:281
msgid "Date order was issued"
msgstr ""
-#: order/models.py:285
+#: order/models.py:286
msgid "Target Delivery Date"
msgstr ""
-#: order/models.py:286
+#: order/models.py:287
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr ""
-#: order/models.py:292
+#: order/models.py:293
msgid "Date order was completed"
msgstr ""
-#: order/models.py:328
+#: order/models.py:332
msgid "Part supplier must match PO supplier"
msgstr ""
-#: order/models.py:472
+#: order/models.py:491
msgid "Quantity must be a positive number"
msgstr ""
-#: order/models.py:647
+#: order/models.py:666
msgid "Company to which the items are being sold"
msgstr ""
-#: order/models.py:658
+#: order/models.py:677
msgid "Customer Reference "
msgstr ""
-#: order/models.py:658
+#: order/models.py:677
msgid "Customer order reference code"
msgstr ""
-#: order/models.py:663
+#: order/models.py:682
msgid "Target date for order completion. Order will be overdue after this date."
msgstr ""
-#: order/models.py:666 order/models.py:1218
-#: templates/js/translated/order.js:2855 templates/js/translated/order.js:3017
+#: order/models.py:685 order/models.py:1241
+#: templates/js/translated/order.js:2866 templates/js/translated/order.js:3028
msgid "Shipment Date"
msgstr ""
-#: order/models.py:673
+#: order/models.py:692
msgid "shipped by"
msgstr ""
-#: order/models.py:728
+#: order/models.py:747
msgid "Order cannot be completed as no parts have been assigned"
msgstr ""
-#: order/models.py:732
+#: order/models.py:751
msgid "Only a pending order can be marked as complete"
msgstr ""
-#: order/models.py:735 templates/js/translated/order.js:419
+#: order/models.py:754 templates/js/translated/order.js:419
msgid "Order cannot be completed as there are incomplete shipments"
msgstr ""
-#: order/models.py:738
+#: order/models.py:757
msgid "Order cannot be completed as there are incomplete line items"
msgstr ""
-#: order/models.py:912
+#: order/models.py:935
msgid "Item quantity"
msgstr ""
-#: order/models.py:918
+#: order/models.py:941
msgid "Line item reference"
msgstr ""
-#: order/models.py:920
+#: order/models.py:943
msgid "Line item notes"
msgstr ""
-#: order/models.py:925
+#: order/models.py:948
msgid "Target shipping date for this line item"
msgstr ""
-#: order/models.py:943
+#: order/models.py:966
msgid "Context"
msgstr ""
-#: order/models.py:944
+#: order/models.py:967
msgid "Additional context for this line"
msgstr ""
-#: order/models.py:953
+#: order/models.py:976
msgid "Unit price"
msgstr ""
-#: order/models.py:983
+#: order/models.py:1006
msgid "Supplier part must match supplier"
msgstr ""
-#: order/models.py:991
+#: order/models.py:1014
msgid "deleted"
msgstr ""
-#: order/models.py:997 order/models.py:1077 order/models.py:1118
-#: order/models.py:1212 order/models.py:1344
-#: templates/js/translated/order.js:3473
+#: order/models.py:1020 order/models.py:1100 order/models.py:1141
+#: order/models.py:1235 order/models.py:1367
+#: templates/js/translated/order.js:3484
msgid "Order"
msgstr ""
-#: order/models.py:998 order/models.py:1077
+#: order/models.py:1021 order/models.py:1100
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report.html:76
#: stock/templates/stock/item_base.html:182
#: templates/email/overdue_purchase_order.html:15
-#: templates/js/translated/order.js:619 templates/js/translated/order.js:1136
-#: templates/js/translated/order.js:1959 templates/js/translated/part.js:970
-#: templates/js/translated/stock.js:1915 templates/js/translated/stock.js:2550
+#: templates/js/translated/order.js:619 templates/js/translated/order.js:1170
+#: templates/js/translated/order.js:1993 templates/js/translated/part.js:997
+#: templates/js/translated/pricing.js:515 templates/js/translated/stock.js:1934
+#: templates/js/translated/stock.js:2568
msgid "Purchase Order"
msgstr ""
-#: order/models.py:1016
+#: order/models.py:1039
msgid "Supplier part"
msgstr ""
-#: order/models.py:1023 order/templates/order/order_base.html:178
-#: templates/js/translated/order.js:1641 templates/js/translated/order.js:2373
-#: templates/js/translated/part.js:1087 templates/js/translated/part.js:1125
-#: templates/js/translated/table_filters.js:346
+#: order/models.py:1046 order/templates/order/order_base.html:178
+#: templates/js/translated/order.js:1675 templates/js/translated/order.js:2396
+#: templates/js/translated/part.js:1114 templates/js/translated/part.js:1146
+#: templates/js/translated/table_filters.js:350
msgid "Received"
msgstr ""
-#: order/models.py:1024
+#: order/models.py:1047
msgid "Number of items received"
msgstr ""
-#: order/models.py:1031 part/templates/part/prices.html:181 stock/models.py:741
-#: stock/serializers.py:169 stock/templates/stock/item_base.html:189
-#: templates/js/translated/stock.js:1966
+#: order/models.py:1054 stock/models.py:757 stock/serializers.py:173
+#: stock/templates/stock/item_base.html:189
+#: templates/js/translated/stock.js:1985
msgid "Purchase Price"
msgstr ""
-#: order/models.py:1032
+#: order/models.py:1055
msgid "Unit purchase price"
msgstr ""
-#: order/models.py:1040
+#: order/models.py:1063
msgid "Where does the Purchaser want this item to be stored?"
msgstr ""
-#: order/models.py:1106
+#: order/models.py:1129
msgid "Virtual part cannot be assigned to a sales order"
msgstr ""
-#: order/models.py:1111
+#: order/models.py:1134
msgid "Only salable parts can be assigned to a sales order"
msgstr ""
-#: order/models.py:1137 part/templates/part/part_pricing.html:115
-#: part/templates/part/prices.html:121 part/templates/part/prices.html:290
+#: order/models.py:1160 part/templates/part/part_pricing.html:107
+#: part/templates/part/prices.html:139 templates/js/translated/pricing.js:665
msgid "Sale Price"
msgstr ""
-#: order/models.py:1138
+#: order/models.py:1161
msgid "Unit sale price"
msgstr ""
-#: order/models.py:1143
+#: order/models.py:1166
msgid "Shipped quantity"
msgstr ""
-#: order/models.py:1219
+#: order/models.py:1242
msgid "Date of shipment"
msgstr ""
-#: order/models.py:1226
+#: order/models.py:1249
msgid "Checked By"
msgstr ""
-#: order/models.py:1227
+#: order/models.py:1250
msgid "User who checked this shipment"
msgstr ""
-#: order/models.py:1234 order/models.py:1419 order/serializers.py:1228
-#: order/serializers.py:1356 templates/js/translated/model_renderers.js:314
+#: order/models.py:1257 order/models.py:1442 order/serializers.py:1221
+#: order/serializers.py:1349 templates/js/translated/model_renderers.js:314
msgid "Shipment"
msgstr ""
-#: order/models.py:1235
+#: order/models.py:1258
msgid "Shipment number"
msgstr ""
-#: order/models.py:1239
+#: order/models.py:1262
msgid "Shipment notes"
msgstr ""
-#: order/models.py:1245
+#: order/models.py:1268
msgid "Tracking Number"
msgstr ""
-#: order/models.py:1246
+#: order/models.py:1269
msgid "Shipment tracking information"
msgstr ""
-#: order/models.py:1253
+#: order/models.py:1276
msgid "Invoice Number"
msgstr ""
-#: order/models.py:1254
+#: order/models.py:1277
msgid "Reference number for associated invoice"
msgstr ""
-#: order/models.py:1272
+#: order/models.py:1295
msgid "Shipment has already been sent"
msgstr ""
-#: order/models.py:1275
+#: order/models.py:1298
msgid "Shipment has no allocated stock items"
msgstr ""
-#: order/models.py:1378 order/models.py:1380
+#: order/models.py:1401 order/models.py:1403
msgid "Stock item has not been assigned"
msgstr ""
-#: order/models.py:1384
+#: order/models.py:1407
msgid "Cannot allocate stock item to a line with a different part"
msgstr ""
-#: order/models.py:1386
+#: order/models.py:1409
msgid "Cannot allocate stock to a line without a part"
msgstr ""
-#: order/models.py:1389
+#: order/models.py:1412
msgid "Allocation quantity cannot exceed stock quantity"
msgstr ""
-#: order/models.py:1399 order/serializers.py:1090
+#: order/models.py:1422 order/serializers.py:1083
msgid "Quantity must be 1 for serialized stock item"
msgstr ""
-#: order/models.py:1402
+#: order/models.py:1425
msgid "Sales order does not match shipment"
msgstr ""
-#: order/models.py:1403
+#: order/models.py:1426
msgid "Shipment does not match sales order"
msgstr ""
-#: order/models.py:1411
+#: order/models.py:1434
msgid "Line"
msgstr ""
-#: order/models.py:1420
+#: order/models.py:1443
msgid "Sales order shipment reference"
msgstr ""
-#: order/models.py:1433 templates/js/translated/notification.js:55
+#: order/models.py:1456 templates/js/translated/notification.js:55
msgid "Item"
msgstr ""
-#: order/models.py:1434
+#: order/models.py:1457
msgid "Select stock item to allocate"
msgstr ""
-#: order/models.py:1437
+#: order/models.py:1460
msgid "Enter stock allocation quantity"
msgstr ""
-#: order/serializers.py:67
+#: order/serializers.py:63
msgid "Price currency"
msgstr ""
-#: order/serializers.py:199
+#: order/serializers.py:193
msgid "Order cannot be cancelled"
msgstr ""
-#: order/serializers.py:209 order/serializers.py:1108
+#: order/serializers.py:203 order/serializers.py:1101
msgid "Allow order to be closed with incomplete line items"
msgstr ""
-#: order/serializers.py:220 order/serializers.py:1119
+#: order/serializers.py:214 order/serializers.py:1112
msgid "Order has incomplete line items"
msgstr ""
-#: order/serializers.py:311
+#: order/serializers.py:305
msgid "Order is not open"
msgstr ""
-#: order/serializers.py:335
+#: order/serializers.py:327
msgid "Purchase price currency"
msgstr ""
-#: order/serializers.py:354
+#: order/serializers.py:346
msgid "Supplier part must be specified"
msgstr ""
-#: order/serializers.py:359
+#: order/serializers.py:351
msgid "Purchase order must be specified"
msgstr ""
-#: order/serializers.py:365
+#: order/serializers.py:357
msgid "Supplier must match purchase order"
msgstr ""
-#: order/serializers.py:366
+#: order/serializers.py:358
msgid "Purchase order must match supplier"
msgstr ""
-#: order/serializers.py:430 order/serializers.py:1196
+#: order/serializers.py:421 order/serializers.py:1189
msgid "Line Item"
msgstr ""
-#: order/serializers.py:436
+#: order/serializers.py:427
msgid "Line item does not match purchase order"
msgstr ""
-#: order/serializers.py:446 order/serializers.py:557
+#: order/serializers.py:437 order/serializers.py:548
msgid "Select destination location for received items"
msgstr ""
-#: order/serializers.py:465 templates/js/translated/order.js:1497
+#: order/serializers.py:456 templates/js/translated/order.js:1531
msgid "Enter batch code for incoming stock items"
msgstr ""
-#: order/serializers.py:473 templates/js/translated/order.js:1508
+#: order/serializers.py:464 templates/js/translated/order.js:1542
msgid "Enter serial numbers for incoming stock items"
msgstr ""
-#: order/serializers.py:487
+#: order/serializers.py:478
msgid "Unique identifier field"
msgstr ""
-#: order/serializers.py:501
+#: order/serializers.py:492
msgid "Barcode is already in use"
msgstr ""
-#: order/serializers.py:527
+#: order/serializers.py:518
msgid "An integer quantity must be provided for trackable parts"
msgstr ""
-#: order/serializers.py:573
+#: order/serializers.py:564
msgid "Line items must be provided"
msgstr ""
-#: order/serializers.py:590
+#: order/serializers.py:581
msgid "Destination location must be specified"
msgstr ""
-#: order/serializers.py:601
+#: order/serializers.py:592
msgid "Supplied barcode values must be unique"
msgstr ""
-#: order/serializers.py:907
+#: order/serializers.py:900
msgid "Sale price currency"
msgstr ""
-#: order/serializers.py:988
+#: order/serializers.py:981
msgid "No shipment details provided"
msgstr ""
-#: order/serializers.py:1051 order/serializers.py:1205
+#: order/serializers.py:1044 order/serializers.py:1198
msgid "Line item is not associated with this order"
msgstr ""
-#: order/serializers.py:1073
+#: order/serializers.py:1066
msgid "Quantity must be positive"
msgstr ""
-#: order/serializers.py:1218
+#: order/serializers.py:1211
msgid "Enter serial numbers to allocate"
msgstr ""
-#: order/serializers.py:1240 order/serializers.py:1364
+#: order/serializers.py:1233 order/serializers.py:1357
msgid "Shipment has already been shipped"
msgstr ""
-#: order/serializers.py:1243 order/serializers.py:1367
+#: order/serializers.py:1236 order/serializers.py:1360
msgid "Shipment is not associated with this order"
msgstr ""
-#: order/serializers.py:1297
+#: order/serializers.py:1290
msgid "No match found for the following serial numbers"
msgstr ""
-#: order/serializers.py:1307
+#: order/serializers.py:1300
msgid "The following serial numbers are already allocated"
msgstr ""
@@ -4154,7 +4185,8 @@ msgid "Duplicate order"
msgstr ""
#: order/templates/order/order_base.html:61
-msgid "Place order"
+#: order/templates/order/order_base.html:62
+msgid "Submit Order"
msgstr ""
#: order/templates/order/order_base.html:65
@@ -4162,7 +4194,7 @@ msgid "Receive items"
msgstr ""
#: order/templates/order/order_base.html:67
-#: order/templates/order/purchase_order_detail.html:30
+#: order/templates/order/purchase_order_detail.html:32
msgid "Receive Items"
msgstr ""
@@ -4248,9 +4280,9 @@ msgstr ""
#: part/templates/part/import_wizard/match_references.html:49
#: templates/js/translated/bom.js:102 templates/js/translated/build.js:479
#: templates/js/translated/build.js:631 templates/js/translated/build.js:2078
-#: templates/js/translated/order.js:1084 templates/js/translated/order.js:1586
-#: templates/js/translated/order.js:3092 templates/js/translated/stock.js:625
-#: templates/js/translated/stock.js:793
+#: templates/js/translated/order.js:1118 templates/js/translated/order.js:1620
+#: templates/js/translated/order.js:3103 templates/js/translated/stock.js:644
+#: templates/js/translated/stock.js:812
#: templates/patterns/wizard/match_fields.html:70
msgid "Remove row"
msgstr ""
@@ -4278,42 +4310,42 @@ msgstr ""
msgid "Received Stock"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:17
+#: order/templates/order/purchase_order_detail.html:19
msgid "Purchase Order Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:26
-#: order/templates/order/sales_order_detail.html:22
-#: order/templates/order/sales_order_detail.html:255
+#: order/templates/order/purchase_order_detail.html:28
+#: order/templates/order/sales_order_detail.html:24
+#: order/templates/order/sales_order_detail.html:260
#: templates/js/translated/order.js:728
msgid "Add Line Item"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:29
+#: order/templates/order/purchase_order_detail.html:31
msgid "Receive selected items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:48
-#: order/templates/order/sales_order_detail.html:42
+#: order/templates/order/purchase_order_detail.html:50
+#: order/templates/order/sales_order_detail.html:45
msgid "Extra Lines"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:53
-#: order/templates/order/sales_order_detail.html:47
-#: order/templates/order/sales_order_detail.html:280
+#: order/templates/order/purchase_order_detail.html:56
+#: order/templates/order/sales_order_detail.html:51
+#: order/templates/order/sales_order_detail.html:291
msgid "Add Extra Line"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:72
+#: order/templates/order/purchase_order_detail.html:76
msgid "Received Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:97
-#: order/templates/order/sales_order_detail.html:150
+#: order/templates/order/purchase_order_detail.html:101
+#: order/templates/order/sales_order_detail.html:155
msgid "Order Notes"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:232
+#: order/templates/order/purchase_order_detail.html:239
msgid "Add Order Line"
msgstr ""
@@ -4345,12 +4377,12 @@ msgid "This Sales Order has not been fully allocated"
msgstr ""
#: order/templates/order/sales_order_base.html:123
-#: templates/js/translated/order.js:2821
+#: templates/js/translated/order.js:2832
msgid "Customer Reference"
msgstr ""
#: order/templates/order/sales_order_base.html:141
-#: order/templates/order/sales_order_detail.html:104
+#: order/templates/order/sales_order_detail.html:109
#: order/templates/order/so_sidebar.html:11
msgid "Completed Shipments"
msgstr ""
@@ -4359,22 +4391,22 @@ msgstr ""
msgid "Edit Sales Order"
msgstr ""
-#: order/templates/order/sales_order_detail.html:17
+#: order/templates/order/sales_order_detail.html:18
msgid "Sales Order Items"
msgstr ""
-#: order/templates/order/sales_order_detail.html:68
+#: order/templates/order/sales_order_detail.html:73
#: order/templates/order/so_sidebar.html:8
msgid "Pending Shipments"
msgstr ""
-#: order/templates/order/sales_order_detail.html:72
-#: templates/attachment_table.html:6 templates/js/translated/bom.js:1158
+#: order/templates/order/sales_order_detail.html:77
+#: templates/attachment_table.html:6 templates/js/translated/bom.js:1223
#: templates/js/translated/build.js:1979
msgid "Actions"
msgstr ""
-#: order/templates/order/sales_order_detail.html:81
+#: order/templates/order/sales_order_detail.html:86
msgid "New Shipment"
msgstr ""
@@ -4400,617 +4432,844 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/api.py:516
+#: part/admin.py:19 part/admin.py:219 part/models.py:3181 stock/admin.py:84
+#: templates/js/translated/model_renderers.js:212
+msgid "Part ID"
+msgstr ""
+
+#: part/admin.py:20 part/admin.py:221 part/models.py:3185 stock/admin.py:85
+msgid "Part Name"
+msgstr ""
+
+#: part/admin.py:21
+msgid "Part Description"
+msgstr ""
+
+#: part/admin.py:22 part/models.py:822 part/templates/part/part_base.html:272
+#: templates/js/translated/part.js:751 templates/js/translated/part.js:1469
+#: templates/js/translated/stock.js:1745
+msgid "IPN"
+msgstr ""
+
+#: part/admin.py:23 part/models.py:830 part/templates/part/part_base.html:279
+#: report/models.py:171 templates/js/translated/part.js:755
+msgid "Revision"
+msgstr ""
+
+#: part/admin.py:24 part/admin.py:145 part/models.py:808
+#: part/templates/part/category.html:87 part/templates/part/part_base.html:300
+msgid "Keywords"
+msgstr ""
+
+#: part/admin.py:28 part/admin.py:139
+#: templates/js/translated/model_renderers.js:338
+msgid "Category ID"
+msgstr ""
+
+#: part/admin.py:29 part/admin.py:140
+msgid "Category Name"
+msgstr ""
+
+#: part/admin.py:30 part/admin.py:144
+msgid "Default Location ID"
+msgstr ""
+
+#: part/admin.py:31
+msgid "Default Supplier ID"
+msgstr ""
+
+#: part/admin.py:33 part/models.py:914 part/templates/part/part_base.html:206
+msgid "Minimum Stock"
+msgstr ""
+
+#: part/admin.py:47 part/templates/part/part_base.html:200
+#: templates/js/translated/company.js:1028
+#: templates/js/translated/table_filters.js:213
+msgid "In Stock"
+msgstr ""
+
+#: part/admin.py:48 part/bom.py:145 part/templates/part/part_base.html:213
+#: templates/js/translated/bom.js:1155 templates/js/translated/build.js:1925
+#: templates/js/translated/part.js:602 templates/js/translated/part.js:622
+#: templates/js/translated/part.js:1359 templates/js/translated/part.js:1537
+#: templates/js/translated/table_filters.js:68
+msgid "On Order"
+msgstr ""
+
+#: part/admin.py:49 part/templates/part/part_sidebar.html:27
+msgid "Used In"
+msgstr ""
+
+#: part/admin.py:50 templates/js/translated/build.js:1937
+#: templates/js/translated/build.js:2195 templates/js/translated/build.js:2761
+#: templates/js/translated/order.js:3943
+msgid "Allocated"
+msgstr ""
+
+#: part/admin.py:51 part/templates/part/part_base.html:244
+#: templates/js/translated/part.js:605 templates/js/translated/part.js:625
+#: templates/js/translated/part.js:1363 templates/js/translated/part.js:1544
+msgid "Building"
+msgstr ""
+
+#: part/admin.py:52 part/models.py:2765
+msgid "Minimum Cost"
+msgstr ""
+
+#: part/admin.py:53 part/models.py:2771
+msgid "Maximum Cost"
+msgstr ""
+
+#: part/admin.py:142 part/admin.py:216 stock/admin.py:26 stock/admin.py:98
+msgid "Parent ID"
+msgstr ""
+
+#: part/admin.py:143 part/admin.py:218 stock/admin.py:27
+msgid "Parent Name"
+msgstr ""
+
+#: part/admin.py:146 part/templates/part/category.html:81
+#: part/templates/part/category.html:94
+msgid "Category Path"
+msgstr ""
+
+#: part/admin.py:149 part/models.py:363 part/templates/part/cat_link.html:3
+#: part/templates/part/category.html:23 part/templates/part/category.html:134
+#: part/templates/part/category.html:154
+#: part/templates/part/category_sidebar.html:9
+#: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84
+#: templates/InvenTree/settings/sidebar.html:41
+#: templates/js/translated/part.js:2043 templates/js/translated/search.js:146
+#: templates/navbar.html:24 users/models.py:38
+msgid "Parts"
+msgstr ""
+
+#: part/admin.py:211
+msgid "BOM Level"
+msgstr ""
+
+#: part/admin.py:213
+msgid "BOM Item ID"
+msgstr ""
+
+#: part/admin.py:217
+msgid "Parent IPN"
+msgstr ""
+
+#: part/admin.py:220 part/models.py:3189
+msgid "Part IPN"
+msgstr ""
+
+#: part/admin.py:226 templates/js/translated/pricing.js:91
+#: templates/js/translated/pricing.js:727
+msgid "Minimum Price"
+msgstr ""
+
+#: part/admin.py:227 templates/js/translated/pricing.js:86
+#: templates/js/translated/pricing.js:735
+msgid "Maximum Price"
+msgstr ""
+
+#: part/api.py:532
msgid "Incoming Purchase Order"
msgstr ""
-#: part/api.py:536
+#: part/api.py:552
msgid "Outgoing Sales Order"
msgstr ""
-#: part/api.py:554
+#: part/api.py:570
msgid "Stock produced by Build Order"
msgstr ""
-#: part/api.py:640
+#: part/api.py:656
msgid "Stock required for Build Order"
msgstr ""
-#: part/api.py:777
+#: part/api.py:814
msgid "Valid"
msgstr ""
-#: part/api.py:778
+#: part/api.py:815
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/api.py:784
+#: part/api.py:821
msgid "This option must be selected"
msgstr ""
-#: part/api.py:1207
+#: part/api.py:1261
msgid "Must be greater than zero"
msgstr ""
-#: part/api.py:1211
+#: part/api.py:1265
msgid "Must be a valid quantity"
msgstr ""
-#: part/api.py:1226
+#: part/api.py:1280
msgid "Specify location for initial part stock"
msgstr ""
-#: part/api.py:1257 part/api.py:1261 part/api.py:1276 part/api.py:1280
+#: part/api.py:1311 part/api.py:1315 part/api.py:1330 part/api.py:1334
msgid "This field is required"
msgstr ""
-#: part/bom.py:127 part/models.py:98 part/models.py:838
-#: part/templates/part/category.html:109 part/templates/part/part_base.html:345
+#: part/bom.py:142 part/models.py:116 part/models.py:857
+#: part/templates/part/category.html:109 part/templates/part/part_base.html:360
msgid "Default Location"
msgstr ""
-#: part/bom.py:128 templates/email/low_stock_notification.html:17
+#: part/bom.py:143 templates/email/low_stock_notification.html:17
msgid "Total Stock"
msgstr ""
-#: part/bom.py:129 part/templates/part/part_base.html:195
-#: templates/js/translated/order.js:3913
+#: part/bom.py:144 part/templates/part/part_base.html:195
+#: templates/js/translated/order.js:3910
msgid "Available Stock"
msgstr ""
-#: part/bom.py:130 part/templates/part/part_base.html:213
-#: templates/js/translated/bom.js:1001 templates/js/translated/build.js:1925
-#: templates/js/translated/part.js:588 templates/js/translated/part.js:608
-#: templates/js/translated/part.js:1338 templates/js/translated/part.js:1526
-#: templates/js/translated/table_filters.js:68
-msgid "On Order"
-msgstr ""
-
#: part/forms.py:41
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:99
+#: part/models.py:117
msgid "Default location for parts in this category"
msgstr ""
-#: part/models.py:102
+#: part/models.py:120
msgid "Default keywords"
msgstr ""
-#: part/models.py:102
+#: part/models.py:120
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:107 stock/models.py:85
+#: part/models.py:125 stock/models.py:101
msgid "Icon"
msgstr ""
-#: part/models.py:108 stock/models.py:86
+#: part/models.py:126 stock/models.py:102
msgid "Icon (optional)"
msgstr ""
-#: part/models.py:122 part/models.py:2517 part/templates/part/category.html:16
+#: part/models.py:140 part/models.py:3130 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
-#: part/models.py:123 part/templates/part/category.html:129
+#: part/models.py:141 part/templates/part/category.html:129
#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200
#: users/models.py:37
msgid "Part Categories"
msgstr ""
-#: part/models.py:344 part/templates/part/cat_link.html:3
-#: part/templates/part/category.html:23 part/templates/part/category.html:134
-#: part/templates/part/category.html:154
-#: part/templates/part/category_sidebar.html:9
-#: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84
-#: templates/InvenTree/settings/sidebar.html:41
-#: templates/js/translated/part.js:2019 templates/js/translated/search.js:146
-#: templates/navbar.html:24 users/models.py:38
-msgid "Parts"
-msgstr ""
-
-#: part/models.py:429
+#: part/models.py:448
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:499 part/models.py:511
+#: part/models.py:518 part/models.py:530
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:601
+#: part/models.py:620
msgid "Stock item with this serial number already exists"
msgstr ""
-#: part/models.py:732
+#: part/models.py:751
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:759 part/models.py:2573
+#: part/models.py:778 part/models.py:3186
msgid "Part name"
msgstr ""
-#: part/models.py:766
+#: part/models.py:785
msgid "Is Template"
msgstr ""
-#: part/models.py:767
+#: part/models.py:786
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:777
+#: part/models.py:796
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:778
+#: part/models.py:797
msgid "Variant Of"
msgstr ""
-#: part/models.py:784
+#: part/models.py:803
msgid "Part description"
msgstr ""
-#: part/models.py:789 part/templates/part/category.html:87
-#: part/templates/part/part_base.html:300
-msgid "Keywords"
-msgstr ""
-
-#: part/models.py:790
+#: part/models.py:809
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:797 part/models.py:2272 part/models.py:2516
+#: part/models.py:816 part/models.py:2885 part/models.py:3129
#: part/templates/part/part_base.html:263
#: templates/InvenTree/settings/settings.html:229
#: templates/js/translated/notification.js:50
-#: templates/js/translated/part.js:1480 templates/js/translated/part.js:1724
+#: templates/js/translated/part.js:1491 templates/js/translated/part.js:1748
msgid "Category"
msgstr ""
-#: part/models.py:798
+#: part/models.py:817
msgid "Part category"
msgstr ""
-#: part/models.py:803 part/templates/part/part_base.html:272
-#: templates/js/translated/part.js:737 templates/js/translated/part.js:1431
-#: templates/js/translated/stock.js:1726
-msgid "IPN"
-msgstr ""
-
-#: part/models.py:804
+#: part/models.py:823
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:810
+#: part/models.py:829
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:811 part/templates/part/part_base.html:279
-#: report/models.py:171 templates/js/translated/part.js:741
-msgid "Revision"
-msgstr ""
-
-#: part/models.py:836
+#: part/models.py:855
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:881 part/templates/part/part_base.html:354
+#: part/models.py:900 part/templates/part/part_base.html:369
msgid "Default Supplier"
msgstr ""
-#: part/models.py:882
+#: part/models.py:901
msgid "Default supplier part"
msgstr ""
-#: part/models.py:889
+#: part/models.py:908
msgid "Default Expiry"
msgstr ""
-#: part/models.py:890
+#: part/models.py:909
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:895 part/templates/part/part_base.html:206
-msgid "Minimum Stock"
-msgstr ""
-
-#: part/models.py:896
+#: part/models.py:915
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:903
+#: part/models.py:922
msgid "Stock keeping units for this part"
msgstr ""
-#: part/models.py:909
+#: part/models.py:928
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:915
+#: part/models.py:934
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:921
+#: part/models.py:940
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:926
+#: part/models.py:945
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:931
+#: part/models.py:950
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:936
+#: part/models.py:955
msgid "Is this part active?"
msgstr ""
-#: part/models.py:941
+#: part/models.py:960
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:943
+#: part/models.py:962
msgid "Part notes"
msgstr ""
-#: part/models.py:945
+#: part/models.py:964
msgid "BOM checksum"
msgstr ""
-#: part/models.py:945
+#: part/models.py:964
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:948
+#: part/models.py:967
msgid "BOM checked by"
msgstr ""
-#: part/models.py:950
+#: part/models.py:969
msgid "BOM checked date"
msgstr ""
-#: part/models.py:954
+#: part/models.py:973
msgid "Creation User"
msgstr ""
-#: part/models.py:1790
+#: part/models.py:1819
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2319
+#: part/models.py:2682
+msgid "Currency used to cache pricing calculations"
+msgstr ""
+
+#: part/models.py:2687
+msgid "Updated"
+msgstr ""
+
+#: part/models.py:2688
+msgid "Timestamp of last pricing update"
+msgstr ""
+
+#: part/models.py:2705
+msgid "Minimum BOM Cost"
+msgstr ""
+
+#: part/models.py:2706
+msgid "Minimum cost of component parts"
+msgstr ""
+
+#: part/models.py:2711
+msgid "Maximum BOM Cost"
+msgstr ""
+
+#: part/models.py:2712
+msgid "Maximum cost of component parts"
+msgstr ""
+
+#: part/models.py:2717
+msgid "Minimum Purchase Cost"
+msgstr ""
+
+#: part/models.py:2718
+msgid "Minimum historical purchase cost"
+msgstr ""
+
+#: part/models.py:2723
+msgid "Maximum Purchase Cost"
+msgstr ""
+
+#: part/models.py:2724
+msgid "Maximum historical purchase cost"
+msgstr ""
+
+#: part/models.py:2729
+msgid "Minimum Internal Price"
+msgstr ""
+
+#: part/models.py:2730
+msgid "Minimum cost based on internal price breaks"
+msgstr ""
+
+#: part/models.py:2735
+msgid "Maximum Internal Price"
+msgstr ""
+
+#: part/models.py:2736
+msgid "Maximum cost based on internal price breaks"
+msgstr ""
+
+#: part/models.py:2741
+msgid "Minimum Supplier Price"
+msgstr ""
+
+#: part/models.py:2742
+msgid "Minimum price of part from external suppliers"
+msgstr ""
+
+#: part/models.py:2747
+msgid "Maximum Supplier Price"
+msgstr ""
+
+#: part/models.py:2748
+msgid "Maximum price of part from external suppliers"
+msgstr ""
+
+#: part/models.py:2753
+msgid "Minimum Variant Cost"
+msgstr ""
+
+#: part/models.py:2754
+msgid "Calculated minimum cost of variant parts"
+msgstr ""
+
+#: part/models.py:2759
+msgid "Maximum Variant Cost"
+msgstr ""
+
+#: part/models.py:2760
+msgid "Calculated maximum cost of variant parts"
+msgstr ""
+
+#: part/models.py:2766
+msgid "Calculated overall minimum cost"
+msgstr ""
+
+#: part/models.py:2772
+msgid "Calculated overall maximum cost"
+msgstr ""
+
+#: part/models.py:2777
+msgid "Minimum Sale Price"
+msgstr ""
+
+#: part/models.py:2778
+msgid "Minimum sale price based on price breaks"
+msgstr ""
+
+#: part/models.py:2783
+msgid "Maximum Sale Price"
+msgstr ""
+
+#: part/models.py:2784
+msgid "Maximum sale price based on price breaks"
+msgstr ""
+
+#: part/models.py:2789
+msgid "Minimum Sale Cost"
+msgstr ""
+
+#: part/models.py:2790
+msgid "Minimum historical sale price"
+msgstr ""
+
+#: part/models.py:2795
+msgid "Maximum Sale Cost"
+msgstr ""
+
+#: part/models.py:2796
+msgid "Maximum historical sale price"
+msgstr ""
+
+#: part/models.py:2932
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:2336
+#: part/models.py:2949
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2356 templates/js/translated/part.js:2070
-#: templates/js/translated/stock.js:1340
+#: part/models.py:2969 templates/js/translated/part.js:2094
+#: templates/js/translated/stock.js:1359
msgid "Test Name"
msgstr ""
-#: part/models.py:2357
+#: part/models.py:2970
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2362
+#: part/models.py:2975
msgid "Test Description"
msgstr ""
-#: part/models.py:2363
+#: part/models.py:2976
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2368 templates/js/translated/part.js:2079
-#: templates/js/translated/table_filters.js:310
+#: part/models.py:2981 templates/js/translated/part.js:2103
+#: templates/js/translated/table_filters.js:314
msgid "Required"
msgstr ""
-#: part/models.py:2369
+#: part/models.py:2982
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2374 templates/js/translated/part.js:2087
+#: part/models.py:2987 templates/js/translated/part.js:2111
msgid "Requires Value"
msgstr ""
-#: part/models.py:2375
+#: part/models.py:2988
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2380 templates/js/translated/part.js:2094
+#: part/models.py:2993 templates/js/translated/part.js:2118
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2381
+#: part/models.py:2994
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:2422
+#: part/models.py:3035
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:2430
+#: part/models.py:3043
msgid "Parameter Name"
msgstr ""
-#: part/models.py:2434
+#: part/models.py:3047
msgid "Parameter Units"
msgstr ""
-#: part/models.py:2439
+#: part/models.py:3052
msgid "Parameter description"
msgstr ""
-#: part/models.py:2472
+#: part/models.py:3085
msgid "Parent Part"
msgstr ""
-#: part/models.py:2474 part/models.py:2522 part/models.py:2523
+#: part/models.py:3087 part/models.py:3135 part/models.py:3136
#: templates/InvenTree/settings/settings.html:224
msgid "Parameter Template"
msgstr ""
-#: part/models.py:2476
+#: part/models.py:3089
msgid "Data"
msgstr ""
-#: part/models.py:2476
+#: part/models.py:3089
msgid "Parameter Value"
msgstr ""
-#: part/models.py:2527 templates/InvenTree/settings/settings.html:233
+#: part/models.py:3140 templates/InvenTree/settings/settings.html:233
msgid "Default Value"
msgstr ""
-#: part/models.py:2528
+#: part/models.py:3141
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:2565
+#: part/models.py:3178
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:2568 templates/js/translated/model_renderers.js:212
-msgid "Part ID"
-msgstr ""
-
-#: part/models.py:2569
+#: part/models.py:3182
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:2572
-msgid "Part Name"
-msgstr ""
-
-#: part/models.py:2576
-msgid "Part IPN"
-msgstr ""
-
-#: part/models.py:2577
+#: part/models.py:3190
msgid "Part IPN value"
msgstr ""
-#: part/models.py:2580
+#: part/models.py:3193
msgid "Level"
msgstr ""
-#: part/models.py:2581
+#: part/models.py:3194
msgid "BOM level"
msgstr ""
-#: part/models.py:2650
+#: part/models.py:3263
msgid "Select parent part"
msgstr ""
-#: part/models.py:2658
+#: part/models.py:3271
msgid "Sub part"
msgstr ""
-#: part/models.py:2659
+#: part/models.py:3272
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:2665
+#: part/models.py:3278
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:2669 part/templates/part/upload_bom.html:58
-#: templates/js/translated/bom.js:924 templates/js/translated/bom.js:1024
+#: part/models.py:3282 part/templates/part/upload_bom.html:58
+#: templates/js/translated/bom.js:933 templates/js/translated/bom.js:986
#: templates/js/translated/build.js:1858
#: templates/js/translated/table_filters.js:84
-#: templates/js/translated/table_filters.js:108
+#: templates/js/translated/table_filters.js:112
msgid "Optional"
msgstr ""
-#: part/models.py:2670
+#: part/models.py:3283
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:2675 templates/js/translated/bom.js:920
-#: templates/js/translated/bom.js:1033 templates/js/translated/build.js:1849
+#: part/models.py:3288 templates/js/translated/bom.js:929
+#: templates/js/translated/bom.js:995 templates/js/translated/build.js:1849
#: templates/js/translated/table_filters.js:88
msgid "Consumable"
msgstr ""
-#: part/models.py:2676
+#: part/models.py:3289
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:2680 part/templates/part/upload_bom.html:55
+#: part/models.py:3293 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:2681
+#: part/models.py:3294
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:2684
+#: part/models.py:3297
msgid "BOM item reference"
msgstr ""
-#: part/models.py:2687
+#: part/models.py:3300
msgid "BOM item notes"
msgstr ""
-#: part/models.py:2689
+#: part/models.py:3302
msgid "Checksum"
msgstr ""
-#: part/models.py:2689
+#: part/models.py:3302
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:2693 part/templates/part/upload_bom.html:57
-#: templates/js/translated/bom.js:1050
+#: part/models.py:3306 part/templates/part/upload_bom.html:57
+#: templates/js/translated/bom.js:1012
#: templates/js/translated/table_filters.js:76
-#: templates/js/translated/table_filters.js:104
+#: templates/js/translated/table_filters.js:108
msgid "Inherited"
msgstr ""
-#: part/models.py:2694
+#: part/models.py:3307
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:2699 part/templates/part/upload_bom.html:56
-#: templates/js/translated/bom.js:1042
+#: part/models.py:3312 part/templates/part/upload_bom.html:56
+#: templates/js/translated/bom.js:1004
msgid "Allow Variants"
msgstr ""
-#: part/models.py:2700
+#: part/models.py:3313
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:2786 stock/models.py:502
+#: part/models.py:3399 stock/models.py:518
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:2795 part/models.py:2797
+#: part/models.py:3408 part/models.py:3410
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:2902
+#: part/models.py:3537
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:2923
+#: part/models.py:3558
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:2936
+#: part/models.py:3571
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:2944
+#: part/models.py:3579
msgid "Substitute part"
msgstr ""
-#: part/models.py:2959
+#: part/models.py:3594
msgid "Part 1"
msgstr ""
-#: part/models.py:2963
+#: part/models.py:3598
msgid "Part 2"
msgstr ""
-#: part/models.py:2963
+#: part/models.py:3598
msgid "Select Related Part"
msgstr ""
-#: part/models.py:2981
+#: part/models.py:3616
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:2985
+#: part/models.py:3620
msgid "Duplicate relationship already exists"
msgstr ""
-#: part/serializers.py:154 part/serializers.py:185 stock/serializers.py:179
+#: part/serializers.py:154 part/serializers.py:182 stock/serializers.py:183
msgid "Purchase currency of this stock item"
msgstr ""
-#: part/serializers.py:829
+#: part/serializers.py:542
+msgid "Update"
+msgstr ""
+
+#: part/serializers.py:543
+msgid "Update pricing for this part"
+msgstr ""
+
+#: part/serializers.py:853
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:837
+#: part/serializers.py:861
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:838
+#: part/serializers.py:862
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:843
+#: part/serializers.py:867
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:844
+#: part/serializers.py:868
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:849
+#: part/serializers.py:873
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:850
+#: part/serializers.py:874
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:855
+#: part/serializers.py:879
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:856
+#: part/serializers.py:880
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/serializers.py:896
+#: part/serializers.py:920
msgid "Clear Existing BOM"
msgstr ""
-#: part/serializers.py:897
+#: part/serializers.py:921
msgid "Delete existing BOM items before uploading"
msgstr ""
-#: part/serializers.py:927
+#: part/serializers.py:951
msgid "No part column specified"
msgstr ""
-#: part/serializers.py:970
+#: part/serializers.py:994
msgid "Multiple matching parts found"
msgstr ""
-#: part/serializers.py:973
+#: part/serializers.py:997
msgid "No matching part found"
msgstr ""
-#: part/serializers.py:976
+#: part/serializers.py:1000
msgid "Part is not designated as a component"
msgstr ""
-#: part/serializers.py:985
+#: part/serializers.py:1009
msgid "Quantity not provided"
msgstr ""
-#: part/serializers.py:993
+#: part/serializers.py:1017
msgid "Invalid quantity"
msgstr ""
-#: part/serializers.py:1014
+#: part/serializers.py:1038
msgid "At least one BOM item is required"
msgstr ""
-#: part/tasks.py:21
+#: part/tasks.py:25
msgid "Low stock notification"
msgstr ""
-#: part/tasks.py:22
+#: part/tasks.py:26
#, python-brace-format
msgid "The available stock for {part.name} has fallen below the configured minimum level"
msgstr ""
@@ -5034,7 +5293,7 @@ msgstr ""
msgid "The BOM for %(part)s has not been validated."
msgstr ""
-#: part/templates/part/bom.html:30 part/templates/part/detail.html:269
+#: part/templates/part/bom.html:30 part/templates/part/detail.html:267
msgid "BOM actions"
msgstr ""
@@ -5070,10 +5329,6 @@ msgstr ""
msgid "Delete Category"
msgstr ""
-#: part/templates/part/category.html:81 part/templates/part/category.html:94
-msgid "Category Path"
-msgstr ""
-
#: part/templates/part/category.html:95
msgid "Top level part category"
msgstr ""
@@ -5091,12 +5346,12 @@ msgstr ""
msgid "Create new part"
msgstr ""
-#: part/templates/part/category.html:159 templates/js/translated/bom.js:392
+#: part/templates/part/category.html:159 templates/js/translated/bom.js:405
msgid "New Part"
msgstr ""
-#: part/templates/part/category.html:169 part/templates/part/detail.html:368
-#: part/templates/part/detail.html:399
+#: part/templates/part/category.html:169 part/templates/part/detail.html:366
+#: part/templates/part/detail.html:397
msgid "Options"
msgstr ""
@@ -5144,7 +5399,7 @@ msgstr ""
msgid "Import Parts"
msgstr ""
-#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:379
+#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:393
msgid "Duplicate Part"
msgstr ""
@@ -5176,7 +5431,8 @@ msgstr ""
msgid "Refresh scheduling data"
msgstr ""
-#: part/templates/part/detail.html:45 templates/js/translated/tables.js:524
+#: part/templates/part/detail.html:45 part/templates/part/prices.html:15
+#: templates/js/translated/tables.js:524
msgid "Refresh"
msgstr ""
@@ -5192,123 +5448,103 @@ msgstr ""
msgid "Sales Order Allocations"
msgstr ""
-#: part/templates/part/detail.html:143
+#: part/templates/part/detail.html:141
msgid "Part Notes"
msgstr ""
-#: part/templates/part/detail.html:158
+#: part/templates/part/detail.html:156
msgid "Part Variants"
msgstr ""
-#: part/templates/part/detail.html:162
+#: part/templates/part/detail.html:160
msgid "Create new variant"
msgstr ""
-#: part/templates/part/detail.html:163
+#: part/templates/part/detail.html:161
msgid "New Variant"
msgstr ""
-#: part/templates/part/detail.html:190
+#: part/templates/part/detail.html:188
msgid "Add new parameter"
msgstr ""
-#: part/templates/part/detail.html:227 part/templates/part/part_sidebar.html:54
+#: part/templates/part/detail.html:225 part/templates/part/part_sidebar.html:52
msgid "Related Parts"
msgstr ""
-#: part/templates/part/detail.html:231 part/templates/part/detail.html:232
+#: part/templates/part/detail.html:229 part/templates/part/detail.html:230
msgid "Add Related"
msgstr ""
-#: part/templates/part/detail.html:252 part/templates/part/part_sidebar.html:17
+#: part/templates/part/detail.html:250 part/templates/part/part_sidebar.html:17
msgid "Bill of Materials"
msgstr ""
-#: part/templates/part/detail.html:257
+#: part/templates/part/detail.html:255
msgid "Export actions"
msgstr ""
-#: part/templates/part/detail.html:261 templates/js/translated/bom.js:309
+#: part/templates/part/detail.html:259 templates/js/translated/bom.js:309
msgid "Export BOM"
msgstr ""
-#: part/templates/part/detail.html:263
+#: part/templates/part/detail.html:261
msgid "Print BOM Report"
msgstr ""
-#: part/templates/part/detail.html:273
+#: part/templates/part/detail.html:271
msgid "Upload BOM"
msgstr ""
-#: part/templates/part/detail.html:274 templates/js/translated/part.js:274
+#: part/templates/part/detail.html:272 templates/js/translated/part.js:270
msgid "Copy BOM"
msgstr ""
-#: part/templates/part/detail.html:275
+#: part/templates/part/detail.html:273
msgid "Validate BOM"
msgstr ""
-#: part/templates/part/detail.html:280 part/templates/part/detail.html:281
-#: templates/js/translated/bom.js:1202 templates/js/translated/bom.js:1203
+#: part/templates/part/detail.html:278 part/templates/part/detail.html:279
+#: templates/js/translated/bom.js:1267 templates/js/translated/bom.js:1268
msgid "Add BOM Item"
msgstr ""
-#: part/templates/part/detail.html:294
+#: part/templates/part/detail.html:292
msgid "Assemblies"
msgstr ""
-#: part/templates/part/detail.html:312
+#: part/templates/part/detail.html:310
msgid "Part Builds"
msgstr ""
-#: part/templates/part/detail.html:339 stock/templates/stock/item.html:38
+#: part/templates/part/detail.html:337 stock/templates/stock/item.html:38
msgid "Build Order Allocations"
msgstr ""
-#: part/templates/part/detail.html:355
+#: part/templates/part/detail.html:353
msgid "Part Suppliers"
msgstr ""
-#: part/templates/part/detail.html:385
+#: part/templates/part/detail.html:383
msgid "Part Manufacturers"
msgstr ""
-#: part/templates/part/detail.html:401
+#: part/templates/part/detail.html:399
msgid "Delete manufacturer parts"
msgstr ""
-#: part/templates/part/detail.html:658
+#: part/templates/part/detail.html:656
msgid "Related Part"
msgstr ""
-#: part/templates/part/detail.html:666
+#: part/templates/part/detail.html:664
msgid "Add Related Part"
msgstr ""
-#: part/templates/part/detail.html:758
+#: part/templates/part/detail.html:756
msgid "Add Test Result Template"
msgstr ""
-#: part/templates/part/detail.html:901
-#, python-format
-msgid "Purchase Unit Price - %(currency)s"
-msgstr ""
-
-#: part/templates/part/detail.html:913
-#, python-format
-msgid "Unit Price-Cost Difference - %(currency)s"
-msgstr ""
-
-#: part/templates/part/detail.html:925
-#, python-format
-msgid "Supplier Unit Cost - %(currency)s"
-msgstr ""
-
-#: part/templates/part/detail.html:1014
-#, python-format
-msgid "Unit Price - %(currency)s"
-msgstr ""
-
#: part/templates/part/import_wizard/ajax_match_fields.html:9
#: templates/patterns/wizard/match_fields.html:8
msgid "Missing selections for the following required columns"
@@ -5439,15 +5675,15 @@ msgid "Part is virtual (not a physical part)"
msgstr ""
#: part/templates/part/part_base.html:148
-#: templates/js/translated/company.js:659
-#: templates/js/translated/company.js:920
+#: templates/js/translated/company.js:660
+#: templates/js/translated/company.js:921
#: templates/js/translated/model_renderers.js:204
-#: templates/js/translated/part.js:652 templates/js/translated/part.js:729
+#: templates/js/translated/part.js:666 templates/js/translated/part.js:743
msgid "Inactive"
msgstr ""
#: part/templates/part/part_base.html:165
-#: part/templates/part/part_base.html:620
+#: part/templates/part/part_base.html:635
msgid "Show Part Details"
msgstr ""
@@ -5456,12 +5692,6 @@ msgstr ""
msgid "This part is a variant of %(link)s"
msgstr ""
-#: part/templates/part/part_base.html:200
-#: templates/js/translated/company.js:1027
-#: templates/js/translated/table_filters.js:209
-msgid "In Stock"
-msgstr ""
-
#: part/templates/part/part_base.html:221
#: stock/templates/stock/item_base.html:382
msgid "Allocated to Build Orders"
@@ -5472,100 +5702,91 @@ msgstr ""
msgid "Allocated to Sales Orders"
msgstr ""
-#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1100
+#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1165
msgid "Can Build"
msgstr ""
-#: part/templates/part/part_base.html:244 templates/js/translated/part.js:591
-#: templates/js/translated/part.js:611 templates/js/translated/part.js:1342
-#: templates/js/translated/part.js:1533
-msgid "Building"
-msgstr ""
-
#: part/templates/part/part_base.html:293
msgid "Minimum stock level"
msgstr ""
-#: part/templates/part/part_base.html:330
+#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1032
+#: templates/js/translated/part.js:783 templates/js/translated/part.js:1582
+#: templates/js/translated/pricing.js:124
+#: templates/js/translated/pricing.js:757
+msgid "Price Range"
+msgstr ""
+
+#: part/templates/part/part_base.html:345
msgid "Latest Serial Number"
msgstr ""
-#: part/templates/part/part_base.html:334
+#: part/templates/part/part_base.html:349
#: stock/templates/stock/item_base.html:331
msgid "Search for serial number"
msgstr ""
-#: part/templates/part/part_base.html:431
+#: part/templates/part/part_base.html:446
msgid "Link Barcode to Part"
msgstr ""
-#: part/templates/part/part_base.html:477 part/templates/part/prices.html:149
+#: part/templates/part/part_base.html:492
msgid "Calculate"
msgstr ""
-#: part/templates/part/part_base.html:520
+#: part/templates/part/part_base.html:535
msgid "No matching images found"
msgstr ""
-#: part/templates/part/part_base.html:614
+#: part/templates/part/part_base.html:629
msgid "Hide Part Details"
msgstr ""
-#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:24
+#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:78
+#: part/templates/part/prices.html:238 templates/js/translated/pricing.js:218
msgid "Supplier Pricing"
msgstr ""
#: part/templates/part/part_pricing.html:26
#: part/templates/part/part_pricing.html:52
-#: part/templates/part/part_pricing.html:103
-#: part/templates/part/part_pricing.html:118 part/templates/part/prices.html:28
-#: part/templates/part/prices.html:55 part/templates/part/prices.html:108
-#: part/templates/part/prices.html:125
+#: part/templates/part/part_pricing.html:95
+#: part/templates/part/part_pricing.html:110
msgid "Unit Cost"
msgstr ""
#: part/templates/part/part_pricing.html:32
#: part/templates/part/part_pricing.html:58
-#: part/templates/part/part_pricing.html:107
-#: part/templates/part/part_pricing.html:122 part/templates/part/prices.html:35
-#: part/templates/part/prices.html:62 part/templates/part/prices.html:113
-#: part/templates/part/prices.html:130
+#: part/templates/part/part_pricing.html:99
+#: part/templates/part/part_pricing.html:114
msgid "Total Cost"
msgstr ""
-#: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:43
-#: templates/js/translated/bom.js:1091
+#: part/templates/part/part_pricing.html:40
msgid "No supplier pricing available"
msgstr ""
-#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:52
-#: part/templates/part/prices.html:248
+#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:94
+#: part/templates/part/prices.html:262
msgid "BOM Pricing"
msgstr ""
-#: part/templates/part/part_pricing.html:66 part/templates/part/prices.html:72
+#: part/templates/part/part_pricing.html:66
msgid "Unit Purchase Price"
msgstr ""
-#: part/templates/part/part_pricing.html:72 part/templates/part/prices.html:79
+#: part/templates/part/part_pricing.html:72
msgid "Total Purchase Price"
msgstr ""
-#: part/templates/part/part_pricing.html:82 part/templates/part/prices.html:89
-msgid "Note: BOM pricing is incomplete for this part"
-msgstr ""
-
-#: part/templates/part/part_pricing.html:91 part/templates/part/prices.html:98
+#: part/templates/part/part_pricing.html:83
msgid "No BOM pricing available"
msgstr ""
-#: part/templates/part/part_pricing.html:100
-#: part/templates/part/prices.html:107
+#: part/templates/part/part_pricing.html:92
msgid "Internal Price"
msgstr ""
-#: part/templates/part/part_pricing.html:131
-#: part/templates/part/prices.html:139
+#: part/templates/part/part_pricing.html:123
msgid "No pricing information is available for this part."
msgstr ""
@@ -5573,7 +5794,8 @@ msgstr ""
#: report/templates/report/inventree_test_report_base.html:97
#: templates/InvenTree/settings/plugin.html:63
#: templates/InvenTree/settings/plugin_settings.html:38
-#: templates/js/translated/order.js:2001 templates/js/translated/stock.js:2478
+#: templates/js/translated/order.js:2035 templates/js/translated/pricing.js:537
+#: templates/js/translated/pricing.js:658 templates/js/translated/stock.js:2496
msgid "Date"
msgstr ""
@@ -5585,15 +5807,11 @@ msgstr ""
msgid "Variants"
msgstr ""
-#: part/templates/part/part_sidebar.html:27
-msgid "Used In"
-msgstr ""
-
-#: part/templates/part/part_sidebar.html:46
+#: part/templates/part/part_sidebar.html:44
msgid "Scheduling"
msgstr ""
-#: part/templates/part/part_sidebar.html:50
+#: part/templates/part/part_sidebar.html:48
msgid "Test Templates"
msgstr ""
@@ -5601,74 +5819,82 @@ msgstr ""
msgid "Select from existing images"
msgstr ""
-#: part/templates/part/prices.html:19
-msgid "Pricing ranges"
+#: part/templates/part/prices.html:11
+msgid "Pricing Overview"
msgstr ""
-#: part/templates/part/prices.html:25
-msgid "Show supplier cost"
+#: part/templates/part/prices.html:14
+msgid "Refresh Part Pricing"
msgstr ""
-#: part/templates/part/prices.html:26
-msgid "Show purchase price"
+#: part/templates/part/prices.html:25 stock/admin.py:106
+#: stock/templates/stock/item_base.html:440
+#: templates/js/translated/company.js:1039
+#: templates/js/translated/stock.js:1920
+msgid "Last Updated"
msgstr ""
-#: part/templates/part/prices.html:53
-msgid "Show BOM cost"
+#: part/templates/part/prices.html:34 part/templates/part/prices.html:126
+msgid "Price Category"
msgstr ""
-#: part/templates/part/prices.html:122
-msgid "Show sale cost"
+#: part/templates/part/prices.html:35 part/templates/part/prices.html:127
+msgid "Minimum"
msgstr ""
-#: part/templates/part/prices.html:123
-msgid "Show sale price"
+#: part/templates/part/prices.html:36 part/templates/part/prices.html:128
+msgid "Maximum"
msgstr ""
-#: part/templates/part/prices.html:145
-msgid "Calculation parameters"
+#: part/templates/part/prices.html:49 part/templates/part/prices.html:185
+msgid "Internal Pricing"
msgstr ""
-#: part/templates/part/prices.html:160 templates/js/translated/bom.js:1085
-msgid "Supplier Cost"
+#: part/templates/part/prices.html:64 part/templates/part/prices.html:217
+msgid "Purchase History"
msgstr ""
-#: part/templates/part/prices.html:161 part/templates/part/prices.html:182
-#: part/templates/part/prices.html:206 part/templates/part/prices.html:236
-#: part/templates/part/prices.html:262 part/templates/part/prices.html:291
+#: part/templates/part/prices.html:103 part/templates/part/prices.html:286
+msgid "Variant Pricing"
+msgstr ""
+
+#: part/templates/part/prices.html:111
+msgid "Overall Pricing"
+msgstr ""
+
+#: part/templates/part/prices.html:155 part/templates/part/prices.html:338
+msgid "Sale History"
+msgstr ""
+
+#: part/templates/part/prices.html:168
+msgid "Sale price data is not available for this part"
+msgstr ""
+
+#: part/templates/part/prices.html:175
+msgid "Price range data is not available for this part."
+msgstr ""
+
+#: part/templates/part/prices.html:186 part/templates/part/prices.html:218
+#: part/templates/part/prices.html:239 part/templates/part/prices.html:263
+#: part/templates/part/prices.html:287 part/templates/part/prices.html:310
+#: part/templates/part/prices.html:339
msgid "Jump to overview"
msgstr ""
-#: part/templates/part/prices.html:186
-msgid "Stock Pricing"
-msgstr ""
-
-#: part/templates/part/prices.html:195
-msgid "No stock pricing history is available for this part."
-msgstr ""
-
-#: part/templates/part/prices.html:205
-msgid "Internal Cost"
-msgstr ""
-
-#: part/templates/part/prices.html:220
+#: part/templates/part/prices.html:191
msgid "Add Internal Price Break"
msgstr ""
-#: part/templates/part/prices.html:235
-msgid "BOM Cost"
+#: part/templates/part/prices.html:309
+msgid "Sale Pricing"
msgstr ""
-#: part/templates/part/prices.html:261
-msgid "Sale Cost"
+#: part/templates/part/prices.html:315
+msgid "Add Sell Price Break"
msgstr ""
-#: part/templates/part/prices.html:302
-msgid "No sale pice history available for this part."
-msgstr ""
-
-#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:614
-#: templates/js/translated/part.js:1330 templates/js/translated/part.js:1332
+#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:628
+#: templates/js/translated/part.js:1351 templates/js/translated/part.js:1353
msgid "No Stock"
msgstr ""
@@ -5722,40 +5948,36 @@ msgstr ""
msgid "Create a new variant of template '%(full_name)s'."
msgstr ""
-#: part/templatetags/inventree_extras.py:177
+#: part/templatetags/inventree_extras.py:210
msgid "Unknown database"
msgstr ""
-#: part/templatetags/inventree_extras.py:229
+#: part/templatetags/inventree_extras.py:262
#, python-brace-format
msgid "{title} v{version}"
msgstr ""
-#: part/views.py:114
+#: part/views.py:109
msgid "Match References"
msgstr ""
-#: part/views.py:415
-msgid "None"
-msgstr ""
-
-#: part/views.py:477
+#: part/views.py:354
msgid "Part QR Code"
msgstr ""
-#: part/views.py:495
+#: part/views.py:372
msgid "Select Part Image"
msgstr ""
-#: part/views.py:521
+#: part/views.py:398
msgid "Updated part image"
msgstr ""
-#: part/views.py:524
+#: part/views.py:401
msgid "Part image not found"
msgstr ""
-#: part/views.py:613
+#: part/views.py:493
msgid "Part Pricing"
msgstr ""
@@ -6070,12 +6292,12 @@ msgid "Stock Item Test Report"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:79
-#: stock/models.py:650 stock/templates/stock/item_base.html:320
+#: stock/models.py:666 stock/templates/stock/item_base.html:320
#: templates/js/translated/build.js:472 templates/js/translated/build.js:624
#: templates/js/translated/build.js:1234 templates/js/translated/build.js:1735
#: templates/js/translated/model_renderers.js:118
-#: templates/js/translated/order.js:121 templates/js/translated/order.js:3592
-#: templates/js/translated/order.js:3679 templates/js/translated/stock.js:490
+#: templates/js/translated/order.js:121 templates/js/translated/order.js:3603
+#: templates/js/translated/order.js:3690 templates/js/translated/stock.js:509
msgid "Serial Number"
msgstr ""
@@ -6084,12 +6306,12 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:93
-#: stock/models.py:2085
+#: stock/models.py:2101
msgid "Test"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:94
-#: stock/models.py:2091
+#: stock/models.py:2107
msgid "Result"
msgstr ""
@@ -6107,383 +6329,435 @@ msgid "Installed Items"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:137
-#: templates/js/translated/stock.js:610 templates/js/translated/stock.js:780
-#: templates/js/translated/stock.js:2727
+#: stock/admin.py:87 templates/js/translated/stock.js:629
+#: templates/js/translated/stock.js:799 templates/js/translated/stock.js:2745
msgid "Serial"
msgstr ""
-#: stock/api.py:529
+#: stock/admin.py:23 stock/admin.py:90
+#: templates/js/translated/model_renderers.js:159
+msgid "Location ID"
+msgstr ""
+
+#: stock/admin.py:24 stock/admin.py:91
+msgid "Location Name"
+msgstr ""
+
+#: stock/admin.py:28 stock/templates/stock/location.html:123
+#: stock/templates/stock/location.html:129
+msgid "Location Path"
+msgstr ""
+
+#: stock/admin.py:83
+msgid "Stock Item ID"
+msgstr ""
+
+#: stock/admin.py:92 templates/js/translated/model_renderers.js:418
+msgid "Supplier Part ID"
+msgstr ""
+
+#: stock/admin.py:93
+msgid "Supplier ID"
+msgstr ""
+
+#: stock/admin.py:94
+msgid "Supplier Name"
+msgstr ""
+
+#: stock/admin.py:95
+msgid "Customer ID"
+msgstr ""
+
+#: stock/admin.py:96 stock/models.py:649
+#: stock/templates/stock/item_base.html:359
+msgid "Installed In"
+msgstr ""
+
+#: stock/admin.py:97 templates/js/translated/model_renderers.js:177
+msgid "Build ID"
+msgstr ""
+
+#: stock/admin.py:99
+msgid "Sales Order ID"
+msgstr ""
+
+#: stock/admin.py:100
+msgid "Purchase Order ID"
+msgstr ""
+
+#: stock/admin.py:107 templates/js/translated/stock.js:1890
+msgid "Stocktake"
+msgstr ""
+
+#: stock/admin.py:108 stock/models.py:724
+#: stock/templates/stock/item_base.html:427
+#: templates/js/translated/stock.js:1904
+msgid "Expiry Date"
+msgstr ""
+
+#: stock/api.py:539
msgid "Quantity is required"
msgstr ""
-#: stock/api.py:536
+#: stock/api.py:546
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:561
+#: stock/api.py:571
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/models.py:90 stock/models.py:746
+#: stock/models.py:106 stock/models.py:762
#: stock/templates/stock/item_base.html:250
msgid "Owner"
msgstr ""
-#: stock/models.py:91 stock/models.py:747
+#: stock/models.py:107 stock/models.py:763
msgid "Select Owner"
msgstr ""
-#: stock/models.py:508 stock/serializers.py:93
+#: stock/models.py:524 stock/serializers.py:97
msgid "Stock item cannot be created for virtual parts"
msgstr ""
-#: stock/models.py:525
+#: stock/models.py:541
#, python-brace-format
msgid "Part type ('{pf}') must be {pe}"
msgstr ""
-#: stock/models.py:535 stock/models.py:544
+#: stock/models.py:551 stock/models.py:560
msgid "Quantity must be 1 for item with a serial number"
msgstr ""
-#: stock/models.py:536
+#: stock/models.py:552
msgid "Serial number cannot be set if quantity greater than 1"
msgstr ""
-#: stock/models.py:558
+#: stock/models.py:574
msgid "Item cannot belong to itself"
msgstr ""
-#: stock/models.py:564
+#: stock/models.py:580
msgid "Item must have a build reference if is_building=True"
msgstr ""
-#: stock/models.py:578
+#: stock/models.py:594
msgid "Build reference does not point to the same part object"
msgstr ""
-#: stock/models.py:592
+#: stock/models.py:608
msgid "Parent Stock Item"
msgstr ""
-#: stock/models.py:602
+#: stock/models.py:618
msgid "Base part"
msgstr ""
-#: stock/models.py:610
+#: stock/models.py:626
msgid "Select a matching supplier part for this stock item"
msgstr ""
-#: stock/models.py:617 stock/templates/stock/location.html:17
+#: stock/models.py:633 stock/templates/stock/location.html:17
#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
msgstr ""
-#: stock/models.py:620
+#: stock/models.py:636
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:627
+#: stock/models.py:643
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:633 stock/templates/stock/item_base.html:359
-msgid "Installed In"
-msgstr ""
-
-#: stock/models.py:636
+#: stock/models.py:652
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:652
+#: stock/models.py:668
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:666
+#: stock/models.py:682
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:671
+#: stock/models.py:687
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:680
+#: stock/models.py:696
msgid "Source Build"
msgstr ""
-#: stock/models.py:682
+#: stock/models.py:698
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:693
+#: stock/models.py:709
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:696
+#: stock/models.py:712
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:702
+#: stock/models.py:718
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:708 stock/templates/stock/item_base.html:427
-#: templates/js/translated/stock.js:1885
-msgid "Expiry Date"
-msgstr ""
-
-#: stock/models.py:709
+#: stock/models.py:725
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:722
+#: stock/models.py:738
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:722
+#: stock/models.py:738
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:734 stock/templates/stock/item.html:132
+#: stock/models.py:750 stock/templates/stock/item.html:132
msgid "Stock Item Notes"
msgstr ""
-#: stock/models.py:742
+#: stock/models.py:758
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:770
+#: stock/models.py:786
msgid "Converted to part"
msgstr ""
-#: stock/models.py:1244
+#: stock/models.py:1260
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1250
+#: stock/models.py:1266
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1256
+#: stock/models.py:1272
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr ""
-#: stock/models.py:1259
+#: stock/models.py:1275
msgid "Serial numbers must be a list of integers"
msgstr ""
-#: stock/models.py:1262
+#: stock/models.py:1278
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1269
+#: stock/models.py:1285
#, python-brace-format
msgid "Serial numbers already exist: {exists}"
msgstr ""
-#: stock/models.py:1339
+#: stock/models.py:1355
msgid "Stock item has been assigned to a sales order"
msgstr ""
-#: stock/models.py:1342
+#: stock/models.py:1358
msgid "Stock item is installed in another item"
msgstr ""
-#: stock/models.py:1345
+#: stock/models.py:1361
msgid "Stock item contains other items"
msgstr ""
-#: stock/models.py:1348
+#: stock/models.py:1364
msgid "Stock item has been assigned to a customer"
msgstr ""
-#: stock/models.py:1351
+#: stock/models.py:1367
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:1354
+#: stock/models.py:1370
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1361 stock/serializers.py:963
+#: stock/models.py:1377 stock/serializers.py:962
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:1365
+#: stock/models.py:1381
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:1369
+#: stock/models.py:1385
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:1373
+#: stock/models.py:1389
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:1542
+#: stock/models.py:1558
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:2003
+#: stock/models.py:2019
msgid "Entry notes"
msgstr ""
-#: stock/models.py:2061
+#: stock/models.py:2077
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:2067
+#: stock/models.py:2083
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:2086
+#: stock/models.py:2102
msgid "Test name"
msgstr ""
-#: stock/models.py:2092
+#: stock/models.py:2108
msgid "Test result"
msgstr ""
-#: stock/models.py:2098
+#: stock/models.py:2114
msgid "Test output value"
msgstr ""
-#: stock/models.py:2105
+#: stock/models.py:2121
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2111
+#: stock/models.py:2127
msgid "Test notes"
msgstr ""
-#: stock/serializers.py:71
+#: stock/serializers.py:75
msgid "Serial number is too large"
msgstr ""
-#: stock/serializers.py:172
+#: stock/serializers.py:176
msgid "Purchase price of this stock item"
msgstr ""
-#: stock/serializers.py:292
+#: stock/serializers.py:286
msgid "Enter number of stock items to serialize"
msgstr ""
-#: stock/serializers.py:304
+#: stock/serializers.py:298
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({q})"
msgstr ""
-#: stock/serializers.py:310
+#: stock/serializers.py:304
msgid "Enter serial numbers for new items"
msgstr ""
-#: stock/serializers.py:321 stock/serializers.py:920 stock/serializers.py:1153
+#: stock/serializers.py:315 stock/serializers.py:919 stock/serializers.py:1152
msgid "Destination stock location"
msgstr ""
-#: stock/serializers.py:328
+#: stock/serializers.py:322
msgid "Optional note field"
msgstr ""
-#: stock/serializers.py:338
+#: stock/serializers.py:332
msgid "Serial numbers cannot be assigned to this part"
msgstr ""
-#: stock/serializers.py:359
+#: stock/serializers.py:353
msgid "Serial numbers already exist"
msgstr ""
-#: stock/serializers.py:399
+#: stock/serializers.py:393
msgid "Select stock item to install"
msgstr ""
-#: stock/serializers.py:412
+#: stock/serializers.py:406
msgid "Stock item is unavailable"
msgstr ""
-#: stock/serializers.py:419
+#: stock/serializers.py:413
msgid "Selected part is not in the Bill of Materials"
msgstr ""
-#: stock/serializers.py:456
+#: stock/serializers.py:450
msgid "Destination location for uninstalled item"
msgstr ""
-#: stock/serializers.py:461 stock/serializers.py:542
+#: stock/serializers.py:455 stock/serializers.py:536
msgid "Add transaction note (optional)"
msgstr ""
-#: stock/serializers.py:495
+#: stock/serializers.py:489
msgid "Select part to convert stock item into"
msgstr ""
-#: stock/serializers.py:506
+#: stock/serializers.py:500
msgid "Selected part is not a valid option for conversion"
msgstr ""
-#: stock/serializers.py:537
+#: stock/serializers.py:531
msgid "Destination location for returned item"
msgstr ""
-#: stock/serializers.py:775
+#: stock/serializers.py:774
msgid "Part must be salable"
msgstr ""
-#: stock/serializers.py:779
+#: stock/serializers.py:778
msgid "Item is allocated to a sales order"
msgstr ""
-#: stock/serializers.py:783
+#: stock/serializers.py:782
msgid "Item is allocated to a build order"
msgstr ""
-#: stock/serializers.py:814
+#: stock/serializers.py:813
msgid "Customer to assign stock items"
msgstr ""
-#: stock/serializers.py:820
+#: stock/serializers.py:819
msgid "Selected company is not a customer"
msgstr ""
-#: stock/serializers.py:828
+#: stock/serializers.py:827
msgid "Stock assignment notes"
msgstr ""
-#: stock/serializers.py:838 stock/serializers.py:1069
+#: stock/serializers.py:837 stock/serializers.py:1068
msgid "A list of stock items must be provided"
msgstr ""
-#: stock/serializers.py:927
+#: stock/serializers.py:926
msgid "Stock merging notes"
msgstr ""
-#: stock/serializers.py:932
+#: stock/serializers.py:931
msgid "Allow mismatched suppliers"
msgstr ""
-#: stock/serializers.py:933
+#: stock/serializers.py:932
msgid "Allow stock items with different supplier parts to be merged"
msgstr ""
-#: stock/serializers.py:938
+#: stock/serializers.py:937
msgid "Allow mismatched status"
msgstr ""
-#: stock/serializers.py:939
+#: stock/serializers.py:938
msgid "Allow stock items with different status codes to be merged"
msgstr ""
-#: stock/serializers.py:949
+#: stock/serializers.py:948
msgid "At least two stock items must be provided"
msgstr ""
-#: stock/serializers.py:1031
+#: stock/serializers.py:1030
msgid "StockItem primary key value"
msgstr ""
-#: stock/serializers.py:1059
+#: stock/serializers.py:1058
msgid "Stock transaction notes"
msgstr ""
@@ -6520,7 +6794,7 @@ msgstr ""
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2871
+#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2889
msgid "Install Stock Item"
msgstr ""
@@ -6528,7 +6802,7 @@ msgstr ""
msgid "Delete all test results for this stock item"
msgstr ""
-#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1522
+#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1541
msgid "Add Test Result"
msgstr ""
@@ -6687,7 +6961,7 @@ msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:431
-#: templates/js/translated/table_filters.js:277
+#: templates/js/translated/table_filters.js:281
msgid "Expired"
msgstr ""
@@ -6697,16 +6971,10 @@ msgid "This StockItem expires on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/table_filters.js:283
+#: templates/js/translated/table_filters.js:287
msgid "Stale"
msgstr ""
-#: stock/templates/stock/item_base.html:440
-#: templates/js/translated/company.js:1038
-#: templates/js/translated/stock.js:1901
-msgid "Last Updated"
-msgstr ""
-
#: stock/templates/stock/item_base.html:445
msgid "Last Stocktake"
msgstr ""
@@ -6783,11 +7051,6 @@ msgstr ""
msgid "Delete location"
msgstr ""
-#: stock/templates/stock/location.html:123
-#: stock/templates/stock/location.html:129
-msgid "Location Path"
-msgstr ""
-
#: stock/templates/stock/location.html:130
msgid "Top level stock location"
msgstr ""
@@ -6960,6 +7223,14 @@ msgstr ""
msgid "Overdue Sales Orders"
msgstr ""
+#: templates/InvenTree/index.html:312
+msgid "InvenTree News"
+msgstr ""
+
+#: templates/InvenTree/index.html:314
+msgid "Current News"
+msgstr ""
+
#: templates/InvenTree/notifications/history.html:9
msgid "Notification History"
msgstr ""
@@ -7026,30 +7297,6 @@ msgstr ""
msgid "Category Settings"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:8
-msgid "Currency Settings"
-msgstr ""
-
-#: templates/InvenTree/settings/currencies.html:19
-msgid "Base Currency"
-msgstr ""
-
-#: templates/InvenTree/settings/currencies.html:24
-msgid "Exchange Rates"
-msgstr ""
-
-#: templates/InvenTree/settings/currencies.html:38
-msgid "Last Update"
-msgstr ""
-
-#: templates/InvenTree/settings/currencies.html:44
-msgid "Never"
-msgstr ""
-
-#: templates/InvenTree/settings/currencies.html:49
-msgid "Update Now"
-msgstr ""
-
#: templates/InvenTree/settings/global.html:9
msgid "Server Settings"
msgstr ""
@@ -7090,15 +7337,15 @@ msgstr ""
msgid "Part Settings"
msgstr ""
-#: templates/InvenTree/settings/part.html:46
+#: templates/InvenTree/settings/part.html:40
msgid "Part Import"
msgstr ""
-#: templates/InvenTree/settings/part.html:50
+#: templates/InvenTree/settings/part.html:44
msgid "Import Part"
msgstr ""
-#: templates/InvenTree/settings/part.html:64
+#: templates/InvenTree/settings/part.html:58
msgid "Part Parameter Templates"
msgstr ""
@@ -7125,11 +7372,6 @@ msgstr ""
msgid "External plugins are not enabled for this InvenTree installation"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:62
-#: templates/InvenTree/settings/plugin_settings.html:33
-msgid "Author"
-msgstr ""
-
#: templates/InvenTree/settings/plugin.html:64
#: templates/InvenTree/settings/plugin_settings.html:43
msgid "Version"
@@ -7239,6 +7481,39 @@ msgstr ""
msgid "Purchase Order Settings"
msgstr ""
+#: templates/InvenTree/settings/pricing.html:7
+msgid "Pricing Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:24
+msgid "Currency Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:30
+msgid "Update Now"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:39
+#: templates/InvenTree/settings/pricing.html:43
+msgid "Last Update"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:43
+msgid "Never"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:53
+msgid "Base Currency"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:58
+msgid "Exchange Rates"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:60
+msgid "Rate"
+msgstr ""
+
#: templates/InvenTree/settings/report.html:8
#: templates/InvenTree/settings/user_reports.html:9
msgid "Report Settings"
@@ -7295,6 +7570,7 @@ msgid "No part parameter templates found"
msgstr ""
#: templates/InvenTree/settings/settings.html:338
+#: templates/js/translated/news.js:28
#: templates/js/translated/notification.js:36
msgid "ID"
msgstr ""
@@ -7357,10 +7633,6 @@ msgstr ""
msgid "Server Configuration"
msgstr ""
-#: templates/InvenTree/settings/sidebar.html:35
-msgid "Currencies"
-msgstr ""
-
#: templates/InvenTree/settings/sidebar.html:43
msgid "Categories"
msgstr ""
@@ -7380,7 +7652,7 @@ msgid "Change Password"
msgstr ""
#: templates/InvenTree/settings/user.html:23
-#: templates/js/translated/helpers.js:31 templates/notes_buttons.html:3
+#: templates/js/translated/helpers.js:33 templates/notes_buttons.html:3
#: templates/notes_buttons.html:4
msgid "Edit"
msgstr ""
@@ -7890,7 +8162,7 @@ msgid "The following parts are low on required stock"
msgstr ""
#: templates/email/build_order_required_stock.html:18
-#: templates/js/translated/bom.js:1566
+#: templates/js/translated/bom.js:1629
msgid "Required Quantity"
msgstr ""
@@ -7904,7 +8176,7 @@ msgid "Click on the following link to view this part"
msgstr ""
#: templates/email/low_stock_notification.html:19
-#: templates/js/translated/part.js:2566
+#: templates/js/translated/part.js:2423
msgid "Minimum Quantity"
msgstr ""
@@ -8057,7 +8329,7 @@ msgstr ""
msgid "Unlink"
msgstr ""
-#: templates/js/translated/barcode.js:500 templates/js/translated/stock.js:1054
+#: templates/js/translated/barcode.js:500 templates/js/translated/stock.js:1073
msgid "Remove stock item"
msgstr ""
@@ -8127,10 +8399,10 @@ msgstr ""
msgid "Row Data"
msgstr ""
-#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:646
+#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:659
#: templates/js/translated/modals.js:56 templates/js/translated/modals.js:601
#: templates/js/translated/modals.js:695 templates/js/translated/modals.js:1003
-#: templates/js/translated/order.js:1179 templates/modals.html:15
+#: templates/js/translated/order.js:1213 templates/modals.html:15
#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50
msgid "Close"
msgstr ""
@@ -8140,12 +8412,12 @@ msgid "Download BOM Template"
msgstr ""
#: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312
-#: templates/js/translated/order.js:960 templates/js/translated/tables.js:145
+#: templates/js/translated/order.js:994 templates/js/translated/tables.js:145
msgid "Format"
msgstr ""
#: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313
-#: templates/js/translated/order.js:961
+#: templates/js/translated/order.js:995
msgid "Select file format"
msgstr ""
@@ -8197,118 +8469,130 @@ msgstr ""
msgid "Include part supplier data in exported BOM"
msgstr ""
-#: templates/js/translated/bom.js:537
+#: templates/js/translated/bom.js:358
+msgid "Include Pricing Data"
+msgstr ""
+
+#: templates/js/translated/bom.js:359
+msgid "Include part pricing data in exported BOM"
+msgstr ""
+
+#: templates/js/translated/bom.js:550
msgid "Remove substitute part"
msgstr ""
-#: templates/js/translated/bom.js:591
+#: templates/js/translated/bom.js:604
msgid "Select and add a new substitute part using the input below"
msgstr ""
-#: templates/js/translated/bom.js:602
+#: templates/js/translated/bom.js:615
msgid "Are you sure you wish to remove this substitute part link?"
msgstr ""
-#: templates/js/translated/bom.js:608
+#: templates/js/translated/bom.js:621
msgid "Remove Substitute Part"
msgstr ""
-#: templates/js/translated/bom.js:647
+#: templates/js/translated/bom.js:660
msgid "Add Substitute"
msgstr ""
-#: templates/js/translated/bom.js:648
+#: templates/js/translated/bom.js:661
msgid "Edit BOM Item Substitutes"
msgstr ""
-#: templates/js/translated/bom.js:710
+#: templates/js/translated/bom.js:723
msgid "All selected BOM items will be deleted"
msgstr ""
-#: templates/js/translated/bom.js:726
+#: templates/js/translated/bom.js:739
msgid "Delete selected BOM items?"
msgstr ""
-#: templates/js/translated/bom.js:860
+#: templates/js/translated/bom.js:868
msgid "Load BOM for subassembly"
msgstr ""
-#: templates/js/translated/bom.js:870
+#: templates/js/translated/bom.js:878
msgid "Substitutes Available"
msgstr ""
-#: templates/js/translated/bom.js:874 templates/js/translated/build.js:1835
+#: templates/js/translated/bom.js:882 templates/js/translated/build.js:1835
msgid "Variant stock allowed"
msgstr ""
-#: templates/js/translated/bom.js:983 templates/js/translated/build.js:1907
-#: templates/js/translated/order.js:3927
-msgid "No Stock Available"
-msgstr ""
-
-#: templates/js/translated/bom.js:988 templates/js/translated/build.js:1911
-msgid "Includes variant and substitute stock"
-msgstr ""
-
-#: templates/js/translated/bom.js:990 templates/js/translated/build.js:1913
-#: templates/js/translated/part.js:761 templates/js/translated/part.js:1539
-msgid "Includes variant stock"
-msgstr ""
-
-#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1915
-msgid "Includes substitute stock"
-msgstr ""
-
-#: templates/js/translated/bom.js:1010
+#: templates/js/translated/bom.js:972
msgid "Substitutes"
msgstr ""
-#: templates/js/translated/bom.js:1061 templates/js/translated/bom.js:1195
+#: templates/js/translated/bom.js:1023 templates/js/translated/bom.js:1260
msgid "View BOM"
msgstr ""
-#: templates/js/translated/bom.js:1071
-msgid "Purchase Price Range"
+#: templates/js/translated/bom.js:1094
+msgid "BOM pricing is complete"
msgstr ""
-#: templates/js/translated/bom.js:1078
-msgid "Purchase Price Average"
+#: templates/js/translated/bom.js:1099
+msgid "BOM pricing is incomplete"
msgstr ""
-#: templates/js/translated/bom.js:1106 templates/js/translated/build.js:1898
+#: templates/js/translated/bom.js:1106
+msgid "No pricing available"
+msgstr ""
+
+#: templates/js/translated/bom.js:1137 templates/js/translated/build.js:1907
+#: templates/js/translated/order.js:3924
+msgid "No Stock Available"
+msgstr ""
+
+#: templates/js/translated/bom.js:1142 templates/js/translated/build.js:1911
+msgid "Includes variant and substitute stock"
+msgstr ""
+
+#: templates/js/translated/bom.js:1144 templates/js/translated/build.js:1913
+#: templates/js/translated/part.js:775 templates/js/translated/part.js:1550
+msgid "Includes variant stock"
+msgstr ""
+
+#: templates/js/translated/bom.js:1146 templates/js/translated/build.js:1915
+msgid "Includes substitute stock"
+msgstr ""
+
+#: templates/js/translated/bom.js:1171 templates/js/translated/build.js:1898
#: templates/js/translated/build.js:1985
msgid "Consumable item"
msgstr ""
-#: templates/js/translated/bom.js:1166
+#: templates/js/translated/bom.js:1231
msgid "Validate BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1168
+#: templates/js/translated/bom.js:1233
msgid "This line has been validated"
msgstr ""
-#: templates/js/translated/bom.js:1170
+#: templates/js/translated/bom.js:1235
msgid "Edit substitute parts"
msgstr ""
-#: templates/js/translated/bom.js:1172 templates/js/translated/bom.js:1369
+#: templates/js/translated/bom.js:1237 templates/js/translated/bom.js:1433
msgid "Edit BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1174
+#: templates/js/translated/bom.js:1239
msgid "Delete BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1280 templates/js/translated/build.js:1679
+#: templates/js/translated/bom.js:1344 templates/js/translated/build.js:1679
msgid "No BOM items found"
msgstr ""
-#: templates/js/translated/bom.js:1549 templates/js/translated/build.js:1818
+#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1818
msgid "Required Part"
msgstr ""
-#: templates/js/translated/bom.js:1575
+#: templates/js/translated/bom.js:1638
msgid "Inherited from parent BOM"
msgstr ""
@@ -8353,12 +8637,12 @@ msgid "Complete Build Order"
msgstr ""
#: templates/js/translated/build.js:311 templates/js/translated/stock.js:92
-#: templates/js/translated/stock.js:214
+#: templates/js/translated/stock.js:233
msgid "Next available serial number"
msgstr ""
#: templates/js/translated/build.js:313 templates/js/translated/stock.js:94
-#: templates/js/translated/stock.js:216
+#: templates/js/translated/stock.js:235
msgid "Latest serial number"
msgstr ""
@@ -8455,12 +8739,12 @@ msgid "No required tests for this build"
msgstr ""
#: templates/js/translated/build.js:1775 templates/js/translated/build.js:2765
-#: templates/js/translated/order.js:3627
+#: templates/js/translated/order.js:3638
msgid "Edit stock allocation"
msgstr ""
#: templates/js/translated/build.js:1777 templates/js/translated/build.js:2766
-#: templates/js/translated/order.js:3628
+#: templates/js/translated/order.js:3639
msgid "Delete stock allocation"
msgstr ""
@@ -8480,20 +8764,15 @@ msgstr ""
msgid "Quantity Per"
msgstr ""
-#: templates/js/translated/build.js:1901 templates/js/translated/order.js:3934
+#: templates/js/translated/build.js:1901 templates/js/translated/order.js:3931
msgid "Insufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3932
+#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3929
msgid "Sufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1937 templates/js/translated/build.js:2195
-#: templates/js/translated/build.js:2761 templates/js/translated/order.js:3946
-msgid "Allocated"
-msgstr ""
-
-#: templates/js/translated/build.js:1993 templates/js/translated/order.js:4026
+#: templates/js/translated/build.js:1993 templates/js/translated/order.js:4023
msgid "Build stock"
msgstr ""
@@ -8501,21 +8780,21 @@ msgstr ""
msgid "Order stock"
msgstr ""
-#: templates/js/translated/build.js:2000 templates/js/translated/order.js:4019
+#: templates/js/translated/build.js:2000 templates/js/translated/order.js:4016
msgid "Allocate stock"
msgstr ""
#: templates/js/translated/build.js:2039 templates/js/translated/label.js:172
-#: templates/js/translated/order.js:1007 templates/js/translated/order.js:3154
+#: templates/js/translated/order.js:1041 templates/js/translated/order.js:3165
#: templates/js/translated/report.js:225
msgid "Select Parts"
msgstr ""
-#: templates/js/translated/build.js:2040 templates/js/translated/order.js:3155
+#: templates/js/translated/build.js:2040 templates/js/translated/order.js:3166
msgid "You must select at least one part to allocate"
msgstr ""
-#: templates/js/translated/build.js:2089 templates/js/translated/order.js:3103
+#: templates/js/translated/build.js:2089 templates/js/translated/order.js:3114
msgid "Specify stock allocation quantity"
msgstr ""
@@ -8527,7 +8806,7 @@ msgstr ""
msgid "All selected parts have been fully allocated"
msgstr ""
-#: templates/js/translated/build.js:2183 templates/js/translated/order.js:3169
+#: templates/js/translated/build.js:2183 templates/js/translated/order.js:3180
msgid "Select source location (leave blank to take from all locations)"
msgstr ""
@@ -8535,11 +8814,11 @@ msgstr ""
msgid "Allocate Stock Items to Build Order"
msgstr ""
-#: templates/js/translated/build.js:2222 templates/js/translated/order.js:3266
+#: templates/js/translated/build.js:2222 templates/js/translated/order.js:3277
msgid "No matching stock locations"
msgstr ""
-#: templates/js/translated/build.js:2294 templates/js/translated/order.js:3343
+#: templates/js/translated/build.js:2294 templates/js/translated/order.js:3354
msgid "No matching stock items"
msgstr ""
@@ -8571,9 +8850,9 @@ msgstr ""
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:2558 templates/js/translated/part.js:1423
-#: templates/js/translated/part.js:1957 templates/js/translated/stock.js:1686
-#: templates/js/translated/stock.js:2390
+#: templates/js/translated/build.js:2558 templates/js/translated/part.js:1444
+#: templates/js/translated/part.js:1981 templates/js/translated/stock.js:1705
+#: templates/js/translated/stock.js:2408
msgid "Select"
msgstr ""
@@ -8585,7 +8864,7 @@ msgstr ""
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2636 templates/js/translated/stock.js:2657
+#: templates/js/translated/build.js:2636 templates/js/translated/stock.js:2675
msgid "No user information"
msgstr ""
@@ -8593,118 +8872,144 @@ msgstr ""
msgid "No parts allocated for"
msgstr ""
-#: templates/js/translated/company.js:66
+#: templates/js/translated/company.js:67
msgid "Add Manufacturer"
msgstr ""
-#: templates/js/translated/company.js:79 templates/js/translated/company.js:181
+#: templates/js/translated/company.js:80 templates/js/translated/company.js:182
msgid "Add Manufacturer Part"
msgstr ""
-#: templates/js/translated/company.js:100
+#: templates/js/translated/company.js:101
msgid "Edit Manufacturer Part"
msgstr ""
-#: templates/js/translated/company.js:169 templates/js/translated/order.js:576
+#: templates/js/translated/company.js:170 templates/js/translated/order.js:576
msgid "Add Supplier"
msgstr ""
-#: templates/js/translated/company.js:197 templates/js/translated/order.js:828
+#: templates/js/translated/company.js:198 templates/js/translated/order.js:862
msgid "Add Supplier Part"
msgstr ""
-#: templates/js/translated/company.js:297
+#: templates/js/translated/company.js:298
msgid "All selected supplier parts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:313
+#: templates/js/translated/company.js:314
msgid "Delete Supplier Parts"
msgstr ""
-#: templates/js/translated/company.js:385
+#: templates/js/translated/company.js:386
msgid "Add new Company"
msgstr ""
-#: templates/js/translated/company.js:462
+#: templates/js/translated/company.js:463
msgid "Parts Supplied"
msgstr ""
-#: templates/js/translated/company.js:471
+#: templates/js/translated/company.js:472
msgid "Parts Manufactured"
msgstr ""
-#: templates/js/translated/company.js:486
+#: templates/js/translated/company.js:487
msgid "No company information found"
msgstr ""
-#: templates/js/translated/company.js:527
+#: templates/js/translated/company.js:528
msgid "All selected manufacturer parts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:542
+#: templates/js/translated/company.js:543
msgid "Delete Manufacturer Parts"
msgstr ""
-#: templates/js/translated/company.js:576
+#: templates/js/translated/company.js:577
msgid "All selected parameters will be deleted"
msgstr ""
-#: templates/js/translated/company.js:590
+#: templates/js/translated/company.js:591
msgid "Delete Parameters"
msgstr ""
-#: templates/js/translated/company.js:631
+#: templates/js/translated/company.js:632
msgid "No manufacturer parts found"
msgstr ""
-#: templates/js/translated/company.js:651
-#: templates/js/translated/company.js:912 templates/js/translated/part.js:636
-#: templates/js/translated/part.js:721
+#: templates/js/translated/company.js:652
+#: templates/js/translated/company.js:913 templates/js/translated/part.js:650
+#: templates/js/translated/part.js:735
msgid "Template part"
msgstr ""
-#: templates/js/translated/company.js:655
-#: templates/js/translated/company.js:916 templates/js/translated/part.js:640
-#: templates/js/translated/part.js:725
+#: templates/js/translated/company.js:656
+#: templates/js/translated/company.js:917 templates/js/translated/part.js:654
+#: templates/js/translated/part.js:739
msgid "Assembled part"
msgstr ""
-#: templates/js/translated/company.js:783 templates/js/translated/part.js:828
+#: templates/js/translated/company.js:784 templates/js/translated/part.js:855
msgid "No parameters found"
msgstr ""
-#: templates/js/translated/company.js:820 templates/js/translated/part.js:870
+#: templates/js/translated/company.js:821 templates/js/translated/part.js:897
msgid "Edit parameter"
msgstr ""
-#: templates/js/translated/company.js:821 templates/js/translated/part.js:871
+#: templates/js/translated/company.js:822 templates/js/translated/part.js:898
msgid "Delete parameter"
msgstr ""
-#: templates/js/translated/company.js:840 templates/js/translated/part.js:888
+#: templates/js/translated/company.js:841 templates/js/translated/part.js:915
msgid "Edit Parameter"
msgstr ""
-#: templates/js/translated/company.js:851 templates/js/translated/part.js:900
+#: templates/js/translated/company.js:852 templates/js/translated/part.js:927
msgid "Delete Parameter"
msgstr ""
-#: templates/js/translated/company.js:891
+#: templates/js/translated/company.js:892
msgid "No supplier parts found"
msgstr ""
-#: templates/js/translated/company.js:1032
+#: templates/js/translated/company.js:1033
msgid "Availability"
msgstr ""
-#: templates/js/translated/company.js:1055
+#: templates/js/translated/company.js:1056
msgid "Edit supplier part"
msgstr ""
-#: templates/js/translated/company.js:1056
+#: templates/js/translated/company.js:1057
msgid "Delete supplier part"
msgstr ""
+#: templates/js/translated/company.js:1112
+#: templates/js/translated/pricing.js:423
+msgid "Delete Price Break"
+msgstr ""
+
+#: templates/js/translated/company.js:1128
+#: templates/js/translated/pricing.js:437
+msgid "Edit Price Break"
+msgstr ""
+
+#: templates/js/translated/company.js:1145
+msgid "No price break information found"
+msgstr ""
+
+#: templates/js/translated/company.js:1174
+msgid "Last updated"
+msgstr ""
+
+#: templates/js/translated/company.js:1180
+msgid "Edit price break"
+msgstr ""
+
+#: templates/js/translated/company.js:1181
+msgid "Delete price break"
+msgstr ""
+
#: templates/js/translated/filters.js:178
#: templates/js/translated/filters.js:441
msgid "true"
@@ -8785,27 +9090,27 @@ msgstr ""
msgid "Clear input"
msgstr ""
-#: templates/js/translated/forms.js:2638
+#: templates/js/translated/forms.js:2628
msgid "File Column"
msgstr ""
-#: templates/js/translated/forms.js:2638
+#: templates/js/translated/forms.js:2628
msgid "Field Name"
msgstr ""
-#: templates/js/translated/forms.js:2650
+#: templates/js/translated/forms.js:2640
msgid "Select Columns"
msgstr ""
-#: templates/js/translated/helpers.js:24
+#: templates/js/translated/helpers.js:26
msgid "YES"
msgstr ""
-#: templates/js/translated/helpers.js:26
+#: templates/js/translated/helpers.js:28
msgid "NO"
msgstr ""
-#: templates/js/translated/helpers.js:363
+#: templates/js/translated/helpers.js:434
msgid "Notes updated"
msgstr ""
@@ -8814,7 +9119,7 @@ msgid "Labels sent to printer"
msgstr ""
#: templates/js/translated/label.js:60 templates/js/translated/report.js:118
-#: templates/js/translated/stock.js:1078
+#: templates/js/translated/stock.js:1097
msgid "Select Stock Items"
msgstr ""
@@ -8934,14 +9239,6 @@ msgstr ""
msgid "Stock ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:159
-msgid "Location ID"
-msgstr ""
-
-#: templates/js/translated/model_renderers.js:177
-msgid "Build ID"
-msgstr ""
-
#: templates/js/translated/model_renderers.js:278
#: templates/js/translated/model_renderers.js:303
msgid "Order ID"
@@ -8952,16 +9249,12 @@ msgstr ""
msgid "Shipment ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:338
-msgid "Category ID"
-msgstr ""
-
#: templates/js/translated/model_renderers.js:381
msgid "Manufacturer Part ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:418
-msgid "Supplier Part ID"
+#: templates/js/translated/news.js:23
+msgid "No news found"
msgstr ""
#: templates/js/translated/notification.js:42
@@ -9104,659 +9397,688 @@ msgstr ""
msgid "Duplication Options"
msgstr ""
-#: templates/js/translated/order.js:957
+#: templates/js/translated/order.js:991
msgid "Export Order"
msgstr ""
-#: templates/js/translated/order.js:1008
+#: templates/js/translated/order.js:1042
msgid "At least one purchaseable part must be selected"
msgstr ""
-#: templates/js/translated/order.js:1033
+#: templates/js/translated/order.js:1067
msgid "Quantity to order"
msgstr ""
-#: templates/js/translated/order.js:1042
+#: templates/js/translated/order.js:1076
msgid "New supplier part"
msgstr ""
-#: templates/js/translated/order.js:1060
+#: templates/js/translated/order.js:1094
msgid "New purchase order"
msgstr ""
-#: templates/js/translated/order.js:1093
+#: templates/js/translated/order.js:1127
msgid "Add to purchase order"
msgstr ""
-#: templates/js/translated/order.js:1233
+#: templates/js/translated/order.js:1267
msgid "No matching supplier parts"
msgstr ""
-#: templates/js/translated/order.js:1252
+#: templates/js/translated/order.js:1286
msgid "No matching purchase orders"
msgstr ""
-#: templates/js/translated/order.js:1429
+#: templates/js/translated/order.js:1463
msgid "Select Line Items"
msgstr ""
-#: templates/js/translated/order.js:1430
+#: templates/js/translated/order.js:1464
msgid "At least one line item must be selected"
msgstr ""
-#: templates/js/translated/order.js:1450 templates/js/translated/order.js:1563
+#: templates/js/translated/order.js:1484 templates/js/translated/order.js:1597
msgid "Add batch code"
msgstr ""
-#: templates/js/translated/order.js:1456 templates/js/translated/order.js:1574
+#: templates/js/translated/order.js:1490 templates/js/translated/order.js:1608
msgid "Add serial numbers"
msgstr ""
-#: templates/js/translated/order.js:1471
+#: templates/js/translated/order.js:1505
msgid "Received Quantity"
msgstr ""
-#: templates/js/translated/order.js:1482
+#: templates/js/translated/order.js:1516
msgid "Quantity to receive"
msgstr ""
-#: templates/js/translated/order.js:1546 templates/js/translated/stock.js:2146
+#: templates/js/translated/order.js:1580 templates/js/translated/stock.js:2164
msgid "Stock Status"
msgstr ""
-#: templates/js/translated/order.js:1639
+#: templates/js/translated/order.js:1673
msgid "Order Code"
msgstr ""
-#: templates/js/translated/order.js:1640
+#: templates/js/translated/order.js:1674
msgid "Ordered"
msgstr ""
-#: templates/js/translated/order.js:1642
+#: templates/js/translated/order.js:1676
msgid "Quantity to Receive"
msgstr ""
-#: templates/js/translated/order.js:1661
+#: templates/js/translated/order.js:1695
msgid "Confirm receipt of items"
msgstr ""
-#: templates/js/translated/order.js:1662
+#: templates/js/translated/order.js:1696
msgid "Receive Purchase Order Items"
msgstr ""
-#: templates/js/translated/order.js:1940 templates/js/translated/part.js:941
+#: templates/js/translated/order.js:1974 templates/js/translated/part.js:968
msgid "No purchase orders found"
msgstr ""
-#: templates/js/translated/order.js:1967 templates/js/translated/order.js:2798
+#: templates/js/translated/order.js:2001 templates/js/translated/order.js:2809
msgid "Order is overdue"
msgstr ""
-#: templates/js/translated/order.js:2017 templates/js/translated/order.js:2863
-#: templates/js/translated/order.js:3004
+#: templates/js/translated/order.js:2051 templates/js/translated/order.js:2874
+#: templates/js/translated/order.js:3015
msgid "Items"
msgstr ""
-#: templates/js/translated/order.js:2115 templates/js/translated/order.js:4078
+#: templates/js/translated/order.js:2154 templates/js/translated/order.js:4075
msgid "Duplicate Line Item"
msgstr ""
-#: templates/js/translated/order.js:2132 templates/js/translated/order.js:4100
+#: templates/js/translated/order.js:2171 templates/js/translated/order.js:4097
msgid "Edit Line Item"
msgstr ""
-#: templates/js/translated/order.js:2145 templates/js/translated/order.js:4111
+#: templates/js/translated/order.js:2184 templates/js/translated/order.js:4108
msgid "Delete Line Item"
msgstr ""
-#: templates/js/translated/order.js:2188
+#: templates/js/translated/order.js:2227
msgid "No line items found"
msgstr ""
-#: templates/js/translated/order.js:2215 templates/js/translated/order.js:3812
+#: templates/js/translated/order.js:2254 templates/js/translated/order.js:3827
msgid "Total"
msgstr ""
-#: templates/js/translated/order.js:2270 templates/js/translated/part.js:1043
-#: templates/js/translated/part.js:1095
+#: templates/js/translated/order.js:2309 templates/js/translated/part.js:1070
+#: templates/js/translated/part.js:1122
msgid "Total Quantity"
msgstr ""
-#: templates/js/translated/order.js:2301 templates/js/translated/order.js:2500
-#: templates/js/translated/order.js:3837 templates/js/translated/order.js:4342
-#: templates/js/translated/part.js:2199 templates/js/translated/part.js:2797
+#: templates/js/translated/order.js:2340 templates/js/translated/order.js:2527
+#: templates/js/translated/order.js:3852 templates/js/translated/order.js:4343
+#: templates/js/translated/pricing.js:260
+#: templates/js/translated/pricing.js:329
+#: templates/js/translated/pricing.js:545
msgid "Unit Price"
msgstr ""
-#: templates/js/translated/order.js:2316 templates/js/translated/order.js:2516
-#: templates/js/translated/order.js:3853 templates/js/translated/order.js:4358
+#: templates/js/translated/order.js:2350 templates/js/translated/order.js:2537
+#: templates/js/translated/order.js:3862 templates/js/translated/order.js:4353
msgid "Total Price"
msgstr ""
-#: templates/js/translated/order.js:2357 templates/js/translated/order.js:3895
-#: templates/js/translated/part.js:1079
+#: templates/js/translated/order.js:2380 templates/js/translated/order.js:3892
+#: templates/js/translated/part.js:1106
msgid "This line item is overdue"
msgstr ""
-#: templates/js/translated/order.js:2416 templates/js/translated/part.js:1130
+#: templates/js/translated/order.js:2439 templates/js/translated/part.js:1151
msgid "Receive line item"
msgstr ""
-#: templates/js/translated/order.js:2420 templates/js/translated/order.js:4032
+#: templates/js/translated/order.js:2443 templates/js/translated/order.js:4029
msgid "Duplicate line item"
msgstr ""
-#: templates/js/translated/order.js:2421 templates/js/translated/order.js:4033
+#: templates/js/translated/order.js:2444 templates/js/translated/order.js:4030
msgid "Edit line item"
msgstr ""
-#: templates/js/translated/order.js:2422 templates/js/translated/order.js:4037
+#: templates/js/translated/order.js:2445 templates/js/translated/order.js:4034
msgid "Delete line item"
msgstr ""
-#: templates/js/translated/order.js:2564 templates/js/translated/order.js:4406
+#: templates/js/translated/order.js:2574 templates/js/translated/order.js:4389
msgid "Duplicate line"
msgstr ""
-#: templates/js/translated/order.js:2565 templates/js/translated/order.js:4407
+#: templates/js/translated/order.js:2575 templates/js/translated/order.js:4390
msgid "Edit line"
msgstr ""
-#: templates/js/translated/order.js:2566 templates/js/translated/order.js:4408
+#: templates/js/translated/order.js:2576 templates/js/translated/order.js:4391
msgid "Delete line"
msgstr ""
-#: templates/js/translated/order.js:2595 templates/js/translated/order.js:4437
+#: templates/js/translated/order.js:2606 templates/js/translated/order.js:4420
msgid "Duplicate Line"
msgstr ""
-#: templates/js/translated/order.js:2616 templates/js/translated/order.js:4458
+#: templates/js/translated/order.js:2627 templates/js/translated/order.js:4441
msgid "Edit Line"
msgstr ""
-#: templates/js/translated/order.js:2627 templates/js/translated/order.js:4469
+#: templates/js/translated/order.js:2638 templates/js/translated/order.js:4452
msgid "Delete Line"
msgstr ""
-#: templates/js/translated/order.js:2638
+#: templates/js/translated/order.js:2649
msgid "No matching line"
msgstr ""
-#: templates/js/translated/order.js:2749
+#: templates/js/translated/order.js:2760
msgid "No sales orders found"
msgstr ""
-#: templates/js/translated/order.js:2812
+#: templates/js/translated/order.js:2823
msgid "Invalid Customer"
msgstr ""
-#: templates/js/translated/order.js:2910
+#: templates/js/translated/order.js:2921
msgid "Edit shipment"
msgstr ""
-#: templates/js/translated/order.js:2913
+#: templates/js/translated/order.js:2924
msgid "Complete shipment"
msgstr ""
-#: templates/js/translated/order.js:2918
+#: templates/js/translated/order.js:2929
msgid "Delete shipment"
msgstr ""
-#: templates/js/translated/order.js:2938
+#: templates/js/translated/order.js:2949
msgid "Edit Shipment"
msgstr ""
-#: templates/js/translated/order.js:2955
+#: templates/js/translated/order.js:2966
msgid "Delete Shipment"
msgstr ""
-#: templates/js/translated/order.js:2989
+#: templates/js/translated/order.js:3000
msgid "No matching shipments found"
msgstr ""
-#: templates/js/translated/order.js:2999
+#: templates/js/translated/order.js:3010
msgid "Shipment Reference"
msgstr ""
-#: templates/js/translated/order.js:3023
+#: templates/js/translated/order.js:3034
msgid "Not shipped"
msgstr ""
-#: templates/js/translated/order.js:3029
+#: templates/js/translated/order.js:3040
msgid "Tracking"
msgstr ""
-#: templates/js/translated/order.js:3033
+#: templates/js/translated/order.js:3044
msgid "Invoice"
msgstr ""
-#: templates/js/translated/order.js:3202
+#: templates/js/translated/order.js:3213
msgid "Add Shipment"
msgstr ""
-#: templates/js/translated/order.js:3253
+#: templates/js/translated/order.js:3264
msgid "Confirm stock allocation"
msgstr ""
-#: templates/js/translated/order.js:3254
+#: templates/js/translated/order.js:3265
msgid "Allocate Stock Items to Sales Order"
msgstr ""
-#: templates/js/translated/order.js:3462
+#: templates/js/translated/order.js:3473
msgid "No sales order allocations found"
msgstr ""
-#: templates/js/translated/order.js:3541
+#: templates/js/translated/order.js:3552
msgid "Edit Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:3558
+#: templates/js/translated/order.js:3569
msgid "Confirm Delete Operation"
msgstr ""
-#: templates/js/translated/order.js:3559
+#: templates/js/translated/order.js:3570
msgid "Delete Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:3604 templates/js/translated/order.js:3693
-#: templates/js/translated/stock.js:1602
+#: templates/js/translated/order.js:3615 templates/js/translated/order.js:3704
+#: templates/js/translated/stock.js:1621
msgid "Shipped to customer"
msgstr ""
-#: templates/js/translated/order.js:3612 templates/js/translated/order.js:3702
+#: templates/js/translated/order.js:3623 templates/js/translated/order.js:3713
msgid "Stock location not specified"
msgstr ""
-#: templates/js/translated/order.js:4016
+#: templates/js/translated/order.js:4013
msgid "Allocate serial numbers"
msgstr ""
-#: templates/js/translated/order.js:4022
+#: templates/js/translated/order.js:4019
msgid "Purchase stock"
msgstr ""
-#: templates/js/translated/order.js:4029 templates/js/translated/order.js:4227
+#: templates/js/translated/order.js:4026 templates/js/translated/order.js:4224
msgid "Calculate price"
msgstr ""
-#: templates/js/translated/order.js:4041
+#: templates/js/translated/order.js:4038
msgid "Cannot be deleted as items have been shipped"
msgstr ""
-#: templates/js/translated/order.js:4044
+#: templates/js/translated/order.js:4041
msgid "Cannot be deleted as items have been allocated"
msgstr ""
-#: templates/js/translated/order.js:4126
+#: templates/js/translated/order.js:4123
msgid "Allocate Serial Numbers"
msgstr ""
-#: templates/js/translated/order.js:4235
+#: templates/js/translated/order.js:4232
msgid "Update Unit Price"
msgstr ""
-#: templates/js/translated/order.js:4249
+#: templates/js/translated/order.js:4246
msgid "No matching line items"
msgstr ""
-#: templates/js/translated/order.js:4480
+#: templates/js/translated/order.js:4463
msgid "No matching lines"
msgstr ""
-#: templates/js/translated/part.js:56
+#: templates/js/translated/part.js:52
msgid "Part Attributes"
msgstr ""
-#: templates/js/translated/part.js:60
+#: templates/js/translated/part.js:56
msgid "Part Creation Options"
msgstr ""
-#: templates/js/translated/part.js:64
+#: templates/js/translated/part.js:60
msgid "Part Duplication Options"
msgstr ""
-#: templates/js/translated/part.js:68
+#: templates/js/translated/part.js:64
msgid "Supplier Options"
msgstr ""
-#: templates/js/translated/part.js:82
+#: templates/js/translated/part.js:78
msgid "Add Part Category"
msgstr ""
-#: templates/js/translated/part.js:166
+#: templates/js/translated/part.js:162
msgid "Create Initial Stock"
msgstr ""
-#: templates/js/translated/part.js:167
+#: templates/js/translated/part.js:163
msgid "Create an initial stock item for this part"
msgstr ""
-#: templates/js/translated/part.js:174
+#: templates/js/translated/part.js:170
msgid "Initial Stock Quantity"
msgstr ""
-#: templates/js/translated/part.js:175
+#: templates/js/translated/part.js:171
msgid "Specify initial stock quantity for this part"
msgstr ""
-#: templates/js/translated/part.js:182
+#: templates/js/translated/part.js:178
msgid "Select destination stock location"
msgstr ""
-#: templates/js/translated/part.js:200
+#: templates/js/translated/part.js:196
msgid "Copy Category Parameters"
msgstr ""
-#: templates/js/translated/part.js:201
+#: templates/js/translated/part.js:197
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: templates/js/translated/part.js:209
+#: templates/js/translated/part.js:205
msgid "Add Supplier Data"
msgstr ""
-#: templates/js/translated/part.js:210
+#: templates/js/translated/part.js:206
msgid "Create initial supplier data for this part"
msgstr ""
-#: templates/js/translated/part.js:266
+#: templates/js/translated/part.js:262
msgid "Copy Image"
msgstr ""
-#: templates/js/translated/part.js:267
+#: templates/js/translated/part.js:263
msgid "Copy image from original part"
msgstr ""
-#: templates/js/translated/part.js:275
+#: templates/js/translated/part.js:271
msgid "Copy bill of materials from original part"
msgstr ""
-#: templates/js/translated/part.js:282
+#: templates/js/translated/part.js:278
msgid "Copy Parameters"
msgstr ""
-#: templates/js/translated/part.js:283
+#: templates/js/translated/part.js:279
msgid "Copy parameter data from original part"
msgstr ""
-#: templates/js/translated/part.js:296
+#: templates/js/translated/part.js:292
msgid "Parent part category"
msgstr ""
-#: templates/js/translated/part.js:306 templates/js/translated/stock.js:118
+#: templates/js/translated/part.js:302 templates/js/translated/stock.js:118
msgid "Icon (optional) - Explore all available icons on"
msgstr ""
-#: templates/js/translated/part.js:322
+#: templates/js/translated/part.js:318
msgid "Edit Part Category"
msgstr ""
-#: templates/js/translated/part.js:335
+#: templates/js/translated/part.js:331
msgid "Are you sure you want to delete this part category?"
msgstr ""
-#: templates/js/translated/part.js:337
-msgid "Any child categories will be moved to the parent of this category"
+#: templates/js/translated/part.js:336
+msgid "Move to parent category"
msgstr ""
-#: templates/js/translated/part.js:338
-msgid "Any parts in this category will be moved to the parent of this category"
-msgstr ""
-
-#: templates/js/translated/part.js:343
+#: templates/js/translated/part.js:345
msgid "Delete Part Category"
msgstr ""
-#: templates/js/translated/part.js:369
+#: templates/js/translated/part.js:349
+msgid "Action for parts in this category"
+msgstr ""
+
+#: templates/js/translated/part.js:354
+msgid "Action for child categories"
+msgstr ""
+
+#: templates/js/translated/part.js:383
msgid "Edit Part"
msgstr ""
-#: templates/js/translated/part.js:371
+#: templates/js/translated/part.js:385
msgid "Part edited"
msgstr ""
-#: templates/js/translated/part.js:382
+#: templates/js/translated/part.js:396
msgid "Create Part Variant"
msgstr ""
-#: templates/js/translated/part.js:434
+#: templates/js/translated/part.js:448
msgid "Active Part"
msgstr ""
-#: templates/js/translated/part.js:435
+#: templates/js/translated/part.js:449
msgid "Part cannot be deleted as it is currently active"
msgstr ""
-#: templates/js/translated/part.js:449
+#: templates/js/translated/part.js:463
msgid "Deleting this part cannot be reversed"
msgstr ""
-#: templates/js/translated/part.js:451
+#: templates/js/translated/part.js:465
msgid "Any stock items for this part will be deleted"
msgstr ""
-#: templates/js/translated/part.js:452
+#: templates/js/translated/part.js:466
msgid "This part will be removed from any Bills of Material"
msgstr ""
-#: templates/js/translated/part.js:453
+#: templates/js/translated/part.js:467
msgid "All manufacturer and supplier information for this part will be deleted"
msgstr ""
-#: templates/js/translated/part.js:460
+#: templates/js/translated/part.js:474
msgid "Delete Part"
msgstr ""
-#: templates/js/translated/part.js:496
+#: templates/js/translated/part.js:510
msgid "You are subscribed to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:498
+#: templates/js/translated/part.js:512
msgid "You have subscribed to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:503
+#: templates/js/translated/part.js:517
msgid "Subscribe to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:505
+#: templates/js/translated/part.js:519
msgid "You have unsubscribed to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:522
+#: templates/js/translated/part.js:536
msgid "Validating the BOM will mark each line item as valid"
msgstr ""
-#: templates/js/translated/part.js:532
+#: templates/js/translated/part.js:546
msgid "Validate Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:535
+#: templates/js/translated/part.js:549
msgid "Validated Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:560
+#: templates/js/translated/part.js:574
msgid "Copy Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:584 templates/js/translated/part.js:1521
-#: templates/js/translated/table_filters.js:476
+#: templates/js/translated/part.js:598 templates/js/translated/part.js:1532
+#: templates/js/translated/table_filters.js:480
msgid "Low stock"
msgstr ""
-#: templates/js/translated/part.js:594
+#: templates/js/translated/part.js:608
msgid "No stock available"
msgstr ""
-#: templates/js/translated/part.js:628 templates/js/translated/part.js:713
+#: templates/js/translated/part.js:642 templates/js/translated/part.js:727
msgid "Trackable part"
msgstr ""
-#: templates/js/translated/part.js:632 templates/js/translated/part.js:717
+#: templates/js/translated/part.js:646 templates/js/translated/part.js:731
msgid "Virtual part"
msgstr ""
-#: templates/js/translated/part.js:644
+#: templates/js/translated/part.js:658
msgid "Subscribed part"
msgstr ""
-#: templates/js/translated/part.js:648
+#: templates/js/translated/part.js:662
msgid "Salable part"
msgstr ""
-#: templates/js/translated/part.js:776
+#: templates/js/translated/part.js:800
msgid "No variants found"
msgstr ""
-#: templates/js/translated/part.js:1200
+#: templates/js/translated/part.js:1221
msgid "Delete part relationship"
msgstr ""
-#: templates/js/translated/part.js:1224
+#: templates/js/translated/part.js:1245
msgid "Delete Part Relationship"
msgstr ""
-#: templates/js/translated/part.js:1291 templates/js/translated/part.js:1609
+#: templates/js/translated/part.js:1312 templates/js/translated/part.js:1633
msgid "No parts found"
msgstr ""
-#: templates/js/translated/part.js:1488
+#: templates/js/translated/part.js:1499
msgid "No category"
msgstr ""
-#: templates/js/translated/part.js:1519
+#: templates/js/translated/part.js:1530
msgid "No stock"
msgstr ""
-#: templates/js/translated/part.js:1543
+#: templates/js/translated/part.js:1554
msgid "Allocated to build orders"
msgstr ""
-#: templates/js/translated/part.js:1547
+#: templates/js/translated/part.js:1558
msgid "Allocated to sales orders"
msgstr ""
-#: templates/js/translated/part.js:1633 templates/js/translated/part.js:1876
-#: templates/js/translated/stock.js:2349
+#: templates/js/translated/part.js:1657 templates/js/translated/part.js:1900
+#: templates/js/translated/stock.js:2367
msgid "Display as list"
msgstr ""
-#: templates/js/translated/part.js:1649
+#: templates/js/translated/part.js:1673
msgid "Display as grid"
msgstr ""
-#: templates/js/translated/part.js:1715
+#: templates/js/translated/part.js:1739
msgid "Set the part category for the selected parts"
msgstr ""
-#: templates/js/translated/part.js:1720
+#: templates/js/translated/part.js:1744
msgid "Set Part Category"
msgstr ""
-#: templates/js/translated/part.js:1725
+#: templates/js/translated/part.js:1749
msgid "Select Part Category"
msgstr ""
-#: templates/js/translated/part.js:1738
+#: templates/js/translated/part.js:1762
msgid "Category is required"
msgstr ""
-#: templates/js/translated/part.js:1896 templates/js/translated/stock.js:2369
+#: templates/js/translated/part.js:1920 templates/js/translated/stock.js:2387
msgid "Display as tree"
msgstr ""
-#: templates/js/translated/part.js:1976
+#: templates/js/translated/part.js:2000
msgid "Load Subcategories"
msgstr ""
-#: templates/js/translated/part.js:1992
+#: templates/js/translated/part.js:2016
msgid "Subscribed category"
msgstr ""
-#: templates/js/translated/part.js:2056
+#: templates/js/translated/part.js:2080
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:2107 templates/js/translated/stock.js:1299
+#: templates/js/translated/part.js:2131 templates/js/translated/stock.js:1318
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:2108 templates/js/translated/stock.js:1300
-#: templates/js/translated/stock.js:1560
+#: templates/js/translated/part.js:2132 templates/js/translated/stock.js:1319
+#: templates/js/translated/stock.js:1579
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:2114
+#: templates/js/translated/part.js:2138
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:2136
+#: templates/js/translated/part.js:2160
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2150
+#: templates/js/translated/part.js:2174
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2175
-#, python-brace-format
-msgid "No ${human_name} information found"
-msgstr ""
-
-#: templates/js/translated/part.js:2232
-#, python-brace-format
-msgid "Edit ${human_name}"
-msgstr ""
-
-#: templates/js/translated/part.js:2233
-#, python-brace-format
-msgid "Delete ${human_name}"
-msgstr ""
-
-#: templates/js/translated/part.js:2398 templates/js/translated/part.js:2399
+#: templates/js/translated/part.js:2255 templates/js/translated/part.js:2256
msgid "No date specified"
msgstr ""
-#: templates/js/translated/part.js:2401
+#: templates/js/translated/part.js:2258
msgid "Specified date is in the past"
msgstr ""
-#: templates/js/translated/part.js:2407
+#: templates/js/translated/part.js:2264
msgid "Speculative"
msgstr ""
-#: templates/js/translated/part.js:2457
+#: templates/js/translated/part.js:2314
msgid "No scheduling information available for this part"
msgstr ""
-#: templates/js/translated/part.js:2463
+#: templates/js/translated/part.js:2320
msgid "Error fetching scheduling information for this part"
msgstr ""
-#: templates/js/translated/part.js:2559
+#: templates/js/translated/part.js:2416
msgid "Scheduled Stock Quantities"
msgstr ""
-#: templates/js/translated/part.js:2575
+#: templates/js/translated/part.js:2432
msgid "Maximum Quantity"
msgstr ""
-#: templates/js/translated/part.js:2620
+#: templates/js/translated/part.js:2477
msgid "Minimum Stock Level"
msgstr ""
-#: templates/js/translated/part.js:2721
-msgid "Single Price"
-msgstr ""
-
-#: templates/js/translated/part.js:2740
-msgid "Single Price Difference"
-msgstr ""
-
#: templates/js/translated/plugin.js:23
msgid "The Plugin was installed"
msgstr ""
+#: templates/js/translated/pricing.js:54
+msgid "No BOM data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:196
+msgid "No supplier pricing data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:305
+msgid "No price break data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:361
+#, python-brace-format
+msgid "Edit ${human_name}"
+msgstr ""
+
+#: templates/js/translated/pricing.js:362
+#, python-brace-format
+msgid "Delete ${human_name}"
+msgstr ""
+
+#: templates/js/translated/pricing.js:480
+msgid "No purchase history data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:502
+msgid "Purchase Price History"
+msgstr ""
+
+#: templates/js/translated/pricing.js:602
+msgid "No sales history data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:624
+msgid "Sale Price History"
+msgstr ""
+
+#: templates/js/translated/pricing.js:708
+msgid "No variant data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:748
+msgid "Variant Part"
+msgstr ""
+
#: templates/js/translated/report.js:67
msgid "items selected"
msgstr ""
@@ -9855,364 +10177,364 @@ msgstr ""
msgid "Are you sure you want to delete this stock location?"
msgstr ""
-#: templates/js/translated/stock.js:175
-msgid "Any child locations will be moved to the parent of this location"
+#: templates/js/translated/stock.js:180
+msgid "Move to parent stock location"
msgstr ""
-#: templates/js/translated/stock.js:176
-msgid "Any stock items in this location will be moved to the parent of this location"
-msgstr ""
-
-#: templates/js/translated/stock.js:182
+#: templates/js/translated/stock.js:189
msgid "Delete Stock Location"
msgstr ""
-#: templates/js/translated/stock.js:227
+#: templates/js/translated/stock.js:193
+msgid "Action for stock items in this stock location"
+msgstr ""
+
+#: templates/js/translated/stock.js:198
+msgid "Action for sub-locations"
+msgstr ""
+
+#: templates/js/translated/stock.js:246
msgid "This part cannot be serialized"
msgstr ""
-#: templates/js/translated/stock.js:266
+#: templates/js/translated/stock.js:285
msgid "Enter initial quantity for this stock item"
msgstr ""
-#: templates/js/translated/stock.js:272
+#: templates/js/translated/stock.js:291
msgid "Enter serial numbers for new stock (or leave blank)"
msgstr ""
-#: templates/js/translated/stock.js:337
+#: templates/js/translated/stock.js:356
msgid "Stock item duplicated"
msgstr ""
-#: templates/js/translated/stock.js:357
+#: templates/js/translated/stock.js:376
msgid "Duplicate Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:373
+#: templates/js/translated/stock.js:392
msgid "Are you sure you want to delete this stock item?"
msgstr ""
-#: templates/js/translated/stock.js:378
+#: templates/js/translated/stock.js:397
msgid "Delete Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:399
+#: templates/js/translated/stock.js:418
msgid "Edit Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:449
+#: templates/js/translated/stock.js:468
msgid "Created new stock item"
msgstr ""
-#: templates/js/translated/stock.js:462
+#: templates/js/translated/stock.js:481
msgid "Created multiple stock items"
msgstr ""
-#: templates/js/translated/stock.js:487
+#: templates/js/translated/stock.js:506
msgid "Find Serial Number"
msgstr ""
-#: templates/js/translated/stock.js:491 templates/js/translated/stock.js:492
+#: templates/js/translated/stock.js:510 templates/js/translated/stock.js:511
msgid "Enter serial number"
msgstr ""
-#: templates/js/translated/stock.js:508
+#: templates/js/translated/stock.js:527
msgid "Enter a serial number"
msgstr ""
-#: templates/js/translated/stock.js:528
+#: templates/js/translated/stock.js:547
msgid "No matching serial number"
msgstr ""
-#: templates/js/translated/stock.js:537
+#: templates/js/translated/stock.js:556
msgid "More than one matching result found"
msgstr ""
-#: templates/js/translated/stock.js:660
+#: templates/js/translated/stock.js:679
msgid "Confirm stock assignment"
msgstr ""
-#: templates/js/translated/stock.js:661
+#: templates/js/translated/stock.js:680
msgid "Assign Stock to Customer"
msgstr ""
-#: templates/js/translated/stock.js:738
+#: templates/js/translated/stock.js:757
msgid "Warning: Merge operation cannot be reversed"
msgstr ""
-#: templates/js/translated/stock.js:739
+#: templates/js/translated/stock.js:758
msgid "Some information will be lost when merging stock items"
msgstr ""
-#: templates/js/translated/stock.js:741
+#: templates/js/translated/stock.js:760
msgid "Stock transaction history will be deleted for merged items"
msgstr ""
-#: templates/js/translated/stock.js:742
+#: templates/js/translated/stock.js:761
msgid "Supplier part information will be deleted for merged items"
msgstr ""
-#: templates/js/translated/stock.js:828
+#: templates/js/translated/stock.js:847
msgid "Confirm stock item merge"
msgstr ""
-#: templates/js/translated/stock.js:829
+#: templates/js/translated/stock.js:848
msgid "Merge Stock Items"
msgstr ""
-#: templates/js/translated/stock.js:924
+#: templates/js/translated/stock.js:943
msgid "Transfer Stock"
msgstr ""
-#: templates/js/translated/stock.js:925
+#: templates/js/translated/stock.js:944
msgid "Move"
msgstr ""
-#: templates/js/translated/stock.js:931
+#: templates/js/translated/stock.js:950
msgid "Count Stock"
msgstr ""
-#: templates/js/translated/stock.js:932
+#: templates/js/translated/stock.js:951
msgid "Count"
msgstr ""
-#: templates/js/translated/stock.js:936
+#: templates/js/translated/stock.js:955
msgid "Remove Stock"
msgstr ""
-#: templates/js/translated/stock.js:937
+#: templates/js/translated/stock.js:956
msgid "Take"
msgstr ""
-#: templates/js/translated/stock.js:941
+#: templates/js/translated/stock.js:960
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:942 users/models.py:218
+#: templates/js/translated/stock.js:961 users/models.py:220
msgid "Add"
msgstr ""
-#: templates/js/translated/stock.js:946
+#: templates/js/translated/stock.js:965
msgid "Delete Stock"
msgstr ""
-#: templates/js/translated/stock.js:1039
+#: templates/js/translated/stock.js:1058
msgid "Quantity cannot be adjusted for serialized stock"
msgstr ""
-#: templates/js/translated/stock.js:1039
+#: templates/js/translated/stock.js:1058
msgid "Specify stock quantity"
msgstr ""
-#: templates/js/translated/stock.js:1079
+#: templates/js/translated/stock.js:1098
msgid "You must select at least one available stock item"
msgstr ""
-#: templates/js/translated/stock.js:1102
+#: templates/js/translated/stock.js:1121
msgid "Confirm stock adjustment"
msgstr ""
-#: templates/js/translated/stock.js:1238
+#: templates/js/translated/stock.js:1257
msgid "PASS"
msgstr ""
-#: templates/js/translated/stock.js:1240
+#: templates/js/translated/stock.js:1259
msgid "FAIL"
msgstr ""
-#: templates/js/translated/stock.js:1245
+#: templates/js/translated/stock.js:1264
msgid "NO RESULT"
msgstr ""
-#: templates/js/translated/stock.js:1292
+#: templates/js/translated/stock.js:1311
msgid "Pass test"
msgstr ""
-#: templates/js/translated/stock.js:1295
+#: templates/js/translated/stock.js:1314
msgid "Add test result"
msgstr ""
-#: templates/js/translated/stock.js:1321
+#: templates/js/translated/stock.js:1340
msgid "No test results found"
msgstr ""
-#: templates/js/translated/stock.js:1378
+#: templates/js/translated/stock.js:1397
msgid "Test Date"
msgstr ""
-#: templates/js/translated/stock.js:1543
+#: templates/js/translated/stock.js:1562
msgid "Edit Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1565
+#: templates/js/translated/stock.js:1584
msgid "Delete Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1594
+#: templates/js/translated/stock.js:1613
msgid "In production"
msgstr ""
-#: templates/js/translated/stock.js:1598
+#: templates/js/translated/stock.js:1617
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:1606
+#: templates/js/translated/stock.js:1625
msgid "Assigned to Sales Order"
msgstr ""
-#: templates/js/translated/stock.js:1612
+#: templates/js/translated/stock.js:1631
msgid "No stock location set"
msgstr ""
-#: templates/js/translated/stock.js:1781
+#: templates/js/translated/stock.js:1800
msgid "Stock item is in production"
msgstr ""
-#: templates/js/translated/stock.js:1786
+#: templates/js/translated/stock.js:1805
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/translated/stock.js:1789
+#: templates/js/translated/stock.js:1808
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/translated/stock.js:1792
+#: templates/js/translated/stock.js:1811
msgid "Serialized stock item has been allocated"
msgstr ""
-#: templates/js/translated/stock.js:1794
+#: templates/js/translated/stock.js:1813
msgid "Stock item has been fully allocated"
msgstr ""
-#: templates/js/translated/stock.js:1796
+#: templates/js/translated/stock.js:1815
msgid "Stock item has been partially allocated"
msgstr ""
-#: templates/js/translated/stock.js:1799
+#: templates/js/translated/stock.js:1818
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:1803
+#: templates/js/translated/stock.js:1822
msgid "Stock item has expired"
msgstr ""
-#: templates/js/translated/stock.js:1805
+#: templates/js/translated/stock.js:1824
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/translated/stock.js:1812
+#: templates/js/translated/stock.js:1831
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/translated/stock.js:1814
+#: templates/js/translated/stock.js:1833
msgid "Stock item is lost"
msgstr ""
-#: templates/js/translated/stock.js:1816
+#: templates/js/translated/stock.js:1835
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/translated/stock.js:1820
-#: templates/js/translated/table_filters.js:204
+#: templates/js/translated/stock.js:1839
+#: templates/js/translated/table_filters.js:208
msgid "Depleted"
msgstr ""
-#: templates/js/translated/stock.js:1871
-msgid "Stocktake"
-msgstr ""
-
-#: templates/js/translated/stock.js:1950
+#: templates/js/translated/stock.js:1969
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/translated/stock.js:1988
+#: templates/js/translated/stock.js:2006
msgid "No stock items matching query"
msgstr ""
-#: templates/js/translated/stock.js:2161
+#: templates/js/translated/stock.js:2179
msgid "Set Stock Status"
msgstr ""
-#: templates/js/translated/stock.js:2175
+#: templates/js/translated/stock.js:2193
msgid "Select Status Code"
msgstr ""
-#: templates/js/translated/stock.js:2176
+#: templates/js/translated/stock.js:2194
msgid "Status code must be selected"
msgstr ""
-#: templates/js/translated/stock.js:2408
+#: templates/js/translated/stock.js:2426
msgid "Load Subloactions"
msgstr ""
-#: templates/js/translated/stock.js:2503
+#: templates/js/translated/stock.js:2521
msgid "Details"
msgstr ""
-#: templates/js/translated/stock.js:2519
+#: templates/js/translated/stock.js:2537
msgid "Part information unavailable"
msgstr ""
-#: templates/js/translated/stock.js:2541
+#: templates/js/translated/stock.js:2559
msgid "Location no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2560
+#: templates/js/translated/stock.js:2578
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2579
+#: templates/js/translated/stock.js:2597
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2597
+#: templates/js/translated/stock.js:2615
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2620
+#: templates/js/translated/stock.js:2638
msgid "Added"
msgstr ""
-#: templates/js/translated/stock.js:2628
+#: templates/js/translated/stock.js:2646
msgid "Removed"
msgstr ""
-#: templates/js/translated/stock.js:2704
+#: templates/js/translated/stock.js:2722
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:2755 templates/js/translated/stock.js:2791
+#: templates/js/translated/stock.js:2773 templates/js/translated/stock.js:2809
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2804
+#: templates/js/translated/stock.js:2822
msgid "Select stock item to uninstall"
msgstr ""
-#: templates/js/translated/stock.js:2825
+#: templates/js/translated/stock.js:2843
msgid "Install another stock item into this item"
msgstr ""
-#: templates/js/translated/stock.js:2826
+#: templates/js/translated/stock.js:2844
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: templates/js/translated/stock.js:2828
+#: templates/js/translated/stock.js:2846
msgid "The Stock Item links to a Part which is the BOM for this Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2829
+#: templates/js/translated/stock.js:2847
msgid "The Stock Item is currently available in stock"
msgstr ""
-#: templates/js/translated/stock.js:2830
+#: templates/js/translated/stock.js:2848
msgid "The Stock Item is not already installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:2831
+#: templates/js/translated/stock.js:2849
msgid "The Stock Item is tracked by either a batch code or serial number"
msgstr ""
-#: templates/js/translated/stock.js:2844
+#: templates/js/translated/stock.js:2862
msgid "Select part to install"
msgstr ""
@@ -10236,215 +10558,220 @@ msgstr ""
msgid "Allow Variant Stock"
msgstr ""
-#: templates/js/translated/table_filters.js:126
-#: templates/js/translated/table_filters.js:199
+#: templates/js/translated/table_filters.js:92
+#: templates/js/translated/table_filters.js:508
+msgid "Has Pricing"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:130
+#: templates/js/translated/table_filters.js:203
msgid "Include sublocations"
msgstr ""
-#: templates/js/translated/table_filters.js:127
+#: templates/js/translated/table_filters.js:131
msgid "Include locations"
msgstr ""
-#: templates/js/translated/table_filters.js:137
-#: templates/js/translated/table_filters.js:138
-#: templates/js/translated/table_filters.js:445
+#: templates/js/translated/table_filters.js:141
+#: templates/js/translated/table_filters.js:142
+#: templates/js/translated/table_filters.js:449
msgid "Include subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:142
-#: templates/js/translated/table_filters.js:488
+#: templates/js/translated/table_filters.js:146
+#: templates/js/translated/table_filters.js:492
msgid "Subscribed"
msgstr ""
-#: templates/js/translated/table_filters.js:152
-#: templates/js/translated/table_filters.js:234
-msgid "Is Serialized"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:155
-#: templates/js/translated/table_filters.js:241
-msgid "Serial number GTE"
-msgstr ""
-
#: templates/js/translated/table_filters.js:156
-#: templates/js/translated/table_filters.js:242
-msgid "Serial number greater than or equal to"
+#: templates/js/translated/table_filters.js:238
+msgid "Is Serialized"
msgstr ""
#: templates/js/translated/table_filters.js:159
#: templates/js/translated/table_filters.js:245
-msgid "Serial number LTE"
+msgid "Serial number GTE"
msgstr ""
#: templates/js/translated/table_filters.js:160
#: templates/js/translated/table_filters.js:246
-msgid "Serial number less than or equal to"
+msgid "Serial number greater than or equal to"
msgstr ""
#: templates/js/translated/table_filters.js:163
+#: templates/js/translated/table_filters.js:249
+msgid "Serial number LTE"
+msgstr ""
+
#: templates/js/translated/table_filters.js:164
-#: templates/js/translated/table_filters.js:237
-#: templates/js/translated/table_filters.js:238
+#: templates/js/translated/table_filters.js:250
+msgid "Serial number less than or equal to"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:167
+#: templates/js/translated/table_filters.js:168
+#: templates/js/translated/table_filters.js:241
+#: templates/js/translated/table_filters.js:242
msgid "Serial number"
msgstr ""
-#: templates/js/translated/table_filters.js:168
-#: templates/js/translated/table_filters.js:259
+#: templates/js/translated/table_filters.js:172
+#: templates/js/translated/table_filters.js:263
msgid "Batch code"
msgstr ""
-#: templates/js/translated/table_filters.js:179
-#: templates/js/translated/table_filters.js:417
+#: templates/js/translated/table_filters.js:183
+#: templates/js/translated/table_filters.js:421
msgid "Active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:180
+#: templates/js/translated/table_filters.js:184
msgid "Show stock for active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:185
+#: templates/js/translated/table_filters.js:189
msgid "Part is an assembly"
msgstr ""
-#: templates/js/translated/table_filters.js:189
+#: templates/js/translated/table_filters.js:193
msgid "Is allocated"
msgstr ""
-#: templates/js/translated/table_filters.js:190
+#: templates/js/translated/table_filters.js:194
msgid "Item has been allocated"
msgstr ""
-#: templates/js/translated/table_filters.js:195
+#: templates/js/translated/table_filters.js:199
msgid "Stock is available for use"
msgstr ""
-#: templates/js/translated/table_filters.js:200
+#: templates/js/translated/table_filters.js:204
msgid "Include stock in sublocations"
msgstr ""
-#: templates/js/translated/table_filters.js:205
+#: templates/js/translated/table_filters.js:209
msgid "Show stock items which are depleted"
msgstr ""
-#: templates/js/translated/table_filters.js:210
+#: templates/js/translated/table_filters.js:214
msgid "Show items which are in stock"
msgstr ""
-#: templates/js/translated/table_filters.js:214
+#: templates/js/translated/table_filters.js:218
msgid "In Production"
msgstr ""
-#: templates/js/translated/table_filters.js:215
+#: templates/js/translated/table_filters.js:219
msgid "Show items which are in production"
msgstr ""
-#: templates/js/translated/table_filters.js:219
+#: templates/js/translated/table_filters.js:223
msgid "Include Variants"
msgstr ""
-#: templates/js/translated/table_filters.js:220
+#: templates/js/translated/table_filters.js:224
msgid "Include stock items for variant parts"
msgstr ""
-#: templates/js/translated/table_filters.js:224
+#: templates/js/translated/table_filters.js:228
msgid "Installed"
msgstr ""
-#: templates/js/translated/table_filters.js:225
+#: templates/js/translated/table_filters.js:229
msgid "Show stock items which are installed in another item"
msgstr ""
-#: templates/js/translated/table_filters.js:230
+#: templates/js/translated/table_filters.js:234
msgid "Show items which have been assigned to a customer"
msgstr ""
-#: templates/js/translated/table_filters.js:250
-#: templates/js/translated/table_filters.js:251
+#: templates/js/translated/table_filters.js:254
+#: templates/js/translated/table_filters.js:255
msgid "Stock status"
msgstr ""
-#: templates/js/translated/table_filters.js:254
+#: templates/js/translated/table_filters.js:258
msgid "Has batch code"
msgstr ""
-#: templates/js/translated/table_filters.js:262
+#: templates/js/translated/table_filters.js:266
msgid "Tracked"
msgstr ""
-#: templates/js/translated/table_filters.js:263
+#: templates/js/translated/table_filters.js:267
msgid "Stock item is tracked by either batch code or serial number"
msgstr ""
-#: templates/js/translated/table_filters.js:268
+#: templates/js/translated/table_filters.js:272
msgid "Has purchase price"
msgstr ""
-#: templates/js/translated/table_filters.js:269
+#: templates/js/translated/table_filters.js:273
msgid "Show stock items which have a purchase price set"
msgstr ""
-#: templates/js/translated/table_filters.js:278
+#: templates/js/translated/table_filters.js:282
msgid "Show stock items which have expired"
msgstr ""
-#: templates/js/translated/table_filters.js:284
+#: templates/js/translated/table_filters.js:288
msgid "Show stock which is close to expiring"
msgstr ""
-#: templates/js/translated/table_filters.js:296
+#: templates/js/translated/table_filters.js:300
msgid "Test Passed"
msgstr ""
-#: templates/js/translated/table_filters.js:300
+#: templates/js/translated/table_filters.js:304
msgid "Include Installed Items"
msgstr ""
-#: templates/js/translated/table_filters.js:319
+#: templates/js/translated/table_filters.js:323
msgid "Build status"
msgstr ""
-#: templates/js/translated/table_filters.js:332
-#: templates/js/translated/table_filters.js:373
+#: templates/js/translated/table_filters.js:336
+#: templates/js/translated/table_filters.js:377
msgid "Assigned to me"
msgstr ""
-#: templates/js/translated/table_filters.js:349
-#: templates/js/translated/table_filters.js:360
-#: templates/js/translated/table_filters.js:390
+#: templates/js/translated/table_filters.js:353
+#: templates/js/translated/table_filters.js:364
+#: templates/js/translated/table_filters.js:394
msgid "Order status"
msgstr ""
-#: templates/js/translated/table_filters.js:365
-#: templates/js/translated/table_filters.js:382
-#: templates/js/translated/table_filters.js:395
+#: templates/js/translated/table_filters.js:369
+#: templates/js/translated/table_filters.js:386
+#: templates/js/translated/table_filters.js:399
msgid "Outstanding"
msgstr ""
-#: templates/js/translated/table_filters.js:446
+#: templates/js/translated/table_filters.js:450
msgid "Include parts in subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:451
+#: templates/js/translated/table_filters.js:455
msgid "Show active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:459
+#: templates/js/translated/table_filters.js:463
msgid "Available stock"
msgstr ""
-#: templates/js/translated/table_filters.js:467
+#: templates/js/translated/table_filters.js:471
msgid "Has IPN"
msgstr ""
-#: templates/js/translated/table_filters.js:468
+#: templates/js/translated/table_filters.js:472
msgid "Part has internal part number"
msgstr ""
-#: templates/js/translated/table_filters.js:472
+#: templates/js/translated/table_filters.js:476
msgid "In stock"
msgstr ""
-#: templates/js/translated/table_filters.js:480
+#: templates/js/translated/table_filters.js:484
msgid "Purchasable"
msgstr ""
@@ -10554,6 +10881,10 @@ msgstr ""
msgid "Show all notifications and history"
msgstr ""
+#: templates/price_data.html:7
+msgid "No data"
+msgstr ""
+
#: templates/qr_code.html:11
msgid "QR data not provided"
msgstr ""
@@ -10738,35 +11069,35 @@ msgstr ""
msgid "Important dates"
msgstr ""
-#: users/models.py:205
+#: users/models.py:207
msgid "Permission set"
msgstr ""
-#: users/models.py:213
+#: users/models.py:215
msgid "Group"
msgstr ""
-#: users/models.py:216
+#: users/models.py:218
msgid "View"
msgstr ""
-#: users/models.py:216
+#: users/models.py:218
msgid "Permission to view items"
msgstr ""
-#: users/models.py:218
+#: users/models.py:220
msgid "Permission to add items"
msgstr ""
-#: users/models.py:220
+#: users/models.py:222
msgid "Change"
msgstr ""
-#: users/models.py:220
+#: users/models.py:222
msgid "Permissions to edit items"
msgstr ""
-#: users/models.py:222
+#: users/models.py:224
msgid "Permission to delete items"
msgstr ""
diff --git a/InvenTree/locale/es_MX/LC_MESSAGES/django.po b/InvenTree/locale/es_MX/LC_MESSAGES/django.po
index 705be13374..d44b8bfdbf 100644
--- a/InvenTree/locale/es_MX/LC_MESSAGES/django.po
+++ b/InvenTree/locale/es_MX/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-11-03 11:22+0000\n"
+"POT-Creation-Date: 2022-11-07 02:58+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
@@ -43,9 +43,9 @@ msgstr ""
#: stock/templates/stock/stock_sidebar.html:25
#: templates/js/translated/barcode.js:108 templates/js/translated/bom.js:1146
#: templates/js/translated/company.js:1022
-#: templates/js/translated/order.js:2404 templates/js/translated/order.js:2552
-#: templates/js/translated/order.js:3048 templates/js/translated/order.js:3999
-#: templates/js/translated/order.js:4394 templates/js/translated/stock.js:1374
+#: templates/js/translated/order.js:2409 templates/js/translated/order.js:2561
+#: templates/js/translated/order.js:3059 templates/js/translated/order.js:4014
+#: templates/js/translated/order.js:4413 templates/js/translated/stock.js:1374
#: templates/js/translated/stock.js:1982
msgid "Notes"
msgstr ""
@@ -211,7 +211,7 @@ msgstr ""
#: report/templates/report/inventree_build_order_base.html:164
#: templates/js/translated/company.js:691
#: templates/js/translated/company.js:1011
-#: templates/js/translated/order.js:3037 templates/js/translated/part.js:1569
+#: templates/js/translated/order.js:3048 templates/js/translated/part.js:1569
msgid "Link"
msgstr ""
@@ -229,10 +229,10 @@ msgstr ""
msgid "File comment"
msgstr ""
-#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1744
-#: common/models.py:1745 common/models.py:1968 common/models.py:1969
-#: common/models.py:2231 common/models.py:2232 part/models.py:2254
-#: part/models.py:2274 plugin/models.py:260 plugin/models.py:261
+#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1758
+#: common/models.py:1759 common/models.py:1982 common/models.py:1983
+#: common/models.py:2245 common/models.py:2246 part/models.py:2254
+#: part/models.py:2274 plugin/models.py:264 plugin/models.py:265
#: report/templates/report/inventree_test_report_base.html:96
#: templates/js/translated/stock.js:2651
msgid "User"
@@ -271,14 +271,14 @@ msgstr ""
msgid "Invalid choice"
msgstr ""
-#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1954
+#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1968
#: company/models.py:359 label/models.py:101 part/models.py:760
#: part/models.py:2429 plugin/models.py:94 report/models.py:152
#: templates/InvenTree/settings/mixins/urls.html:13
-#: templates/InvenTree/settings/plugin.html:51
-#: templates/InvenTree/settings/plugin.html:134
+#: templates/InvenTree/settings/plugin.html:60
+#: templates/InvenTree/settings/plugin.html:104
#: templates/InvenTree/settings/plugin_settings.html:23
-#: templates/InvenTree/settings/settings.html:347
+#: templates/InvenTree/settings/settings.html:344
#: templates/js/translated/company.js:580
#: templates/js/translated/company.js:793
#: templates/js/translated/notification.js:71
@@ -298,13 +298,13 @@ msgstr ""
#: report/models.py:507 report/models.py:551
#: report/templates/report/inventree_build_order_base.html:117
#: stock/templates/stock/location.html:117
-#: templates/InvenTree/settings/plugin_settings.html:33
-#: templates/InvenTree/settings/settings.html:358
+#: templates/InvenTree/settings/plugin_settings.html:28
+#: templates/InvenTree/settings/settings.html:355
#: templates/js/translated/bom.js:579 templates/js/translated/bom.js:887
#: templates/js/translated/build.js:2580 templates/js/translated/company.js:444
#: templates/js/translated/company.js:702
#: templates/js/translated/company.js:986 templates/js/translated/order.js:1988
-#: templates/js/translated/order.js:2220 templates/js/translated/order.js:2826
+#: templates/js/translated/order.js:2225 templates/js/translated/order.js:2837
#: templates/js/translated/part.js:745 templates/js/translated/part.js:1187
#: templates/js/translated/part.js:1464 templates/js/translated/part.js:2000
#: templates/js/translated/part.js:2075 templates/js/translated/stock.js:1748
@@ -563,7 +563,7 @@ msgid "Returned"
msgstr ""
#: InvenTree/status_codes.py:141 order/models.py:1142
-#: templates/js/translated/order.js:3625 templates/js/translated/order.js:3974
+#: templates/js/translated/order.js:3636 templates/js/translated/order.js:3989
msgid "Shipped"
msgstr ""
@@ -747,7 +747,7 @@ msgstr ""
#: build/models.py:111 build/templates/build/build_base.html:13
#: build/templates/build/index.html:8 build/templates/build/index.html:12
-#: order/templates/order/sales_order_detail.html:120
+#: order/templates/order/sales_order_detail.html:125
#: order/templates/order/so_sidebar.html:13
#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221
#: templates/InvenTree/search.html:141
@@ -766,9 +766,9 @@ msgstr ""
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:92
#: templates/js/translated/bom.js:716 templates/js/translated/bom.js:897
-#: templates/js/translated/build.js:1843 templates/js/translated/order.js:2251
-#: templates/js/translated/order.js:2481 templates/js/translated/order.js:3818
-#: templates/js/translated/order.js:4323
+#: templates/js/translated/build.js:1843 templates/js/translated/order.js:2256
+#: templates/js/translated/order.js:2490 templates/js/translated/order.js:3833
+#: templates/js/translated/order.js:4342
msgid "Reference"
msgstr ""
@@ -812,8 +812,8 @@ msgstr ""
#: templates/js/translated/company.js:643
#: templates/js/translated/company.js:904 templates/js/translated/order.js:106
#: templates/js/translated/order.js:1134 templates/js/translated/order.js:1638
-#: templates/js/translated/order.js:2205 templates/js/translated/order.js:3180
-#: templates/js/translated/order.js:3576 templates/js/translated/order.js:3802
+#: templates/js/translated/order.js:2210 templates/js/translated/order.js:3191
+#: templates/js/translated/order.js:3587 templates/js/translated/order.js:3817
#: templates/js/translated/part.js:1172 templates/js/translated/part.js:1244
#: templates/js/translated/part.js:1442 templates/js/translated/stock.js:586
#: templates/js/translated/stock.js:751 templates/js/translated/stock.js:958
@@ -835,7 +835,7 @@ msgid "SalesOrder to which this build is allocated"
msgstr ""
#: build/models.py:202 build/serializers.py:822
-#: templates/js/translated/build.js:2182 templates/js/translated/order.js:3168
+#: templates/js/translated/build.js:2182 templates/js/translated/order.js:3179
msgid "Source Location"
msgstr ""
@@ -885,7 +885,7 @@ msgid "Batch code for this build output"
msgstr ""
#: build/models.py:252 order/models.py:86 part/models.py:952
-#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2839
+#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2850
msgid "Creation Date"
msgstr ""
@@ -1002,9 +1002,9 @@ msgstr ""
#: stock/templates/stock/item_base.html:197
#: templates/js/translated/build.js:790 templates/js/translated/build.js:795
#: templates/js/translated/build.js:2196 templates/js/translated/build.js:2747
-#: templates/js/translated/order.js:107 templates/js/translated/order.js:3181
-#: templates/js/translated/order.js:3483 templates/js/translated/order.js:3488
-#: templates/js/translated/order.js:3583 templates/js/translated/order.js:3675
+#: templates/js/translated/order.js:107 templates/js/translated/order.js:3192
+#: templates/js/translated/order.js:3494 templates/js/translated/order.js:3499
+#: templates/js/translated/order.js:3594 templates/js/translated/order.js:3686
#: templates/js/translated/stock.js:587 templates/js/translated/stock.js:752
#: templates/js/translated/stock.js:2587
msgid "Stock Item"
@@ -1016,7 +1016,7 @@ msgstr ""
#: build/models.py:1359 build/serializers.py:192
#: build/templates/build/build_base.html:85
-#: build/templates/build/detail.html:34 common/models.py:1776
+#: build/templates/build/detail.html:34 common/models.py:1790
#: company/templates/company/supplier_part.html:341 order/models.py:911
#: order/models.py:1437 order/serializers.py:1213
#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:40
@@ -1039,10 +1039,10 @@ msgstr ""
#: templates/js/translated/build.js:2197
#: templates/js/translated/model_renderers.js:120
#: templates/js/translated/order.js:123 templates/js/translated/order.js:1137
-#: templates/js/translated/order.js:2257 templates/js/translated/order.js:2487
-#: templates/js/translated/order.js:3182 templates/js/translated/order.js:3502
-#: templates/js/translated/order.js:3589 templates/js/translated/order.js:3681
-#: templates/js/translated/order.js:3824 templates/js/translated/order.js:4329
+#: templates/js/translated/order.js:2262 templates/js/translated/order.js:2496
+#: templates/js/translated/order.js:3193 templates/js/translated/order.js:3513
+#: templates/js/translated/order.js:3600 templates/js/translated/order.js:3692
+#: templates/js/translated/order.js:3839 templates/js/translated/order.js:4348
#: templates/js/translated/part.js:1036 templates/js/translated/part.js:2220
#: templates/js/translated/part.js:2689 templates/js/translated/part.js:2730
#: templates/js/translated/part.js:2808 templates/js/translated/stock.js:458
@@ -1136,8 +1136,8 @@ msgstr ""
#: templates/js/translated/barcode.js:480
#: templates/js/translated/barcode.js:724 templates/js/translated/build.js:802
#: templates/js/translated/build.js:1749 templates/js/translated/order.js:1534
-#: templates/js/translated/order.js:3495 templates/js/translated/order.js:3600
-#: templates/js/translated/order.js:3608 templates/js/translated/order.js:3689
+#: templates/js/translated/order.js:3506 templates/js/translated/order.js:3611
+#: templates/js/translated/order.js:3619 templates/js/translated/order.js:3700
#: templates/js/translated/part.js:181 templates/js/translated/stock.js:588
#: templates/js/translated/stock.js:753 templates/js/translated/stock.js:960
#: templates/js/translated/stock.js:1856 templates/js/translated/stock.js:2528
@@ -1153,7 +1153,7 @@ msgstr ""
#: order/serializers.py:482 stock/templates/stock/item_base.html:421
#: templates/js/translated/barcode.js:214 templates/js/translated/build.js:2614
#: templates/js/translated/order.js:1643 templates/js/translated/order.js:1992
-#: templates/js/translated/order.js:2831 templates/js/translated/stock.js:1831
+#: templates/js/translated/order.js:2842 templates/js/translated/stock.js:1831
#: templates/js/translated/stock.js:2605 templates/js/translated/stock.js:2737
msgid "Status"
msgstr ""
@@ -1388,8 +1388,8 @@ msgstr ""
#: order/templates/order/sales_order_base.html:164
#: report/templates/report/inventree_build_order_base.html:125
#: templates/js/translated/build.js:2654 templates/js/translated/order.js:2009
-#: templates/js/translated/order.js:2351 templates/js/translated/order.js:2847
-#: templates/js/translated/order.js:3887 templates/js/translated/part.js:1051
+#: templates/js/translated/order.js:2356 templates/js/translated/order.js:2858
+#: templates/js/translated/order.js:3902 templates/js/translated/part.js:1051
msgid "Target Date"
msgstr ""
@@ -1424,7 +1424,7 @@ msgstr ""
#: report/templates/report/inventree_so_report.html:77
#: stock/templates/stock/item_base.html:368
#: templates/email/overdue_sales_order.html:15
-#: templates/js/translated/order.js:2793
+#: templates/js/translated/order.js:2804
msgid "Sales Order"
msgstr ""
@@ -1451,7 +1451,7 @@ msgid "Stock can be taken from any available location."
msgstr ""
#: build/templates/build/detail.html:49 order/models.py:1037
-#: templates/js/translated/order.js:1644 templates/js/translated/order.js:2393
+#: templates/js/translated/order.js:1644 templates/js/translated/order.js:2398
msgid "Destination"
msgstr ""
@@ -1598,8 +1598,8 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:151
#: company/templates/company/manufacturer_part_sidebar.html:9
#: order/templates/order/po_sidebar.html:9
-#: order/templates/order/purchase_order_detail.html:82
-#: order/templates/order/sales_order_detail.html:135
+#: order/templates/order/purchase_order_detail.html:86
+#: order/templates/order/sales_order_detail.html:140
#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:212
#: part/templates/part/part_sidebar.html:57 stock/templates/stock/item.html:117
#: stock/templates/stock/stock_sidebar.html:23
@@ -2200,500 +2200,516 @@ msgid "Enable creation of default shipment with sales orders"
msgstr ""
#: common/models.py:1263
-msgid "Purchase Order Reference Pattern"
+msgid "Edit Completed Sales Orders"
msgstr ""
#: common/models.py:1264
-msgid "Required pattern for generating Purchase Order reference field"
+msgid "Allow editing of sales orders after they have been shipped or completed"
+msgstr ""
+
+#: common/models.py:1270
+msgid "Purchase Order Reference Pattern"
msgstr ""
#: common/models.py:1271
-msgid "Enable password forgot"
+msgid "Required pattern for generating Purchase Order reference field"
msgstr ""
-#: common/models.py:1272
-msgid "Enable password forgot function on the login pages"
+#: common/models.py:1277
+msgid "Edit Completed Purchase Orders"
msgstr ""
#: common/models.py:1278
-msgid "Enable registration"
-msgstr ""
-
-#: common/models.py:1279
-msgid "Enable self-registration for users on the login pages"
+msgid "Allow editing of purchase orders after they have been shipped or completed"
msgstr ""
#: common/models.py:1285
-msgid "Enable SSO"
+msgid "Enable password forgot"
msgstr ""
#: common/models.py:1286
-msgid "Enable SSO on the login pages"
+msgid "Enable password forgot function on the login pages"
msgstr ""
#: common/models.py:1292
-msgid "Email required"
+msgid "Enable registration"
msgstr ""
#: common/models.py:1293
-msgid "Require user to supply mail on signup"
+msgid "Enable self-registration for users on the login pages"
msgstr ""
#: common/models.py:1299
-msgid "Auto-fill SSO users"
+msgid "Enable SSO"
msgstr ""
#: common/models.py:1300
-msgid "Automatically fill out user-details from SSO account-data"
+msgid "Enable SSO on the login pages"
msgstr ""
#: common/models.py:1306
-msgid "Mail twice"
+msgid "Email required"
msgstr ""
#: common/models.py:1307
-msgid "On signup ask users twice for their mail"
+msgid "Require user to supply mail on signup"
msgstr ""
#: common/models.py:1313
-msgid "Password twice"
+msgid "Auto-fill SSO users"
msgstr ""
#: common/models.py:1314
-msgid "On signup ask users twice for their password"
+msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
#: common/models.py:1320
-msgid "Group on signup"
+msgid "Mail twice"
msgstr ""
#: common/models.py:1321
-msgid "Group to which new users are assigned on registration"
+msgid "On signup ask users twice for their mail"
msgstr ""
#: common/models.py:1327
-msgid "Enforce MFA"
+msgid "Password twice"
msgstr ""
#: common/models.py:1328
-msgid "Users must use multifactor security."
+msgid "On signup ask users twice for their password"
msgstr ""
#: common/models.py:1334
-msgid "Check plugins on startup"
+msgid "Group on signup"
msgstr ""
#: common/models.py:1335
-msgid "Check that all plugins are installed on startup - enable in container enviroments"
+msgid "Group to which new users are assigned on registration"
+msgstr ""
+
+#: common/models.py:1341
+msgid "Enforce MFA"
msgstr ""
#: common/models.py:1342
+msgid "Users must use multifactor security."
+msgstr ""
+
+#: common/models.py:1348
+msgid "Check plugins on startup"
+msgstr ""
+
+#: common/models.py:1349
+msgid "Check that all plugins are installed on startup - enable in container environments"
+msgstr ""
+
+#: common/models.py:1356
msgid "Check plugin signatures"
msgstr ""
-#: common/models.py:1343
+#: common/models.py:1357
msgid "Check and show signatures for plugins"
msgstr ""
-#: common/models.py:1350
+#: common/models.py:1364
msgid "Enable URL integration"
msgstr ""
-#: common/models.py:1351
+#: common/models.py:1365
msgid "Enable plugins to add URL routes"
msgstr ""
-#: common/models.py:1358
+#: common/models.py:1372
msgid "Enable navigation integration"
msgstr ""
-#: common/models.py:1359
+#: common/models.py:1373
msgid "Enable plugins to integrate into navigation"
msgstr ""
-#: common/models.py:1366
+#: common/models.py:1380
msgid "Enable app integration"
msgstr ""
-#: common/models.py:1367
+#: common/models.py:1381
msgid "Enable plugins to add apps"
msgstr ""
-#: common/models.py:1374
+#: common/models.py:1388
msgid "Enable schedule integration"
msgstr ""
-#: common/models.py:1375
+#: common/models.py:1389
msgid "Enable plugins to run scheduled tasks"
msgstr ""
-#: common/models.py:1382
+#: common/models.py:1396
msgid "Enable event integration"
msgstr ""
-#: common/models.py:1383
+#: common/models.py:1397
msgid "Enable plugins to respond to internal events"
msgstr ""
-#: common/models.py:1402 common/models.py:1737
+#: common/models.py:1416 common/models.py:1751
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:1424
+#: common/models.py:1438
msgid "Show subscribed parts"
msgstr ""
-#: common/models.py:1425
+#: common/models.py:1439
msgid "Show subscribed parts on the homepage"
msgstr ""
-#: common/models.py:1431
+#: common/models.py:1445
msgid "Show subscribed categories"
msgstr ""
-#: common/models.py:1432
+#: common/models.py:1446
msgid "Show subscribed part categories on the homepage"
msgstr ""
-#: common/models.py:1438
+#: common/models.py:1452
msgid "Show latest parts"
msgstr ""
-#: common/models.py:1439
+#: common/models.py:1453
msgid "Show latest parts on the homepage"
msgstr ""
-#: common/models.py:1445
+#: common/models.py:1459
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:1446
+#: common/models.py:1460
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:1452
+#: common/models.py:1466
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:1453
+#: common/models.py:1467
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:1459
+#: common/models.py:1473
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:1460
+#: common/models.py:1474
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:1466
+#: common/models.py:1480
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:1467
+#: common/models.py:1481
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:1473
+#: common/models.py:1487
msgid "Show low stock"
msgstr ""
-#: common/models.py:1474
+#: common/models.py:1488
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:1480
+#: common/models.py:1494
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:1481
+#: common/models.py:1495
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:1487
+#: common/models.py:1501
msgid "Show needed stock"
msgstr ""
-#: common/models.py:1488
+#: common/models.py:1502
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:1494
+#: common/models.py:1508
msgid "Show expired stock"
msgstr ""
-#: common/models.py:1495
+#: common/models.py:1509
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:1501
+#: common/models.py:1515
msgid "Show stale stock"
msgstr ""
-#: common/models.py:1502
+#: common/models.py:1516
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:1508
+#: common/models.py:1522
msgid "Show pending builds"
msgstr ""
-#: common/models.py:1509
+#: common/models.py:1523
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:1515
+#: common/models.py:1529
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:1516
+#: common/models.py:1530
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:1522
+#: common/models.py:1536
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:1523
+#: common/models.py:1537
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:1529
+#: common/models.py:1543
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:1530
+#: common/models.py:1544
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:1536
+#: common/models.py:1550
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:1537
+#: common/models.py:1551
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:1543
+#: common/models.py:1557
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:1544
+#: common/models.py:1558
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:1550
+#: common/models.py:1564
msgid "Inline label display"
msgstr ""
-#: common/models.py:1551
+#: common/models.py:1565
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1557
+#: common/models.py:1571
msgid "Inline report display"
msgstr ""
-#: common/models.py:1558
+#: common/models.py:1572
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1564
+#: common/models.py:1578
msgid "Search Parts"
msgstr ""
-#: common/models.py:1565
+#: common/models.py:1579
msgid "Display parts in search preview window"
msgstr ""
-#: common/models.py:1571
+#: common/models.py:1585
msgid "Seach Supplier Parts"
msgstr ""
-#: common/models.py:1572
+#: common/models.py:1586
msgid "Display supplier parts in search preview window"
msgstr ""
-#: common/models.py:1578
+#: common/models.py:1592
msgid "Search Manufacturer Parts"
msgstr ""
-#: common/models.py:1579
+#: common/models.py:1593
msgid "Display manufacturer parts in search preview window"
msgstr ""
-#: common/models.py:1585
+#: common/models.py:1599
msgid "Hide Inactive Parts"
msgstr ""
-#: common/models.py:1586
+#: common/models.py:1600
msgid "Excluded inactive parts from search preview window"
msgstr ""
-#: common/models.py:1592
+#: common/models.py:1606
msgid "Search Categories"
msgstr ""
-#: common/models.py:1593
+#: common/models.py:1607
msgid "Display part categories in search preview window"
msgstr ""
-#: common/models.py:1599
+#: common/models.py:1613
msgid "Search Stock"
msgstr ""
-#: common/models.py:1600
+#: common/models.py:1614
msgid "Display stock items in search preview window"
msgstr ""
-#: common/models.py:1606
+#: common/models.py:1620
msgid "Hide Unavailable Stock Items"
msgstr ""
-#: common/models.py:1607
+#: common/models.py:1621
msgid "Exclude stock items which are not available from the search preview window"
msgstr ""
-#: common/models.py:1613
+#: common/models.py:1627
msgid "Search Locations"
msgstr ""
-#: common/models.py:1614
+#: common/models.py:1628
msgid "Display stock locations in search preview window"
msgstr ""
-#: common/models.py:1620
+#: common/models.py:1634
msgid "Search Companies"
msgstr ""
-#: common/models.py:1621
+#: common/models.py:1635
msgid "Display companies in search preview window"
msgstr ""
-#: common/models.py:1627
+#: common/models.py:1641
msgid "Search Build Orders"
msgstr ""
-#: common/models.py:1628
+#: common/models.py:1642
msgid "Display build orders in search preview window"
msgstr ""
-#: common/models.py:1634
+#: common/models.py:1648
msgid "Search Purchase Orders"
msgstr ""
-#: common/models.py:1635
+#: common/models.py:1649
msgid "Display purchase orders in search preview window"
msgstr ""
-#: common/models.py:1641
+#: common/models.py:1655
msgid "Exclude Inactive Purchase Orders"
msgstr ""
-#: common/models.py:1642
+#: common/models.py:1656
msgid "Exclude inactive purchase orders from search preview window"
msgstr ""
-#: common/models.py:1648
+#: common/models.py:1662
msgid "Search Sales Orders"
msgstr ""
-#: common/models.py:1649
+#: common/models.py:1663
msgid "Display sales orders in search preview window"
msgstr ""
-#: common/models.py:1655
+#: common/models.py:1669
msgid "Exclude Inactive Sales Orders"
msgstr ""
-#: common/models.py:1656
+#: common/models.py:1670
msgid "Exclude inactive sales orders from search preview window"
msgstr ""
-#: common/models.py:1662
+#: common/models.py:1676
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:1663
+#: common/models.py:1677
msgid "Number of results to show in each section of the search preview window"
msgstr ""
-#: common/models.py:1669
+#: common/models.py:1683
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:1670
+#: common/models.py:1684
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:1676
+#: common/models.py:1690
msgid "Escape Key Closes Forms"
msgstr ""
-#: common/models.py:1677
+#: common/models.py:1691
msgid "Use the escape key to close modal forms"
msgstr ""
-#: common/models.py:1683
+#: common/models.py:1697
msgid "Fixed Navbar"
msgstr ""
-#: common/models.py:1684
+#: common/models.py:1698
msgid "The navbar position is fixed to the top of the screen"
msgstr ""
-#: common/models.py:1690
+#: common/models.py:1704
msgid "Date Format"
msgstr ""
-#: common/models.py:1691
+#: common/models.py:1705
msgid "Preferred format for displaying dates"
msgstr ""
-#: common/models.py:1705 part/templates/part/detail.html:41
+#: common/models.py:1719 part/templates/part/detail.html:41
msgid "Part Scheduling"
msgstr ""
-#: common/models.py:1706
+#: common/models.py:1720
msgid "Display part scheduling information"
msgstr ""
-#: common/models.py:1712
+#: common/models.py:1726
msgid "Table String Length"
msgstr ""
-#: common/models.py:1713
+#: common/models.py:1727
msgid "Maximimum length limit for strings displayed in table views"
msgstr ""
-#: common/models.py:1777
+#: common/models.py:1791
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1784 company/serializers.py:372
+#: common/models.py:1798 company/serializers.py:372
#: company/templates/company/supplier_part.html:346 order/models.py:952
#: templates/js/translated/part.js:1103 templates/js/translated/part.js:2225
msgid "Price"
msgstr ""
-#: common/models.py:1785
+#: common/models.py:1799
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1945 common/models.py:2123
+#: common/models.py:1959 common/models.py:2137
msgid "Endpoint"
msgstr ""
-#: common/models.py:1946
+#: common/models.py:1960
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:1955
+#: common/models.py:1969
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:1960 part/models.py:935 plugin/models.py:100
+#: common/models.py:1974 part/models.py:935 plugin/models.py:100
#: templates/js/translated/table_filters.js:34
#: templates/js/translated/table_filters.js:112
#: templates/js/translated/table_filters.js:324
@@ -2701,67 +2717,67 @@ msgstr ""
msgid "Active"
msgstr ""
-#: common/models.py:1961
+#: common/models.py:1975
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:1975
+#: common/models.py:1989
msgid "Token"
msgstr ""
-#: common/models.py:1976
+#: common/models.py:1990
msgid "Token for access"
msgstr ""
-#: common/models.py:1983
+#: common/models.py:1997
msgid "Secret"
msgstr ""
-#: common/models.py:1984
+#: common/models.py:1998
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:2090
+#: common/models.py:2104
msgid "Message ID"
msgstr ""
-#: common/models.py:2091
+#: common/models.py:2105
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:2099
+#: common/models.py:2113
msgid "Host"
msgstr ""
-#: common/models.py:2100
+#: common/models.py:2114
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:2107
+#: common/models.py:2121
msgid "Header"
msgstr ""
-#: common/models.py:2108
+#: common/models.py:2122
msgid "Header of this message"
msgstr ""
-#: common/models.py:2114
+#: common/models.py:2128
msgid "Body"
msgstr ""
-#: common/models.py:2115
+#: common/models.py:2129
msgid "Body of this message"
msgstr ""
-#: common/models.py:2124
+#: common/models.py:2138
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:2129
+#: common/models.py:2143
msgid "Worked on"
msgstr ""
-#: common/models.py:2130
+#: common/models.py:2144
msgid "Was the work on this message finished?"
msgstr ""
@@ -2786,7 +2802,7 @@ msgstr ""
msgid "Error raised by plugin"
msgstr ""
-#: common/views.py:85 order/templates/order/purchase_order_detail.html:23
+#: common/views.py:85 order/templates/order/purchase_order_detail.html:25
#: order/views.py:102 part/views.py:112
#: templates/patterns/wizard/upload.html:37
msgid "Upload File"
@@ -2945,7 +2961,7 @@ msgstr ""
#: templates/js/translated/company.js:304
#: templates/js/translated/company.js:532
#: templates/js/translated/company.js:684
-#: templates/js/translated/company.js:975 templates/js/translated/order.js:2239
+#: templates/js/translated/company.js:975 templates/js/translated/order.js:2244
#: templates/js/translated/part.js:247 templates/js/translated/part.js:1025
msgid "MPN"
msgstr ""
@@ -2987,7 +3003,7 @@ msgstr ""
#: company/models.py:373 part/models.py:902 part/models.py:2434
#: part/templates/part/part_base.html:286
-#: templates/InvenTree/settings/settings.html:352
+#: templates/InvenTree/settings/settings.html:349
#: templates/js/translated/company.js:805 templates/js/translated/part.js:853
msgid "Units"
msgstr ""
@@ -3019,7 +3035,7 @@ msgstr ""
#: company/models.py:499 company/templates/company/supplier_part.html:146
#: part/bom.py:238 part/bom.py:266 templates/js/translated/company.js:302
-#: templates/js/translated/order.js:2226 templates/js/translated/part.js:228
+#: templates/js/translated/order.js:2231 templates/js/translated/part.js:228
#: templates/js/translated/part.js:1011
msgid "SKU"
msgstr ""
@@ -3069,7 +3085,7 @@ msgstr ""
#: company/templates/company/supplier_part.html:174
#: templates/js/translated/company.js:996 templates/js/translated/order.js:820
#: templates/js/translated/order.js:1215 templates/js/translated/order.js:1470
-#: templates/js/translated/order.js:2270 templates/js/translated/order.js:2287
+#: templates/js/translated/order.js:2275 templates/js/translated/order.js:2292
#: templates/js/translated/part.js:1043 templates/js/translated/part.js:1095
msgid "Pack Quantity"
msgstr ""
@@ -3168,7 +3184,7 @@ msgstr ""
#: stock/models.py:646 stock/serializers.py:813
#: stock/templates/stock/item_base.html:399
#: templates/email/overdue_sales_order.html:16
-#: templates/js/translated/company.js:428 templates/js/translated/order.js:2808
+#: templates/js/translated/company.js:428 templates/js/translated/order.js:2819
#: templates/js/translated/stock.js:2569
#: templates/js/translated/table_filters.js:435
msgid "Customer"
@@ -3763,7 +3779,7 @@ msgid "Target date for order completion. Order will be overdue after this date."
msgstr ""
#: order/models.py:666 order/models.py:1218
-#: templates/js/translated/order.js:2855 templates/js/translated/order.js:3017
+#: templates/js/translated/order.js:2866 templates/js/translated/order.js:3028
msgid "Shipment Date"
msgstr ""
@@ -3825,7 +3841,7 @@ msgstr ""
#: order/models.py:997 order/models.py:1077 order/models.py:1118
#: order/models.py:1212 order/models.py:1344
-#: templates/js/translated/order.js:3473
+#: templates/js/translated/order.js:3484
msgid "Order"
msgstr ""
@@ -3846,7 +3862,7 @@ msgid "Supplier part"
msgstr ""
#: order/models.py:1023 order/templates/order/order_base.html:178
-#: templates/js/translated/order.js:1641 templates/js/translated/order.js:2373
+#: templates/js/translated/order.js:1641 templates/js/translated/order.js:2378
#: templates/js/translated/part.js:1087 templates/js/translated/part.js:1125
#: templates/js/translated/table_filters.js:346
msgid "Received"
@@ -4163,7 +4179,7 @@ msgid "Receive items"
msgstr ""
#: order/templates/order/order_base.html:67
-#: order/templates/order/purchase_order_detail.html:30
+#: order/templates/order/purchase_order_detail.html:32
msgid "Receive Items"
msgstr ""
@@ -4250,7 +4266,7 @@ msgstr ""
#: templates/js/translated/bom.js:102 templates/js/translated/build.js:479
#: templates/js/translated/build.js:631 templates/js/translated/build.js:2078
#: templates/js/translated/order.js:1084 templates/js/translated/order.js:1586
-#: templates/js/translated/order.js:3092 templates/js/translated/stock.js:625
+#: templates/js/translated/order.js:3103 templates/js/translated/stock.js:625
#: templates/js/translated/stock.js:793
#: templates/patterns/wizard/match_fields.html:70
msgid "Remove row"
@@ -4279,42 +4295,42 @@ msgstr ""
msgid "Received Stock"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:17
+#: order/templates/order/purchase_order_detail.html:19
msgid "Purchase Order Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:26
-#: order/templates/order/sales_order_detail.html:22
-#: order/templates/order/sales_order_detail.html:255
+#: order/templates/order/purchase_order_detail.html:28
+#: order/templates/order/sales_order_detail.html:24
+#: order/templates/order/sales_order_detail.html:260
#: templates/js/translated/order.js:728
msgid "Add Line Item"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:29
+#: order/templates/order/purchase_order_detail.html:31
msgid "Receive selected items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:48
-#: order/templates/order/sales_order_detail.html:42
+#: order/templates/order/purchase_order_detail.html:50
+#: order/templates/order/sales_order_detail.html:45
msgid "Extra Lines"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:53
-#: order/templates/order/sales_order_detail.html:47
-#: order/templates/order/sales_order_detail.html:280
+#: order/templates/order/purchase_order_detail.html:56
+#: order/templates/order/sales_order_detail.html:51
+#: order/templates/order/sales_order_detail.html:291
msgid "Add Extra Line"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:72
+#: order/templates/order/purchase_order_detail.html:76
msgid "Received Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:97
-#: order/templates/order/sales_order_detail.html:150
+#: order/templates/order/purchase_order_detail.html:101
+#: order/templates/order/sales_order_detail.html:155
msgid "Order Notes"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:232
+#: order/templates/order/purchase_order_detail.html:239
msgid "Add Order Line"
msgstr ""
@@ -4346,12 +4362,12 @@ msgid "This Sales Order has not been fully allocated"
msgstr ""
#: order/templates/order/sales_order_base.html:123
-#: templates/js/translated/order.js:2821
+#: templates/js/translated/order.js:2832
msgid "Customer Reference"
msgstr ""
#: order/templates/order/sales_order_base.html:141
-#: order/templates/order/sales_order_detail.html:104
+#: order/templates/order/sales_order_detail.html:109
#: order/templates/order/so_sidebar.html:11
msgid "Completed Shipments"
msgstr ""
@@ -4360,22 +4376,22 @@ msgstr ""
msgid "Edit Sales Order"
msgstr ""
-#: order/templates/order/sales_order_detail.html:17
+#: order/templates/order/sales_order_detail.html:18
msgid "Sales Order Items"
msgstr ""
-#: order/templates/order/sales_order_detail.html:68
+#: order/templates/order/sales_order_detail.html:73
#: order/templates/order/so_sidebar.html:8
msgid "Pending Shipments"
msgstr ""
-#: order/templates/order/sales_order_detail.html:72
+#: order/templates/order/sales_order_detail.html:77
#: templates/attachment_table.html:6 templates/js/translated/bom.js:1158
#: templates/js/translated/build.js:1979
msgid "Actions"
msgstr ""
-#: order/templates/order/sales_order_detail.html:81
+#: order/templates/order/sales_order_detail.html:86
msgid "New Shipment"
msgstr ""
@@ -4455,7 +4471,7 @@ msgid "Total Stock"
msgstr ""
#: part/bom.py:129 part/templates/part/part_base.html:195
-#: templates/js/translated/order.js:3913
+#: templates/js/translated/order.js:3928
msgid "Available Stock"
msgstr ""
@@ -4565,7 +4581,7 @@ msgstr ""
#: part/models.py:797 part/models.py:2272 part/models.py:2516
#: part/templates/part/part_base.html:263
-#: templates/InvenTree/settings/settings.html:232
+#: templates/InvenTree/settings/settings.html:229
#: templates/js/translated/notification.js:50
#: templates/js/translated/part.js:1480 templates/js/translated/part.js:1724
msgid "Category"
@@ -4753,7 +4769,7 @@ msgid "Parent Part"
msgstr ""
#: part/models.py:2474 part/models.py:2522 part/models.py:2523
-#: templates/InvenTree/settings/settings.html:227
+#: templates/InvenTree/settings/settings.html:224
msgid "Parameter Template"
msgstr ""
@@ -4765,7 +4781,7 @@ msgstr ""
msgid "Parameter Value"
msgstr ""
-#: part/models.py:2527 templates/InvenTree/settings/settings.html:236
+#: part/models.py:2527 templates/InvenTree/settings/settings.html:233
msgid "Default Value"
msgstr ""
@@ -5572,7 +5588,7 @@ msgstr ""
#: part/templates/part/part_scheduling.html:13
#: report/templates/report/inventree_test_report_base.html:97
-#: templates/InvenTree/settings/plugin.html:53
+#: templates/InvenTree/settings/plugin.html:63
#: templates/InvenTree/settings/plugin_settings.html:38
#: templates/js/translated/order.js:2001 templates/js/translated/stock.js:2478
msgid "Date"
@@ -5760,8 +5776,8 @@ msgstr ""
msgid "Part Pricing"
msgstr ""
-#: plugin/apps.py:56
-msgid "Your enviroment has an outdated git version. This prevents InvenTree from loading plugin details."
+#: plugin/apps.py:55
+msgid "Your environment has an outdated git version. This prevents InvenTree from loading plugin details."
msgstr ""
#: plugin/base/action/api.py:27
@@ -5772,23 +5788,23 @@ msgstr ""
msgid "No matching action found"
msgstr ""
-#: plugin/base/barcodes/api.py:54 plugin/base/barcodes/api.py:113
+#: plugin/base/barcodes/api.py:54 plugin/base/barcodes/api.py:110
msgid "Missing barcode data"
msgstr ""
-#: plugin/base/barcodes/api.py:83
+#: plugin/base/barcodes/api.py:80
msgid "No match found for barcode data"
msgstr ""
-#: plugin/base/barcodes/api.py:87
+#: plugin/base/barcodes/api.py:84
msgid "Match found for barcode data"
msgstr ""
-#: plugin/base/barcodes/api.py:126
+#: plugin/base/barcodes/api.py:120
msgid "Barcode matches existing item"
msgstr ""
-#: plugin/base/barcodes/api.py:223
+#: plugin/base/barcodes/api.py:217
msgid "No match found for provided value"
msgstr ""
@@ -5796,21 +5812,34 @@ msgstr ""
msgid "Label printing failed"
msgstr ""
-#: plugin/builtin/integration/core_notifications.py:30
+#: plugin/builtin/barcodes/inventree_barcode.py:26
+msgid "Inventree Barcodes"
+msgstr ""
+
+#: plugin/builtin/barcodes/inventree_barcode.py:27
+msgid "Provides native support for barcodes"
+msgstr ""
+
+#: plugin/builtin/barcodes/inventree_barcode.py:29
+#: plugin/builtin/integration/core_notifications.py:31
msgid "InvenTree contributors"
msgstr ""
-#: plugin/builtin/integration/core_notifications.py:31
+#: plugin/builtin/integration/core_notifications.py:30
+msgid "InvenTree Notifications"
+msgstr ""
+
+#: plugin/builtin/integration/core_notifications.py:32
msgid "Integrated outgoing notificaton methods"
msgstr ""
-#: plugin/builtin/integration/core_notifications.py:35
-#: plugin/builtin/integration/core_notifications.py:54
+#: plugin/builtin/integration/core_notifications.py:37
+#: plugin/builtin/integration/core_notifications.py:56
msgid "Enable email notifications"
msgstr ""
-#: plugin/builtin/integration/core_notifications.py:36
-#: plugin/builtin/integration/core_notifications.py:55
+#: plugin/builtin/integration/core_notifications.py:38
+#: plugin/builtin/integration/core_notifications.py:57
msgid "Allow sending of emails for event notifications"
msgstr ""
@@ -5830,7 +5859,7 @@ msgstr ""
msgid "Plugin Configurations"
msgstr ""
-#: plugin/models.py:86
+#: plugin/models.py:86 templates/InvenTree/settings/plugin.html:61
msgid "Key"
msgstr ""
@@ -5850,32 +5879,36 @@ msgstr ""
msgid "Sample plugin"
msgstr ""
-#: plugin/models.py:188 templates/InvenTree/settings/plugin_settings.html:10
+#: plugin/models.py:167
+msgid "Builtin Plugin"
+msgstr ""
+
+#: plugin/models.py:192 templates/InvenTree/settings/plugin_settings.html:10
msgid "Plugin"
msgstr ""
-#: plugin/models.py:253
+#: plugin/models.py:257
msgid "Method"
msgstr ""
-#: plugin/plugin.py:252
+#: plugin/plugin.py:257
msgid "No author found"
msgstr ""
-#: plugin/plugin.py:264
+#: plugin/plugin.py:269
msgid "No date found"
msgstr ""
-#: plugin/registry.py:431
+#: plugin/registry.py:439
msgid "Plugin `{plg_name}` is not compatible with the current InvenTree version {version.inventreeVersion()}!"
msgstr ""
-#: plugin/registry.py:433
+#: plugin/registry.py:441
#, python-brace-format
msgid "Plugin requires at least version {plg_i.MIN_VERSION}"
msgstr ""
-#: plugin/registry.py:435
+#: plugin/registry.py:443
#, python-brace-format
msgid "Plugin requires at most version {plg_i.MAX_VERSION}"
msgstr ""
@@ -6058,8 +6091,8 @@ msgstr ""
#: templates/js/translated/build.js:472 templates/js/translated/build.js:624
#: templates/js/translated/build.js:1234 templates/js/translated/build.js:1735
#: templates/js/translated/model_renderers.js:118
-#: templates/js/translated/order.js:121 templates/js/translated/order.js:3592
-#: templates/js/translated/order.js:3679 templates/js/translated/stock.js:490
+#: templates/js/translated/order.js:121 templates/js/translated/order.js:3603
+#: templates/js/translated/order.js:3690 templates/js/translated/stock.js:490
msgid "Serial Number"
msgstr ""
@@ -7087,7 +7120,7 @@ msgid "Part Parameter Templates"
msgstr ""
#: templates/InvenTree/settings/plugin.html:10
-#: templates/InvenTree/settings/sidebar.html:56
+#: templates/InvenTree/settings/sidebar.html:55
msgid "Plugin Settings"
msgstr ""
@@ -7095,52 +7128,64 @@ msgstr ""
msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage."
msgstr ""
-#: templates/InvenTree/settings/plugin.html:36
-#: templates/InvenTree/settings/sidebar.html:58
+#: templates/InvenTree/settings/plugin.html:38
+#: templates/InvenTree/settings/sidebar.html:57
msgid "Plugins"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:41
+#: templates/InvenTree/settings/plugin.html:44
#: templates/js/translated/plugin.js:16
msgid "Install Plugin"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:50 templates/navbar.html:137
-#: users/models.py:36
-msgid "Admin"
+#: templates/InvenTree/settings/plugin.html:52
+msgid "External plugins are not enabled for this InvenTree installation"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:52
-#: templates/InvenTree/settings/plugin_settings.html:28
+#: templates/InvenTree/settings/plugin.html:62
+#: templates/InvenTree/settings/plugin_settings.html:33
msgid "Author"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:54
+#: templates/InvenTree/settings/plugin.html:64
#: templates/InvenTree/settings/plugin_settings.html:43
msgid "Version"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:76
-msgid "Sample"
+#: templates/InvenTree/settings/plugin.html:72
+msgid "Active plugins"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:101
+#: templates/InvenTree/settings/plugin.html:80
msgid "Inactive plugins"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:124
+#: templates/InvenTree/settings/plugin.html:94
msgid "Plugin Error Stack"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:133
+#: templates/InvenTree/settings/plugin.html:103
msgid "Stage"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:135
+#: templates/InvenTree/settings/plugin.html:105
#: templates/js/translated/notification.js:75
msgid "Message"
msgstr ""
+#: templates/InvenTree/settings/plugin_details.html:32
+#: templates/InvenTree/settings/plugin_settings.html:101
+msgid "Builtin"
+msgstr ""
+
+#: templates/InvenTree/settings/plugin_details.html:38
+msgid "Sample"
+msgstr ""
+
+#: templates/InvenTree/settings/plugin_details.html:47
+msgid "Unvailable"
+msgstr ""
+
#: templates/InvenTree/settings/plugin_settings.html:17
msgid "Plugin information"
msgstr ""
@@ -7177,29 +7222,33 @@ msgstr ""
msgid "Installation path"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:100
+#: templates/InvenTree/settings/plugin_settings.html:102
+msgid "This is a builtin plugin which cannot be disabled"
+msgstr ""
+
+#: templates/InvenTree/settings/plugin_settings.html:107
msgid "Commit Author"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:104
+#: templates/InvenTree/settings/plugin_settings.html:111
#: templates/about.html:36
msgid "Commit Date"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:108
+#: templates/InvenTree/settings/plugin_settings.html:115
#: templates/about.html:29
msgid "Commit Hash"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:112
+#: templates/InvenTree/settings/plugin_settings.html:119
msgid "Commit Message"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:120
+#: templates/InvenTree/settings/plugin_settings.html:127
msgid "Sign Status"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:125
+#: templates/InvenTree/settings/plugin_settings.html:132
msgid "Sign Key"
msgstr ""
@@ -7220,66 +7269,66 @@ msgstr ""
msgid "Edit setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:120
+#: templates/InvenTree/settings/settings.html:117
msgid "Edit Plugin Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:122
+#: templates/InvenTree/settings/settings.html:119
msgid "Edit Notification Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:125
+#: templates/InvenTree/settings/settings.html:122
msgid "Edit Global Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:127
+#: templates/InvenTree/settings/settings.html:124
msgid "Edit User Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:217
+#: templates/InvenTree/settings/settings.html:214
msgid "No category parameter templates found"
msgstr ""
-#: templates/InvenTree/settings/settings.html:239
-#: templates/InvenTree/settings/settings.html:364
+#: templates/InvenTree/settings/settings.html:236
+#: templates/InvenTree/settings/settings.html:361
msgid "Edit Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:240
-#: templates/InvenTree/settings/settings.html:365
+#: templates/InvenTree/settings/settings.html:237
+#: templates/InvenTree/settings/settings.html:362
msgid "Delete Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:280
+#: templates/InvenTree/settings/settings.html:277
msgid "Create Category Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:325
+#: templates/InvenTree/settings/settings.html:322
msgid "Delete Category Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:337
+#: templates/InvenTree/settings/settings.html:334
msgid "No part parameter templates found"
msgstr ""
-#: templates/InvenTree/settings/settings.html:341
+#: templates/InvenTree/settings/settings.html:338
#: templates/js/translated/notification.js:36
msgid "ID"
msgstr ""
-#: templates/InvenTree/settings/settings.html:383
+#: templates/InvenTree/settings/settings.html:380
msgid "Create Part Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:402
+#: templates/InvenTree/settings/settings.html:399
msgid "Edit Part Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:416
+#: templates/InvenTree/settings/settings.html:413
msgid "Any parameters which reference this template will also be deleted"
msgstr ""
-#: templates/InvenTree/settings/settings.html:424
+#: templates/InvenTree/settings/settings.html:421
msgid "Delete Part Parameter Template"
msgstr ""
@@ -7737,7 +7786,7 @@ msgstr ""
msgid "Or use a SSO-provider for signup"
msgstr ""
-#: templates/admin_button.html:2
+#: templates/admin_button.html:8
msgid "View in administration panel"
msgstr ""
@@ -8212,7 +8261,7 @@ msgid "Variant stock allowed"
msgstr ""
#: templates/js/translated/bom.js:983 templates/js/translated/build.js:1907
-#: templates/js/translated/order.js:3927
+#: templates/js/translated/order.js:3942
msgid "No Stock Available"
msgstr ""
@@ -8425,12 +8474,12 @@ msgid "No required tests for this build"
msgstr ""
#: templates/js/translated/build.js:1775 templates/js/translated/build.js:2765
-#: templates/js/translated/order.js:3627
+#: templates/js/translated/order.js:3638
msgid "Edit stock allocation"
msgstr ""
#: templates/js/translated/build.js:1777 templates/js/translated/build.js:2766
-#: templates/js/translated/order.js:3628
+#: templates/js/translated/order.js:3639
msgid "Delete stock allocation"
msgstr ""
@@ -8450,20 +8499,20 @@ msgstr ""
msgid "Quantity Per"
msgstr ""
-#: templates/js/translated/build.js:1901 templates/js/translated/order.js:3934
+#: templates/js/translated/build.js:1901 templates/js/translated/order.js:3949
msgid "Insufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3932
+#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3947
msgid "Sufficient stock available"
msgstr ""
#: templates/js/translated/build.js:1937 templates/js/translated/build.js:2195
-#: templates/js/translated/build.js:2761 templates/js/translated/order.js:3946
+#: templates/js/translated/build.js:2761 templates/js/translated/order.js:3961
msgid "Allocated"
msgstr ""
-#: templates/js/translated/build.js:1993 templates/js/translated/order.js:4026
+#: templates/js/translated/build.js:1993 templates/js/translated/order.js:4041
msgid "Build stock"
msgstr ""
@@ -8471,21 +8520,21 @@ msgstr ""
msgid "Order stock"
msgstr ""
-#: templates/js/translated/build.js:2000 templates/js/translated/order.js:4019
+#: templates/js/translated/build.js:2000 templates/js/translated/order.js:4034
msgid "Allocate stock"
msgstr ""
#: templates/js/translated/build.js:2039 templates/js/translated/label.js:172
-#: templates/js/translated/order.js:1007 templates/js/translated/order.js:3154
+#: templates/js/translated/order.js:1007 templates/js/translated/order.js:3165
#: templates/js/translated/report.js:225
msgid "Select Parts"
msgstr ""
-#: templates/js/translated/build.js:2040 templates/js/translated/order.js:3155
+#: templates/js/translated/build.js:2040 templates/js/translated/order.js:3166
msgid "You must select at least one part to allocate"
msgstr ""
-#: templates/js/translated/build.js:2089 templates/js/translated/order.js:3103
+#: templates/js/translated/build.js:2089 templates/js/translated/order.js:3114
msgid "Specify stock allocation quantity"
msgstr ""
@@ -8497,7 +8546,7 @@ msgstr ""
msgid "All selected parts have been fully allocated"
msgstr ""
-#: templates/js/translated/build.js:2183 templates/js/translated/order.js:3169
+#: templates/js/translated/build.js:2183 templates/js/translated/order.js:3180
msgid "Select source location (leave blank to take from all locations)"
msgstr ""
@@ -8505,11 +8554,11 @@ msgstr ""
msgid "Allocate Stock Items to Build Order"
msgstr ""
-#: templates/js/translated/build.js:2222 templates/js/translated/order.js:3266
+#: templates/js/translated/build.js:2222 templates/js/translated/order.js:3277
msgid "No matching stock locations"
msgstr ""
-#: templates/js/translated/build.js:2294 templates/js/translated/order.js:3343
+#: templates/js/translated/build.js:2294 templates/js/translated/order.js:3354
msgid "No matching stock items"
msgstr ""
@@ -9158,218 +9207,218 @@ msgstr ""
msgid "No purchase orders found"
msgstr ""
-#: templates/js/translated/order.js:1967 templates/js/translated/order.js:2798
+#: templates/js/translated/order.js:1967 templates/js/translated/order.js:2809
msgid "Order is overdue"
msgstr ""
-#: templates/js/translated/order.js:2017 templates/js/translated/order.js:2863
-#: templates/js/translated/order.js:3004
+#: templates/js/translated/order.js:2017 templates/js/translated/order.js:2874
+#: templates/js/translated/order.js:3015
msgid "Items"
msgstr ""
-#: templates/js/translated/order.js:2115 templates/js/translated/order.js:4078
+#: templates/js/translated/order.js:2120 templates/js/translated/order.js:4093
msgid "Duplicate Line Item"
msgstr ""
-#: templates/js/translated/order.js:2132 templates/js/translated/order.js:4100
+#: templates/js/translated/order.js:2137 templates/js/translated/order.js:4115
msgid "Edit Line Item"
msgstr ""
-#: templates/js/translated/order.js:2145 templates/js/translated/order.js:4111
+#: templates/js/translated/order.js:2150 templates/js/translated/order.js:4126
msgid "Delete Line Item"
msgstr ""
-#: templates/js/translated/order.js:2188
+#: templates/js/translated/order.js:2193
msgid "No line items found"
msgstr ""
-#: templates/js/translated/order.js:2215 templates/js/translated/order.js:3812
+#: templates/js/translated/order.js:2220 templates/js/translated/order.js:3827
msgid "Total"
msgstr ""
-#: templates/js/translated/order.js:2270 templates/js/translated/part.js:1043
+#: templates/js/translated/order.js:2275 templates/js/translated/part.js:1043
#: templates/js/translated/part.js:1095
msgid "Total Quantity"
msgstr ""
-#: templates/js/translated/order.js:2301 templates/js/translated/order.js:2500
-#: templates/js/translated/order.js:3837 templates/js/translated/order.js:4342
+#: templates/js/translated/order.js:2306 templates/js/translated/order.js:2509
+#: templates/js/translated/order.js:3852 templates/js/translated/order.js:4361
#: templates/js/translated/part.js:2199 templates/js/translated/part.js:2797
msgid "Unit Price"
msgstr ""
-#: templates/js/translated/order.js:2316 templates/js/translated/order.js:2516
-#: templates/js/translated/order.js:3853 templates/js/translated/order.js:4358
+#: templates/js/translated/order.js:2321 templates/js/translated/order.js:2525
+#: templates/js/translated/order.js:3868 templates/js/translated/order.js:4377
msgid "Total Price"
msgstr ""
-#: templates/js/translated/order.js:2357 templates/js/translated/order.js:3895
+#: templates/js/translated/order.js:2362 templates/js/translated/order.js:3910
#: templates/js/translated/part.js:1079
msgid "This line item is overdue"
msgstr ""
-#: templates/js/translated/order.js:2416 templates/js/translated/part.js:1130
+#: templates/js/translated/order.js:2421 templates/js/translated/part.js:1130
msgid "Receive line item"
msgstr ""
-#: templates/js/translated/order.js:2420 templates/js/translated/order.js:4032
+#: templates/js/translated/order.js:2425 templates/js/translated/order.js:4047
msgid "Duplicate line item"
msgstr ""
-#: templates/js/translated/order.js:2421 templates/js/translated/order.js:4033
+#: templates/js/translated/order.js:2426 templates/js/translated/order.js:4048
msgid "Edit line item"
msgstr ""
-#: templates/js/translated/order.js:2422 templates/js/translated/order.js:4037
+#: templates/js/translated/order.js:2427 templates/js/translated/order.js:4052
msgid "Delete line item"
msgstr ""
-#: templates/js/translated/order.js:2564 templates/js/translated/order.js:4406
+#: templates/js/translated/order.js:2574 templates/js/translated/order.js:4425
msgid "Duplicate line"
msgstr ""
-#: templates/js/translated/order.js:2565 templates/js/translated/order.js:4407
+#: templates/js/translated/order.js:2575 templates/js/translated/order.js:4426
msgid "Edit line"
msgstr ""
-#: templates/js/translated/order.js:2566 templates/js/translated/order.js:4408
+#: templates/js/translated/order.js:2576 templates/js/translated/order.js:4427
msgid "Delete line"
msgstr ""
-#: templates/js/translated/order.js:2595 templates/js/translated/order.js:4437
+#: templates/js/translated/order.js:2606 templates/js/translated/order.js:4456
msgid "Duplicate Line"
msgstr ""
-#: templates/js/translated/order.js:2616 templates/js/translated/order.js:4458
+#: templates/js/translated/order.js:2627 templates/js/translated/order.js:4477
msgid "Edit Line"
msgstr ""
-#: templates/js/translated/order.js:2627 templates/js/translated/order.js:4469
+#: templates/js/translated/order.js:2638 templates/js/translated/order.js:4488
msgid "Delete Line"
msgstr ""
-#: templates/js/translated/order.js:2638
+#: templates/js/translated/order.js:2649
msgid "No matching line"
msgstr ""
-#: templates/js/translated/order.js:2749
+#: templates/js/translated/order.js:2760
msgid "No sales orders found"
msgstr ""
-#: templates/js/translated/order.js:2812
+#: templates/js/translated/order.js:2823
msgid "Invalid Customer"
msgstr ""
-#: templates/js/translated/order.js:2910
+#: templates/js/translated/order.js:2921
msgid "Edit shipment"
msgstr ""
-#: templates/js/translated/order.js:2913
+#: templates/js/translated/order.js:2924
msgid "Complete shipment"
msgstr ""
-#: templates/js/translated/order.js:2918
+#: templates/js/translated/order.js:2929
msgid "Delete shipment"
msgstr ""
-#: templates/js/translated/order.js:2938
+#: templates/js/translated/order.js:2949
msgid "Edit Shipment"
msgstr ""
-#: templates/js/translated/order.js:2955
+#: templates/js/translated/order.js:2966
msgid "Delete Shipment"
msgstr ""
-#: templates/js/translated/order.js:2989
+#: templates/js/translated/order.js:3000
msgid "No matching shipments found"
msgstr ""
-#: templates/js/translated/order.js:2999
+#: templates/js/translated/order.js:3010
msgid "Shipment Reference"
msgstr ""
-#: templates/js/translated/order.js:3023
+#: templates/js/translated/order.js:3034
msgid "Not shipped"
msgstr ""
-#: templates/js/translated/order.js:3029
+#: templates/js/translated/order.js:3040
msgid "Tracking"
msgstr ""
-#: templates/js/translated/order.js:3033
+#: templates/js/translated/order.js:3044
msgid "Invoice"
msgstr ""
-#: templates/js/translated/order.js:3202
+#: templates/js/translated/order.js:3213
msgid "Add Shipment"
msgstr ""
-#: templates/js/translated/order.js:3253
+#: templates/js/translated/order.js:3264
msgid "Confirm stock allocation"
msgstr ""
-#: templates/js/translated/order.js:3254
+#: templates/js/translated/order.js:3265
msgid "Allocate Stock Items to Sales Order"
msgstr ""
-#: templates/js/translated/order.js:3462
+#: templates/js/translated/order.js:3473
msgid "No sales order allocations found"
msgstr ""
-#: templates/js/translated/order.js:3541
+#: templates/js/translated/order.js:3552
msgid "Edit Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:3558
+#: templates/js/translated/order.js:3569
msgid "Confirm Delete Operation"
msgstr ""
-#: templates/js/translated/order.js:3559
+#: templates/js/translated/order.js:3570
msgid "Delete Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:3604 templates/js/translated/order.js:3693
+#: templates/js/translated/order.js:3615 templates/js/translated/order.js:3704
#: templates/js/translated/stock.js:1602
msgid "Shipped to customer"
msgstr ""
-#: templates/js/translated/order.js:3612 templates/js/translated/order.js:3702
+#: templates/js/translated/order.js:3623 templates/js/translated/order.js:3713
msgid "Stock location not specified"
msgstr ""
-#: templates/js/translated/order.js:4016
+#: templates/js/translated/order.js:4031
msgid "Allocate serial numbers"
msgstr ""
-#: templates/js/translated/order.js:4022
+#: templates/js/translated/order.js:4037
msgid "Purchase stock"
msgstr ""
-#: templates/js/translated/order.js:4029 templates/js/translated/order.js:4227
+#: templates/js/translated/order.js:4044 templates/js/translated/order.js:4242
msgid "Calculate price"
msgstr ""
-#: templates/js/translated/order.js:4041
+#: templates/js/translated/order.js:4056
msgid "Cannot be deleted as items have been shipped"
msgstr ""
-#: templates/js/translated/order.js:4044
+#: templates/js/translated/order.js:4059
msgid "Cannot be deleted as items have been allocated"
msgstr ""
-#: templates/js/translated/order.js:4126
+#: templates/js/translated/order.js:4141
msgid "Allocate Serial Numbers"
msgstr ""
-#: templates/js/translated/order.js:4235
+#: templates/js/translated/order.js:4250
msgid "Update Unit Price"
msgstr ""
-#: templates/js/translated/order.js:4249
+#: templates/js/translated/order.js:4264
msgid "No matching line items"
msgstr ""
-#: templates/js/translated/order.js:4480
+#: templates/js/translated/order.js:4499
msgid "No matching lines"
msgstr ""
@@ -10508,6 +10557,10 @@ msgstr ""
msgid "New Notifications"
msgstr ""
+#: templates/navbar.html:137 users/models.py:36
+msgid "Admin"
+msgstr ""
+
#: templates/navbar.html:140
msgid "Logout"
msgstr ""
diff --git a/InvenTree/locale/fa/LC_MESSAGES/django.po b/InvenTree/locale/fa/LC_MESSAGES/django.po
index 3e575024cb..b2777c3405 100644
--- a/InvenTree/locale/fa/LC_MESSAGES/django.po
+++ b/InvenTree/locale/fa/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-11-04 14:07+0000\n"
-"PO-Revision-Date: 2022-11-04 19:02\n"
+"POT-Creation-Date: 2022-11-14 04:59+0000\n"
+"PO-Revision-Date: 2022-11-14 14:50\n"
"Last-Translator: \n"
"Language-Team: Persian\n"
"Language: fa_IR\n"
@@ -17,7 +17,7 @@ msgstr ""
"X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n"
"X-Crowdin-File-ID: 154\n"
-#: InvenTree/api.py:54
+#: InvenTree/api.py:61
msgid "API endpoint not found"
msgstr "Address e API peida nashod"
@@ -25,27 +25,27 @@ msgstr "Address e API peida nashod"
msgid "Error details can be found in the admin panel"
msgstr ""
-#: InvenTree/fields.py:120
+#: InvenTree/fields.py:129
msgid "Enter date"
msgstr ""
-#: InvenTree/fields.py:195 build/serializers.py:387
-#: build/templates/build/sidebar.html:21 company/models.py:525
-#: company/templates/company/sidebar.html:25 order/models.py:920
+#: InvenTree/fields.py:204 build/serializers.py:387
+#: build/templates/build/sidebar.html:21 company/models.py:529
+#: company/templates/company/sidebar.html:25 order/models.py:943
#: order/templates/order/po_sidebar.html:11
-#: order/templates/order/so_sidebar.html:17
-#: part/templates/part/part_sidebar.html:59
+#: order/templates/order/so_sidebar.html:17 part/admin.py:27
+#: part/templates/part/part_sidebar.html:57
#: report/templates/report/inventree_build_order_base.html:172
-#: stock/models.py:2002 stock/models.py:2110 stock/serializers.py:327
-#: stock/serializers.py:460 stock/serializers.py:541 stock/serializers.py:827
-#: stock/serializers.py:926 stock/serializers.py:1058
+#: stock/admin.py:103 stock/models.py:2018 stock/models.py:2126
+#: stock/serializers.py:321 stock/serializers.py:454 stock/serializers.py:535
+#: stock/serializers.py:826 stock/serializers.py:925 stock/serializers.py:1057
#: stock/templates/stock/stock_sidebar.html:25
-#: templates/js/translated/barcode.js:108 templates/js/translated/bom.js:1146
-#: templates/js/translated/company.js:1022
-#: templates/js/translated/order.js:2404 templates/js/translated/order.js:2552
-#: templates/js/translated/order.js:3048 templates/js/translated/order.js:3999
-#: templates/js/translated/order.js:4394 templates/js/translated/stock.js:1374
-#: templates/js/translated/stock.js:1982
+#: templates/js/translated/barcode.js:108 templates/js/translated/bom.js:1211
+#: templates/js/translated/company.js:1023
+#: templates/js/translated/order.js:2427 templates/js/translated/order.js:2561
+#: templates/js/translated/order.js:3059 templates/js/translated/order.js:3996
+#: templates/js/translated/order.js:4377 templates/js/translated/stock.js:1393
+#: templates/js/translated/stock.js:2000
msgid "Notes"
msgstr ""
@@ -122,43 +122,43 @@ msgstr ""
msgid "Supplied URL is not a valid image file"
msgstr ""
-#: InvenTree/helpers.py:602 order/models.py:325 order/models.py:477
+#: InvenTree/helpers.py:589 order/models.py:329 order/models.py:496
msgid "Invalid quantity provided"
msgstr ""
-#: InvenTree/helpers.py:610
+#: InvenTree/helpers.py:597
msgid "Empty serial number string"
msgstr ""
-#: InvenTree/helpers.py:640
+#: InvenTree/helpers.py:627
msgid "Duplicate serial"
msgstr ""
-#: InvenTree/helpers.py:673 InvenTree/helpers.py:708
+#: InvenTree/helpers.py:660 InvenTree/helpers.py:695
#, python-brace-format
msgid "Invalid group range: {g}"
msgstr ""
-#: InvenTree/helpers.py:702
+#: InvenTree/helpers.py:689
#, python-brace-format
msgid "Group range {g} exceeds allowed quantity ({q})"
msgstr ""
-#: InvenTree/helpers.py:726 InvenTree/helpers.py:733 InvenTree/helpers.py:748
+#: InvenTree/helpers.py:713 InvenTree/helpers.py:720 InvenTree/helpers.py:735
#, python-brace-format
msgid "Invalid group sequence: {g}"
msgstr ""
-#: InvenTree/helpers.py:758
+#: InvenTree/helpers.py:745
msgid "No serial numbers found"
msgstr ""
-#: InvenTree/helpers.py:761
+#: InvenTree/helpers.py:748
#, python-brace-format
msgid "Number of unique serial numbers ({s}) must match quantity ({q})"
msgstr ""
-#: InvenTree/helpers.py:960
+#: InvenTree/helpers.py:947
msgid "Remove HTML tags from this value"
msgstr ""
@@ -194,7 +194,7 @@ msgstr ""
msgid "Missing external link"
msgstr ""
-#: InvenTree/models.py:405 stock/models.py:2104
+#: InvenTree/models.py:405 stock/models.py:2120
#: templates/js/translated/attachment.js:103
#: templates/js/translated/attachment.js:241
msgid "Attachment"
@@ -204,18 +204,19 @@ msgstr ""
msgid "Select file to attach"
msgstr ""
-#: InvenTree/models.py:412 company/models.py:125 company/models.py:277
-#: company/models.py:512 order/models.py:84 order/models.py:1259
-#: part/models.py:816 part/templates/part/part_scheduling.html:11
+#: InvenTree/models.py:412 common/models.py:2313 company/models.py:129
+#: company/models.py:281 company/models.py:516 order/models.py:85
+#: order/models.py:1282 part/admin.py:25 part/models.py:835
+#: part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
-#: templates/js/translated/company.js:691
-#: templates/js/translated/company.js:1011
-#: templates/js/translated/order.js:3037 templates/js/translated/part.js:1569
+#: stock/admin.py:102 templates/js/translated/company.js:692
+#: templates/js/translated/company.js:1012
+#: templates/js/translated/order.js:3048 templates/js/translated/part.js:1593
msgid "Link"
msgstr ""
-#: InvenTree/models.py:413 build/models.py:290 part/models.py:817
-#: stock/models.py:660
+#: InvenTree/models.py:413 build/models.py:290 part/models.py:836
+#: stock/models.py:676
msgid "Link to external URL"
msgstr ""
@@ -228,12 +229,12 @@ msgstr ""
msgid "File comment"
msgstr ""
-#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1744
-#: common/models.py:1745 common/models.py:1968 common/models.py:1969
-#: common/models.py:2231 common/models.py:2232 part/models.py:2254
-#: part/models.py:2274 plugin/models.py:264 plugin/models.py:265
+#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1756
+#: common/models.py:1757 common/models.py:1980 common/models.py:1981
+#: common/models.py:2243 common/models.py:2244 part/models.py:2867
+#: part/models.py:2887 plugin/models.py:264 plugin/models.py:265
#: report/templates/report/inventree_test_report_base.html:96
-#: templates/js/translated/stock.js:2651
+#: templates/js/translated/stock.js:2669
msgid "User"
msgstr ""
@@ -270,44 +271,45 @@ msgstr ""
msgid "Invalid choice"
msgstr ""
-#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1954
-#: company/models.py:359 label/models.py:101 part/models.py:760
-#: part/models.py:2429 plugin/models.py:94 report/models.py:152
+#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1966
+#: company/models.py:363 label/models.py:101 part/models.py:779
+#: part/models.py:3042 plugin/models.py:94 report/models.py:152
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/plugin.html:60
#: templates/InvenTree/settings/plugin.html:104
#: templates/InvenTree/settings/plugin_settings.html:23
#: templates/InvenTree/settings/settings.html:344
-#: templates/js/translated/company.js:580
-#: templates/js/translated/company.js:793
+#: templates/js/translated/company.js:581
+#: templates/js/translated/company.js:794
#: templates/js/translated/notification.js:71
-#: templates/js/translated/part.js:686 templates/js/translated/part.js:838
-#: templates/js/translated/part.js:1964 templates/js/translated/stock.js:2396
+#: templates/js/translated/part.js:700 templates/js/translated/part.js:865
+#: templates/js/translated/part.js:1988 templates/js/translated/stock.js:2414
msgid "Name"
msgstr ""
#: InvenTree/models.py:564 build/models.py:163
-#: build/templates/build/detail.html:24 company/models.py:283
-#: company/models.py:518 company/templates/company/company_base.html:71
+#: build/templates/build/detail.html:24 company/models.py:287
+#: company/models.py:522 company/templates/company/company_base.html:71
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:108 label/models.py:108
-#: order/models.py:82 part/models.py:783 part/models.py:2438
-#: part/templates/part/category.html:75 part/templates/part/part_base.html:172
+#: order/models.py:83 part/admin.py:141 part/admin.py:222 part/models.py:802
+#: part/models.py:3051 part/templates/part/category.html:75
+#: part/templates/part/part_base.html:172
#: part/templates/part/part_scheduling.html:12 report/models.py:165
#: report/models.py:507 report/models.py:551
#: report/templates/report/inventree_build_order_base.html:117
-#: stock/templates/stock/location.html:117
+#: stock/admin.py:25 stock/templates/stock/location.html:117
#: templates/InvenTree/settings/plugin_settings.html:28
#: templates/InvenTree/settings/settings.html:355
-#: templates/js/translated/bom.js:579 templates/js/translated/bom.js:887
-#: templates/js/translated/build.js:2580 templates/js/translated/company.js:444
-#: templates/js/translated/company.js:702
-#: templates/js/translated/company.js:986 templates/js/translated/order.js:1988
-#: templates/js/translated/order.js:2220 templates/js/translated/order.js:2826
-#: templates/js/translated/part.js:745 templates/js/translated/part.js:1187
-#: templates/js/translated/part.js:1464 templates/js/translated/part.js:2000
-#: templates/js/translated/part.js:2075 templates/js/translated/stock.js:1748
-#: templates/js/translated/stock.js:2428 templates/js/translated/stock.js:2488
+#: templates/js/translated/bom.js:592 templates/js/translated/bom.js:895
+#: templates/js/translated/build.js:2580 templates/js/translated/company.js:445
+#: templates/js/translated/company.js:703
+#: templates/js/translated/company.js:987 templates/js/translated/order.js:2022
+#: templates/js/translated/order.js:2259 templates/js/translated/order.js:2837
+#: templates/js/translated/part.js:759 templates/js/translated/part.js:1208
+#: templates/js/translated/part.js:1475 templates/js/translated/part.js:2024
+#: templates/js/translated/part.js:2099 templates/js/translated/stock.js:1767
+#: templates/js/translated/stock.js:2446 templates/js/translated/stock.js:2506
msgid "Description"
msgstr ""
@@ -320,7 +322,7 @@ msgid "parent"
msgstr ""
#: InvenTree/models.py:580 InvenTree/models.py:581
-#: templates/js/translated/part.js:2009 templates/js/translated/stock.js:2437
+#: templates/js/translated/part.js:2033 templates/js/translated/stock.js:2455
msgid "Path"
msgstr ""
@@ -332,7 +334,7 @@ msgstr ""
msgid "Third party barcode data"
msgstr ""
-#: InvenTree/models.py:688 order/serializers.py:486
+#: InvenTree/models.py:688 order/serializers.py:477
msgid "Barcode Hash"
msgstr ""
@@ -352,187 +354,187 @@ msgstr ""
msgid "An error has been logged by the server."
msgstr ""
-#: InvenTree/serializers.py:58 part/models.py:2774
+#: InvenTree/serializers.py:58 part/models.py:3387
msgid "Must be a valid number"
msgstr ""
-#: InvenTree/serializers.py:265
+#: InvenTree/serializers.py:266
msgid "Filename"
msgstr ""
-#: InvenTree/serializers.py:300
+#: InvenTree/serializers.py:301
msgid "Invalid value"
msgstr ""
-#: InvenTree/serializers.py:322
+#: InvenTree/serializers.py:323
msgid "Data File"
msgstr ""
-#: InvenTree/serializers.py:323
+#: InvenTree/serializers.py:324
msgid "Select data file for upload"
msgstr ""
-#: InvenTree/serializers.py:344
+#: InvenTree/serializers.py:345
msgid "Unsupported file type"
msgstr ""
-#: InvenTree/serializers.py:350
+#: InvenTree/serializers.py:351
msgid "File is too large"
msgstr ""
-#: InvenTree/serializers.py:371
+#: InvenTree/serializers.py:372
msgid "No columns found in file"
msgstr ""
-#: InvenTree/serializers.py:374
+#: InvenTree/serializers.py:375
msgid "No data rows found in file"
msgstr ""
-#: InvenTree/serializers.py:497
+#: InvenTree/serializers.py:498
msgid "No data rows provided"
msgstr ""
-#: InvenTree/serializers.py:500
+#: InvenTree/serializers.py:501
msgid "No data columns supplied"
msgstr ""
-#: InvenTree/serializers.py:577
+#: InvenTree/serializers.py:578
#, python-brace-format
msgid "Missing required column: '{name}'"
msgstr ""
-#: InvenTree/serializers.py:586
+#: InvenTree/serializers.py:587
#, python-brace-format
msgid "Duplicate column: '{col}'"
msgstr ""
-#: InvenTree/serializers.py:605
+#: InvenTree/serializers.py:606
#: templates/InvenTree/settings/mixins/urls.html:14
msgid "URL"
msgstr ""
-#: InvenTree/serializers.py:606
+#: InvenTree/serializers.py:607
msgid "URL of remote image file"
msgstr ""
-#: InvenTree/serializers.py:620
+#: InvenTree/serializers.py:621
msgid "Downloading images from remote URL is not enabled"
msgstr ""
-#: InvenTree/settings.py:621
+#: InvenTree/settings.py:627
msgid "Czech"
msgstr ""
-#: InvenTree/settings.py:622
+#: InvenTree/settings.py:628
msgid "Danish"
msgstr ""
-#: InvenTree/settings.py:623
+#: InvenTree/settings.py:629
msgid "German"
msgstr ""
-#: InvenTree/settings.py:624
+#: InvenTree/settings.py:630
msgid "Greek"
msgstr ""
-#: InvenTree/settings.py:625
+#: InvenTree/settings.py:631
msgid "English"
msgstr ""
-#: InvenTree/settings.py:626
+#: InvenTree/settings.py:632
msgid "Spanish"
msgstr ""
-#: InvenTree/settings.py:627
+#: InvenTree/settings.py:633
msgid "Spanish (Mexican)"
msgstr ""
-#: InvenTree/settings.py:628
+#: InvenTree/settings.py:634
msgid "Farsi / Persian"
msgstr ""
-#: InvenTree/settings.py:629
+#: InvenTree/settings.py:635
msgid "French"
msgstr ""
-#: InvenTree/settings.py:630
+#: InvenTree/settings.py:636
msgid "Hebrew"
msgstr ""
-#: InvenTree/settings.py:631
+#: InvenTree/settings.py:637
msgid "Hungarian"
msgstr ""
-#: InvenTree/settings.py:632
+#: InvenTree/settings.py:638
msgid "Italian"
msgstr ""
-#: InvenTree/settings.py:633
+#: InvenTree/settings.py:639
msgid "Japanese"
msgstr ""
-#: InvenTree/settings.py:634
+#: InvenTree/settings.py:640
msgid "Korean"
msgstr ""
-#: InvenTree/settings.py:635
+#: InvenTree/settings.py:641
msgid "Dutch"
msgstr ""
-#: InvenTree/settings.py:636
+#: InvenTree/settings.py:642
msgid "Norwegian"
msgstr ""
-#: InvenTree/settings.py:637
+#: InvenTree/settings.py:643
msgid "Polish"
msgstr ""
-#: InvenTree/settings.py:638
+#: InvenTree/settings.py:644
msgid "Portuguese"
msgstr ""
-#: InvenTree/settings.py:639
+#: InvenTree/settings.py:645
msgid "Portuguese (Brazilian)"
msgstr ""
-#: InvenTree/settings.py:640
+#: InvenTree/settings.py:646
msgid "Russian"
msgstr ""
-#: InvenTree/settings.py:641
+#: InvenTree/settings.py:647
msgid "Swedish"
msgstr ""
-#: InvenTree/settings.py:642
+#: InvenTree/settings.py:648
msgid "Thai"
msgstr ""
-#: InvenTree/settings.py:643
+#: InvenTree/settings.py:649
msgid "Turkish"
msgstr ""
-#: InvenTree/settings.py:644
+#: InvenTree/settings.py:650
msgid "Vietnamese"
msgstr ""
-#: InvenTree/settings.py:645
+#: InvenTree/settings.py:651
msgid "Chinese"
msgstr ""
-#: InvenTree/status.py:99
+#: InvenTree/status.py:98
msgid "Background worker check failed"
msgstr ""
-#: InvenTree/status.py:103
+#: InvenTree/status.py:102
msgid "Email backend not configured"
msgstr ""
-#: InvenTree/status.py:106
+#: InvenTree/status.py:105
msgid "InvenTree system health checks failed"
msgstr ""
#: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140
-#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:342
+#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:346
msgid "Pending"
msgstr ""
@@ -561,8 +563,8 @@ msgstr ""
msgid "Returned"
msgstr ""
-#: InvenTree/status_codes.py:141 order/models.py:1142
-#: templates/js/translated/order.js:3625 templates/js/translated/order.js:3974
+#: InvenTree/status_codes.py:141 order/models.py:1165
+#: templates/js/translated/order.js:3636 templates/js/translated/order.js:3971
msgid "Shipped"
msgstr ""
@@ -646,7 +648,7 @@ msgstr ""
msgid "Split child item"
msgstr ""
-#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2086
+#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2104
msgid "Merged stock items"
msgstr ""
@@ -654,7 +656,7 @@ msgstr ""
msgid "Converted to variant"
msgstr ""
-#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:229
+#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:233
msgid "Sent to customer"
msgstr ""
@@ -746,7 +748,7 @@ msgstr ""
#: build/models.py:111 build/templates/build/build_base.html:13
#: build/templates/build/index.html:8 build/templates/build/index.html:12
-#: order/templates/order/sales_order_detail.html:120
+#: order/templates/order/sales_order_detail.html:125
#: order/templates/order/so_sidebar.html:13
#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221
#: templates/InvenTree/search.html:141
@@ -759,15 +761,15 @@ msgstr ""
msgid "Build Order Reference"
msgstr ""
-#: build/models.py:155 order/models.py:240 order/models.py:632
-#: order/models.py:918 part/models.py:2684
+#: build/models.py:155 order/models.py:241 order/models.py:651
+#: order/models.py:941 part/admin.py:224 part/models.py:3297
#: part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:92
-#: templates/js/translated/bom.js:716 templates/js/translated/bom.js:897
-#: templates/js/translated/build.js:1843 templates/js/translated/order.js:2251
-#: templates/js/translated/order.js:2481 templates/js/translated/order.js:3818
-#: templates/js/translated/order.js:4323
+#: templates/js/translated/bom.js:729 templates/js/translated/bom.js:905
+#: templates/js/translated/build.js:1843 templates/js/translated/order.js:2290
+#: templates/js/translated/order.js:2508 templates/js/translated/order.js:3833
+#: templates/js/translated/order.js:4324 templates/js/translated/pricing.js:119
msgid "Reference"
msgstr ""
@@ -785,39 +787,40 @@ msgid "BuildOrder to which this build is allocated"
msgstr ""
#: build/models.py:180 build/templates/build/build_base.html:80
-#: build/templates/build/detail.html:29 company/models.py:680
-#: order/models.py:1015 order/models.py:1126 order/models.py:1127
-#: part/models.py:343 part/models.py:2200 part/models.py:2215
-#: part/models.py:2234 part/models.py:2252 part/models.py:2351
-#: part/models.py:2472 part/models.py:2564 part/models.py:2649
-#: part/models.py:2943 part/serializers.py:828
+#: build/templates/build/detail.html:29 company/models.py:684
+#: order/models.py:1038 order/models.py:1149 order/models.py:1150
+#: part/models.py:362 part/models.py:2700 part/models.py:2813
+#: part/models.py:2828 part/models.py:2847 part/models.py:2865
+#: part/models.py:2964 part/models.py:3085 part/models.py:3177
+#: part/models.py:3262 part/models.py:3578 part/serializers.py:852
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
#: report/templates/report/inventree_build_order_base.html:109
#: report/templates/report/inventree_po_report.html:89
-#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:86
-#: stock/serializers.py:494 templates/InvenTree/search.html:82
+#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:90
+#: stock/serializers.py:488 templates/InvenTree/search.html:82
#: templates/email/build_order_completed.html:17
#: templates/email/build_order_required_stock.html:17
#: templates/email/low_stock_notification.html:16
#: templates/email/overdue_build_order.html:16
-#: templates/js/translated/barcode.js:479 templates/js/translated/bom.js:578
-#: templates/js/translated/bom.js:715 templates/js/translated/bom.js:841
+#: templates/js/translated/barcode.js:479 templates/js/translated/bom.js:591
+#: templates/js/translated/bom.js:728 templates/js/translated/bom.js:849
#: templates/js/translated/build.js:1214 templates/js/translated/build.js:1711
#: templates/js/translated/build.js:2194 templates/js/translated/build.js:2585
-#: templates/js/translated/company.js:301
-#: templates/js/translated/company.js:531
-#: templates/js/translated/company.js:643
-#: templates/js/translated/company.js:904 templates/js/translated/order.js:106
-#: templates/js/translated/order.js:1134 templates/js/translated/order.js:1638
-#: templates/js/translated/order.js:2205 templates/js/translated/order.js:3180
-#: templates/js/translated/order.js:3576 templates/js/translated/order.js:3802
-#: templates/js/translated/part.js:1172 templates/js/translated/part.js:1244
-#: templates/js/translated/part.js:1442 templates/js/translated/stock.js:586
-#: templates/js/translated/stock.js:751 templates/js/translated/stock.js:958
-#: templates/js/translated/stock.js:1700 templates/js/translated/stock.js:2514
-#: templates/js/translated/stock.js:2709 templates/js/translated/stock.js:2843
+#: templates/js/translated/company.js:302
+#: templates/js/translated/company.js:532
+#: templates/js/translated/company.js:644
+#: templates/js/translated/company.js:905 templates/js/translated/order.js:106
+#: templates/js/translated/order.js:1168 templates/js/translated/order.js:1672
+#: templates/js/translated/order.js:2244 templates/js/translated/order.js:3191
+#: templates/js/translated/order.js:3587 templates/js/translated/order.js:3817
+#: templates/js/translated/part.js:1193 templates/js/translated/part.js:1265
+#: templates/js/translated/part.js:1452 templates/js/translated/pricing.js:102
+#: templates/js/translated/stock.js:605 templates/js/translated/stock.js:770
+#: templates/js/translated/stock.js:977 templates/js/translated/stock.js:1719
+#: templates/js/translated/stock.js:2532 templates/js/translated/stock.js:2727
+#: templates/js/translated/stock.js:2861
msgid "Part"
msgstr ""
@@ -834,7 +837,7 @@ msgid "SalesOrder to which this build is allocated"
msgstr ""
#: build/models.py:202 build/serializers.py:822
-#: templates/js/translated/build.js:2182 templates/js/translated/order.js:3168
+#: templates/js/translated/build.js:2182 templates/js/translated/order.js:3179
msgid "Source Location"
msgstr ""
@@ -874,8 +877,8 @@ msgstr ""
msgid "Build status code"
msgstr ""
-#: build/models.py:245 build/serializers.py:224 order/serializers.py:464
-#: stock/models.py:664 templates/js/translated/order.js:1496
+#: build/models.py:245 build/serializers.py:224 order/serializers.py:455
+#: stock/models.py:680 templates/js/translated/order.js:1530
msgid "Batch Code"
msgstr ""
@@ -883,12 +886,12 @@ msgstr ""
msgid "Batch code for this build output"
msgstr ""
-#: build/models.py:252 order/models.py:86 part/models.py:952
-#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2839
+#: build/models.py:252 order/models.py:87 part/models.py:971
+#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2850
msgid "Creation Date"
msgstr ""
-#: build/models.py:256 order/models.py:662
+#: build/models.py:256 order/models.py:681
msgid "Target completion date"
msgstr ""
@@ -896,7 +899,7 @@ msgstr ""
msgid "Target date for build completion. Build will be overdue after this date."
msgstr ""
-#: build/models.py:260 order/models.py:291
+#: build/models.py:260 order/models.py:292
#: templates/js/translated/build.js:2662
msgid "Completion Date"
msgstr ""
@@ -914,11 +917,11 @@ msgid "User who issued this build order"
msgstr ""
#: build/models.py:283 build/templates/build/build_base.html:193
-#: build/templates/build/detail.html:115 order/models.py:100
+#: build/templates/build/detail.html:115 order/models.py:101
#: order/templates/order/order_base.html:185
-#: order/templates/order/sales_order_base.html:183 part/models.py:956
+#: order/templates/order/sales_order_base.html:183 part/models.py:975
#: report/templates/report/inventree_build_order_base.html:158
-#: templates/js/translated/build.js:2642 templates/js/translated/order.js:2022
+#: templates/js/translated/build.js:2642 templates/js/translated/order.js:2056
msgid "Responsible"
msgstr ""
@@ -929,7 +932,7 @@ msgstr ""
#: build/models.py:289 build/templates/build/detail.html:101
#: company/templates/company/manufacturer_part.html:107
#: company/templates/company/supplier_part.html:188
-#: part/templates/part/part_base.html:361 stock/models.py:658
+#: part/templates/part/part_base.html:376 stock/models.py:674
#: stock/templates/stock/item_base.html:203
msgid "External Link"
msgstr ""
@@ -968,11 +971,11 @@ msgstr ""
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr ""
-#: build/models.py:1191 order/models.py:1393
+#: build/models.py:1191 order/models.py:1416
msgid "Stock item is over-allocated"
msgstr ""
-#: build/models.py:1197 order/models.py:1396
+#: build/models.py:1197 order/models.py:1419
msgid "Allocation quantity must be greater than zero"
msgstr ""
@@ -994,18 +997,18 @@ msgstr ""
msgid "Build to allocate parts"
msgstr ""
-#: build/models.py:1346 build/serializers.py:663 order/serializers.py:1039
-#: order/serializers.py:1060 stock/serializers.py:398 stock/serializers.py:758
-#: stock/serializers.py:884 stock/templates/stock/item_base.html:10
+#: build/models.py:1346 build/serializers.py:663 order/serializers.py:1032
+#: order/serializers.py:1053 stock/serializers.py:392 stock/serializers.py:757
+#: stock/serializers.py:883 stock/templates/stock/item_base.html:10
#: stock/templates/stock/item_base.html:23
#: stock/templates/stock/item_base.html:197
#: templates/js/translated/build.js:790 templates/js/translated/build.js:795
#: templates/js/translated/build.js:2196 templates/js/translated/build.js:2747
-#: templates/js/translated/order.js:107 templates/js/translated/order.js:3181
-#: templates/js/translated/order.js:3483 templates/js/translated/order.js:3488
-#: templates/js/translated/order.js:3583 templates/js/translated/order.js:3675
-#: templates/js/translated/stock.js:587 templates/js/translated/stock.js:752
-#: templates/js/translated/stock.js:2587
+#: templates/js/translated/order.js:107 templates/js/translated/order.js:3192
+#: templates/js/translated/order.js:3494 templates/js/translated/order.js:3499
+#: templates/js/translated/order.js:3594 templates/js/translated/order.js:3686
+#: templates/js/translated/stock.js:606 templates/js/translated/stock.js:771
+#: templates/js/translated/stock.js:2605
msgid "Stock Item"
msgstr ""
@@ -1015,12 +1018,10 @@ msgstr ""
#: build/models.py:1359 build/serializers.py:192
#: build/templates/build/build_base.html:85
-#: build/templates/build/detail.html:34 common/models.py:1776
-#: company/templates/company/supplier_part.html:341 order/models.py:911
-#: order/models.py:1437 order/serializers.py:1213
-#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:40
-#: part/models.py:2665 part/templates/part/detail.html:938
-#: part/templates/part/detail.html:1024
+#: build/templates/build/detail.html:34 common/models.py:1788
+#: order/models.py:934 order/models.py:1460 order/serializers.py:1206
+#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:223
+#: part/forms.py:40 part/models.py:3278
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_build_order_base.html:113
@@ -1028,25 +1029,29 @@ msgstr ""
#: report/templates/report/inventree_so_report.html:91
#: report/templates/report/inventree_test_report_base.html:81
#: report/templates/report/inventree_test_report_base.html:139
-#: stock/serializers.py:291 stock/templates/stock/item_base.html:290
+#: stock/admin.py:86 stock/serializers.py:285
+#: stock/templates/stock/item_base.html:290
#: stock/templates/stock/item_base.html:298
#: templates/email/build_order_completed.html:18
-#: templates/js/translated/barcode.js:481 templates/js/translated/bom.js:717
-#: templates/js/translated/bom.js:905 templates/js/translated/build.js:474
+#: templates/js/translated/barcode.js:481 templates/js/translated/bom.js:730
+#: templates/js/translated/bom.js:913 templates/js/translated/build.js:474
#: templates/js/translated/build.js:626 templates/js/translated/build.js:817
#: templates/js/translated/build.js:1236 templates/js/translated/build.js:1737
#: templates/js/translated/build.js:2197
+#: templates/js/translated/company.js:1159
#: templates/js/translated/model_renderers.js:120
-#: templates/js/translated/order.js:123 templates/js/translated/order.js:1137
-#: templates/js/translated/order.js:2257 templates/js/translated/order.js:2487
-#: templates/js/translated/order.js:3182 templates/js/translated/order.js:3502
-#: templates/js/translated/order.js:3589 templates/js/translated/order.js:3681
-#: templates/js/translated/order.js:3824 templates/js/translated/order.js:4329
-#: templates/js/translated/part.js:1036 templates/js/translated/part.js:2220
-#: templates/js/translated/part.js:2689 templates/js/translated/part.js:2730
-#: templates/js/translated/part.js:2808 templates/js/translated/stock.js:458
-#: templates/js/translated/stock.js:612 templates/js/translated/stock.js:782
-#: templates/js/translated/stock.js:2636 templates/js/translated/stock.js:2721
+#: templates/js/translated/order.js:123 templates/js/translated/order.js:1171
+#: templates/js/translated/order.js:2296 templates/js/translated/order.js:2514
+#: templates/js/translated/order.js:3193 templates/js/translated/order.js:3513
+#: templates/js/translated/order.js:3600 templates/js/translated/order.js:3692
+#: templates/js/translated/order.js:3839 templates/js/translated/order.js:4330
+#: templates/js/translated/part.js:1063 templates/js/translated/part.js:2546
+#: templates/js/translated/pricing.js:114
+#: templates/js/translated/pricing.js:207
+#: templates/js/translated/pricing.js:255
+#: templates/js/translated/pricing.js:349 templates/js/translated/stock.js:477
+#: templates/js/translated/stock.js:631 templates/js/translated/stock.js:801
+#: templates/js/translated/stock.js:2654 templates/js/translated/stock.js:2739
msgid "Quantity"
msgstr ""
@@ -1087,10 +1092,10 @@ msgstr ""
msgid "Enter quantity for build output"
msgstr ""
-#: build/serializers.py:207 build/serializers.py:683 order/models.py:323
-#: order/serializers.py:304 order/serializers.py:459 part/serializers.py:558
-#: part/serializers.py:991 stock/models.py:518 stock/models.py:1253
-#: stock/serializers.py:300
+#: build/serializers.py:207 build/serializers.py:683 order/models.py:327
+#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:644
+#: part/serializers.py:1015 stock/models.py:534 stock/models.py:1269
+#: stock/serializers.py:294
msgid "Quantity must be greater than zero"
msgstr ""
@@ -1102,9 +1107,9 @@ msgstr ""
msgid "Integer quantity required, as the bill of materials contains trackable parts"
msgstr ""
-#: build/serializers.py:231 order/serializers.py:472 order/serializers.py:1217
-#: stock/serializers.py:309 templates/js/translated/order.js:1507
-#: templates/js/translated/stock.js:271 templates/js/translated/stock.js:459
+#: build/serializers.py:231 order/serializers.py:463 order/serializers.py:1210
+#: stock/serializers.py:303 templates/js/translated/order.js:1541
+#: templates/js/translated/stock.js:290 templates/js/translated/stock.js:478
msgid "Serial Numbers"
msgstr ""
@@ -1120,7 +1125,7 @@ msgstr ""
msgid "Automatically allocate required items with matching serial numbers"
msgstr ""
-#: build/serializers.py:281 stock/api.py:589
+#: build/serializers.py:281 stock/api.py:599
msgid "The following serial numbers already exist or are invalid"
msgstr ""
@@ -1128,18 +1133,18 @@ msgstr ""
msgid "A list of build outputs must be provided"
msgstr ""
-#: build/serializers.py:369 order/serializers.py:445 order/serializers.py:556
-#: stock/serializers.py:320 stock/serializers.py:455 stock/serializers.py:536
-#: stock/serializers.py:919 stock/serializers.py:1152
+#: build/serializers.py:369 order/serializers.py:436 order/serializers.py:547
+#: stock/serializers.py:314 stock/serializers.py:449 stock/serializers.py:530
+#: stock/serializers.py:918 stock/serializers.py:1151
#: stock/templates/stock/item_base.html:388
#: templates/js/translated/barcode.js:480
#: templates/js/translated/barcode.js:724 templates/js/translated/build.js:802
-#: templates/js/translated/build.js:1749 templates/js/translated/order.js:1534
-#: templates/js/translated/order.js:3495 templates/js/translated/order.js:3600
-#: templates/js/translated/order.js:3608 templates/js/translated/order.js:3689
-#: templates/js/translated/part.js:181 templates/js/translated/stock.js:588
-#: templates/js/translated/stock.js:753 templates/js/translated/stock.js:960
-#: templates/js/translated/stock.js:1856 templates/js/translated/stock.js:2528
+#: templates/js/translated/build.js:1749 templates/js/translated/order.js:1568
+#: templates/js/translated/order.js:3506 templates/js/translated/order.js:3611
+#: templates/js/translated/order.js:3619 templates/js/translated/order.js:3700
+#: templates/js/translated/part.js:177 templates/js/translated/stock.js:607
+#: templates/js/translated/stock.js:772 templates/js/translated/stock.js:979
+#: templates/js/translated/stock.js:1875 templates/js/translated/stock.js:2546
msgid "Location"
msgstr ""
@@ -1148,12 +1153,13 @@ msgid "Location for completed build outputs"
msgstr ""
#: build/serializers.py:376 build/templates/build/build_base.html:145
-#: build/templates/build/detail.html:62 order/models.py:651
-#: order/serializers.py:482 stock/templates/stock/item_base.html:421
+#: build/templates/build/detail.html:62 order/models.py:670
+#: order/serializers.py:473 stock/admin.py:89
+#: stock/templates/stock/item_base.html:421
#: templates/js/translated/barcode.js:214 templates/js/translated/build.js:2614
-#: templates/js/translated/order.js:1643 templates/js/translated/order.js:1992
-#: templates/js/translated/order.js:2831 templates/js/translated/stock.js:1831
-#: templates/js/translated/stock.js:2605 templates/js/translated/stock.js:2737
+#: templates/js/translated/order.js:1677 templates/js/translated/order.js:2026
+#: templates/js/translated/order.js:2842 templates/js/translated/stock.js:1850
+#: templates/js/translated/stock.js:2623 templates/js/translated/stock.js:2755
msgid "Status"
msgstr ""
@@ -1213,7 +1219,7 @@ msgstr ""
msgid "Required stock has not been fully allocated"
msgstr ""
-#: build/serializers.py:545 order/serializers.py:208 order/serializers.py:1107
+#: build/serializers.py:545 order/serializers.py:202 order/serializers.py:1100
msgid "Accept Incomplete"
msgstr ""
@@ -1229,8 +1235,8 @@ msgstr ""
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:595 build/serializers.py:640 part/models.py:2801
-#: part/models.py:2935
+#: build/serializers.py:595 build/serializers.py:640 part/models.py:3414
+#: part/models.py:3570
msgid "BOM Item"
msgstr ""
@@ -1246,11 +1252,11 @@ msgstr ""
msgid "bom_item.part must point to the same part as the build order"
msgstr ""
-#: build/serializers.py:669 stock/serializers.py:771
+#: build/serializers.py:669 stock/serializers.py:770
msgid "Item must be in stock"
msgstr ""
-#: build/serializers.py:727 order/serializers.py:1097
+#: build/serializers.py:727 order/serializers.py:1090
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr ""
@@ -1267,7 +1273,7 @@ msgstr ""
msgid "This stock item has already been allocated to this build output"
msgstr ""
-#: build/serializers.py:768 order/serializers.py:1381
+#: build/serializers.py:768 order/serializers.py:1374
msgid "Allocation items must be provided"
msgstr ""
@@ -1382,13 +1388,13 @@ msgid "Stock has not been fully allocated to this Build Order"
msgstr ""
#: build/templates/build/build_base.html:154
-#: build/templates/build/detail.html:131 order/models.py:924
+#: build/templates/build/detail.html:131 order/models.py:947
#: order/templates/order/order_base.html:171
#: order/templates/order/sales_order_base.html:164
#: report/templates/report/inventree_build_order_base.html:125
-#: templates/js/translated/build.js:2654 templates/js/translated/order.js:2009
-#: templates/js/translated/order.js:2351 templates/js/translated/order.js:2847
-#: templates/js/translated/order.js:3887 templates/js/translated/part.js:1051
+#: templates/js/translated/build.js:2654 templates/js/translated/order.js:2043
+#: templates/js/translated/order.js:2374 templates/js/translated/order.js:2858
+#: templates/js/translated/order.js:3884 templates/js/translated/part.js:1078
msgid "Target Date"
msgstr ""
@@ -1401,29 +1407,29 @@ msgstr ""
#: build/templates/build/build_base.html:204
#: order/templates/order/order_base.html:107
#: order/templates/order/sales_order_base.html:94
-#: templates/js/translated/table_filters.js:328
-#: templates/js/translated/table_filters.js:369
-#: templates/js/translated/table_filters.js:399
+#: templates/js/translated/table_filters.js:332
+#: templates/js/translated/table_filters.js:373
+#: templates/js/translated/table_filters.js:403
msgid "Overdue"
msgstr ""
#: build/templates/build/build_base.html:166
#: build/templates/build/detail.html:67 build/templates/build/detail.html:142
#: order/templates/order/sales_order_base.html:171
-#: templates/js/translated/table_filters.js:408
+#: templates/js/translated/table_filters.js:412
msgid "Completed"
msgstr ""
#: build/templates/build/build_base.html:179
-#: build/templates/build/detail.html:94 order/models.py:1119
-#: order/models.py:1213 order/models.py:1344
+#: build/templates/build/detail.html:94 order/models.py:1142
+#: order/models.py:1236 order/models.py:1367
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
#: report/templates/report/inventree_build_order_base.html:135
#: report/templates/report/inventree_so_report.html:77
#: stock/templates/stock/item_base.html:368
#: templates/email/overdue_sales_order.html:15
-#: templates/js/translated/order.js:2793
+#: templates/js/translated/order.js:2804 templates/js/translated/pricing.js:637
msgid "Sales Order"
msgstr ""
@@ -1449,8 +1455,8 @@ msgstr ""
msgid "Stock can be taken from any available location."
msgstr ""
-#: build/templates/build/detail.html:49 order/models.py:1037
-#: templates/js/translated/order.js:1644 templates/js/translated/order.js:2393
+#: build/templates/build/detail.html:49 order/models.py:1060
+#: templates/js/translated/order.js:1678 templates/js/translated/order.js:2416
msgid "Destination"
msgstr ""
@@ -1462,14 +1468,14 @@ msgstr ""
msgid "Allocated Parts"
msgstr ""
-#: build/templates/build/detail.html:80
+#: build/templates/build/detail.html:80 stock/admin.py:88
#: stock/templates/stock/item_base.html:168
#: templates/js/translated/build.js:1240
#: templates/js/translated/model_renderers.js:124
-#: templates/js/translated/stock.js:1026 templates/js/translated/stock.js:1845
-#: templates/js/translated/stock.js:2744
-#: templates/js/translated/table_filters.js:167
-#: templates/js/translated/table_filters.js:258
+#: templates/js/translated/stock.js:1045 templates/js/translated/stock.js:1864
+#: templates/js/translated/stock.js:2762
+#: templates/js/translated/table_filters.js:171
+#: templates/js/translated/table_filters.js:262
msgid "Batch"
msgstr ""
@@ -1527,7 +1533,7 @@ msgstr ""
#: build/templates/build/detail.html:187
#: company/templates/company/detail.html:37
#: company/templates/company/detail.html:85
-#: part/templates/part/category.html:178 templates/js/translated/order.js:1177
+#: part/templates/part/category.html:178 templates/js/translated/order.js:1211
msgid "Order Parts"
msgstr ""
@@ -1597,10 +1603,10 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:151
#: company/templates/company/manufacturer_part_sidebar.html:9
#: order/templates/order/po_sidebar.html:9
-#: order/templates/order/purchase_order_detail.html:82
-#: order/templates/order/sales_order_detail.html:135
-#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:212
-#: part/templates/part/part_sidebar.html:57 stock/templates/stock/item.html:117
+#: order/templates/order/purchase_order_detail.html:86
+#: order/templates/order/sales_order_detail.html:140
+#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:210
+#: part/templates/part/part_sidebar.html:55 stock/templates/stock/item.html:117
#: stock/templates/stock/stock_sidebar.html:23
msgid "Attachments"
msgstr ""
@@ -1617,7 +1623,7 @@ msgstr ""
msgid "All untracked stock items have been allocated"
msgstr ""
-#: build/templates/build/index.html:18 part/templates/part/detail.html:318
+#: build/templates/build/index.html:18 part/templates/part/detail.html:316
msgid "New Build Order"
msgstr ""
@@ -1734,7 +1740,7 @@ msgstr ""
msgid "Show the `about` modal only to superusers"
msgstr ""
-#: common/models.py:833 company/models.py:94 company/models.py:95
+#: common/models.py:833 company/models.py:98 company/models.py:99
msgid "Company name"
msgstr ""
@@ -1902,9 +1908,9 @@ msgstr ""
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:1002 part/models.py:2474 report/models.py:158
-#: templates/js/translated/table_filters.js:38
-#: templates/js/translated/table_filters.js:492
+#: common/models.py:1002 part/admin.py:41 part/models.py:3087
+#: report/models.py:158 templates/js/translated/table_filters.js:38
+#: templates/js/translated/table_filters.js:496
msgid "Template"
msgstr ""
@@ -1912,9 +1918,10 @@ msgstr ""
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:1009 part/models.py:908 templates/js/translated/bom.js:1531
-#: templates/js/translated/table_filters.js:184
-#: templates/js/translated/table_filters.js:455
+#: common/models.py:1009 part/admin.py:37 part/admin.py:229 part/models.py:927
+#: templates/js/translated/bom.js:1594
+#: templates/js/translated/table_filters.js:188
+#: templates/js/translated/table_filters.js:459
msgid "Assembly"
msgstr ""
@@ -1922,8 +1929,8 @@ msgstr ""
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:1016 part/models.py:914
-#: templates/js/translated/table_filters.js:463
+#: common/models.py:1016 part/admin.py:38 part/models.py:933
+#: templates/js/translated/table_filters.js:467
msgid "Component"
msgstr ""
@@ -1931,7 +1938,7 @@ msgstr ""
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:1023 part/models.py:925
+#: common/models.py:1023 part/admin.py:39 part/models.py:944
msgid "Purchaseable"
msgstr ""
@@ -1939,8 +1946,8 @@ msgstr ""
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:1030 part/models.py:930
-#: templates/js/translated/table_filters.js:484
+#: common/models.py:1030 part/admin.py:40 part/models.py:949
+#: templates/js/translated/table_filters.js:488
msgid "Salable"
msgstr ""
@@ -1948,10 +1955,10 @@ msgstr ""
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:1037 part/models.py:920
+#: common/models.py:1037 part/admin.py:42 part/models.py:939
#: templates/js/translated/table_filters.js:46
-#: templates/js/translated/table_filters.js:116
-#: templates/js/translated/table_filters.js:496
+#: templates/js/translated/table_filters.js:120
+#: templates/js/translated/table_filters.js:500
msgid "Trackable"
msgstr ""
@@ -1959,10 +1966,10 @@ msgstr ""
msgid "Parts are trackable by default"
msgstr ""
-#: common/models.py:1044 part/models.py:940
+#: common/models.py:1044 part/admin.py:43 part/models.py:959
#: part/templates/part/part_base.html:156
#: templates/js/translated/table_filters.js:42
-#: templates/js/translated/table_filters.js:500
+#: templates/js/translated/table_filters.js:504
msgid "Virtual"
msgstr ""
@@ -1979,791 +1986,837 @@ msgid "Display the import wizard in some part views"
msgstr ""
#: common/models.py:1058
-msgid "Show Price in Forms"
-msgstr ""
-
-#: common/models.py:1059
-msgid "Display part price in some forms"
-msgstr ""
-
-#: common/models.py:1070
-msgid "Show Price in BOM"
-msgstr ""
-
-#: common/models.py:1071
-msgid "Include pricing information in BOM tables"
-msgstr ""
-
-#: common/models.py:1082
-msgid "Show Price History"
-msgstr ""
-
-#: common/models.py:1083
-msgid "Display historical pricing for Part"
-msgstr ""
-
-#: common/models.py:1089
msgid "Show related parts"
msgstr ""
-#: common/models.py:1090
+#: common/models.py:1059
msgid "Display related parts for a part"
msgstr ""
-#: common/models.py:1096
+#: common/models.py:1065
msgid "Create initial stock"
msgstr ""
-#: common/models.py:1097
+#: common/models.py:1066
msgid "Create initial stock on part creation"
msgstr ""
-#: common/models.py:1103
-msgid "Internal Prices"
-msgstr ""
-
-#: common/models.py:1104
-msgid "Enable internal prices for parts"
-msgstr ""
-
-#: common/models.py:1110
-msgid "Internal Price as BOM-Price"
-msgstr ""
-
-#: common/models.py:1111
-msgid "Use the internal price (if set) in BOM-price calculations"
-msgstr ""
-
-#: common/models.py:1117
+#: common/models.py:1072
msgid "Part Name Display Format"
msgstr ""
-#: common/models.py:1118
+#: common/models.py:1073
msgid "Format to display the part name"
msgstr ""
-#: common/models.py:1125
+#: common/models.py:1080
msgid "Part Category Default Icon"
msgstr ""
-#: common/models.py:1126
+#: common/models.py:1081
msgid "Part category default icon (empty means no icon)"
msgstr ""
-#: common/models.py:1131
-msgid "Enable label printing"
+#: common/models.py:1086
+msgid "Pricing Decimal Places"
msgstr ""
-#: common/models.py:1132
-msgid "Enable label printing from the web interface"
+#: common/models.py:1087
+msgid "Number of decimal places to display when rendering pricing data"
msgstr ""
-#: common/models.py:1138
-msgid "Label Image DPI"
+#: common/models.py:1097
+msgid "Pricing Rebuild Time"
msgstr ""
-#: common/models.py:1139
-msgid "DPI resolution when generating image files to supply to label printing plugins"
+#: common/models.py:1098
+msgid "Number of days before part pricing is automatically updated"
msgstr ""
-#: common/models.py:1148
-msgid "Enable Reports"
-msgstr ""
-
-#: common/models.py:1149
-msgid "Enable generation of reports"
-msgstr ""
-
-#: common/models.py:1155 templates/stats.html:25
-msgid "Debug Mode"
-msgstr ""
-
-#: common/models.py:1156
-msgid "Generate reports in debug mode (HTML output)"
-msgstr ""
-
-#: common/models.py:1162
-msgid "Page Size"
-msgstr ""
-
-#: common/models.py:1163
-msgid "Default page size for PDF reports"
-msgstr ""
-
-#: common/models.py:1173
-msgid "Enable Test Reports"
-msgstr ""
-
-#: common/models.py:1174
-msgid "Enable generation of test reports"
-msgstr ""
-
-#: common/models.py:1180
-msgid "Attach Test Reports"
-msgstr ""
-
-#: common/models.py:1181
-msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item"
-msgstr ""
-
-#: common/models.py:1187
-msgid "Globally Unique Serials"
-msgstr ""
-
-#: common/models.py:1188
-msgid "Serial numbers for stock items must be globally unique"
-msgstr ""
-
-#: common/models.py:1194
-msgid "Batch Code Template"
-msgstr ""
-
-#: common/models.py:1195
-msgid "Template for generating default batch codes for stock items"
-msgstr ""
-
-#: common/models.py:1200
-msgid "Stock Expiry"
-msgstr ""
-
-#: common/models.py:1201
-msgid "Enable stock expiry functionality"
-msgstr ""
-
-#: common/models.py:1207
-msgid "Sell Expired Stock"
-msgstr ""
-
-#: common/models.py:1208
-msgid "Allow sale of expired stock"
-msgstr ""
-
-#: common/models.py:1214
-msgid "Stock Stale Time"
-msgstr ""
-
-#: common/models.py:1215
-msgid "Number of days stock items are considered stale before expiring"
-msgstr ""
-
-#: common/models.py:1217
+#: common/models.py:1099 common/models.py:1208
msgid "days"
msgstr ""
-#: common/models.py:1222
+#: common/models.py:1108
+msgid "Internal Prices"
+msgstr ""
+
+#: common/models.py:1109
+msgid "Enable internal prices for parts"
+msgstr ""
+
+#: common/models.py:1115
+msgid "Internal Price Override"
+msgstr ""
+
+#: common/models.py:1116
+msgid "If available, internal prices override price range calculations"
+msgstr ""
+
+#: common/models.py:1122
+msgid "Enable label printing"
+msgstr ""
+
+#: common/models.py:1123
+msgid "Enable label printing from the web interface"
+msgstr ""
+
+#: common/models.py:1129
+msgid "Label Image DPI"
+msgstr ""
+
+#: common/models.py:1130
+msgid "DPI resolution when generating image files to supply to label printing plugins"
+msgstr ""
+
+#: common/models.py:1139
+msgid "Enable Reports"
+msgstr ""
+
+#: common/models.py:1140
+msgid "Enable generation of reports"
+msgstr ""
+
+#: common/models.py:1146 templates/stats.html:25
+msgid "Debug Mode"
+msgstr ""
+
+#: common/models.py:1147
+msgid "Generate reports in debug mode (HTML output)"
+msgstr ""
+
+#: common/models.py:1153
+msgid "Page Size"
+msgstr ""
+
+#: common/models.py:1154
+msgid "Default page size for PDF reports"
+msgstr ""
+
+#: common/models.py:1164
+msgid "Enable Test Reports"
+msgstr ""
+
+#: common/models.py:1165
+msgid "Enable generation of test reports"
+msgstr ""
+
+#: common/models.py:1171
+msgid "Attach Test Reports"
+msgstr ""
+
+#: common/models.py:1172
+msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item"
+msgstr ""
+
+#: common/models.py:1178
+msgid "Globally Unique Serials"
+msgstr ""
+
+#: common/models.py:1179
+msgid "Serial numbers for stock items must be globally unique"
+msgstr ""
+
+#: common/models.py:1185
+msgid "Batch Code Template"
+msgstr ""
+
+#: common/models.py:1186
+msgid "Template for generating default batch codes for stock items"
+msgstr ""
+
+#: common/models.py:1191
+msgid "Stock Expiry"
+msgstr ""
+
+#: common/models.py:1192
+msgid "Enable stock expiry functionality"
+msgstr ""
+
+#: common/models.py:1198
+msgid "Sell Expired Stock"
+msgstr ""
+
+#: common/models.py:1199
+msgid "Allow sale of expired stock"
+msgstr ""
+
+#: common/models.py:1205
+msgid "Stock Stale Time"
+msgstr ""
+
+#: common/models.py:1206
+msgid "Number of days stock items are considered stale before expiring"
+msgstr ""
+
+#: common/models.py:1213
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:1223
+#: common/models.py:1214
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:1229
+#: common/models.py:1220
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:1230
+#: common/models.py:1221
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:1236
+#: common/models.py:1227
msgid "Stock Location Default Icon"
msgstr ""
-#: common/models.py:1237
+#: common/models.py:1228
msgid "Stock location default icon (empty means no icon)"
msgstr ""
-#: common/models.py:1242
+#: common/models.py:1233
msgid "Build Order Reference Pattern"
msgstr ""
-#: common/models.py:1243
+#: common/models.py:1234
msgid "Required pattern for generating Build Order reference field"
msgstr ""
-#: common/models.py:1249
+#: common/models.py:1240
msgid "Sales Order Reference Pattern"
msgstr ""
-#: common/models.py:1250
+#: common/models.py:1241
msgid "Required pattern for generating Sales Order reference field"
msgstr ""
-#: common/models.py:1256
+#: common/models.py:1247
msgid "Sales Order Default Shipment"
msgstr ""
-#: common/models.py:1257
+#: common/models.py:1248
msgid "Enable creation of default shipment with sales orders"
msgstr ""
-#: common/models.py:1263
+#: common/models.py:1254
+msgid "Edit Completed Sales Orders"
+msgstr ""
+
+#: common/models.py:1255
+msgid "Allow editing of sales orders after they have been shipped or completed"
+msgstr ""
+
+#: common/models.py:1261
msgid "Purchase Order Reference Pattern"
msgstr ""
-#: common/models.py:1264
+#: common/models.py:1262
msgid "Required pattern for generating Purchase Order reference field"
msgstr ""
-#: common/models.py:1271
+#: common/models.py:1268
+msgid "Edit Completed Purchase Orders"
+msgstr ""
+
+#: common/models.py:1269
+msgid "Allow editing of purchase orders after they have been shipped or completed"
+msgstr ""
+
+#: common/models.py:1276
msgid "Enable password forgot"
msgstr ""
-#: common/models.py:1272
+#: common/models.py:1277
msgid "Enable password forgot function on the login pages"
msgstr ""
-#: common/models.py:1278
+#: common/models.py:1283
msgid "Enable registration"
msgstr ""
-#: common/models.py:1279
+#: common/models.py:1284
msgid "Enable self-registration for users on the login pages"
msgstr ""
-#: common/models.py:1285
+#: common/models.py:1290
msgid "Enable SSO"
msgstr ""
-#: common/models.py:1286
+#: common/models.py:1291
msgid "Enable SSO on the login pages"
msgstr ""
-#: common/models.py:1292
+#: common/models.py:1297
msgid "Email required"
msgstr ""
-#: common/models.py:1293
+#: common/models.py:1298
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/models.py:1299
+#: common/models.py:1304
msgid "Auto-fill SSO users"
msgstr ""
-#: common/models.py:1300
+#: common/models.py:1305
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/models.py:1306
+#: common/models.py:1311
msgid "Mail twice"
msgstr ""
-#: common/models.py:1307
+#: common/models.py:1312
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/models.py:1313
+#: common/models.py:1318
msgid "Password twice"
msgstr ""
-#: common/models.py:1314
+#: common/models.py:1319
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/models.py:1320
+#: common/models.py:1325
msgid "Group on signup"
msgstr ""
-#: common/models.py:1321
+#: common/models.py:1326
msgid "Group to which new users are assigned on registration"
msgstr ""
-#: common/models.py:1327
+#: common/models.py:1332
msgid "Enforce MFA"
msgstr ""
-#: common/models.py:1328
+#: common/models.py:1333
msgid "Users must use multifactor security."
msgstr ""
-#: common/models.py:1334
+#: common/models.py:1339
msgid "Check plugins on startup"
msgstr ""
-#: common/models.py:1335
+#: common/models.py:1340
msgid "Check that all plugins are installed on startup - enable in container environments"
msgstr ""
-#: common/models.py:1342
+#: common/models.py:1347
msgid "Check plugin signatures"
msgstr ""
-#: common/models.py:1343
+#: common/models.py:1348
msgid "Check and show signatures for plugins"
msgstr ""
-#: common/models.py:1350
+#: common/models.py:1355
msgid "Enable URL integration"
msgstr ""
-#: common/models.py:1351
+#: common/models.py:1356
msgid "Enable plugins to add URL routes"
msgstr ""
-#: common/models.py:1358
+#: common/models.py:1363
msgid "Enable navigation integration"
msgstr ""
-#: common/models.py:1359
+#: common/models.py:1364
msgid "Enable plugins to integrate into navigation"
msgstr ""
-#: common/models.py:1366
+#: common/models.py:1371
msgid "Enable app integration"
msgstr ""
-#: common/models.py:1367
+#: common/models.py:1372
msgid "Enable plugins to add apps"
msgstr ""
-#: common/models.py:1374
+#: common/models.py:1379
msgid "Enable schedule integration"
msgstr ""
-#: common/models.py:1375
+#: common/models.py:1380
msgid "Enable plugins to run scheduled tasks"
msgstr ""
-#: common/models.py:1382
+#: common/models.py:1387
msgid "Enable event integration"
msgstr ""
-#: common/models.py:1383
+#: common/models.py:1388
msgid "Enable plugins to respond to internal events"
msgstr ""
-#: common/models.py:1402 common/models.py:1737
+#: common/models.py:1407 common/models.py:1749
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:1424
+#: common/models.py:1429
msgid "Show subscribed parts"
msgstr ""
-#: common/models.py:1425
+#: common/models.py:1430
msgid "Show subscribed parts on the homepage"
msgstr ""
-#: common/models.py:1431
+#: common/models.py:1436
msgid "Show subscribed categories"
msgstr ""
-#: common/models.py:1432
+#: common/models.py:1437
msgid "Show subscribed part categories on the homepage"
msgstr ""
-#: common/models.py:1438
+#: common/models.py:1443
msgid "Show latest parts"
msgstr ""
-#: common/models.py:1439
+#: common/models.py:1444
msgid "Show latest parts on the homepage"
msgstr ""
-#: common/models.py:1445
+#: common/models.py:1450
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:1446
+#: common/models.py:1451
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:1452
+#: common/models.py:1457
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:1453
+#: common/models.py:1458
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:1459
+#: common/models.py:1464
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:1460
+#: common/models.py:1465
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:1466
+#: common/models.py:1471
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:1467
+#: common/models.py:1472
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:1473
+#: common/models.py:1478
msgid "Show low stock"
msgstr ""
-#: common/models.py:1474
+#: common/models.py:1479
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:1480
+#: common/models.py:1485
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:1481
+#: common/models.py:1486
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:1487
+#: common/models.py:1492
msgid "Show needed stock"
msgstr ""
-#: common/models.py:1488
+#: common/models.py:1493
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:1494
+#: common/models.py:1499
msgid "Show expired stock"
msgstr ""
-#: common/models.py:1495
+#: common/models.py:1500
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:1501
+#: common/models.py:1506
msgid "Show stale stock"
msgstr ""
-#: common/models.py:1502
+#: common/models.py:1507
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:1508
+#: common/models.py:1513
msgid "Show pending builds"
msgstr ""
-#: common/models.py:1509
+#: common/models.py:1514
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:1515
+#: common/models.py:1520
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:1516
+#: common/models.py:1521
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:1522
+#: common/models.py:1527
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:1523
+#: common/models.py:1528
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:1529
+#: common/models.py:1534
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:1530
+#: common/models.py:1535
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:1536
+#: common/models.py:1541
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:1537
+#: common/models.py:1542
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:1543
+#: common/models.py:1548
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:1544
+#: common/models.py:1549
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:1550
+#: common/models.py:1555
+msgid "Show News"
+msgstr ""
+
+#: common/models.py:1556
+msgid "Show news on the homepage"
+msgstr ""
+
+#: common/models.py:1562
msgid "Inline label display"
msgstr ""
-#: common/models.py:1551
+#: common/models.py:1563
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1557
+#: common/models.py:1569
msgid "Inline report display"
msgstr ""
-#: common/models.py:1558
+#: common/models.py:1570
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1564
+#: common/models.py:1576
msgid "Search Parts"
msgstr ""
-#: common/models.py:1565
+#: common/models.py:1577
msgid "Display parts in search preview window"
msgstr ""
-#: common/models.py:1571
+#: common/models.py:1583
msgid "Seach Supplier Parts"
msgstr ""
-#: common/models.py:1572
+#: common/models.py:1584
msgid "Display supplier parts in search preview window"
msgstr ""
-#: common/models.py:1578
+#: common/models.py:1590
msgid "Search Manufacturer Parts"
msgstr ""
-#: common/models.py:1579
+#: common/models.py:1591
msgid "Display manufacturer parts in search preview window"
msgstr ""
-#: common/models.py:1585
+#: common/models.py:1597
msgid "Hide Inactive Parts"
msgstr ""
-#: common/models.py:1586
+#: common/models.py:1598
msgid "Excluded inactive parts from search preview window"
msgstr ""
-#: common/models.py:1592
+#: common/models.py:1604
msgid "Search Categories"
msgstr ""
-#: common/models.py:1593
+#: common/models.py:1605
msgid "Display part categories in search preview window"
msgstr ""
-#: common/models.py:1599
+#: common/models.py:1611
msgid "Search Stock"
msgstr ""
-#: common/models.py:1600
+#: common/models.py:1612
msgid "Display stock items in search preview window"
msgstr ""
-#: common/models.py:1606
+#: common/models.py:1618
msgid "Hide Unavailable Stock Items"
msgstr ""
-#: common/models.py:1607
+#: common/models.py:1619
msgid "Exclude stock items which are not available from the search preview window"
msgstr ""
-#: common/models.py:1613
+#: common/models.py:1625
msgid "Search Locations"
msgstr ""
-#: common/models.py:1614
+#: common/models.py:1626
msgid "Display stock locations in search preview window"
msgstr ""
-#: common/models.py:1620
+#: common/models.py:1632
msgid "Search Companies"
msgstr ""
-#: common/models.py:1621
+#: common/models.py:1633
msgid "Display companies in search preview window"
msgstr ""
-#: common/models.py:1627
+#: common/models.py:1639
msgid "Search Build Orders"
msgstr ""
-#: common/models.py:1628
+#: common/models.py:1640
msgid "Display build orders in search preview window"
msgstr ""
-#: common/models.py:1634
+#: common/models.py:1646
msgid "Search Purchase Orders"
msgstr ""
-#: common/models.py:1635
+#: common/models.py:1647
msgid "Display purchase orders in search preview window"
msgstr ""
-#: common/models.py:1641
+#: common/models.py:1653
msgid "Exclude Inactive Purchase Orders"
msgstr ""
-#: common/models.py:1642
+#: common/models.py:1654
msgid "Exclude inactive purchase orders from search preview window"
msgstr ""
-#: common/models.py:1648
+#: common/models.py:1660
msgid "Search Sales Orders"
msgstr ""
-#: common/models.py:1649
+#: common/models.py:1661
msgid "Display sales orders in search preview window"
msgstr ""
-#: common/models.py:1655
+#: common/models.py:1667
msgid "Exclude Inactive Sales Orders"
msgstr ""
-#: common/models.py:1656
+#: common/models.py:1668
msgid "Exclude inactive sales orders from search preview window"
msgstr ""
-#: common/models.py:1662
+#: common/models.py:1674
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:1663
+#: common/models.py:1675
msgid "Number of results to show in each section of the search preview window"
msgstr ""
-#: common/models.py:1669
+#: common/models.py:1681
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:1670
+#: common/models.py:1682
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:1676
+#: common/models.py:1688
msgid "Escape Key Closes Forms"
msgstr ""
-#: common/models.py:1677
+#: common/models.py:1689
msgid "Use the escape key to close modal forms"
msgstr ""
-#: common/models.py:1683
+#: common/models.py:1695
msgid "Fixed Navbar"
msgstr ""
-#: common/models.py:1684
+#: common/models.py:1696
msgid "The navbar position is fixed to the top of the screen"
msgstr ""
-#: common/models.py:1690
+#: common/models.py:1702
msgid "Date Format"
msgstr ""
-#: common/models.py:1691
+#: common/models.py:1703
msgid "Preferred format for displaying dates"
msgstr ""
-#: common/models.py:1705 part/templates/part/detail.html:41
+#: common/models.py:1717 part/templates/part/detail.html:41
msgid "Part Scheduling"
msgstr ""
-#: common/models.py:1706
+#: common/models.py:1718
msgid "Display part scheduling information"
msgstr ""
-#: common/models.py:1712
+#: common/models.py:1724
msgid "Table String Length"
msgstr ""
-#: common/models.py:1713
+#: common/models.py:1725
msgid "Maximimum length limit for strings displayed in table views"
msgstr ""
-#: common/models.py:1777
+#: common/models.py:1789
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1784 company/serializers.py:372
-#: company/templates/company/supplier_part.html:346 order/models.py:952
-#: templates/js/translated/part.js:1103 templates/js/translated/part.js:2225
+#: common/models.py:1796 company/serializers.py:393 order/models.py:975
+#: templates/js/translated/company.js:1164 templates/js/translated/part.js:1130
+#: templates/js/translated/pricing.js:354
msgid "Price"
msgstr ""
-#: common/models.py:1785
+#: common/models.py:1797
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1945 common/models.py:2123
+#: common/models.py:1957 common/models.py:2135
msgid "Endpoint"
msgstr ""
-#: common/models.py:1946
+#: common/models.py:1958
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:1955
+#: common/models.py:1967
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:1960 part/models.py:935 plugin/models.py:100
-#: templates/js/translated/table_filters.js:34
-#: templates/js/translated/table_filters.js:112
-#: templates/js/translated/table_filters.js:324
-#: templates/js/translated/table_filters.js:450
+#: common/models.py:1972 part/admin.py:36 part/models.py:954
+#: plugin/models.py:100 templates/js/translated/table_filters.js:34
+#: templates/js/translated/table_filters.js:116
+#: templates/js/translated/table_filters.js:328
+#: templates/js/translated/table_filters.js:454
msgid "Active"
msgstr ""
-#: common/models.py:1961
+#: common/models.py:1973
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:1975
+#: common/models.py:1987
msgid "Token"
msgstr ""
-#: common/models.py:1976
+#: common/models.py:1988
msgid "Token for access"
msgstr ""
-#: common/models.py:1983
+#: common/models.py:1995
msgid "Secret"
msgstr ""
-#: common/models.py:1984
+#: common/models.py:1996
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:2090
+#: common/models.py:2102
msgid "Message ID"
msgstr ""
-#: common/models.py:2091
+#: common/models.py:2103
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:2099
+#: common/models.py:2111
msgid "Host"
msgstr ""
-#: common/models.py:2100
+#: common/models.py:2112
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:2107
+#: common/models.py:2119
msgid "Header"
msgstr ""
-#: common/models.py:2108
+#: common/models.py:2120
msgid "Header of this message"
msgstr ""
-#: common/models.py:2114
+#: common/models.py:2126
msgid "Body"
msgstr ""
-#: common/models.py:2115
+#: common/models.py:2127
msgid "Body of this message"
msgstr ""
-#: common/models.py:2124
+#: common/models.py:2136
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:2129
+#: common/models.py:2141
msgid "Worked on"
msgstr ""
-#: common/models.py:2130
+#: common/models.py:2142
msgid "Was the work on this message finished?"
msgstr ""
+#: common/models.py:2302
+msgid "Id"
+msgstr ""
+
+#: common/models.py:2308 templates/js/translated/news.js:34
+msgid "Title"
+msgstr ""
+
+#: common/models.py:2318 templates/js/translated/news.js:50
+msgid "Published"
+msgstr ""
+
+#: common/models.py:2323 templates/InvenTree/settings/plugin.html:62
+#: templates/InvenTree/settings/plugin_settings.html:33
+#: templates/js/translated/news.js:46
+msgid "Author"
+msgstr ""
+
+#: common/models.py:2328 templates/js/translated/news.js:42
+msgid "Summary"
+msgstr ""
+
+#: common/models.py:2333
+msgid "Read"
+msgstr ""
+
+#: common/models.py:2334
+msgid "Was this news item read?"
+msgstr ""
+
#: common/notifications.py:293
#, python-brace-format
msgid "New {verbose_name}"
@@ -2785,15 +2838,15 @@ msgstr ""
msgid "Error raised by plugin"
msgstr ""
-#: common/views.py:85 order/templates/order/purchase_order_detail.html:23
-#: order/views.py:102 part/views.py:112
+#: common/views.py:85 order/templates/order/purchase_order_detail.html:25
+#: order/views.py:102 part/views.py:107
#: templates/patterns/wizard/upload.html:37
msgid "Upload File"
msgstr ""
#: common/views.py:86 order/views.py:103
#: part/templates/part/import_wizard/ajax_match_fields.html:45
-#: part/views.py:113 templates/patterns/wizard/match_fields.html:51
+#: part/views.py:108 templates/patterns/wizard/match_fields.html:51
msgid "Match Fields"
msgstr ""
@@ -2816,298 +2869,301 @@ msgstr ""
msgid "Previous Step"
msgstr ""
-#: company/models.py:99
+#: company/models.py:103
msgid "Company description"
msgstr ""
-#: company/models.py:100
+#: company/models.py:104
msgid "Description of the company"
msgstr ""
-#: company/models.py:106 company/templates/company/company_base.html:100
+#: company/models.py:110 company/templates/company/company_base.html:100
#: templates/InvenTree/settings/plugin_settings.html:55
-#: templates/js/translated/company.js:448
+#: templates/js/translated/company.js:449
msgid "Website"
msgstr ""
-#: company/models.py:107
+#: company/models.py:111
msgid "Company website URL"
msgstr ""
-#: company/models.py:111 company/templates/company/company_base.html:118
+#: company/models.py:115 company/templates/company/company_base.html:118
msgid "Address"
msgstr ""
-#: company/models.py:112
+#: company/models.py:116
msgid "Company address"
msgstr ""
-#: company/models.py:115
+#: company/models.py:119
msgid "Phone number"
msgstr ""
-#: company/models.py:116
+#: company/models.py:120
msgid "Contact phone number"
msgstr ""
-#: company/models.py:119 company/templates/company/company_base.html:132
+#: company/models.py:123 company/templates/company/company_base.html:132
#: templates/InvenTree/settings/user.html:48
msgid "Email"
msgstr ""
-#: company/models.py:119
+#: company/models.py:123
msgid "Contact email address"
msgstr ""
-#: company/models.py:122 company/templates/company/company_base.html:139
+#: company/models.py:126 company/templates/company/company_base.html:139
msgid "Contact"
msgstr ""
-#: company/models.py:123
+#: company/models.py:127
msgid "Point of contact"
msgstr ""
-#: company/models.py:125
+#: company/models.py:129
msgid "Link to external company information"
msgstr ""
-#: company/models.py:136 part/models.py:829
+#: company/models.py:140 part/models.py:848
msgid "Image"
msgstr ""
-#: company/models.py:139 company/templates/company/detail.html:185
+#: company/models.py:143 company/templates/company/detail.html:185
msgid "Company Notes"
msgstr ""
-#: company/models.py:141
+#: company/models.py:145
msgid "is customer"
msgstr ""
-#: company/models.py:141
+#: company/models.py:145
msgid "Do you sell items to this company?"
msgstr ""
-#: company/models.py:143
+#: company/models.py:147
msgid "is supplier"
msgstr ""
-#: company/models.py:143
+#: company/models.py:147
msgid "Do you purchase items from this company?"
msgstr ""
-#: company/models.py:145
+#: company/models.py:149
msgid "is manufacturer"
msgstr ""
-#: company/models.py:145
+#: company/models.py:149
msgid "Does this company manufacture parts?"
msgstr ""
-#: company/models.py:149 company/serializers.py:378
-#: company/templates/company/company_base.html:106 part/serializers.py:153
-#: part/serializers.py:184 stock/serializers.py:178
+#: company/models.py:153 company/serializers.py:399
+#: company/templates/company/company_base.html:106 part/models.py:2681
+#: part/serializers.py:153 part/serializers.py:181 stock/serializers.py:182
+#: templates/InvenTree/settings/pricing.html:59
msgid "Currency"
msgstr ""
-#: company/models.py:152
+#: company/models.py:156
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:249 company/models.py:483 stock/models.py:600
-#: stock/serializers.py:85 stock/templates/stock/item_base.html:143
-#: templates/js/translated/bom.js:568
+#: company/models.py:253 company/models.py:487 stock/models.py:616
+#: stock/serializers.py:89 stock/templates/stock/item_base.html:143
+#: templates/js/translated/bom.js:581
msgid "Base Part"
msgstr ""
-#: company/models.py:253 company/models.py:487
+#: company/models.py:257 company/models.py:491
msgid "Select part"
msgstr ""
-#: company/models.py:264 company/templates/company/company_base.html:76
+#: company/models.py:268 company/templates/company/company_base.html:76
#: company/templates/company/manufacturer_part.html:90
#: company/templates/company/supplier_part.html:152
#: stock/templates/stock/item_base.html:210
-#: templates/js/translated/company.js:432
-#: templates/js/translated/company.js:533
-#: templates/js/translated/company.js:668
-#: templates/js/translated/company.js:956 templates/js/translated/part.js:236
-#: templates/js/translated/table_filters.js:427
+#: templates/js/translated/company.js:433
+#: templates/js/translated/company.js:534
+#: templates/js/translated/company.js:669
+#: templates/js/translated/company.js:957 templates/js/translated/part.js:232
+#: templates/js/translated/table_filters.js:431
msgid "Manufacturer"
msgstr ""
-#: company/models.py:265 templates/js/translated/part.js:237
+#: company/models.py:269 templates/js/translated/part.js:233
msgid "Select manufacturer"
msgstr ""
-#: company/models.py:271 company/templates/company/manufacturer_part.html:101
+#: company/models.py:275 company/templates/company/manufacturer_part.html:101
#: company/templates/company/supplier_part.html:160
-#: templates/js/translated/company.js:304
-#: templates/js/translated/company.js:532
-#: templates/js/translated/company.js:684
-#: templates/js/translated/company.js:975 templates/js/translated/order.js:2239
-#: templates/js/translated/part.js:247 templates/js/translated/part.js:1025
+#: templates/js/translated/company.js:305
+#: templates/js/translated/company.js:533
+#: templates/js/translated/company.js:685
+#: templates/js/translated/company.js:976 templates/js/translated/order.js:2278
+#: templates/js/translated/part.js:243 templates/js/translated/part.js:1052
msgid "MPN"
msgstr ""
-#: company/models.py:272 templates/js/translated/part.js:248
+#: company/models.py:276 templates/js/translated/part.js:244
msgid "Manufacturer Part Number"
msgstr ""
-#: company/models.py:278
+#: company/models.py:282
msgid "URL for external manufacturer part link"
msgstr ""
-#: company/models.py:284
+#: company/models.py:288
msgid "Manufacturer part description"
msgstr ""
-#: company/models.py:329 company/models.py:353 company/models.py:506
+#: company/models.py:333 company/models.py:357 company/models.py:510
#: company/templates/company/manufacturer_part.html:7
#: company/templates/company/manufacturer_part.html:24
#: stock/templates/stock/item_base.html:220
msgid "Manufacturer Part"
msgstr ""
-#: company/models.py:360
+#: company/models.py:364
msgid "Parameter name"
msgstr ""
-#: company/models.py:366
+#: company/models.py:370
#: report/templates/report/inventree_test_report_base.html:95
-#: stock/models.py:2097 templates/js/translated/company.js:581
-#: templates/js/translated/company.js:799 templates/js/translated/part.js:847
-#: templates/js/translated/stock.js:1360
+#: stock/models.py:2113 templates/js/translated/company.js:582
+#: templates/js/translated/company.js:800 templates/js/translated/part.js:874
+#: templates/js/translated/stock.js:1379
msgid "Value"
msgstr ""
-#: company/models.py:367
+#: company/models.py:371
msgid "Parameter value"
msgstr ""
-#: company/models.py:373 part/models.py:902 part/models.py:2434
-#: part/templates/part/part_base.html:286
+#: company/models.py:377 part/admin.py:26 part/models.py:921
+#: part/models.py:3047 part/templates/part/part_base.html:286
#: templates/InvenTree/settings/settings.html:349
-#: templates/js/translated/company.js:805 templates/js/translated/part.js:853
+#: templates/js/translated/company.js:806 templates/js/translated/part.js:880
msgid "Units"
msgstr ""
-#: company/models.py:374
+#: company/models.py:378
msgid "Parameter units"
msgstr ""
-#: company/models.py:451
+#: company/models.py:455
msgid "Linked manufacturer part must reference the same base part"
msgstr ""
-#: company/models.py:493 company/templates/company/company_base.html:81
-#: company/templates/company/supplier_part.html:136 order/models.py:263
-#: order/templates/order/order_base.html:121 part/bom.py:237 part/bom.py:265
+#: company/models.py:497 company/templates/company/company_base.html:81
+#: company/templates/company/supplier_part.html:136 order/models.py:264
+#: order/templates/order/order_base.html:121 part/bom.py:252 part/bom.py:280
#: stock/templates/stock/item_base.html:227
#: templates/email/overdue_purchase_order.html:16
-#: templates/js/translated/company.js:303
-#: templates/js/translated/company.js:436
-#: templates/js/translated/company.js:929 templates/js/translated/order.js:1975
-#: templates/js/translated/part.js:217 templates/js/translated/part.js:993
-#: templates/js/translated/table_filters.js:431
+#: templates/js/translated/company.js:304
+#: templates/js/translated/company.js:437
+#: templates/js/translated/company.js:930 templates/js/translated/order.js:2009
+#: templates/js/translated/part.js:213 templates/js/translated/part.js:1020
+#: templates/js/translated/pricing.js:231
+#: templates/js/translated/table_filters.js:435
msgid "Supplier"
msgstr ""
-#: company/models.py:494 templates/js/translated/part.js:218
+#: company/models.py:498 templates/js/translated/part.js:214
msgid "Select supplier"
msgstr ""
-#: company/models.py:499 company/templates/company/supplier_part.html:146
-#: part/bom.py:238 part/bom.py:266 templates/js/translated/company.js:302
-#: templates/js/translated/order.js:2226 templates/js/translated/part.js:228
-#: templates/js/translated/part.js:1011
+#: company/models.py:503 company/templates/company/supplier_part.html:146
+#: part/bom.py:253 part/bom.py:281 templates/js/translated/company.js:303
+#: templates/js/translated/order.js:2265 templates/js/translated/part.js:224
+#: templates/js/translated/part.js:1038 templates/js/translated/pricing.js:243
msgid "SKU"
msgstr ""
-#: company/models.py:500 templates/js/translated/part.js:229
+#: company/models.py:504 templates/js/translated/part.js:225
msgid "Supplier stock keeping unit"
msgstr ""
-#: company/models.py:507
+#: company/models.py:511
msgid "Select manufacturer part"
msgstr ""
-#: company/models.py:513
+#: company/models.py:517
msgid "URL for external supplier part link"
msgstr ""
-#: company/models.py:519
+#: company/models.py:523
msgid "Supplier part description"
msgstr ""
-#: company/models.py:524 company/templates/company/supplier_part.html:181
-#: part/models.py:2687 part/templates/part/upload_bom.html:59
+#: company/models.py:528 company/templates/company/supplier_part.html:181
+#: part/admin.py:225 part/models.py:3300 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_po_report.html:92
-#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:403
+#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:397
msgid "Note"
msgstr ""
-#: company/models.py:528 part/models.py:1788
+#: company/models.py:532 part/models.py:1817
msgid "base cost"
msgstr ""
-#: company/models.py:528 part/models.py:1788
+#: company/models.py:532 part/models.py:1817
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
-#: company/models.py:530 company/templates/company/supplier_part.html:167
-#: stock/models.py:626 stock/templates/stock/item_base.html:243
-#: templates/js/translated/company.js:991 templates/js/translated/stock.js:1978
+#: company/models.py:534 company/templates/company/supplier_part.html:167
+#: stock/admin.py:101 stock/models.py:642
+#: stock/templates/stock/item_base.html:243
+#: templates/js/translated/company.js:992 templates/js/translated/stock.js:1996
msgid "Packaging"
msgstr ""
-#: company/models.py:530
+#: company/models.py:534
msgid "Part packaging"
msgstr ""
-#: company/models.py:533 company/serializers.py:242
+#: company/models.py:537 company/serializers.py:242
#: company/templates/company/supplier_part.html:174
-#: templates/js/translated/company.js:996 templates/js/translated/order.js:820
-#: templates/js/translated/order.js:1215 templates/js/translated/order.js:1470
-#: templates/js/translated/order.js:2270 templates/js/translated/order.js:2287
-#: templates/js/translated/part.js:1043 templates/js/translated/part.js:1095
+#: templates/js/translated/company.js:997 templates/js/translated/order.js:826
+#: templates/js/translated/order.js:1249 templates/js/translated/order.js:1504
+#: templates/js/translated/order.js:2309 templates/js/translated/order.js:2326
+#: templates/js/translated/part.js:1070 templates/js/translated/part.js:1122
msgid "Pack Quantity"
msgstr ""
-#: company/models.py:534
+#: company/models.py:538
msgid "Unit quantity supplied in a single pack"
msgstr ""
-#: company/models.py:540 part/models.py:1790
+#: company/models.py:544 part/models.py:1819
msgid "multiple"
msgstr ""
-#: company/models.py:540
+#: company/models.py:544
msgid "Order multiple"
msgstr ""
-#: company/models.py:548 company/templates/company/supplier_part.html:115
+#: company/models.py:552 company/templates/company/supplier_part.html:115
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:18
-#: templates/js/translated/bom.js:963 templates/js/translated/build.js:1873
-#: templates/js/translated/build.js:2754 templates/js/translated/part.js:598
-#: templates/js/translated/part.js:601
-#: templates/js/translated/table_filters.js:194
+#: templates/js/translated/bom.js:1117 templates/js/translated/build.js:1873
+#: templates/js/translated/build.js:2754 templates/js/translated/part.js:612
+#: templates/js/translated/part.js:615
+#: templates/js/translated/table_filters.js:198
msgid "Available"
msgstr ""
-#: company/models.py:549
+#: company/models.py:553
msgid "Quantity available from supplier"
msgstr ""
-#: company/models.py:553
+#: company/models.py:557
msgid "Availability Updated"
msgstr ""
-#: company/models.py:554
+#: company/models.py:558
msgid "Date of last update of availability data"
msgstr ""
-#: company/models.py:682
+#: company/models.py:686
msgid "last updated"
msgstr ""
@@ -3121,7 +3177,7 @@ msgstr ""
#: company/templates/company/company_base.html:8
#: company/templates/company/company_base.html:12
-#: templates/InvenTree/search.html:179 templates/js/translated/company.js:421
+#: templates/InvenTree/search.html:179 templates/js/translated/company.js:422
msgid "Company"
msgstr ""
@@ -3139,7 +3195,7 @@ msgid "Edit company information"
msgstr ""
#: company/templates/company/company_base.html:34
-#: templates/js/translated/company.js:364
+#: templates/js/translated/company.js:365
msgid "Edit Company"
msgstr ""
@@ -3162,14 +3218,14 @@ msgstr ""
msgid "Download image from URL"
msgstr ""
-#: company/templates/company/company_base.html:86 order/models.py:646
-#: order/templates/order/sales_order_base.html:116 stock/models.py:645
-#: stock/models.py:646 stock/serializers.py:813
+#: company/templates/company/company_base.html:86 order/models.py:665
+#: order/templates/order/sales_order_base.html:116 stock/models.py:661
+#: stock/models.py:662 stock/serializers.py:812
#: stock/templates/stock/item_base.html:399
#: templates/email/overdue_sales_order.html:16
-#: templates/js/translated/company.js:428 templates/js/translated/order.js:2808
-#: templates/js/translated/stock.js:2569
-#: templates/js/translated/table_filters.js:435
+#: templates/js/translated/company.js:429 templates/js/translated/order.js:2819
+#: templates/js/translated/stock.js:2587
+#: templates/js/translated/table_filters.js:439
msgid "Customer"
msgstr ""
@@ -3182,12 +3238,12 @@ msgid "Phone"
msgstr ""
#: company/templates/company/company_base.html:208
-#: part/templates/part/part_base.html:499
+#: part/templates/part/part_base.html:514
msgid "Upload Image"
msgstr ""
#: company/templates/company/company_base.html:223
-#: part/templates/part/part_base.html:554
+#: part/templates/part/part_base.html:569
msgid "Download Image"
msgstr ""
@@ -3203,7 +3259,7 @@ msgstr ""
#: company/templates/company/detail.html:19
#: company/templates/company/manufacturer_part.html:123
-#: part/templates/part/detail.html:359
+#: part/templates/part/detail.html:357
msgid "New Supplier Part"
msgstr ""
@@ -3232,7 +3288,7 @@ msgstr ""
msgid "Create new manufacturer part"
msgstr ""
-#: company/templates/company/detail.html:66 part/templates/part/detail.html:389
+#: company/templates/company/detail.html:66 part/templates/part/detail.html:387
msgid "New Manufacturer Part"
msgstr ""
@@ -3246,7 +3302,7 @@ msgstr ""
#: order/templates/order/order_base.html:13
#: order/templates/order/purchase_orders.html:8
#: order/templates/order/purchase_orders.html:12
-#: part/templates/part/detail.html:84 part/templates/part/part_sidebar.html:37
+#: part/templates/part/detail.html:84 part/templates/part/part_sidebar.html:35
#: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200
#: templates/InvenTree/settings/sidebar.html:49
#: templates/js/translated/search.js:293 templates/navbar.html:50
@@ -3269,7 +3325,7 @@ msgstr ""
#: order/templates/order/sales_order_base.html:13
#: order/templates/order/sales_orders.html:8
#: order/templates/order/sales_orders.html:15
-#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:41
+#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:39
#: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220
#: templates/InvenTree/settings/sidebar.html:51
#: templates/js/translated/search.js:317 templates/navbar.html:61
@@ -3297,8 +3353,7 @@ msgid "Supplier List"
msgstr ""
#: company/templates/company/manufacturer_part.html:15 company/views.py:38
-#: part/templates/part/prices.html:172 templates/InvenTree/search.html:181
-#: templates/navbar.html:49
+#: templates/InvenTree/search.html:181 templates/navbar.html:49
msgid "Manufacturers"
msgstr ""
@@ -3309,12 +3364,12 @@ msgid "Order part"
msgstr ""
#: company/templates/company/manufacturer_part.html:39
-#: templates/js/translated/company.js:716
+#: templates/js/translated/company.js:717
msgid "Edit manufacturer part"
msgstr ""
#: company/templates/company/manufacturer_part.html:43
-#: templates/js/translated/company.js:717
+#: templates/js/translated/company.js:718
msgid "Delete manufacturer part"
msgstr ""
@@ -3329,35 +3384,36 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:119
#: company/templates/company/supplier_part.html:15 company/views.py:32
-#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:168
+#: part/admin.py:46 part/templates/part/part_sidebar.html:33
#: templates/InvenTree/search.html:191 templates/navbar.html:48
msgid "Suppliers"
msgstr ""
#: company/templates/company/manufacturer_part.html:136
-#: part/templates/part/detail.html:370
+#: part/templates/part/detail.html:368
msgid "Delete supplier parts"
msgstr ""
#: company/templates/company/manufacturer_part.html:136
#: company/templates/company/manufacturer_part.html:183
-#: part/templates/part/detail.html:371 part/templates/part/detail.html:401
-#: templates/js/translated/forms.js:455 templates/js/translated/helpers.js:36
-#: users/models.py:222
+#: part/templates/part/detail.html:369 part/templates/part/detail.html:399
+#: templates/js/translated/forms.js:455 templates/js/translated/helpers.js:38
+#: templates/js/translated/part.js:340 templates/js/translated/stock.js:184
+#: users/models.py:224
msgid "Delete"
msgstr ""
#: company/templates/company/manufacturer_part.html:166
#: company/templates/company/manufacturer_part_sidebar.html:5
#: part/templates/part/category_sidebar.html:19
-#: part/templates/part/detail.html:186 part/templates/part/part_sidebar.html:8
+#: part/templates/part/detail.html:184 part/templates/part/part_sidebar.html:8
msgid "Parameters"
msgstr ""
#: company/templates/company/manufacturer_part.html:170
-#: part/templates/part/detail.html:191
+#: part/templates/part/detail.html:189
#: templates/InvenTree/settings/category.html:12
-#: templates/InvenTree/settings/part.html:68
+#: templates/InvenTree/settings/part.html:62
msgid "New Parameter"
msgstr ""
@@ -3366,7 +3422,7 @@ msgid "Delete parameters"
msgstr ""
#: company/templates/company/manufacturer_part.html:245
-#: part/templates/part/detail.html:827
+#: part/templates/part/detail.html:825
msgid "Add Parameter"
msgstr ""
@@ -3387,10 +3443,10 @@ msgid "Assigned Stock Items"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:609
+#: company/templates/company/supplier_part.html:24 stock/models.py:625
#: stock/templates/stock/item_base.html:236
-#: templates/js/translated/company.js:945 templates/js/translated/order.js:1135
-#: templates/js/translated/stock.js:1935
+#: templates/js/translated/company.js:946 templates/js/translated/order.js:1169
+#: templates/js/translated/stock.js:1954
msgid "Supplier Part"
msgstr ""
@@ -3441,13 +3497,13 @@ msgstr ""
#: company/templates/company/supplier_part.html:64
#: company/templates/company/supplier_part.html:65
-#: templates/js/translated/company.js:247
+#: templates/js/translated/company.js:248
msgid "Edit Supplier Part"
msgstr ""
#: company/templates/company/supplier_part.html:69
#: company/templates/company/supplier_part.html:70
-#: templates/js/translated/company.js:222
+#: templates/js/translated/company.js:223
msgid "Duplicate Supplier Part"
msgstr ""
@@ -3482,7 +3538,7 @@ msgstr ""
#: company/templates/company/supplier_part.html:204
#: part/templates/part/detail.html:25 stock/templates/stock/location.html:198
-#: templates/js/translated/stock.js:435
+#: templates/js/translated/stock.js:454
msgid "New Stock Item"
msgstr ""
@@ -3492,47 +3548,20 @@ msgid "Supplier Part Orders"
msgstr ""
#: company/templates/company/supplier_part.html:242
-#: part/templates/part/prices.html:10
msgid "Pricing Information"
msgstr ""
#: company/templates/company/supplier_part.html:247
-#: company/templates/company/supplier_part.html:388
-#: part/templates/part/prices.html:276 templates/js/translated/part.js:2297
+#: company/templates/company/supplier_part.html:317
+#: templates/js/translated/pricing.js:413
msgid "Add Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:282
+#: company/templates/company/supplier_part.html:285
msgid "Link Barcode to Supplier Part"
msgstr ""
-#: company/templates/company/supplier_part.html:300
-msgid "No price break information found"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:314
-#: templates/js/translated/part.js:2307
-msgid "Delete Price Break"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:328
-#: templates/js/translated/part.js:2321
-msgid "Edit Price Break"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:353
-msgid "Edit price break"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:354
-msgid "Delete price break"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:363
-msgid "Last updated"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:444
+#: company/templates/company/supplier_part.html:375
msgid "Update Part Availability"
msgstr ""
@@ -3542,9 +3571,9 @@ msgstr ""
#: stock/templates/stock/stock_app_base.html:10
#: templates/InvenTree/search.html:153
#: templates/InvenTree/settings/sidebar.html:45
-#: templates/js/translated/part.js:749 templates/js/translated/part.js:1335
-#: templates/js/translated/part.js:1501 templates/js/translated/stock.js:959
-#: templates/js/translated/stock.js:1760 templates/navbar.html:31
+#: templates/js/translated/part.js:763 templates/js/translated/part.js:1356
+#: templates/js/translated/part.js:1512 templates/js/translated/stock.js:978
+#: templates/js/translated/stock.js:1779 templates/navbar.html:31
msgid "Stock"
msgstr ""
@@ -3558,19 +3587,20 @@ msgid "Supplier Part Pricing"
msgstr ""
#: company/templates/company/supplier_part_navbar.html:29
-#: part/templates/part/part_sidebar.html:31
+#: part/templates/part/part_sidebar.html:30
+#: templates/InvenTree/settings/sidebar.html:35
msgid "Pricing"
msgstr ""
#: company/templates/company/supplier_part_sidebar.html:5
#: part/templates/part/category.html:198
-#: part/templates/part/category_sidebar.html:17
+#: part/templates/part/category_sidebar.html:17 stock/admin.py:31
#: stock/templates/stock/location.html:168
#: stock/templates/stock/location.html:182
#: stock/templates/stock/location.html:194
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:155 templates/js/translated/search.js:225
-#: templates/js/translated/stock.js:2446 users/models.py:40
+#: templates/js/translated/stock.js:2464 users/models.py:40
msgid "Stock Items"
msgstr ""
@@ -3672,438 +3702,439 @@ msgstr ""
msgid "No matching purchase order found"
msgstr ""
-#: order/models.py:82
+#: order/models.py:83
msgid "Order description"
msgstr ""
-#: order/models.py:84 order/models.py:1260
+#: order/models.py:85 order/models.py:1283
msgid "Link to external page"
msgstr ""
-#: order/models.py:92
+#: order/models.py:93
msgid "Created By"
msgstr ""
-#: order/models.py:99
+#: order/models.py:100
msgid "User or group responsible for this order"
msgstr ""
-#: order/models.py:104
+#: order/models.py:105
msgid "Order notes"
msgstr ""
-#: order/models.py:241 order/models.py:633
+#: order/models.py:242 order/models.py:652
msgid "Order reference"
msgstr ""
-#: order/models.py:249 order/models.py:651
+#: order/models.py:250 order/models.py:670
msgid "Purchase order status"
msgstr ""
-#: order/models.py:264
+#: order/models.py:265
msgid "Company from which the items are being ordered"
msgstr ""
-#: order/models.py:267 order/templates/order/order_base.html:133
-#: templates/js/translated/order.js:1984
+#: order/models.py:268 order/templates/order/order_base.html:133
+#: templates/js/translated/order.js:2018
msgid "Supplier Reference"
msgstr ""
-#: order/models.py:267
+#: order/models.py:268
msgid "Supplier order reference code"
msgstr ""
-#: order/models.py:274
+#: order/models.py:275
msgid "received by"
msgstr ""
-#: order/models.py:279
+#: order/models.py:280
msgid "Issue Date"
msgstr ""
-#: order/models.py:280
+#: order/models.py:281
msgid "Date order was issued"
msgstr ""
-#: order/models.py:285
+#: order/models.py:286
msgid "Target Delivery Date"
msgstr ""
-#: order/models.py:286
+#: order/models.py:287
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr ""
-#: order/models.py:292
+#: order/models.py:293
msgid "Date order was completed"
msgstr ""
-#: order/models.py:328
+#: order/models.py:332
msgid "Part supplier must match PO supplier"
msgstr ""
-#: order/models.py:472
+#: order/models.py:491
msgid "Quantity must be a positive number"
msgstr ""
-#: order/models.py:647
+#: order/models.py:666
msgid "Company to which the items are being sold"
msgstr ""
-#: order/models.py:658
+#: order/models.py:677
msgid "Customer Reference "
msgstr ""
-#: order/models.py:658
+#: order/models.py:677
msgid "Customer order reference code"
msgstr ""
-#: order/models.py:663
+#: order/models.py:682
msgid "Target date for order completion. Order will be overdue after this date."
msgstr ""
-#: order/models.py:666 order/models.py:1218
-#: templates/js/translated/order.js:2855 templates/js/translated/order.js:3017
+#: order/models.py:685 order/models.py:1241
+#: templates/js/translated/order.js:2866 templates/js/translated/order.js:3028
msgid "Shipment Date"
msgstr ""
-#: order/models.py:673
+#: order/models.py:692
msgid "shipped by"
msgstr ""
-#: order/models.py:728
+#: order/models.py:747
msgid "Order cannot be completed as no parts have been assigned"
msgstr ""
-#: order/models.py:732
+#: order/models.py:751
msgid "Only a pending order can be marked as complete"
msgstr ""
-#: order/models.py:735 templates/js/translated/order.js:419
+#: order/models.py:754 templates/js/translated/order.js:419
msgid "Order cannot be completed as there are incomplete shipments"
msgstr ""
-#: order/models.py:738
+#: order/models.py:757
msgid "Order cannot be completed as there are incomplete line items"
msgstr ""
-#: order/models.py:912
+#: order/models.py:935
msgid "Item quantity"
msgstr ""
-#: order/models.py:918
+#: order/models.py:941
msgid "Line item reference"
msgstr ""
-#: order/models.py:920
+#: order/models.py:943
msgid "Line item notes"
msgstr ""
-#: order/models.py:925
+#: order/models.py:948
msgid "Target shipping date for this line item"
msgstr ""
-#: order/models.py:943
+#: order/models.py:966
msgid "Context"
msgstr ""
-#: order/models.py:944
+#: order/models.py:967
msgid "Additional context for this line"
msgstr ""
-#: order/models.py:953
+#: order/models.py:976
msgid "Unit price"
msgstr ""
-#: order/models.py:983
+#: order/models.py:1006
msgid "Supplier part must match supplier"
msgstr ""
-#: order/models.py:991
+#: order/models.py:1014
msgid "deleted"
msgstr ""
-#: order/models.py:997 order/models.py:1077 order/models.py:1118
-#: order/models.py:1212 order/models.py:1344
-#: templates/js/translated/order.js:3473
+#: order/models.py:1020 order/models.py:1100 order/models.py:1141
+#: order/models.py:1235 order/models.py:1367
+#: templates/js/translated/order.js:3484
msgid "Order"
msgstr ""
-#: order/models.py:998 order/models.py:1077
+#: order/models.py:1021 order/models.py:1100
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report.html:76
#: stock/templates/stock/item_base.html:182
#: templates/email/overdue_purchase_order.html:15
-#: templates/js/translated/order.js:619 templates/js/translated/order.js:1136
-#: templates/js/translated/order.js:1959 templates/js/translated/part.js:970
-#: templates/js/translated/stock.js:1915 templates/js/translated/stock.js:2550
+#: templates/js/translated/order.js:619 templates/js/translated/order.js:1170
+#: templates/js/translated/order.js:1993 templates/js/translated/part.js:997
+#: templates/js/translated/pricing.js:515 templates/js/translated/stock.js:1934
+#: templates/js/translated/stock.js:2568
msgid "Purchase Order"
msgstr ""
-#: order/models.py:1016
+#: order/models.py:1039
msgid "Supplier part"
msgstr ""
-#: order/models.py:1023 order/templates/order/order_base.html:178
-#: templates/js/translated/order.js:1641 templates/js/translated/order.js:2373
-#: templates/js/translated/part.js:1087 templates/js/translated/part.js:1125
-#: templates/js/translated/table_filters.js:346
+#: order/models.py:1046 order/templates/order/order_base.html:178
+#: templates/js/translated/order.js:1675 templates/js/translated/order.js:2396
+#: templates/js/translated/part.js:1114 templates/js/translated/part.js:1146
+#: templates/js/translated/table_filters.js:350
msgid "Received"
msgstr ""
-#: order/models.py:1024
+#: order/models.py:1047
msgid "Number of items received"
msgstr ""
-#: order/models.py:1031 part/templates/part/prices.html:181 stock/models.py:741
-#: stock/serializers.py:169 stock/templates/stock/item_base.html:189
-#: templates/js/translated/stock.js:1966
+#: order/models.py:1054 stock/models.py:757 stock/serializers.py:173
+#: stock/templates/stock/item_base.html:189
+#: templates/js/translated/stock.js:1985
msgid "Purchase Price"
msgstr ""
-#: order/models.py:1032
+#: order/models.py:1055
msgid "Unit purchase price"
msgstr ""
-#: order/models.py:1040
+#: order/models.py:1063
msgid "Where does the Purchaser want this item to be stored?"
msgstr ""
-#: order/models.py:1106
+#: order/models.py:1129
msgid "Virtual part cannot be assigned to a sales order"
msgstr ""
-#: order/models.py:1111
+#: order/models.py:1134
msgid "Only salable parts can be assigned to a sales order"
msgstr ""
-#: order/models.py:1137 part/templates/part/part_pricing.html:115
-#: part/templates/part/prices.html:121 part/templates/part/prices.html:290
+#: order/models.py:1160 part/templates/part/part_pricing.html:107
+#: part/templates/part/prices.html:139 templates/js/translated/pricing.js:665
msgid "Sale Price"
msgstr ""
-#: order/models.py:1138
+#: order/models.py:1161
msgid "Unit sale price"
msgstr ""
-#: order/models.py:1143
+#: order/models.py:1166
msgid "Shipped quantity"
msgstr ""
-#: order/models.py:1219
+#: order/models.py:1242
msgid "Date of shipment"
msgstr ""
-#: order/models.py:1226
+#: order/models.py:1249
msgid "Checked By"
msgstr ""
-#: order/models.py:1227
+#: order/models.py:1250
msgid "User who checked this shipment"
msgstr ""
-#: order/models.py:1234 order/models.py:1419 order/serializers.py:1228
-#: order/serializers.py:1356 templates/js/translated/model_renderers.js:314
+#: order/models.py:1257 order/models.py:1442 order/serializers.py:1221
+#: order/serializers.py:1349 templates/js/translated/model_renderers.js:314
msgid "Shipment"
msgstr ""
-#: order/models.py:1235
+#: order/models.py:1258
msgid "Shipment number"
msgstr ""
-#: order/models.py:1239
+#: order/models.py:1262
msgid "Shipment notes"
msgstr ""
-#: order/models.py:1245
+#: order/models.py:1268
msgid "Tracking Number"
msgstr ""
-#: order/models.py:1246
+#: order/models.py:1269
msgid "Shipment tracking information"
msgstr ""
-#: order/models.py:1253
+#: order/models.py:1276
msgid "Invoice Number"
msgstr ""
-#: order/models.py:1254
+#: order/models.py:1277
msgid "Reference number for associated invoice"
msgstr ""
-#: order/models.py:1272
+#: order/models.py:1295
msgid "Shipment has already been sent"
msgstr ""
-#: order/models.py:1275
+#: order/models.py:1298
msgid "Shipment has no allocated stock items"
msgstr ""
-#: order/models.py:1378 order/models.py:1380
+#: order/models.py:1401 order/models.py:1403
msgid "Stock item has not been assigned"
msgstr ""
-#: order/models.py:1384
+#: order/models.py:1407
msgid "Cannot allocate stock item to a line with a different part"
msgstr ""
-#: order/models.py:1386
+#: order/models.py:1409
msgid "Cannot allocate stock to a line without a part"
msgstr ""
-#: order/models.py:1389
+#: order/models.py:1412
msgid "Allocation quantity cannot exceed stock quantity"
msgstr ""
-#: order/models.py:1399 order/serializers.py:1090
+#: order/models.py:1422 order/serializers.py:1083
msgid "Quantity must be 1 for serialized stock item"
msgstr ""
-#: order/models.py:1402
+#: order/models.py:1425
msgid "Sales order does not match shipment"
msgstr ""
-#: order/models.py:1403
+#: order/models.py:1426
msgid "Shipment does not match sales order"
msgstr ""
-#: order/models.py:1411
+#: order/models.py:1434
msgid "Line"
msgstr ""
-#: order/models.py:1420
+#: order/models.py:1443
msgid "Sales order shipment reference"
msgstr ""
-#: order/models.py:1433 templates/js/translated/notification.js:55
+#: order/models.py:1456 templates/js/translated/notification.js:55
msgid "Item"
msgstr ""
-#: order/models.py:1434
+#: order/models.py:1457
msgid "Select stock item to allocate"
msgstr ""
-#: order/models.py:1437
+#: order/models.py:1460
msgid "Enter stock allocation quantity"
msgstr ""
-#: order/serializers.py:67
+#: order/serializers.py:63
msgid "Price currency"
msgstr ""
-#: order/serializers.py:199
+#: order/serializers.py:193
msgid "Order cannot be cancelled"
msgstr ""
-#: order/serializers.py:209 order/serializers.py:1108
+#: order/serializers.py:203 order/serializers.py:1101
msgid "Allow order to be closed with incomplete line items"
msgstr ""
-#: order/serializers.py:220 order/serializers.py:1119
+#: order/serializers.py:214 order/serializers.py:1112
msgid "Order has incomplete line items"
msgstr ""
-#: order/serializers.py:311
+#: order/serializers.py:305
msgid "Order is not open"
msgstr ""
-#: order/serializers.py:335
+#: order/serializers.py:327
msgid "Purchase price currency"
msgstr ""
-#: order/serializers.py:354
+#: order/serializers.py:346
msgid "Supplier part must be specified"
msgstr ""
-#: order/serializers.py:359
+#: order/serializers.py:351
msgid "Purchase order must be specified"
msgstr ""
-#: order/serializers.py:365
+#: order/serializers.py:357
msgid "Supplier must match purchase order"
msgstr ""
-#: order/serializers.py:366
+#: order/serializers.py:358
msgid "Purchase order must match supplier"
msgstr ""
-#: order/serializers.py:430 order/serializers.py:1196
+#: order/serializers.py:421 order/serializers.py:1189
msgid "Line Item"
msgstr ""
-#: order/serializers.py:436
+#: order/serializers.py:427
msgid "Line item does not match purchase order"
msgstr ""
-#: order/serializers.py:446 order/serializers.py:557
+#: order/serializers.py:437 order/serializers.py:548
msgid "Select destination location for received items"
msgstr ""
-#: order/serializers.py:465 templates/js/translated/order.js:1497
+#: order/serializers.py:456 templates/js/translated/order.js:1531
msgid "Enter batch code for incoming stock items"
msgstr ""
-#: order/serializers.py:473 templates/js/translated/order.js:1508
+#: order/serializers.py:464 templates/js/translated/order.js:1542
msgid "Enter serial numbers for incoming stock items"
msgstr ""
-#: order/serializers.py:487
+#: order/serializers.py:478
msgid "Unique identifier field"
msgstr ""
-#: order/serializers.py:501
+#: order/serializers.py:492
msgid "Barcode is already in use"
msgstr ""
-#: order/serializers.py:527
+#: order/serializers.py:518
msgid "An integer quantity must be provided for trackable parts"
msgstr ""
-#: order/serializers.py:573
+#: order/serializers.py:564
msgid "Line items must be provided"
msgstr ""
-#: order/serializers.py:590
+#: order/serializers.py:581
msgid "Destination location must be specified"
msgstr ""
-#: order/serializers.py:601
+#: order/serializers.py:592
msgid "Supplied barcode values must be unique"
msgstr ""
-#: order/serializers.py:907
+#: order/serializers.py:900
msgid "Sale price currency"
msgstr ""
-#: order/serializers.py:988
+#: order/serializers.py:981
msgid "No shipment details provided"
msgstr ""
-#: order/serializers.py:1051 order/serializers.py:1205
+#: order/serializers.py:1044 order/serializers.py:1198
msgid "Line item is not associated with this order"
msgstr ""
-#: order/serializers.py:1073
+#: order/serializers.py:1066
msgid "Quantity must be positive"
msgstr ""
-#: order/serializers.py:1218
+#: order/serializers.py:1211
msgid "Enter serial numbers to allocate"
msgstr ""
-#: order/serializers.py:1240 order/serializers.py:1364
+#: order/serializers.py:1233 order/serializers.py:1357
msgid "Shipment has already been shipped"
msgstr ""
-#: order/serializers.py:1243 order/serializers.py:1367
+#: order/serializers.py:1236 order/serializers.py:1360
msgid "Shipment is not associated with this order"
msgstr ""
-#: order/serializers.py:1297
+#: order/serializers.py:1290
msgid "No match found for the following serial numbers"
msgstr ""
-#: order/serializers.py:1307
+#: order/serializers.py:1300
msgid "The following serial numbers are already allocated"
msgstr ""
@@ -4154,7 +4185,8 @@ msgid "Duplicate order"
msgstr ""
#: order/templates/order/order_base.html:61
-msgid "Place order"
+#: order/templates/order/order_base.html:62
+msgid "Submit Order"
msgstr ""
#: order/templates/order/order_base.html:65
@@ -4162,7 +4194,7 @@ msgid "Receive items"
msgstr ""
#: order/templates/order/order_base.html:67
-#: order/templates/order/purchase_order_detail.html:30
+#: order/templates/order/purchase_order_detail.html:32
msgid "Receive Items"
msgstr ""
@@ -4248,9 +4280,9 @@ msgstr ""
#: part/templates/part/import_wizard/match_references.html:49
#: templates/js/translated/bom.js:102 templates/js/translated/build.js:479
#: templates/js/translated/build.js:631 templates/js/translated/build.js:2078
-#: templates/js/translated/order.js:1084 templates/js/translated/order.js:1586
-#: templates/js/translated/order.js:3092 templates/js/translated/stock.js:625
-#: templates/js/translated/stock.js:793
+#: templates/js/translated/order.js:1118 templates/js/translated/order.js:1620
+#: templates/js/translated/order.js:3103 templates/js/translated/stock.js:644
+#: templates/js/translated/stock.js:812
#: templates/patterns/wizard/match_fields.html:70
msgid "Remove row"
msgstr ""
@@ -4278,42 +4310,42 @@ msgstr ""
msgid "Received Stock"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:17
+#: order/templates/order/purchase_order_detail.html:19
msgid "Purchase Order Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:26
-#: order/templates/order/sales_order_detail.html:22
-#: order/templates/order/sales_order_detail.html:255
+#: order/templates/order/purchase_order_detail.html:28
+#: order/templates/order/sales_order_detail.html:24
+#: order/templates/order/sales_order_detail.html:260
#: templates/js/translated/order.js:728
msgid "Add Line Item"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:29
+#: order/templates/order/purchase_order_detail.html:31
msgid "Receive selected items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:48
-#: order/templates/order/sales_order_detail.html:42
+#: order/templates/order/purchase_order_detail.html:50
+#: order/templates/order/sales_order_detail.html:45
msgid "Extra Lines"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:53
-#: order/templates/order/sales_order_detail.html:47
-#: order/templates/order/sales_order_detail.html:280
+#: order/templates/order/purchase_order_detail.html:56
+#: order/templates/order/sales_order_detail.html:51
+#: order/templates/order/sales_order_detail.html:291
msgid "Add Extra Line"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:72
+#: order/templates/order/purchase_order_detail.html:76
msgid "Received Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:97
-#: order/templates/order/sales_order_detail.html:150
+#: order/templates/order/purchase_order_detail.html:101
+#: order/templates/order/sales_order_detail.html:155
msgid "Order Notes"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:232
+#: order/templates/order/purchase_order_detail.html:239
msgid "Add Order Line"
msgstr ""
@@ -4345,12 +4377,12 @@ msgid "This Sales Order has not been fully allocated"
msgstr ""
#: order/templates/order/sales_order_base.html:123
-#: templates/js/translated/order.js:2821
+#: templates/js/translated/order.js:2832
msgid "Customer Reference"
msgstr ""
#: order/templates/order/sales_order_base.html:141
-#: order/templates/order/sales_order_detail.html:104
+#: order/templates/order/sales_order_detail.html:109
#: order/templates/order/so_sidebar.html:11
msgid "Completed Shipments"
msgstr ""
@@ -4359,22 +4391,22 @@ msgstr ""
msgid "Edit Sales Order"
msgstr ""
-#: order/templates/order/sales_order_detail.html:17
+#: order/templates/order/sales_order_detail.html:18
msgid "Sales Order Items"
msgstr ""
-#: order/templates/order/sales_order_detail.html:68
+#: order/templates/order/sales_order_detail.html:73
#: order/templates/order/so_sidebar.html:8
msgid "Pending Shipments"
msgstr ""
-#: order/templates/order/sales_order_detail.html:72
-#: templates/attachment_table.html:6 templates/js/translated/bom.js:1158
+#: order/templates/order/sales_order_detail.html:77
+#: templates/attachment_table.html:6 templates/js/translated/bom.js:1223
#: templates/js/translated/build.js:1979
msgid "Actions"
msgstr ""
-#: order/templates/order/sales_order_detail.html:81
+#: order/templates/order/sales_order_detail.html:86
msgid "New Shipment"
msgstr ""
@@ -4400,617 +4432,844 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/api.py:516
+#: part/admin.py:19 part/admin.py:219 part/models.py:3181 stock/admin.py:84
+#: templates/js/translated/model_renderers.js:212
+msgid "Part ID"
+msgstr ""
+
+#: part/admin.py:20 part/admin.py:221 part/models.py:3185 stock/admin.py:85
+msgid "Part Name"
+msgstr ""
+
+#: part/admin.py:21
+msgid "Part Description"
+msgstr ""
+
+#: part/admin.py:22 part/models.py:822 part/templates/part/part_base.html:272
+#: templates/js/translated/part.js:751 templates/js/translated/part.js:1469
+#: templates/js/translated/stock.js:1745
+msgid "IPN"
+msgstr ""
+
+#: part/admin.py:23 part/models.py:830 part/templates/part/part_base.html:279
+#: report/models.py:171 templates/js/translated/part.js:755
+msgid "Revision"
+msgstr ""
+
+#: part/admin.py:24 part/admin.py:145 part/models.py:808
+#: part/templates/part/category.html:87 part/templates/part/part_base.html:300
+msgid "Keywords"
+msgstr ""
+
+#: part/admin.py:28 part/admin.py:139
+#: templates/js/translated/model_renderers.js:338
+msgid "Category ID"
+msgstr ""
+
+#: part/admin.py:29 part/admin.py:140
+msgid "Category Name"
+msgstr ""
+
+#: part/admin.py:30 part/admin.py:144
+msgid "Default Location ID"
+msgstr ""
+
+#: part/admin.py:31
+msgid "Default Supplier ID"
+msgstr ""
+
+#: part/admin.py:33 part/models.py:914 part/templates/part/part_base.html:206
+msgid "Minimum Stock"
+msgstr ""
+
+#: part/admin.py:47 part/templates/part/part_base.html:200
+#: templates/js/translated/company.js:1028
+#: templates/js/translated/table_filters.js:213
+msgid "In Stock"
+msgstr ""
+
+#: part/admin.py:48 part/bom.py:145 part/templates/part/part_base.html:213
+#: templates/js/translated/bom.js:1155 templates/js/translated/build.js:1925
+#: templates/js/translated/part.js:602 templates/js/translated/part.js:622
+#: templates/js/translated/part.js:1359 templates/js/translated/part.js:1537
+#: templates/js/translated/table_filters.js:68
+msgid "On Order"
+msgstr ""
+
+#: part/admin.py:49 part/templates/part/part_sidebar.html:27
+msgid "Used In"
+msgstr ""
+
+#: part/admin.py:50 templates/js/translated/build.js:1937
+#: templates/js/translated/build.js:2195 templates/js/translated/build.js:2761
+#: templates/js/translated/order.js:3943
+msgid "Allocated"
+msgstr ""
+
+#: part/admin.py:51 part/templates/part/part_base.html:244
+#: templates/js/translated/part.js:605 templates/js/translated/part.js:625
+#: templates/js/translated/part.js:1363 templates/js/translated/part.js:1544
+msgid "Building"
+msgstr ""
+
+#: part/admin.py:52 part/models.py:2765
+msgid "Minimum Cost"
+msgstr ""
+
+#: part/admin.py:53 part/models.py:2771
+msgid "Maximum Cost"
+msgstr ""
+
+#: part/admin.py:142 part/admin.py:216 stock/admin.py:26 stock/admin.py:98
+msgid "Parent ID"
+msgstr ""
+
+#: part/admin.py:143 part/admin.py:218 stock/admin.py:27
+msgid "Parent Name"
+msgstr ""
+
+#: part/admin.py:146 part/templates/part/category.html:81
+#: part/templates/part/category.html:94
+msgid "Category Path"
+msgstr ""
+
+#: part/admin.py:149 part/models.py:363 part/templates/part/cat_link.html:3
+#: part/templates/part/category.html:23 part/templates/part/category.html:134
+#: part/templates/part/category.html:154
+#: part/templates/part/category_sidebar.html:9
+#: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84
+#: templates/InvenTree/settings/sidebar.html:41
+#: templates/js/translated/part.js:2043 templates/js/translated/search.js:146
+#: templates/navbar.html:24 users/models.py:38
+msgid "Parts"
+msgstr ""
+
+#: part/admin.py:211
+msgid "BOM Level"
+msgstr ""
+
+#: part/admin.py:213
+msgid "BOM Item ID"
+msgstr ""
+
+#: part/admin.py:217
+msgid "Parent IPN"
+msgstr ""
+
+#: part/admin.py:220 part/models.py:3189
+msgid "Part IPN"
+msgstr ""
+
+#: part/admin.py:226 templates/js/translated/pricing.js:91
+#: templates/js/translated/pricing.js:727
+msgid "Minimum Price"
+msgstr ""
+
+#: part/admin.py:227 templates/js/translated/pricing.js:86
+#: templates/js/translated/pricing.js:735
+msgid "Maximum Price"
+msgstr ""
+
+#: part/api.py:532
msgid "Incoming Purchase Order"
msgstr ""
-#: part/api.py:536
+#: part/api.py:552
msgid "Outgoing Sales Order"
msgstr ""
-#: part/api.py:554
+#: part/api.py:570
msgid "Stock produced by Build Order"
msgstr ""
-#: part/api.py:640
+#: part/api.py:656
msgid "Stock required for Build Order"
msgstr ""
-#: part/api.py:777
+#: part/api.py:814
msgid "Valid"
msgstr ""
-#: part/api.py:778
+#: part/api.py:815
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/api.py:784
+#: part/api.py:821
msgid "This option must be selected"
msgstr ""
-#: part/api.py:1207
+#: part/api.py:1261
msgid "Must be greater than zero"
msgstr ""
-#: part/api.py:1211
+#: part/api.py:1265
msgid "Must be a valid quantity"
msgstr ""
-#: part/api.py:1226
+#: part/api.py:1280
msgid "Specify location for initial part stock"
msgstr ""
-#: part/api.py:1257 part/api.py:1261 part/api.py:1276 part/api.py:1280
+#: part/api.py:1311 part/api.py:1315 part/api.py:1330 part/api.py:1334
msgid "This field is required"
msgstr ""
-#: part/bom.py:127 part/models.py:98 part/models.py:838
-#: part/templates/part/category.html:109 part/templates/part/part_base.html:345
+#: part/bom.py:142 part/models.py:116 part/models.py:857
+#: part/templates/part/category.html:109 part/templates/part/part_base.html:360
msgid "Default Location"
msgstr ""
-#: part/bom.py:128 templates/email/low_stock_notification.html:17
+#: part/bom.py:143 templates/email/low_stock_notification.html:17
msgid "Total Stock"
msgstr ""
-#: part/bom.py:129 part/templates/part/part_base.html:195
-#: templates/js/translated/order.js:3913
+#: part/bom.py:144 part/templates/part/part_base.html:195
+#: templates/js/translated/order.js:3910
msgid "Available Stock"
msgstr ""
-#: part/bom.py:130 part/templates/part/part_base.html:213
-#: templates/js/translated/bom.js:1001 templates/js/translated/build.js:1925
-#: templates/js/translated/part.js:588 templates/js/translated/part.js:608
-#: templates/js/translated/part.js:1338 templates/js/translated/part.js:1526
-#: templates/js/translated/table_filters.js:68
-msgid "On Order"
-msgstr ""
-
#: part/forms.py:41
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:99
+#: part/models.py:117
msgid "Default location for parts in this category"
msgstr ""
-#: part/models.py:102
+#: part/models.py:120
msgid "Default keywords"
msgstr ""
-#: part/models.py:102
+#: part/models.py:120
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:107 stock/models.py:85
+#: part/models.py:125 stock/models.py:101
msgid "Icon"
msgstr ""
-#: part/models.py:108 stock/models.py:86
+#: part/models.py:126 stock/models.py:102
msgid "Icon (optional)"
msgstr ""
-#: part/models.py:122 part/models.py:2517 part/templates/part/category.html:16
+#: part/models.py:140 part/models.py:3130 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
-#: part/models.py:123 part/templates/part/category.html:129
+#: part/models.py:141 part/templates/part/category.html:129
#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200
#: users/models.py:37
msgid "Part Categories"
msgstr ""
-#: part/models.py:344 part/templates/part/cat_link.html:3
-#: part/templates/part/category.html:23 part/templates/part/category.html:134
-#: part/templates/part/category.html:154
-#: part/templates/part/category_sidebar.html:9
-#: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84
-#: templates/InvenTree/settings/sidebar.html:41
-#: templates/js/translated/part.js:2019 templates/js/translated/search.js:146
-#: templates/navbar.html:24 users/models.py:38
-msgid "Parts"
-msgstr ""
-
-#: part/models.py:429
+#: part/models.py:448
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:499 part/models.py:511
+#: part/models.py:518 part/models.py:530
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:601
+#: part/models.py:620
msgid "Stock item with this serial number already exists"
msgstr ""
-#: part/models.py:732
+#: part/models.py:751
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:759 part/models.py:2573
+#: part/models.py:778 part/models.py:3186
msgid "Part name"
msgstr ""
-#: part/models.py:766
+#: part/models.py:785
msgid "Is Template"
msgstr ""
-#: part/models.py:767
+#: part/models.py:786
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:777
+#: part/models.py:796
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:778
+#: part/models.py:797
msgid "Variant Of"
msgstr ""
-#: part/models.py:784
+#: part/models.py:803
msgid "Part description"
msgstr ""
-#: part/models.py:789 part/templates/part/category.html:87
-#: part/templates/part/part_base.html:300
-msgid "Keywords"
-msgstr ""
-
-#: part/models.py:790
+#: part/models.py:809
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:797 part/models.py:2272 part/models.py:2516
+#: part/models.py:816 part/models.py:2885 part/models.py:3129
#: part/templates/part/part_base.html:263
#: templates/InvenTree/settings/settings.html:229
#: templates/js/translated/notification.js:50
-#: templates/js/translated/part.js:1480 templates/js/translated/part.js:1724
+#: templates/js/translated/part.js:1491 templates/js/translated/part.js:1748
msgid "Category"
msgstr ""
-#: part/models.py:798
+#: part/models.py:817
msgid "Part category"
msgstr ""
-#: part/models.py:803 part/templates/part/part_base.html:272
-#: templates/js/translated/part.js:737 templates/js/translated/part.js:1431
-#: templates/js/translated/stock.js:1726
-msgid "IPN"
-msgstr ""
-
-#: part/models.py:804
+#: part/models.py:823
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:810
+#: part/models.py:829
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:811 part/templates/part/part_base.html:279
-#: report/models.py:171 templates/js/translated/part.js:741
-msgid "Revision"
-msgstr ""
-
-#: part/models.py:836
+#: part/models.py:855
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:881 part/templates/part/part_base.html:354
+#: part/models.py:900 part/templates/part/part_base.html:369
msgid "Default Supplier"
msgstr ""
-#: part/models.py:882
+#: part/models.py:901
msgid "Default supplier part"
msgstr ""
-#: part/models.py:889
+#: part/models.py:908
msgid "Default Expiry"
msgstr ""
-#: part/models.py:890
+#: part/models.py:909
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:895 part/templates/part/part_base.html:206
-msgid "Minimum Stock"
-msgstr ""
-
-#: part/models.py:896
+#: part/models.py:915
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:903
+#: part/models.py:922
msgid "Stock keeping units for this part"
msgstr ""
-#: part/models.py:909
+#: part/models.py:928
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:915
+#: part/models.py:934
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:921
+#: part/models.py:940
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:926
+#: part/models.py:945
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:931
+#: part/models.py:950
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:936
+#: part/models.py:955
msgid "Is this part active?"
msgstr ""
-#: part/models.py:941
+#: part/models.py:960
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:943
+#: part/models.py:962
msgid "Part notes"
msgstr ""
-#: part/models.py:945
+#: part/models.py:964
msgid "BOM checksum"
msgstr ""
-#: part/models.py:945
+#: part/models.py:964
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:948
+#: part/models.py:967
msgid "BOM checked by"
msgstr ""
-#: part/models.py:950
+#: part/models.py:969
msgid "BOM checked date"
msgstr ""
-#: part/models.py:954
+#: part/models.py:973
msgid "Creation User"
msgstr ""
-#: part/models.py:1790
+#: part/models.py:1819
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2319
+#: part/models.py:2682
+msgid "Currency used to cache pricing calculations"
+msgstr ""
+
+#: part/models.py:2687
+msgid "Updated"
+msgstr ""
+
+#: part/models.py:2688
+msgid "Timestamp of last pricing update"
+msgstr ""
+
+#: part/models.py:2705
+msgid "Minimum BOM Cost"
+msgstr ""
+
+#: part/models.py:2706
+msgid "Minimum cost of component parts"
+msgstr ""
+
+#: part/models.py:2711
+msgid "Maximum BOM Cost"
+msgstr ""
+
+#: part/models.py:2712
+msgid "Maximum cost of component parts"
+msgstr ""
+
+#: part/models.py:2717
+msgid "Minimum Purchase Cost"
+msgstr ""
+
+#: part/models.py:2718
+msgid "Minimum historical purchase cost"
+msgstr ""
+
+#: part/models.py:2723
+msgid "Maximum Purchase Cost"
+msgstr ""
+
+#: part/models.py:2724
+msgid "Maximum historical purchase cost"
+msgstr ""
+
+#: part/models.py:2729
+msgid "Minimum Internal Price"
+msgstr ""
+
+#: part/models.py:2730
+msgid "Minimum cost based on internal price breaks"
+msgstr ""
+
+#: part/models.py:2735
+msgid "Maximum Internal Price"
+msgstr ""
+
+#: part/models.py:2736
+msgid "Maximum cost based on internal price breaks"
+msgstr ""
+
+#: part/models.py:2741
+msgid "Minimum Supplier Price"
+msgstr ""
+
+#: part/models.py:2742
+msgid "Minimum price of part from external suppliers"
+msgstr ""
+
+#: part/models.py:2747
+msgid "Maximum Supplier Price"
+msgstr ""
+
+#: part/models.py:2748
+msgid "Maximum price of part from external suppliers"
+msgstr ""
+
+#: part/models.py:2753
+msgid "Minimum Variant Cost"
+msgstr ""
+
+#: part/models.py:2754
+msgid "Calculated minimum cost of variant parts"
+msgstr ""
+
+#: part/models.py:2759
+msgid "Maximum Variant Cost"
+msgstr ""
+
+#: part/models.py:2760
+msgid "Calculated maximum cost of variant parts"
+msgstr ""
+
+#: part/models.py:2766
+msgid "Calculated overall minimum cost"
+msgstr ""
+
+#: part/models.py:2772
+msgid "Calculated overall maximum cost"
+msgstr ""
+
+#: part/models.py:2777
+msgid "Minimum Sale Price"
+msgstr ""
+
+#: part/models.py:2778
+msgid "Minimum sale price based on price breaks"
+msgstr ""
+
+#: part/models.py:2783
+msgid "Maximum Sale Price"
+msgstr ""
+
+#: part/models.py:2784
+msgid "Maximum sale price based on price breaks"
+msgstr ""
+
+#: part/models.py:2789
+msgid "Minimum Sale Cost"
+msgstr ""
+
+#: part/models.py:2790
+msgid "Minimum historical sale price"
+msgstr ""
+
+#: part/models.py:2795
+msgid "Maximum Sale Cost"
+msgstr ""
+
+#: part/models.py:2796
+msgid "Maximum historical sale price"
+msgstr ""
+
+#: part/models.py:2932
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:2336
+#: part/models.py:2949
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2356 templates/js/translated/part.js:2070
-#: templates/js/translated/stock.js:1340
+#: part/models.py:2969 templates/js/translated/part.js:2094
+#: templates/js/translated/stock.js:1359
msgid "Test Name"
msgstr ""
-#: part/models.py:2357
+#: part/models.py:2970
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2362
+#: part/models.py:2975
msgid "Test Description"
msgstr ""
-#: part/models.py:2363
+#: part/models.py:2976
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2368 templates/js/translated/part.js:2079
-#: templates/js/translated/table_filters.js:310
+#: part/models.py:2981 templates/js/translated/part.js:2103
+#: templates/js/translated/table_filters.js:314
msgid "Required"
msgstr ""
-#: part/models.py:2369
+#: part/models.py:2982
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2374 templates/js/translated/part.js:2087
+#: part/models.py:2987 templates/js/translated/part.js:2111
msgid "Requires Value"
msgstr ""
-#: part/models.py:2375
+#: part/models.py:2988
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2380 templates/js/translated/part.js:2094
+#: part/models.py:2993 templates/js/translated/part.js:2118
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2381
+#: part/models.py:2994
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:2422
+#: part/models.py:3035
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:2430
+#: part/models.py:3043
msgid "Parameter Name"
msgstr ""
-#: part/models.py:2434
+#: part/models.py:3047
msgid "Parameter Units"
msgstr ""
-#: part/models.py:2439
+#: part/models.py:3052
msgid "Parameter description"
msgstr ""
-#: part/models.py:2472
+#: part/models.py:3085
msgid "Parent Part"
msgstr ""
-#: part/models.py:2474 part/models.py:2522 part/models.py:2523
+#: part/models.py:3087 part/models.py:3135 part/models.py:3136
#: templates/InvenTree/settings/settings.html:224
msgid "Parameter Template"
msgstr ""
-#: part/models.py:2476
+#: part/models.py:3089
msgid "Data"
msgstr ""
-#: part/models.py:2476
+#: part/models.py:3089
msgid "Parameter Value"
msgstr ""
-#: part/models.py:2527 templates/InvenTree/settings/settings.html:233
+#: part/models.py:3140 templates/InvenTree/settings/settings.html:233
msgid "Default Value"
msgstr ""
-#: part/models.py:2528
+#: part/models.py:3141
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:2565
+#: part/models.py:3178
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:2568 templates/js/translated/model_renderers.js:212
-msgid "Part ID"
-msgstr ""
-
-#: part/models.py:2569
+#: part/models.py:3182
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:2572
-msgid "Part Name"
-msgstr ""
-
-#: part/models.py:2576
-msgid "Part IPN"
-msgstr ""
-
-#: part/models.py:2577
+#: part/models.py:3190
msgid "Part IPN value"
msgstr ""
-#: part/models.py:2580
+#: part/models.py:3193
msgid "Level"
msgstr ""
-#: part/models.py:2581
+#: part/models.py:3194
msgid "BOM level"
msgstr ""
-#: part/models.py:2650
+#: part/models.py:3263
msgid "Select parent part"
msgstr ""
-#: part/models.py:2658
+#: part/models.py:3271
msgid "Sub part"
msgstr ""
-#: part/models.py:2659
+#: part/models.py:3272
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:2665
+#: part/models.py:3278
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:2669 part/templates/part/upload_bom.html:58
-#: templates/js/translated/bom.js:924 templates/js/translated/bom.js:1024
+#: part/models.py:3282 part/templates/part/upload_bom.html:58
+#: templates/js/translated/bom.js:933 templates/js/translated/bom.js:986
#: templates/js/translated/build.js:1858
#: templates/js/translated/table_filters.js:84
-#: templates/js/translated/table_filters.js:108
+#: templates/js/translated/table_filters.js:112
msgid "Optional"
msgstr ""
-#: part/models.py:2670
+#: part/models.py:3283
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:2675 templates/js/translated/bom.js:920
-#: templates/js/translated/bom.js:1033 templates/js/translated/build.js:1849
+#: part/models.py:3288 templates/js/translated/bom.js:929
+#: templates/js/translated/bom.js:995 templates/js/translated/build.js:1849
#: templates/js/translated/table_filters.js:88
msgid "Consumable"
msgstr ""
-#: part/models.py:2676
+#: part/models.py:3289
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:2680 part/templates/part/upload_bom.html:55
+#: part/models.py:3293 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:2681
+#: part/models.py:3294
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:2684
+#: part/models.py:3297
msgid "BOM item reference"
msgstr ""
-#: part/models.py:2687
+#: part/models.py:3300
msgid "BOM item notes"
msgstr ""
-#: part/models.py:2689
+#: part/models.py:3302
msgid "Checksum"
msgstr ""
-#: part/models.py:2689
+#: part/models.py:3302
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:2693 part/templates/part/upload_bom.html:57
-#: templates/js/translated/bom.js:1050
+#: part/models.py:3306 part/templates/part/upload_bom.html:57
+#: templates/js/translated/bom.js:1012
#: templates/js/translated/table_filters.js:76
-#: templates/js/translated/table_filters.js:104
+#: templates/js/translated/table_filters.js:108
msgid "Inherited"
msgstr ""
-#: part/models.py:2694
+#: part/models.py:3307
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:2699 part/templates/part/upload_bom.html:56
-#: templates/js/translated/bom.js:1042
+#: part/models.py:3312 part/templates/part/upload_bom.html:56
+#: templates/js/translated/bom.js:1004
msgid "Allow Variants"
msgstr ""
-#: part/models.py:2700
+#: part/models.py:3313
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:2786 stock/models.py:502
+#: part/models.py:3399 stock/models.py:518
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:2795 part/models.py:2797
+#: part/models.py:3408 part/models.py:3410
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:2902
+#: part/models.py:3537
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:2923
+#: part/models.py:3558
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:2936
+#: part/models.py:3571
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:2944
+#: part/models.py:3579
msgid "Substitute part"
msgstr ""
-#: part/models.py:2959
+#: part/models.py:3594
msgid "Part 1"
msgstr ""
-#: part/models.py:2963
+#: part/models.py:3598
msgid "Part 2"
msgstr ""
-#: part/models.py:2963
+#: part/models.py:3598
msgid "Select Related Part"
msgstr ""
-#: part/models.py:2981
+#: part/models.py:3616
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:2985
+#: part/models.py:3620
msgid "Duplicate relationship already exists"
msgstr ""
-#: part/serializers.py:154 part/serializers.py:185 stock/serializers.py:179
+#: part/serializers.py:154 part/serializers.py:182 stock/serializers.py:183
msgid "Purchase currency of this stock item"
msgstr ""
-#: part/serializers.py:829
+#: part/serializers.py:542
+msgid "Update"
+msgstr ""
+
+#: part/serializers.py:543
+msgid "Update pricing for this part"
+msgstr ""
+
+#: part/serializers.py:853
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:837
+#: part/serializers.py:861
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:838
+#: part/serializers.py:862
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:843
+#: part/serializers.py:867
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:844
+#: part/serializers.py:868
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:849
+#: part/serializers.py:873
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:850
+#: part/serializers.py:874
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:855
+#: part/serializers.py:879
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:856
+#: part/serializers.py:880
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/serializers.py:896
+#: part/serializers.py:920
msgid "Clear Existing BOM"
msgstr ""
-#: part/serializers.py:897
+#: part/serializers.py:921
msgid "Delete existing BOM items before uploading"
msgstr ""
-#: part/serializers.py:927
+#: part/serializers.py:951
msgid "No part column specified"
msgstr ""
-#: part/serializers.py:970
+#: part/serializers.py:994
msgid "Multiple matching parts found"
msgstr ""
-#: part/serializers.py:973
+#: part/serializers.py:997
msgid "No matching part found"
msgstr ""
-#: part/serializers.py:976
+#: part/serializers.py:1000
msgid "Part is not designated as a component"
msgstr ""
-#: part/serializers.py:985
+#: part/serializers.py:1009
msgid "Quantity not provided"
msgstr ""
-#: part/serializers.py:993
+#: part/serializers.py:1017
msgid "Invalid quantity"
msgstr ""
-#: part/serializers.py:1014
+#: part/serializers.py:1038
msgid "At least one BOM item is required"
msgstr ""
-#: part/tasks.py:21
+#: part/tasks.py:25
msgid "Low stock notification"
msgstr ""
-#: part/tasks.py:22
+#: part/tasks.py:26
#, python-brace-format
msgid "The available stock for {part.name} has fallen below the configured minimum level"
msgstr ""
@@ -5034,7 +5293,7 @@ msgstr ""
msgid "The BOM for %(part)s has not been validated."
msgstr ""
-#: part/templates/part/bom.html:30 part/templates/part/detail.html:269
+#: part/templates/part/bom.html:30 part/templates/part/detail.html:267
msgid "BOM actions"
msgstr ""
@@ -5070,10 +5329,6 @@ msgstr ""
msgid "Delete Category"
msgstr ""
-#: part/templates/part/category.html:81 part/templates/part/category.html:94
-msgid "Category Path"
-msgstr ""
-
#: part/templates/part/category.html:95
msgid "Top level part category"
msgstr ""
@@ -5091,12 +5346,12 @@ msgstr ""
msgid "Create new part"
msgstr ""
-#: part/templates/part/category.html:159 templates/js/translated/bom.js:392
+#: part/templates/part/category.html:159 templates/js/translated/bom.js:405
msgid "New Part"
msgstr ""
-#: part/templates/part/category.html:169 part/templates/part/detail.html:368
-#: part/templates/part/detail.html:399
+#: part/templates/part/category.html:169 part/templates/part/detail.html:366
+#: part/templates/part/detail.html:397
msgid "Options"
msgstr ""
@@ -5144,7 +5399,7 @@ msgstr ""
msgid "Import Parts"
msgstr ""
-#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:379
+#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:393
msgid "Duplicate Part"
msgstr ""
@@ -5176,7 +5431,8 @@ msgstr ""
msgid "Refresh scheduling data"
msgstr ""
-#: part/templates/part/detail.html:45 templates/js/translated/tables.js:524
+#: part/templates/part/detail.html:45 part/templates/part/prices.html:15
+#: templates/js/translated/tables.js:524
msgid "Refresh"
msgstr ""
@@ -5192,123 +5448,103 @@ msgstr ""
msgid "Sales Order Allocations"
msgstr ""
-#: part/templates/part/detail.html:143
+#: part/templates/part/detail.html:141
msgid "Part Notes"
msgstr ""
-#: part/templates/part/detail.html:158
+#: part/templates/part/detail.html:156
msgid "Part Variants"
msgstr ""
-#: part/templates/part/detail.html:162
+#: part/templates/part/detail.html:160
msgid "Create new variant"
msgstr ""
-#: part/templates/part/detail.html:163
+#: part/templates/part/detail.html:161
msgid "New Variant"
msgstr ""
-#: part/templates/part/detail.html:190
+#: part/templates/part/detail.html:188
msgid "Add new parameter"
msgstr ""
-#: part/templates/part/detail.html:227 part/templates/part/part_sidebar.html:54
+#: part/templates/part/detail.html:225 part/templates/part/part_sidebar.html:52
msgid "Related Parts"
msgstr ""
-#: part/templates/part/detail.html:231 part/templates/part/detail.html:232
+#: part/templates/part/detail.html:229 part/templates/part/detail.html:230
msgid "Add Related"
msgstr ""
-#: part/templates/part/detail.html:252 part/templates/part/part_sidebar.html:17
+#: part/templates/part/detail.html:250 part/templates/part/part_sidebar.html:17
msgid "Bill of Materials"
msgstr ""
-#: part/templates/part/detail.html:257
+#: part/templates/part/detail.html:255
msgid "Export actions"
msgstr ""
-#: part/templates/part/detail.html:261 templates/js/translated/bom.js:309
+#: part/templates/part/detail.html:259 templates/js/translated/bom.js:309
msgid "Export BOM"
msgstr ""
-#: part/templates/part/detail.html:263
+#: part/templates/part/detail.html:261
msgid "Print BOM Report"
msgstr ""
-#: part/templates/part/detail.html:273
+#: part/templates/part/detail.html:271
msgid "Upload BOM"
msgstr ""
-#: part/templates/part/detail.html:274 templates/js/translated/part.js:274
+#: part/templates/part/detail.html:272 templates/js/translated/part.js:270
msgid "Copy BOM"
msgstr ""
-#: part/templates/part/detail.html:275
+#: part/templates/part/detail.html:273
msgid "Validate BOM"
msgstr ""
-#: part/templates/part/detail.html:280 part/templates/part/detail.html:281
-#: templates/js/translated/bom.js:1202 templates/js/translated/bom.js:1203
+#: part/templates/part/detail.html:278 part/templates/part/detail.html:279
+#: templates/js/translated/bom.js:1267 templates/js/translated/bom.js:1268
msgid "Add BOM Item"
msgstr ""
-#: part/templates/part/detail.html:294
+#: part/templates/part/detail.html:292
msgid "Assemblies"
msgstr ""
-#: part/templates/part/detail.html:312
+#: part/templates/part/detail.html:310
msgid "Part Builds"
msgstr ""
-#: part/templates/part/detail.html:339 stock/templates/stock/item.html:38
+#: part/templates/part/detail.html:337 stock/templates/stock/item.html:38
msgid "Build Order Allocations"
msgstr ""
-#: part/templates/part/detail.html:355
+#: part/templates/part/detail.html:353
msgid "Part Suppliers"
msgstr ""
-#: part/templates/part/detail.html:385
+#: part/templates/part/detail.html:383
msgid "Part Manufacturers"
msgstr ""
-#: part/templates/part/detail.html:401
+#: part/templates/part/detail.html:399
msgid "Delete manufacturer parts"
msgstr ""
-#: part/templates/part/detail.html:658
+#: part/templates/part/detail.html:656
msgid "Related Part"
msgstr ""
-#: part/templates/part/detail.html:666
+#: part/templates/part/detail.html:664
msgid "Add Related Part"
msgstr ""
-#: part/templates/part/detail.html:758
+#: part/templates/part/detail.html:756
msgid "Add Test Result Template"
msgstr ""
-#: part/templates/part/detail.html:901
-#, python-format
-msgid "Purchase Unit Price - %(currency)s"
-msgstr ""
-
-#: part/templates/part/detail.html:913
-#, python-format
-msgid "Unit Price-Cost Difference - %(currency)s"
-msgstr ""
-
-#: part/templates/part/detail.html:925
-#, python-format
-msgid "Supplier Unit Cost - %(currency)s"
-msgstr ""
-
-#: part/templates/part/detail.html:1014
-#, python-format
-msgid "Unit Price - %(currency)s"
-msgstr ""
-
#: part/templates/part/import_wizard/ajax_match_fields.html:9
#: templates/patterns/wizard/match_fields.html:8
msgid "Missing selections for the following required columns"
@@ -5439,15 +5675,15 @@ msgid "Part is virtual (not a physical part)"
msgstr ""
#: part/templates/part/part_base.html:148
-#: templates/js/translated/company.js:659
-#: templates/js/translated/company.js:920
+#: templates/js/translated/company.js:660
+#: templates/js/translated/company.js:921
#: templates/js/translated/model_renderers.js:204
-#: templates/js/translated/part.js:652 templates/js/translated/part.js:729
+#: templates/js/translated/part.js:666 templates/js/translated/part.js:743
msgid "Inactive"
msgstr ""
#: part/templates/part/part_base.html:165
-#: part/templates/part/part_base.html:620
+#: part/templates/part/part_base.html:635
msgid "Show Part Details"
msgstr ""
@@ -5456,12 +5692,6 @@ msgstr ""
msgid "This part is a variant of %(link)s"
msgstr ""
-#: part/templates/part/part_base.html:200
-#: templates/js/translated/company.js:1027
-#: templates/js/translated/table_filters.js:209
-msgid "In Stock"
-msgstr ""
-
#: part/templates/part/part_base.html:221
#: stock/templates/stock/item_base.html:382
msgid "Allocated to Build Orders"
@@ -5472,100 +5702,91 @@ msgstr ""
msgid "Allocated to Sales Orders"
msgstr ""
-#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1100
+#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1165
msgid "Can Build"
msgstr ""
-#: part/templates/part/part_base.html:244 templates/js/translated/part.js:591
-#: templates/js/translated/part.js:611 templates/js/translated/part.js:1342
-#: templates/js/translated/part.js:1533
-msgid "Building"
-msgstr ""
-
#: part/templates/part/part_base.html:293
msgid "Minimum stock level"
msgstr ""
-#: part/templates/part/part_base.html:330
+#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1032
+#: templates/js/translated/part.js:783 templates/js/translated/part.js:1582
+#: templates/js/translated/pricing.js:124
+#: templates/js/translated/pricing.js:757
+msgid "Price Range"
+msgstr ""
+
+#: part/templates/part/part_base.html:345
msgid "Latest Serial Number"
msgstr ""
-#: part/templates/part/part_base.html:334
+#: part/templates/part/part_base.html:349
#: stock/templates/stock/item_base.html:331
msgid "Search for serial number"
msgstr ""
-#: part/templates/part/part_base.html:431
+#: part/templates/part/part_base.html:446
msgid "Link Barcode to Part"
msgstr ""
-#: part/templates/part/part_base.html:477 part/templates/part/prices.html:149
+#: part/templates/part/part_base.html:492
msgid "Calculate"
msgstr ""
-#: part/templates/part/part_base.html:520
+#: part/templates/part/part_base.html:535
msgid "No matching images found"
msgstr ""
-#: part/templates/part/part_base.html:614
+#: part/templates/part/part_base.html:629
msgid "Hide Part Details"
msgstr ""
-#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:24
+#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:78
+#: part/templates/part/prices.html:238 templates/js/translated/pricing.js:218
msgid "Supplier Pricing"
msgstr ""
#: part/templates/part/part_pricing.html:26
#: part/templates/part/part_pricing.html:52
-#: part/templates/part/part_pricing.html:103
-#: part/templates/part/part_pricing.html:118 part/templates/part/prices.html:28
-#: part/templates/part/prices.html:55 part/templates/part/prices.html:108
-#: part/templates/part/prices.html:125
+#: part/templates/part/part_pricing.html:95
+#: part/templates/part/part_pricing.html:110
msgid "Unit Cost"
msgstr ""
#: part/templates/part/part_pricing.html:32
#: part/templates/part/part_pricing.html:58
-#: part/templates/part/part_pricing.html:107
-#: part/templates/part/part_pricing.html:122 part/templates/part/prices.html:35
-#: part/templates/part/prices.html:62 part/templates/part/prices.html:113
-#: part/templates/part/prices.html:130
+#: part/templates/part/part_pricing.html:99
+#: part/templates/part/part_pricing.html:114
msgid "Total Cost"
msgstr ""
-#: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:43
-#: templates/js/translated/bom.js:1091
+#: part/templates/part/part_pricing.html:40
msgid "No supplier pricing available"
msgstr ""
-#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:52
-#: part/templates/part/prices.html:248
+#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:94
+#: part/templates/part/prices.html:262
msgid "BOM Pricing"
msgstr ""
-#: part/templates/part/part_pricing.html:66 part/templates/part/prices.html:72
+#: part/templates/part/part_pricing.html:66
msgid "Unit Purchase Price"
msgstr ""
-#: part/templates/part/part_pricing.html:72 part/templates/part/prices.html:79
+#: part/templates/part/part_pricing.html:72
msgid "Total Purchase Price"
msgstr ""
-#: part/templates/part/part_pricing.html:82 part/templates/part/prices.html:89
-msgid "Note: BOM pricing is incomplete for this part"
-msgstr ""
-
-#: part/templates/part/part_pricing.html:91 part/templates/part/prices.html:98
+#: part/templates/part/part_pricing.html:83
msgid "No BOM pricing available"
msgstr ""
-#: part/templates/part/part_pricing.html:100
-#: part/templates/part/prices.html:107
+#: part/templates/part/part_pricing.html:92
msgid "Internal Price"
msgstr ""
-#: part/templates/part/part_pricing.html:131
-#: part/templates/part/prices.html:139
+#: part/templates/part/part_pricing.html:123
msgid "No pricing information is available for this part."
msgstr ""
@@ -5573,7 +5794,8 @@ msgstr ""
#: report/templates/report/inventree_test_report_base.html:97
#: templates/InvenTree/settings/plugin.html:63
#: templates/InvenTree/settings/plugin_settings.html:38
-#: templates/js/translated/order.js:2001 templates/js/translated/stock.js:2478
+#: templates/js/translated/order.js:2035 templates/js/translated/pricing.js:537
+#: templates/js/translated/pricing.js:658 templates/js/translated/stock.js:2496
msgid "Date"
msgstr ""
@@ -5585,15 +5807,11 @@ msgstr ""
msgid "Variants"
msgstr ""
-#: part/templates/part/part_sidebar.html:27
-msgid "Used In"
-msgstr ""
-
-#: part/templates/part/part_sidebar.html:46
+#: part/templates/part/part_sidebar.html:44
msgid "Scheduling"
msgstr ""
-#: part/templates/part/part_sidebar.html:50
+#: part/templates/part/part_sidebar.html:48
msgid "Test Templates"
msgstr ""
@@ -5601,74 +5819,82 @@ msgstr ""
msgid "Select from existing images"
msgstr ""
-#: part/templates/part/prices.html:19
-msgid "Pricing ranges"
+#: part/templates/part/prices.html:11
+msgid "Pricing Overview"
msgstr ""
-#: part/templates/part/prices.html:25
-msgid "Show supplier cost"
+#: part/templates/part/prices.html:14
+msgid "Refresh Part Pricing"
msgstr ""
-#: part/templates/part/prices.html:26
-msgid "Show purchase price"
+#: part/templates/part/prices.html:25 stock/admin.py:106
+#: stock/templates/stock/item_base.html:440
+#: templates/js/translated/company.js:1039
+#: templates/js/translated/stock.js:1920
+msgid "Last Updated"
msgstr ""
-#: part/templates/part/prices.html:53
-msgid "Show BOM cost"
+#: part/templates/part/prices.html:34 part/templates/part/prices.html:126
+msgid "Price Category"
msgstr ""
-#: part/templates/part/prices.html:122
-msgid "Show sale cost"
+#: part/templates/part/prices.html:35 part/templates/part/prices.html:127
+msgid "Minimum"
msgstr ""
-#: part/templates/part/prices.html:123
-msgid "Show sale price"
+#: part/templates/part/prices.html:36 part/templates/part/prices.html:128
+msgid "Maximum"
msgstr ""
-#: part/templates/part/prices.html:145
-msgid "Calculation parameters"
+#: part/templates/part/prices.html:49 part/templates/part/prices.html:185
+msgid "Internal Pricing"
msgstr ""
-#: part/templates/part/prices.html:160 templates/js/translated/bom.js:1085
-msgid "Supplier Cost"
+#: part/templates/part/prices.html:64 part/templates/part/prices.html:217
+msgid "Purchase History"
msgstr ""
-#: part/templates/part/prices.html:161 part/templates/part/prices.html:182
-#: part/templates/part/prices.html:206 part/templates/part/prices.html:236
-#: part/templates/part/prices.html:262 part/templates/part/prices.html:291
+#: part/templates/part/prices.html:103 part/templates/part/prices.html:286
+msgid "Variant Pricing"
+msgstr ""
+
+#: part/templates/part/prices.html:111
+msgid "Overall Pricing"
+msgstr ""
+
+#: part/templates/part/prices.html:155 part/templates/part/prices.html:338
+msgid "Sale History"
+msgstr ""
+
+#: part/templates/part/prices.html:168
+msgid "Sale price data is not available for this part"
+msgstr ""
+
+#: part/templates/part/prices.html:175
+msgid "Price range data is not available for this part."
+msgstr ""
+
+#: part/templates/part/prices.html:186 part/templates/part/prices.html:218
+#: part/templates/part/prices.html:239 part/templates/part/prices.html:263
+#: part/templates/part/prices.html:287 part/templates/part/prices.html:310
+#: part/templates/part/prices.html:339
msgid "Jump to overview"
msgstr ""
-#: part/templates/part/prices.html:186
-msgid "Stock Pricing"
-msgstr ""
-
-#: part/templates/part/prices.html:195
-msgid "No stock pricing history is available for this part."
-msgstr ""
-
-#: part/templates/part/prices.html:205
-msgid "Internal Cost"
-msgstr ""
-
-#: part/templates/part/prices.html:220
+#: part/templates/part/prices.html:191
msgid "Add Internal Price Break"
msgstr ""
-#: part/templates/part/prices.html:235
-msgid "BOM Cost"
+#: part/templates/part/prices.html:309
+msgid "Sale Pricing"
msgstr ""
-#: part/templates/part/prices.html:261
-msgid "Sale Cost"
+#: part/templates/part/prices.html:315
+msgid "Add Sell Price Break"
msgstr ""
-#: part/templates/part/prices.html:302
-msgid "No sale pice history available for this part."
-msgstr ""
-
-#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:614
-#: templates/js/translated/part.js:1330 templates/js/translated/part.js:1332
+#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:628
+#: templates/js/translated/part.js:1351 templates/js/translated/part.js:1353
msgid "No Stock"
msgstr ""
@@ -5722,40 +5948,36 @@ msgstr ""
msgid "Create a new variant of template '%(full_name)s'."
msgstr ""
-#: part/templatetags/inventree_extras.py:177
+#: part/templatetags/inventree_extras.py:210
msgid "Unknown database"
msgstr ""
-#: part/templatetags/inventree_extras.py:229
+#: part/templatetags/inventree_extras.py:262
#, python-brace-format
msgid "{title} v{version}"
msgstr ""
-#: part/views.py:114
+#: part/views.py:109
msgid "Match References"
msgstr ""
-#: part/views.py:415
-msgid "None"
-msgstr ""
-
-#: part/views.py:477
+#: part/views.py:354
msgid "Part QR Code"
msgstr ""
-#: part/views.py:495
+#: part/views.py:372
msgid "Select Part Image"
msgstr ""
-#: part/views.py:521
+#: part/views.py:398
msgid "Updated part image"
msgstr ""
-#: part/views.py:524
+#: part/views.py:401
msgid "Part image not found"
msgstr ""
-#: part/views.py:613
+#: part/views.py:493
msgid "Part Pricing"
msgstr ""
@@ -6070,12 +6292,12 @@ msgid "Stock Item Test Report"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:79
-#: stock/models.py:650 stock/templates/stock/item_base.html:320
+#: stock/models.py:666 stock/templates/stock/item_base.html:320
#: templates/js/translated/build.js:472 templates/js/translated/build.js:624
#: templates/js/translated/build.js:1234 templates/js/translated/build.js:1735
#: templates/js/translated/model_renderers.js:118
-#: templates/js/translated/order.js:121 templates/js/translated/order.js:3592
-#: templates/js/translated/order.js:3679 templates/js/translated/stock.js:490
+#: templates/js/translated/order.js:121 templates/js/translated/order.js:3603
+#: templates/js/translated/order.js:3690 templates/js/translated/stock.js:509
msgid "Serial Number"
msgstr ""
@@ -6084,12 +6306,12 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:93
-#: stock/models.py:2085
+#: stock/models.py:2101
msgid "Test"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:94
-#: stock/models.py:2091
+#: stock/models.py:2107
msgid "Result"
msgstr ""
@@ -6107,383 +6329,435 @@ msgid "Installed Items"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:137
-#: templates/js/translated/stock.js:610 templates/js/translated/stock.js:780
-#: templates/js/translated/stock.js:2727
+#: stock/admin.py:87 templates/js/translated/stock.js:629
+#: templates/js/translated/stock.js:799 templates/js/translated/stock.js:2745
msgid "Serial"
msgstr ""
-#: stock/api.py:529
+#: stock/admin.py:23 stock/admin.py:90
+#: templates/js/translated/model_renderers.js:159
+msgid "Location ID"
+msgstr ""
+
+#: stock/admin.py:24 stock/admin.py:91
+msgid "Location Name"
+msgstr ""
+
+#: stock/admin.py:28 stock/templates/stock/location.html:123
+#: stock/templates/stock/location.html:129
+msgid "Location Path"
+msgstr ""
+
+#: stock/admin.py:83
+msgid "Stock Item ID"
+msgstr ""
+
+#: stock/admin.py:92 templates/js/translated/model_renderers.js:418
+msgid "Supplier Part ID"
+msgstr ""
+
+#: stock/admin.py:93
+msgid "Supplier ID"
+msgstr ""
+
+#: stock/admin.py:94
+msgid "Supplier Name"
+msgstr ""
+
+#: stock/admin.py:95
+msgid "Customer ID"
+msgstr ""
+
+#: stock/admin.py:96 stock/models.py:649
+#: stock/templates/stock/item_base.html:359
+msgid "Installed In"
+msgstr ""
+
+#: stock/admin.py:97 templates/js/translated/model_renderers.js:177
+msgid "Build ID"
+msgstr ""
+
+#: stock/admin.py:99
+msgid "Sales Order ID"
+msgstr ""
+
+#: stock/admin.py:100
+msgid "Purchase Order ID"
+msgstr ""
+
+#: stock/admin.py:107 templates/js/translated/stock.js:1890
+msgid "Stocktake"
+msgstr ""
+
+#: stock/admin.py:108 stock/models.py:724
+#: stock/templates/stock/item_base.html:427
+#: templates/js/translated/stock.js:1904
+msgid "Expiry Date"
+msgstr ""
+
+#: stock/api.py:539
msgid "Quantity is required"
msgstr ""
-#: stock/api.py:536
+#: stock/api.py:546
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:561
+#: stock/api.py:571
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/models.py:90 stock/models.py:746
+#: stock/models.py:106 stock/models.py:762
#: stock/templates/stock/item_base.html:250
msgid "Owner"
msgstr ""
-#: stock/models.py:91 stock/models.py:747
+#: stock/models.py:107 stock/models.py:763
msgid "Select Owner"
msgstr ""
-#: stock/models.py:508 stock/serializers.py:93
+#: stock/models.py:524 stock/serializers.py:97
msgid "Stock item cannot be created for virtual parts"
msgstr ""
-#: stock/models.py:525
+#: stock/models.py:541
#, python-brace-format
msgid "Part type ('{pf}') must be {pe}"
msgstr ""
-#: stock/models.py:535 stock/models.py:544
+#: stock/models.py:551 stock/models.py:560
msgid "Quantity must be 1 for item with a serial number"
msgstr ""
-#: stock/models.py:536
+#: stock/models.py:552
msgid "Serial number cannot be set if quantity greater than 1"
msgstr ""
-#: stock/models.py:558
+#: stock/models.py:574
msgid "Item cannot belong to itself"
msgstr ""
-#: stock/models.py:564
+#: stock/models.py:580
msgid "Item must have a build reference if is_building=True"
msgstr ""
-#: stock/models.py:578
+#: stock/models.py:594
msgid "Build reference does not point to the same part object"
msgstr ""
-#: stock/models.py:592
+#: stock/models.py:608
msgid "Parent Stock Item"
msgstr ""
-#: stock/models.py:602
+#: stock/models.py:618
msgid "Base part"
msgstr ""
-#: stock/models.py:610
+#: stock/models.py:626
msgid "Select a matching supplier part for this stock item"
msgstr ""
-#: stock/models.py:617 stock/templates/stock/location.html:17
+#: stock/models.py:633 stock/templates/stock/location.html:17
#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
msgstr ""
-#: stock/models.py:620
+#: stock/models.py:636
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:627
+#: stock/models.py:643
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:633 stock/templates/stock/item_base.html:359
-msgid "Installed In"
-msgstr ""
-
-#: stock/models.py:636
+#: stock/models.py:652
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:652
+#: stock/models.py:668
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:666
+#: stock/models.py:682
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:671
+#: stock/models.py:687
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:680
+#: stock/models.py:696
msgid "Source Build"
msgstr ""
-#: stock/models.py:682
+#: stock/models.py:698
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:693
+#: stock/models.py:709
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:696
+#: stock/models.py:712
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:702
+#: stock/models.py:718
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:708 stock/templates/stock/item_base.html:427
-#: templates/js/translated/stock.js:1885
-msgid "Expiry Date"
-msgstr ""
-
-#: stock/models.py:709
+#: stock/models.py:725
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:722
+#: stock/models.py:738
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:722
+#: stock/models.py:738
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:734 stock/templates/stock/item.html:132
+#: stock/models.py:750 stock/templates/stock/item.html:132
msgid "Stock Item Notes"
msgstr ""
-#: stock/models.py:742
+#: stock/models.py:758
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:770
+#: stock/models.py:786
msgid "Converted to part"
msgstr ""
-#: stock/models.py:1244
+#: stock/models.py:1260
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1250
+#: stock/models.py:1266
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1256
+#: stock/models.py:1272
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr ""
-#: stock/models.py:1259
+#: stock/models.py:1275
msgid "Serial numbers must be a list of integers"
msgstr ""
-#: stock/models.py:1262
+#: stock/models.py:1278
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1269
+#: stock/models.py:1285
#, python-brace-format
msgid "Serial numbers already exist: {exists}"
msgstr ""
-#: stock/models.py:1339
+#: stock/models.py:1355
msgid "Stock item has been assigned to a sales order"
msgstr ""
-#: stock/models.py:1342
+#: stock/models.py:1358
msgid "Stock item is installed in another item"
msgstr ""
-#: stock/models.py:1345
+#: stock/models.py:1361
msgid "Stock item contains other items"
msgstr ""
-#: stock/models.py:1348
+#: stock/models.py:1364
msgid "Stock item has been assigned to a customer"
msgstr ""
-#: stock/models.py:1351
+#: stock/models.py:1367
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:1354
+#: stock/models.py:1370
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1361 stock/serializers.py:963
+#: stock/models.py:1377 stock/serializers.py:962
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:1365
+#: stock/models.py:1381
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:1369
+#: stock/models.py:1385
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:1373
+#: stock/models.py:1389
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:1542
+#: stock/models.py:1558
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:2003
+#: stock/models.py:2019
msgid "Entry notes"
msgstr ""
-#: stock/models.py:2061
+#: stock/models.py:2077
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:2067
+#: stock/models.py:2083
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:2086
+#: stock/models.py:2102
msgid "Test name"
msgstr ""
-#: stock/models.py:2092
+#: stock/models.py:2108
msgid "Test result"
msgstr ""
-#: stock/models.py:2098
+#: stock/models.py:2114
msgid "Test output value"
msgstr ""
-#: stock/models.py:2105
+#: stock/models.py:2121
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2111
+#: stock/models.py:2127
msgid "Test notes"
msgstr ""
-#: stock/serializers.py:71
+#: stock/serializers.py:75
msgid "Serial number is too large"
msgstr ""
-#: stock/serializers.py:172
+#: stock/serializers.py:176
msgid "Purchase price of this stock item"
msgstr ""
-#: stock/serializers.py:292
+#: stock/serializers.py:286
msgid "Enter number of stock items to serialize"
msgstr ""
-#: stock/serializers.py:304
+#: stock/serializers.py:298
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({q})"
msgstr ""
-#: stock/serializers.py:310
+#: stock/serializers.py:304
msgid "Enter serial numbers for new items"
msgstr ""
-#: stock/serializers.py:321 stock/serializers.py:920 stock/serializers.py:1153
+#: stock/serializers.py:315 stock/serializers.py:919 stock/serializers.py:1152
msgid "Destination stock location"
msgstr ""
-#: stock/serializers.py:328
+#: stock/serializers.py:322
msgid "Optional note field"
msgstr ""
-#: stock/serializers.py:338
+#: stock/serializers.py:332
msgid "Serial numbers cannot be assigned to this part"
msgstr ""
-#: stock/serializers.py:359
+#: stock/serializers.py:353
msgid "Serial numbers already exist"
msgstr ""
-#: stock/serializers.py:399
+#: stock/serializers.py:393
msgid "Select stock item to install"
msgstr ""
-#: stock/serializers.py:412
+#: stock/serializers.py:406
msgid "Stock item is unavailable"
msgstr ""
-#: stock/serializers.py:419
+#: stock/serializers.py:413
msgid "Selected part is not in the Bill of Materials"
msgstr ""
-#: stock/serializers.py:456
+#: stock/serializers.py:450
msgid "Destination location for uninstalled item"
msgstr ""
-#: stock/serializers.py:461 stock/serializers.py:542
+#: stock/serializers.py:455 stock/serializers.py:536
msgid "Add transaction note (optional)"
msgstr ""
-#: stock/serializers.py:495
+#: stock/serializers.py:489
msgid "Select part to convert stock item into"
msgstr ""
-#: stock/serializers.py:506
+#: stock/serializers.py:500
msgid "Selected part is not a valid option for conversion"
msgstr ""
-#: stock/serializers.py:537
+#: stock/serializers.py:531
msgid "Destination location for returned item"
msgstr ""
-#: stock/serializers.py:775
+#: stock/serializers.py:774
msgid "Part must be salable"
msgstr ""
-#: stock/serializers.py:779
+#: stock/serializers.py:778
msgid "Item is allocated to a sales order"
msgstr ""
-#: stock/serializers.py:783
+#: stock/serializers.py:782
msgid "Item is allocated to a build order"
msgstr ""
-#: stock/serializers.py:814
+#: stock/serializers.py:813
msgid "Customer to assign stock items"
msgstr ""
-#: stock/serializers.py:820
+#: stock/serializers.py:819
msgid "Selected company is not a customer"
msgstr ""
-#: stock/serializers.py:828
+#: stock/serializers.py:827
msgid "Stock assignment notes"
msgstr ""
-#: stock/serializers.py:838 stock/serializers.py:1069
+#: stock/serializers.py:837 stock/serializers.py:1068
msgid "A list of stock items must be provided"
msgstr ""
-#: stock/serializers.py:927
+#: stock/serializers.py:926
msgid "Stock merging notes"
msgstr ""
-#: stock/serializers.py:932
+#: stock/serializers.py:931
msgid "Allow mismatched suppliers"
msgstr ""
-#: stock/serializers.py:933
+#: stock/serializers.py:932
msgid "Allow stock items with different supplier parts to be merged"
msgstr ""
-#: stock/serializers.py:938
+#: stock/serializers.py:937
msgid "Allow mismatched status"
msgstr ""
-#: stock/serializers.py:939
+#: stock/serializers.py:938
msgid "Allow stock items with different status codes to be merged"
msgstr ""
-#: stock/serializers.py:949
+#: stock/serializers.py:948
msgid "At least two stock items must be provided"
msgstr ""
-#: stock/serializers.py:1031
+#: stock/serializers.py:1030
msgid "StockItem primary key value"
msgstr ""
-#: stock/serializers.py:1059
+#: stock/serializers.py:1058
msgid "Stock transaction notes"
msgstr ""
@@ -6520,7 +6794,7 @@ msgstr ""
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2871
+#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2889
msgid "Install Stock Item"
msgstr ""
@@ -6528,7 +6802,7 @@ msgstr ""
msgid "Delete all test results for this stock item"
msgstr ""
-#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1522
+#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1541
msgid "Add Test Result"
msgstr ""
@@ -6687,7 +6961,7 @@ msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:431
-#: templates/js/translated/table_filters.js:277
+#: templates/js/translated/table_filters.js:281
msgid "Expired"
msgstr ""
@@ -6697,16 +6971,10 @@ msgid "This StockItem expires on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/table_filters.js:283
+#: templates/js/translated/table_filters.js:287
msgid "Stale"
msgstr ""
-#: stock/templates/stock/item_base.html:440
-#: templates/js/translated/company.js:1038
-#: templates/js/translated/stock.js:1901
-msgid "Last Updated"
-msgstr ""
-
#: stock/templates/stock/item_base.html:445
msgid "Last Stocktake"
msgstr ""
@@ -6783,11 +7051,6 @@ msgstr ""
msgid "Delete location"
msgstr ""
-#: stock/templates/stock/location.html:123
-#: stock/templates/stock/location.html:129
-msgid "Location Path"
-msgstr ""
-
#: stock/templates/stock/location.html:130
msgid "Top level stock location"
msgstr ""
@@ -6960,6 +7223,14 @@ msgstr ""
msgid "Overdue Sales Orders"
msgstr ""
+#: templates/InvenTree/index.html:312
+msgid "InvenTree News"
+msgstr ""
+
+#: templates/InvenTree/index.html:314
+msgid "Current News"
+msgstr ""
+
#: templates/InvenTree/notifications/history.html:9
msgid "Notification History"
msgstr ""
@@ -7026,30 +7297,6 @@ msgstr ""
msgid "Category Settings"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:8
-msgid "Currency Settings"
-msgstr ""
-
-#: templates/InvenTree/settings/currencies.html:19
-msgid "Base Currency"
-msgstr ""
-
-#: templates/InvenTree/settings/currencies.html:24
-msgid "Exchange Rates"
-msgstr ""
-
-#: templates/InvenTree/settings/currencies.html:38
-msgid "Last Update"
-msgstr ""
-
-#: templates/InvenTree/settings/currencies.html:44
-msgid "Never"
-msgstr ""
-
-#: templates/InvenTree/settings/currencies.html:49
-msgid "Update Now"
-msgstr ""
-
#: templates/InvenTree/settings/global.html:9
msgid "Server Settings"
msgstr ""
@@ -7090,15 +7337,15 @@ msgstr ""
msgid "Part Settings"
msgstr ""
-#: templates/InvenTree/settings/part.html:46
+#: templates/InvenTree/settings/part.html:40
msgid "Part Import"
msgstr ""
-#: templates/InvenTree/settings/part.html:50
+#: templates/InvenTree/settings/part.html:44
msgid "Import Part"
msgstr ""
-#: templates/InvenTree/settings/part.html:64
+#: templates/InvenTree/settings/part.html:58
msgid "Part Parameter Templates"
msgstr ""
@@ -7125,11 +7372,6 @@ msgstr ""
msgid "External plugins are not enabled for this InvenTree installation"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:62
-#: templates/InvenTree/settings/plugin_settings.html:33
-msgid "Author"
-msgstr ""
-
#: templates/InvenTree/settings/plugin.html:64
#: templates/InvenTree/settings/plugin_settings.html:43
msgid "Version"
@@ -7239,6 +7481,39 @@ msgstr ""
msgid "Purchase Order Settings"
msgstr ""
+#: templates/InvenTree/settings/pricing.html:7
+msgid "Pricing Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:24
+msgid "Currency Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:30
+msgid "Update Now"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:39
+#: templates/InvenTree/settings/pricing.html:43
+msgid "Last Update"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:43
+msgid "Never"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:53
+msgid "Base Currency"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:58
+msgid "Exchange Rates"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:60
+msgid "Rate"
+msgstr ""
+
#: templates/InvenTree/settings/report.html:8
#: templates/InvenTree/settings/user_reports.html:9
msgid "Report Settings"
@@ -7295,6 +7570,7 @@ msgid "No part parameter templates found"
msgstr ""
#: templates/InvenTree/settings/settings.html:338
+#: templates/js/translated/news.js:28
#: templates/js/translated/notification.js:36
msgid "ID"
msgstr ""
@@ -7357,10 +7633,6 @@ msgstr ""
msgid "Server Configuration"
msgstr ""
-#: templates/InvenTree/settings/sidebar.html:35
-msgid "Currencies"
-msgstr ""
-
#: templates/InvenTree/settings/sidebar.html:43
msgid "Categories"
msgstr ""
@@ -7380,7 +7652,7 @@ msgid "Change Password"
msgstr ""
#: templates/InvenTree/settings/user.html:23
-#: templates/js/translated/helpers.js:31 templates/notes_buttons.html:3
+#: templates/js/translated/helpers.js:33 templates/notes_buttons.html:3
#: templates/notes_buttons.html:4
msgid "Edit"
msgstr ""
@@ -7890,7 +8162,7 @@ msgid "The following parts are low on required stock"
msgstr ""
#: templates/email/build_order_required_stock.html:18
-#: templates/js/translated/bom.js:1566
+#: templates/js/translated/bom.js:1629
msgid "Required Quantity"
msgstr ""
@@ -7904,7 +8176,7 @@ msgid "Click on the following link to view this part"
msgstr ""
#: templates/email/low_stock_notification.html:19
-#: templates/js/translated/part.js:2566
+#: templates/js/translated/part.js:2423
msgid "Minimum Quantity"
msgstr ""
@@ -8057,7 +8329,7 @@ msgstr ""
msgid "Unlink"
msgstr ""
-#: templates/js/translated/barcode.js:500 templates/js/translated/stock.js:1054
+#: templates/js/translated/barcode.js:500 templates/js/translated/stock.js:1073
msgid "Remove stock item"
msgstr ""
@@ -8127,10 +8399,10 @@ msgstr ""
msgid "Row Data"
msgstr ""
-#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:646
+#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:659
#: templates/js/translated/modals.js:56 templates/js/translated/modals.js:601
#: templates/js/translated/modals.js:695 templates/js/translated/modals.js:1003
-#: templates/js/translated/order.js:1179 templates/modals.html:15
+#: templates/js/translated/order.js:1213 templates/modals.html:15
#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50
msgid "Close"
msgstr ""
@@ -8140,12 +8412,12 @@ msgid "Download BOM Template"
msgstr ""
#: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312
-#: templates/js/translated/order.js:960 templates/js/translated/tables.js:145
+#: templates/js/translated/order.js:994 templates/js/translated/tables.js:145
msgid "Format"
msgstr ""
#: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313
-#: templates/js/translated/order.js:961
+#: templates/js/translated/order.js:995
msgid "Select file format"
msgstr ""
@@ -8197,118 +8469,130 @@ msgstr ""
msgid "Include part supplier data in exported BOM"
msgstr ""
-#: templates/js/translated/bom.js:537
+#: templates/js/translated/bom.js:358
+msgid "Include Pricing Data"
+msgstr ""
+
+#: templates/js/translated/bom.js:359
+msgid "Include part pricing data in exported BOM"
+msgstr ""
+
+#: templates/js/translated/bom.js:550
msgid "Remove substitute part"
msgstr ""
-#: templates/js/translated/bom.js:591
+#: templates/js/translated/bom.js:604
msgid "Select and add a new substitute part using the input below"
msgstr ""
-#: templates/js/translated/bom.js:602
+#: templates/js/translated/bom.js:615
msgid "Are you sure you wish to remove this substitute part link?"
msgstr ""
-#: templates/js/translated/bom.js:608
+#: templates/js/translated/bom.js:621
msgid "Remove Substitute Part"
msgstr ""
-#: templates/js/translated/bom.js:647
+#: templates/js/translated/bom.js:660
msgid "Add Substitute"
msgstr ""
-#: templates/js/translated/bom.js:648
+#: templates/js/translated/bom.js:661
msgid "Edit BOM Item Substitutes"
msgstr ""
-#: templates/js/translated/bom.js:710
+#: templates/js/translated/bom.js:723
msgid "All selected BOM items will be deleted"
msgstr ""
-#: templates/js/translated/bom.js:726
+#: templates/js/translated/bom.js:739
msgid "Delete selected BOM items?"
msgstr ""
-#: templates/js/translated/bom.js:860
+#: templates/js/translated/bom.js:868
msgid "Load BOM for subassembly"
msgstr ""
-#: templates/js/translated/bom.js:870
+#: templates/js/translated/bom.js:878
msgid "Substitutes Available"
msgstr ""
-#: templates/js/translated/bom.js:874 templates/js/translated/build.js:1835
+#: templates/js/translated/bom.js:882 templates/js/translated/build.js:1835
msgid "Variant stock allowed"
msgstr ""
-#: templates/js/translated/bom.js:983 templates/js/translated/build.js:1907
-#: templates/js/translated/order.js:3927
-msgid "No Stock Available"
-msgstr ""
-
-#: templates/js/translated/bom.js:988 templates/js/translated/build.js:1911
-msgid "Includes variant and substitute stock"
-msgstr ""
-
-#: templates/js/translated/bom.js:990 templates/js/translated/build.js:1913
-#: templates/js/translated/part.js:761 templates/js/translated/part.js:1539
-msgid "Includes variant stock"
-msgstr ""
-
-#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1915
-msgid "Includes substitute stock"
-msgstr ""
-
-#: templates/js/translated/bom.js:1010
+#: templates/js/translated/bom.js:972
msgid "Substitutes"
msgstr ""
-#: templates/js/translated/bom.js:1061 templates/js/translated/bom.js:1195
+#: templates/js/translated/bom.js:1023 templates/js/translated/bom.js:1260
msgid "View BOM"
msgstr ""
-#: templates/js/translated/bom.js:1071
-msgid "Purchase Price Range"
+#: templates/js/translated/bom.js:1094
+msgid "BOM pricing is complete"
msgstr ""
-#: templates/js/translated/bom.js:1078
-msgid "Purchase Price Average"
+#: templates/js/translated/bom.js:1099
+msgid "BOM pricing is incomplete"
msgstr ""
-#: templates/js/translated/bom.js:1106 templates/js/translated/build.js:1898
+#: templates/js/translated/bom.js:1106
+msgid "No pricing available"
+msgstr ""
+
+#: templates/js/translated/bom.js:1137 templates/js/translated/build.js:1907
+#: templates/js/translated/order.js:3924
+msgid "No Stock Available"
+msgstr ""
+
+#: templates/js/translated/bom.js:1142 templates/js/translated/build.js:1911
+msgid "Includes variant and substitute stock"
+msgstr ""
+
+#: templates/js/translated/bom.js:1144 templates/js/translated/build.js:1913
+#: templates/js/translated/part.js:775 templates/js/translated/part.js:1550
+msgid "Includes variant stock"
+msgstr ""
+
+#: templates/js/translated/bom.js:1146 templates/js/translated/build.js:1915
+msgid "Includes substitute stock"
+msgstr ""
+
+#: templates/js/translated/bom.js:1171 templates/js/translated/build.js:1898
#: templates/js/translated/build.js:1985
msgid "Consumable item"
msgstr ""
-#: templates/js/translated/bom.js:1166
+#: templates/js/translated/bom.js:1231
msgid "Validate BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1168
+#: templates/js/translated/bom.js:1233
msgid "This line has been validated"
msgstr ""
-#: templates/js/translated/bom.js:1170
+#: templates/js/translated/bom.js:1235
msgid "Edit substitute parts"
msgstr ""
-#: templates/js/translated/bom.js:1172 templates/js/translated/bom.js:1369
+#: templates/js/translated/bom.js:1237 templates/js/translated/bom.js:1433
msgid "Edit BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1174
+#: templates/js/translated/bom.js:1239
msgid "Delete BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1280 templates/js/translated/build.js:1679
+#: templates/js/translated/bom.js:1344 templates/js/translated/build.js:1679
msgid "No BOM items found"
msgstr ""
-#: templates/js/translated/bom.js:1549 templates/js/translated/build.js:1818
+#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1818
msgid "Required Part"
msgstr ""
-#: templates/js/translated/bom.js:1575
+#: templates/js/translated/bom.js:1638
msgid "Inherited from parent BOM"
msgstr ""
@@ -8353,12 +8637,12 @@ msgid "Complete Build Order"
msgstr ""
#: templates/js/translated/build.js:311 templates/js/translated/stock.js:92
-#: templates/js/translated/stock.js:214
+#: templates/js/translated/stock.js:233
msgid "Next available serial number"
msgstr ""
#: templates/js/translated/build.js:313 templates/js/translated/stock.js:94
-#: templates/js/translated/stock.js:216
+#: templates/js/translated/stock.js:235
msgid "Latest serial number"
msgstr ""
@@ -8455,12 +8739,12 @@ msgid "No required tests for this build"
msgstr ""
#: templates/js/translated/build.js:1775 templates/js/translated/build.js:2765
-#: templates/js/translated/order.js:3627
+#: templates/js/translated/order.js:3638
msgid "Edit stock allocation"
msgstr ""
#: templates/js/translated/build.js:1777 templates/js/translated/build.js:2766
-#: templates/js/translated/order.js:3628
+#: templates/js/translated/order.js:3639
msgid "Delete stock allocation"
msgstr ""
@@ -8480,20 +8764,15 @@ msgstr ""
msgid "Quantity Per"
msgstr ""
-#: templates/js/translated/build.js:1901 templates/js/translated/order.js:3934
+#: templates/js/translated/build.js:1901 templates/js/translated/order.js:3931
msgid "Insufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3932
+#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3929
msgid "Sufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1937 templates/js/translated/build.js:2195
-#: templates/js/translated/build.js:2761 templates/js/translated/order.js:3946
-msgid "Allocated"
-msgstr ""
-
-#: templates/js/translated/build.js:1993 templates/js/translated/order.js:4026
+#: templates/js/translated/build.js:1993 templates/js/translated/order.js:4023
msgid "Build stock"
msgstr ""
@@ -8501,21 +8780,21 @@ msgstr ""
msgid "Order stock"
msgstr ""
-#: templates/js/translated/build.js:2000 templates/js/translated/order.js:4019
+#: templates/js/translated/build.js:2000 templates/js/translated/order.js:4016
msgid "Allocate stock"
msgstr ""
#: templates/js/translated/build.js:2039 templates/js/translated/label.js:172
-#: templates/js/translated/order.js:1007 templates/js/translated/order.js:3154
+#: templates/js/translated/order.js:1041 templates/js/translated/order.js:3165
#: templates/js/translated/report.js:225
msgid "Select Parts"
msgstr ""
-#: templates/js/translated/build.js:2040 templates/js/translated/order.js:3155
+#: templates/js/translated/build.js:2040 templates/js/translated/order.js:3166
msgid "You must select at least one part to allocate"
msgstr ""
-#: templates/js/translated/build.js:2089 templates/js/translated/order.js:3103
+#: templates/js/translated/build.js:2089 templates/js/translated/order.js:3114
msgid "Specify stock allocation quantity"
msgstr ""
@@ -8527,7 +8806,7 @@ msgstr ""
msgid "All selected parts have been fully allocated"
msgstr ""
-#: templates/js/translated/build.js:2183 templates/js/translated/order.js:3169
+#: templates/js/translated/build.js:2183 templates/js/translated/order.js:3180
msgid "Select source location (leave blank to take from all locations)"
msgstr ""
@@ -8535,11 +8814,11 @@ msgstr ""
msgid "Allocate Stock Items to Build Order"
msgstr ""
-#: templates/js/translated/build.js:2222 templates/js/translated/order.js:3266
+#: templates/js/translated/build.js:2222 templates/js/translated/order.js:3277
msgid "No matching stock locations"
msgstr ""
-#: templates/js/translated/build.js:2294 templates/js/translated/order.js:3343
+#: templates/js/translated/build.js:2294 templates/js/translated/order.js:3354
msgid "No matching stock items"
msgstr ""
@@ -8571,9 +8850,9 @@ msgstr ""
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:2558 templates/js/translated/part.js:1423
-#: templates/js/translated/part.js:1957 templates/js/translated/stock.js:1686
-#: templates/js/translated/stock.js:2390
+#: templates/js/translated/build.js:2558 templates/js/translated/part.js:1444
+#: templates/js/translated/part.js:1981 templates/js/translated/stock.js:1705
+#: templates/js/translated/stock.js:2408
msgid "Select"
msgstr ""
@@ -8585,7 +8864,7 @@ msgstr ""
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2636 templates/js/translated/stock.js:2657
+#: templates/js/translated/build.js:2636 templates/js/translated/stock.js:2675
msgid "No user information"
msgstr ""
@@ -8593,118 +8872,144 @@ msgstr ""
msgid "No parts allocated for"
msgstr ""
-#: templates/js/translated/company.js:66
+#: templates/js/translated/company.js:67
msgid "Add Manufacturer"
msgstr ""
-#: templates/js/translated/company.js:79 templates/js/translated/company.js:181
+#: templates/js/translated/company.js:80 templates/js/translated/company.js:182
msgid "Add Manufacturer Part"
msgstr ""
-#: templates/js/translated/company.js:100
+#: templates/js/translated/company.js:101
msgid "Edit Manufacturer Part"
msgstr ""
-#: templates/js/translated/company.js:169 templates/js/translated/order.js:576
+#: templates/js/translated/company.js:170 templates/js/translated/order.js:576
msgid "Add Supplier"
msgstr ""
-#: templates/js/translated/company.js:197 templates/js/translated/order.js:828
+#: templates/js/translated/company.js:198 templates/js/translated/order.js:862
msgid "Add Supplier Part"
msgstr ""
-#: templates/js/translated/company.js:297
+#: templates/js/translated/company.js:298
msgid "All selected supplier parts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:313
+#: templates/js/translated/company.js:314
msgid "Delete Supplier Parts"
msgstr ""
-#: templates/js/translated/company.js:385
+#: templates/js/translated/company.js:386
msgid "Add new Company"
msgstr ""
-#: templates/js/translated/company.js:462
+#: templates/js/translated/company.js:463
msgid "Parts Supplied"
msgstr ""
-#: templates/js/translated/company.js:471
+#: templates/js/translated/company.js:472
msgid "Parts Manufactured"
msgstr ""
-#: templates/js/translated/company.js:486
+#: templates/js/translated/company.js:487
msgid "No company information found"
msgstr ""
-#: templates/js/translated/company.js:527
+#: templates/js/translated/company.js:528
msgid "All selected manufacturer parts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:542
+#: templates/js/translated/company.js:543
msgid "Delete Manufacturer Parts"
msgstr ""
-#: templates/js/translated/company.js:576
+#: templates/js/translated/company.js:577
msgid "All selected parameters will be deleted"
msgstr ""
-#: templates/js/translated/company.js:590
+#: templates/js/translated/company.js:591
msgid "Delete Parameters"
msgstr ""
-#: templates/js/translated/company.js:631
+#: templates/js/translated/company.js:632
msgid "No manufacturer parts found"
msgstr ""
-#: templates/js/translated/company.js:651
-#: templates/js/translated/company.js:912 templates/js/translated/part.js:636
-#: templates/js/translated/part.js:721
+#: templates/js/translated/company.js:652
+#: templates/js/translated/company.js:913 templates/js/translated/part.js:650
+#: templates/js/translated/part.js:735
msgid "Template part"
msgstr ""
-#: templates/js/translated/company.js:655
-#: templates/js/translated/company.js:916 templates/js/translated/part.js:640
-#: templates/js/translated/part.js:725
+#: templates/js/translated/company.js:656
+#: templates/js/translated/company.js:917 templates/js/translated/part.js:654
+#: templates/js/translated/part.js:739
msgid "Assembled part"
msgstr ""
-#: templates/js/translated/company.js:783 templates/js/translated/part.js:828
+#: templates/js/translated/company.js:784 templates/js/translated/part.js:855
msgid "No parameters found"
msgstr ""
-#: templates/js/translated/company.js:820 templates/js/translated/part.js:870
+#: templates/js/translated/company.js:821 templates/js/translated/part.js:897
msgid "Edit parameter"
msgstr ""
-#: templates/js/translated/company.js:821 templates/js/translated/part.js:871
+#: templates/js/translated/company.js:822 templates/js/translated/part.js:898
msgid "Delete parameter"
msgstr ""
-#: templates/js/translated/company.js:840 templates/js/translated/part.js:888
+#: templates/js/translated/company.js:841 templates/js/translated/part.js:915
msgid "Edit Parameter"
msgstr ""
-#: templates/js/translated/company.js:851 templates/js/translated/part.js:900
+#: templates/js/translated/company.js:852 templates/js/translated/part.js:927
msgid "Delete Parameter"
msgstr ""
-#: templates/js/translated/company.js:891
+#: templates/js/translated/company.js:892
msgid "No supplier parts found"
msgstr ""
-#: templates/js/translated/company.js:1032
+#: templates/js/translated/company.js:1033
msgid "Availability"
msgstr ""
-#: templates/js/translated/company.js:1055
+#: templates/js/translated/company.js:1056
msgid "Edit supplier part"
msgstr ""
-#: templates/js/translated/company.js:1056
+#: templates/js/translated/company.js:1057
msgid "Delete supplier part"
msgstr ""
+#: templates/js/translated/company.js:1112
+#: templates/js/translated/pricing.js:423
+msgid "Delete Price Break"
+msgstr ""
+
+#: templates/js/translated/company.js:1128
+#: templates/js/translated/pricing.js:437
+msgid "Edit Price Break"
+msgstr ""
+
+#: templates/js/translated/company.js:1145
+msgid "No price break information found"
+msgstr ""
+
+#: templates/js/translated/company.js:1174
+msgid "Last updated"
+msgstr ""
+
+#: templates/js/translated/company.js:1180
+msgid "Edit price break"
+msgstr ""
+
+#: templates/js/translated/company.js:1181
+msgid "Delete price break"
+msgstr ""
+
#: templates/js/translated/filters.js:178
#: templates/js/translated/filters.js:441
msgid "true"
@@ -8785,27 +9090,27 @@ msgstr ""
msgid "Clear input"
msgstr ""
-#: templates/js/translated/forms.js:2638
+#: templates/js/translated/forms.js:2628
msgid "File Column"
msgstr ""
-#: templates/js/translated/forms.js:2638
+#: templates/js/translated/forms.js:2628
msgid "Field Name"
msgstr ""
-#: templates/js/translated/forms.js:2650
+#: templates/js/translated/forms.js:2640
msgid "Select Columns"
msgstr ""
-#: templates/js/translated/helpers.js:24
+#: templates/js/translated/helpers.js:26
msgid "YES"
msgstr ""
-#: templates/js/translated/helpers.js:26
+#: templates/js/translated/helpers.js:28
msgid "NO"
msgstr ""
-#: templates/js/translated/helpers.js:363
+#: templates/js/translated/helpers.js:434
msgid "Notes updated"
msgstr ""
@@ -8814,7 +9119,7 @@ msgid "Labels sent to printer"
msgstr ""
#: templates/js/translated/label.js:60 templates/js/translated/report.js:118
-#: templates/js/translated/stock.js:1078
+#: templates/js/translated/stock.js:1097
msgid "Select Stock Items"
msgstr ""
@@ -8934,14 +9239,6 @@ msgstr ""
msgid "Stock ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:159
-msgid "Location ID"
-msgstr ""
-
-#: templates/js/translated/model_renderers.js:177
-msgid "Build ID"
-msgstr ""
-
#: templates/js/translated/model_renderers.js:278
#: templates/js/translated/model_renderers.js:303
msgid "Order ID"
@@ -8952,16 +9249,12 @@ msgstr ""
msgid "Shipment ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:338
-msgid "Category ID"
-msgstr ""
-
#: templates/js/translated/model_renderers.js:381
msgid "Manufacturer Part ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:418
-msgid "Supplier Part ID"
+#: templates/js/translated/news.js:23
+msgid "No news found"
msgstr ""
#: templates/js/translated/notification.js:42
@@ -9104,659 +9397,688 @@ msgstr ""
msgid "Duplication Options"
msgstr ""
-#: templates/js/translated/order.js:957
+#: templates/js/translated/order.js:991
msgid "Export Order"
msgstr ""
-#: templates/js/translated/order.js:1008
+#: templates/js/translated/order.js:1042
msgid "At least one purchaseable part must be selected"
msgstr ""
-#: templates/js/translated/order.js:1033
+#: templates/js/translated/order.js:1067
msgid "Quantity to order"
msgstr ""
-#: templates/js/translated/order.js:1042
+#: templates/js/translated/order.js:1076
msgid "New supplier part"
msgstr ""
-#: templates/js/translated/order.js:1060
+#: templates/js/translated/order.js:1094
msgid "New purchase order"
msgstr ""
-#: templates/js/translated/order.js:1093
+#: templates/js/translated/order.js:1127
msgid "Add to purchase order"
msgstr ""
-#: templates/js/translated/order.js:1233
+#: templates/js/translated/order.js:1267
msgid "No matching supplier parts"
msgstr ""
-#: templates/js/translated/order.js:1252
+#: templates/js/translated/order.js:1286
msgid "No matching purchase orders"
msgstr ""
-#: templates/js/translated/order.js:1429
+#: templates/js/translated/order.js:1463
msgid "Select Line Items"
msgstr ""
-#: templates/js/translated/order.js:1430
+#: templates/js/translated/order.js:1464
msgid "At least one line item must be selected"
msgstr ""
-#: templates/js/translated/order.js:1450 templates/js/translated/order.js:1563
+#: templates/js/translated/order.js:1484 templates/js/translated/order.js:1597
msgid "Add batch code"
msgstr ""
-#: templates/js/translated/order.js:1456 templates/js/translated/order.js:1574
+#: templates/js/translated/order.js:1490 templates/js/translated/order.js:1608
msgid "Add serial numbers"
msgstr ""
-#: templates/js/translated/order.js:1471
+#: templates/js/translated/order.js:1505
msgid "Received Quantity"
msgstr ""
-#: templates/js/translated/order.js:1482
+#: templates/js/translated/order.js:1516
msgid "Quantity to receive"
msgstr ""
-#: templates/js/translated/order.js:1546 templates/js/translated/stock.js:2146
+#: templates/js/translated/order.js:1580 templates/js/translated/stock.js:2164
msgid "Stock Status"
msgstr ""
-#: templates/js/translated/order.js:1639
+#: templates/js/translated/order.js:1673
msgid "Order Code"
msgstr ""
-#: templates/js/translated/order.js:1640
+#: templates/js/translated/order.js:1674
msgid "Ordered"
msgstr ""
-#: templates/js/translated/order.js:1642
+#: templates/js/translated/order.js:1676
msgid "Quantity to Receive"
msgstr ""
-#: templates/js/translated/order.js:1661
+#: templates/js/translated/order.js:1695
msgid "Confirm receipt of items"
msgstr ""
-#: templates/js/translated/order.js:1662
+#: templates/js/translated/order.js:1696
msgid "Receive Purchase Order Items"
msgstr ""
-#: templates/js/translated/order.js:1940 templates/js/translated/part.js:941
+#: templates/js/translated/order.js:1974 templates/js/translated/part.js:968
msgid "No purchase orders found"
msgstr ""
-#: templates/js/translated/order.js:1967 templates/js/translated/order.js:2798
+#: templates/js/translated/order.js:2001 templates/js/translated/order.js:2809
msgid "Order is overdue"
msgstr ""
-#: templates/js/translated/order.js:2017 templates/js/translated/order.js:2863
-#: templates/js/translated/order.js:3004
+#: templates/js/translated/order.js:2051 templates/js/translated/order.js:2874
+#: templates/js/translated/order.js:3015
msgid "Items"
msgstr ""
-#: templates/js/translated/order.js:2115 templates/js/translated/order.js:4078
+#: templates/js/translated/order.js:2154 templates/js/translated/order.js:4075
msgid "Duplicate Line Item"
msgstr ""
-#: templates/js/translated/order.js:2132 templates/js/translated/order.js:4100
+#: templates/js/translated/order.js:2171 templates/js/translated/order.js:4097
msgid "Edit Line Item"
msgstr ""
-#: templates/js/translated/order.js:2145 templates/js/translated/order.js:4111
+#: templates/js/translated/order.js:2184 templates/js/translated/order.js:4108
msgid "Delete Line Item"
msgstr ""
-#: templates/js/translated/order.js:2188
+#: templates/js/translated/order.js:2227
msgid "No line items found"
msgstr ""
-#: templates/js/translated/order.js:2215 templates/js/translated/order.js:3812
+#: templates/js/translated/order.js:2254 templates/js/translated/order.js:3827
msgid "Total"
msgstr ""
-#: templates/js/translated/order.js:2270 templates/js/translated/part.js:1043
-#: templates/js/translated/part.js:1095
+#: templates/js/translated/order.js:2309 templates/js/translated/part.js:1070
+#: templates/js/translated/part.js:1122
msgid "Total Quantity"
msgstr ""
-#: templates/js/translated/order.js:2301 templates/js/translated/order.js:2500
-#: templates/js/translated/order.js:3837 templates/js/translated/order.js:4342
-#: templates/js/translated/part.js:2199 templates/js/translated/part.js:2797
+#: templates/js/translated/order.js:2340 templates/js/translated/order.js:2527
+#: templates/js/translated/order.js:3852 templates/js/translated/order.js:4343
+#: templates/js/translated/pricing.js:260
+#: templates/js/translated/pricing.js:329
+#: templates/js/translated/pricing.js:545
msgid "Unit Price"
msgstr ""
-#: templates/js/translated/order.js:2316 templates/js/translated/order.js:2516
-#: templates/js/translated/order.js:3853 templates/js/translated/order.js:4358
+#: templates/js/translated/order.js:2350 templates/js/translated/order.js:2537
+#: templates/js/translated/order.js:3862 templates/js/translated/order.js:4353
msgid "Total Price"
msgstr ""
-#: templates/js/translated/order.js:2357 templates/js/translated/order.js:3895
-#: templates/js/translated/part.js:1079
+#: templates/js/translated/order.js:2380 templates/js/translated/order.js:3892
+#: templates/js/translated/part.js:1106
msgid "This line item is overdue"
msgstr ""
-#: templates/js/translated/order.js:2416 templates/js/translated/part.js:1130
+#: templates/js/translated/order.js:2439 templates/js/translated/part.js:1151
msgid "Receive line item"
msgstr ""
-#: templates/js/translated/order.js:2420 templates/js/translated/order.js:4032
+#: templates/js/translated/order.js:2443 templates/js/translated/order.js:4029
msgid "Duplicate line item"
msgstr ""
-#: templates/js/translated/order.js:2421 templates/js/translated/order.js:4033
+#: templates/js/translated/order.js:2444 templates/js/translated/order.js:4030
msgid "Edit line item"
msgstr ""
-#: templates/js/translated/order.js:2422 templates/js/translated/order.js:4037
+#: templates/js/translated/order.js:2445 templates/js/translated/order.js:4034
msgid "Delete line item"
msgstr ""
-#: templates/js/translated/order.js:2564 templates/js/translated/order.js:4406
+#: templates/js/translated/order.js:2574 templates/js/translated/order.js:4389
msgid "Duplicate line"
msgstr ""
-#: templates/js/translated/order.js:2565 templates/js/translated/order.js:4407
+#: templates/js/translated/order.js:2575 templates/js/translated/order.js:4390
msgid "Edit line"
msgstr ""
-#: templates/js/translated/order.js:2566 templates/js/translated/order.js:4408
+#: templates/js/translated/order.js:2576 templates/js/translated/order.js:4391
msgid "Delete line"
msgstr ""
-#: templates/js/translated/order.js:2595 templates/js/translated/order.js:4437
+#: templates/js/translated/order.js:2606 templates/js/translated/order.js:4420
msgid "Duplicate Line"
msgstr ""
-#: templates/js/translated/order.js:2616 templates/js/translated/order.js:4458
+#: templates/js/translated/order.js:2627 templates/js/translated/order.js:4441
msgid "Edit Line"
msgstr ""
-#: templates/js/translated/order.js:2627 templates/js/translated/order.js:4469
+#: templates/js/translated/order.js:2638 templates/js/translated/order.js:4452
msgid "Delete Line"
msgstr ""
-#: templates/js/translated/order.js:2638
+#: templates/js/translated/order.js:2649
msgid "No matching line"
msgstr ""
-#: templates/js/translated/order.js:2749
+#: templates/js/translated/order.js:2760
msgid "No sales orders found"
msgstr ""
-#: templates/js/translated/order.js:2812
+#: templates/js/translated/order.js:2823
msgid "Invalid Customer"
msgstr ""
-#: templates/js/translated/order.js:2910
+#: templates/js/translated/order.js:2921
msgid "Edit shipment"
msgstr ""
-#: templates/js/translated/order.js:2913
+#: templates/js/translated/order.js:2924
msgid "Complete shipment"
msgstr ""
-#: templates/js/translated/order.js:2918
+#: templates/js/translated/order.js:2929
msgid "Delete shipment"
msgstr ""
-#: templates/js/translated/order.js:2938
+#: templates/js/translated/order.js:2949
msgid "Edit Shipment"
msgstr ""
-#: templates/js/translated/order.js:2955
+#: templates/js/translated/order.js:2966
msgid "Delete Shipment"
msgstr ""
-#: templates/js/translated/order.js:2989
+#: templates/js/translated/order.js:3000
msgid "No matching shipments found"
msgstr ""
-#: templates/js/translated/order.js:2999
+#: templates/js/translated/order.js:3010
msgid "Shipment Reference"
msgstr ""
-#: templates/js/translated/order.js:3023
+#: templates/js/translated/order.js:3034
msgid "Not shipped"
msgstr ""
-#: templates/js/translated/order.js:3029
+#: templates/js/translated/order.js:3040
msgid "Tracking"
msgstr ""
-#: templates/js/translated/order.js:3033
+#: templates/js/translated/order.js:3044
msgid "Invoice"
msgstr ""
-#: templates/js/translated/order.js:3202
+#: templates/js/translated/order.js:3213
msgid "Add Shipment"
msgstr ""
-#: templates/js/translated/order.js:3253
+#: templates/js/translated/order.js:3264
msgid "Confirm stock allocation"
msgstr ""
-#: templates/js/translated/order.js:3254
+#: templates/js/translated/order.js:3265
msgid "Allocate Stock Items to Sales Order"
msgstr ""
-#: templates/js/translated/order.js:3462
+#: templates/js/translated/order.js:3473
msgid "No sales order allocations found"
msgstr ""
-#: templates/js/translated/order.js:3541
+#: templates/js/translated/order.js:3552
msgid "Edit Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:3558
+#: templates/js/translated/order.js:3569
msgid "Confirm Delete Operation"
msgstr ""
-#: templates/js/translated/order.js:3559
+#: templates/js/translated/order.js:3570
msgid "Delete Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:3604 templates/js/translated/order.js:3693
-#: templates/js/translated/stock.js:1602
+#: templates/js/translated/order.js:3615 templates/js/translated/order.js:3704
+#: templates/js/translated/stock.js:1621
msgid "Shipped to customer"
msgstr ""
-#: templates/js/translated/order.js:3612 templates/js/translated/order.js:3702
+#: templates/js/translated/order.js:3623 templates/js/translated/order.js:3713
msgid "Stock location not specified"
msgstr ""
-#: templates/js/translated/order.js:4016
+#: templates/js/translated/order.js:4013
msgid "Allocate serial numbers"
msgstr ""
-#: templates/js/translated/order.js:4022
+#: templates/js/translated/order.js:4019
msgid "Purchase stock"
msgstr ""
-#: templates/js/translated/order.js:4029 templates/js/translated/order.js:4227
+#: templates/js/translated/order.js:4026 templates/js/translated/order.js:4224
msgid "Calculate price"
msgstr ""
-#: templates/js/translated/order.js:4041
+#: templates/js/translated/order.js:4038
msgid "Cannot be deleted as items have been shipped"
msgstr ""
-#: templates/js/translated/order.js:4044
+#: templates/js/translated/order.js:4041
msgid "Cannot be deleted as items have been allocated"
msgstr ""
-#: templates/js/translated/order.js:4126
+#: templates/js/translated/order.js:4123
msgid "Allocate Serial Numbers"
msgstr ""
-#: templates/js/translated/order.js:4235
+#: templates/js/translated/order.js:4232
msgid "Update Unit Price"
msgstr ""
-#: templates/js/translated/order.js:4249
+#: templates/js/translated/order.js:4246
msgid "No matching line items"
msgstr ""
-#: templates/js/translated/order.js:4480
+#: templates/js/translated/order.js:4463
msgid "No matching lines"
msgstr ""
-#: templates/js/translated/part.js:56
+#: templates/js/translated/part.js:52
msgid "Part Attributes"
msgstr ""
-#: templates/js/translated/part.js:60
+#: templates/js/translated/part.js:56
msgid "Part Creation Options"
msgstr ""
-#: templates/js/translated/part.js:64
+#: templates/js/translated/part.js:60
msgid "Part Duplication Options"
msgstr ""
-#: templates/js/translated/part.js:68
+#: templates/js/translated/part.js:64
msgid "Supplier Options"
msgstr ""
-#: templates/js/translated/part.js:82
+#: templates/js/translated/part.js:78
msgid "Add Part Category"
msgstr ""
-#: templates/js/translated/part.js:166
+#: templates/js/translated/part.js:162
msgid "Create Initial Stock"
msgstr ""
-#: templates/js/translated/part.js:167
+#: templates/js/translated/part.js:163
msgid "Create an initial stock item for this part"
msgstr ""
-#: templates/js/translated/part.js:174
+#: templates/js/translated/part.js:170
msgid "Initial Stock Quantity"
msgstr ""
-#: templates/js/translated/part.js:175
+#: templates/js/translated/part.js:171
msgid "Specify initial stock quantity for this part"
msgstr ""
-#: templates/js/translated/part.js:182
+#: templates/js/translated/part.js:178
msgid "Select destination stock location"
msgstr ""
-#: templates/js/translated/part.js:200
+#: templates/js/translated/part.js:196
msgid "Copy Category Parameters"
msgstr ""
-#: templates/js/translated/part.js:201
+#: templates/js/translated/part.js:197
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: templates/js/translated/part.js:209
+#: templates/js/translated/part.js:205
msgid "Add Supplier Data"
msgstr ""
-#: templates/js/translated/part.js:210
+#: templates/js/translated/part.js:206
msgid "Create initial supplier data for this part"
msgstr ""
-#: templates/js/translated/part.js:266
+#: templates/js/translated/part.js:262
msgid "Copy Image"
msgstr ""
-#: templates/js/translated/part.js:267
+#: templates/js/translated/part.js:263
msgid "Copy image from original part"
msgstr ""
-#: templates/js/translated/part.js:275
+#: templates/js/translated/part.js:271
msgid "Copy bill of materials from original part"
msgstr ""
-#: templates/js/translated/part.js:282
+#: templates/js/translated/part.js:278
msgid "Copy Parameters"
msgstr ""
-#: templates/js/translated/part.js:283
+#: templates/js/translated/part.js:279
msgid "Copy parameter data from original part"
msgstr ""
-#: templates/js/translated/part.js:296
+#: templates/js/translated/part.js:292
msgid "Parent part category"
msgstr ""
-#: templates/js/translated/part.js:306 templates/js/translated/stock.js:118
+#: templates/js/translated/part.js:302 templates/js/translated/stock.js:118
msgid "Icon (optional) - Explore all available icons on"
msgstr ""
-#: templates/js/translated/part.js:322
+#: templates/js/translated/part.js:318
msgid "Edit Part Category"
msgstr ""
-#: templates/js/translated/part.js:335
+#: templates/js/translated/part.js:331
msgid "Are you sure you want to delete this part category?"
msgstr ""
-#: templates/js/translated/part.js:337
-msgid "Any child categories will be moved to the parent of this category"
+#: templates/js/translated/part.js:336
+msgid "Move to parent category"
msgstr ""
-#: templates/js/translated/part.js:338
-msgid "Any parts in this category will be moved to the parent of this category"
-msgstr ""
-
-#: templates/js/translated/part.js:343
+#: templates/js/translated/part.js:345
msgid "Delete Part Category"
msgstr ""
-#: templates/js/translated/part.js:369
+#: templates/js/translated/part.js:349
+msgid "Action for parts in this category"
+msgstr ""
+
+#: templates/js/translated/part.js:354
+msgid "Action for child categories"
+msgstr ""
+
+#: templates/js/translated/part.js:383
msgid "Edit Part"
msgstr ""
-#: templates/js/translated/part.js:371
+#: templates/js/translated/part.js:385
msgid "Part edited"
msgstr ""
-#: templates/js/translated/part.js:382
+#: templates/js/translated/part.js:396
msgid "Create Part Variant"
msgstr ""
-#: templates/js/translated/part.js:434
+#: templates/js/translated/part.js:448
msgid "Active Part"
msgstr ""
-#: templates/js/translated/part.js:435
+#: templates/js/translated/part.js:449
msgid "Part cannot be deleted as it is currently active"
msgstr ""
-#: templates/js/translated/part.js:449
+#: templates/js/translated/part.js:463
msgid "Deleting this part cannot be reversed"
msgstr ""
-#: templates/js/translated/part.js:451
+#: templates/js/translated/part.js:465
msgid "Any stock items for this part will be deleted"
msgstr ""
-#: templates/js/translated/part.js:452
+#: templates/js/translated/part.js:466
msgid "This part will be removed from any Bills of Material"
msgstr ""
-#: templates/js/translated/part.js:453
+#: templates/js/translated/part.js:467
msgid "All manufacturer and supplier information for this part will be deleted"
msgstr ""
-#: templates/js/translated/part.js:460
+#: templates/js/translated/part.js:474
msgid "Delete Part"
msgstr ""
-#: templates/js/translated/part.js:496
+#: templates/js/translated/part.js:510
msgid "You are subscribed to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:498
+#: templates/js/translated/part.js:512
msgid "You have subscribed to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:503
+#: templates/js/translated/part.js:517
msgid "Subscribe to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:505
+#: templates/js/translated/part.js:519
msgid "You have unsubscribed to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:522
+#: templates/js/translated/part.js:536
msgid "Validating the BOM will mark each line item as valid"
msgstr ""
-#: templates/js/translated/part.js:532
+#: templates/js/translated/part.js:546
msgid "Validate Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:535
+#: templates/js/translated/part.js:549
msgid "Validated Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:560
+#: templates/js/translated/part.js:574
msgid "Copy Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:584 templates/js/translated/part.js:1521
-#: templates/js/translated/table_filters.js:476
+#: templates/js/translated/part.js:598 templates/js/translated/part.js:1532
+#: templates/js/translated/table_filters.js:480
msgid "Low stock"
msgstr ""
-#: templates/js/translated/part.js:594
+#: templates/js/translated/part.js:608
msgid "No stock available"
msgstr ""
-#: templates/js/translated/part.js:628 templates/js/translated/part.js:713
+#: templates/js/translated/part.js:642 templates/js/translated/part.js:727
msgid "Trackable part"
msgstr ""
-#: templates/js/translated/part.js:632 templates/js/translated/part.js:717
+#: templates/js/translated/part.js:646 templates/js/translated/part.js:731
msgid "Virtual part"
msgstr ""
-#: templates/js/translated/part.js:644
+#: templates/js/translated/part.js:658
msgid "Subscribed part"
msgstr ""
-#: templates/js/translated/part.js:648
+#: templates/js/translated/part.js:662
msgid "Salable part"
msgstr ""
-#: templates/js/translated/part.js:776
+#: templates/js/translated/part.js:800
msgid "No variants found"
msgstr ""
-#: templates/js/translated/part.js:1200
+#: templates/js/translated/part.js:1221
msgid "Delete part relationship"
msgstr ""
-#: templates/js/translated/part.js:1224
+#: templates/js/translated/part.js:1245
msgid "Delete Part Relationship"
msgstr ""
-#: templates/js/translated/part.js:1291 templates/js/translated/part.js:1609
+#: templates/js/translated/part.js:1312 templates/js/translated/part.js:1633
msgid "No parts found"
msgstr ""
-#: templates/js/translated/part.js:1488
+#: templates/js/translated/part.js:1499
msgid "No category"
msgstr ""
-#: templates/js/translated/part.js:1519
+#: templates/js/translated/part.js:1530
msgid "No stock"
msgstr ""
-#: templates/js/translated/part.js:1543
+#: templates/js/translated/part.js:1554
msgid "Allocated to build orders"
msgstr ""
-#: templates/js/translated/part.js:1547
+#: templates/js/translated/part.js:1558
msgid "Allocated to sales orders"
msgstr ""
-#: templates/js/translated/part.js:1633 templates/js/translated/part.js:1876
-#: templates/js/translated/stock.js:2349
+#: templates/js/translated/part.js:1657 templates/js/translated/part.js:1900
+#: templates/js/translated/stock.js:2367
msgid "Display as list"
msgstr ""
-#: templates/js/translated/part.js:1649
+#: templates/js/translated/part.js:1673
msgid "Display as grid"
msgstr ""
-#: templates/js/translated/part.js:1715
+#: templates/js/translated/part.js:1739
msgid "Set the part category for the selected parts"
msgstr ""
-#: templates/js/translated/part.js:1720
+#: templates/js/translated/part.js:1744
msgid "Set Part Category"
msgstr ""
-#: templates/js/translated/part.js:1725
+#: templates/js/translated/part.js:1749
msgid "Select Part Category"
msgstr ""
-#: templates/js/translated/part.js:1738
+#: templates/js/translated/part.js:1762
msgid "Category is required"
msgstr ""
-#: templates/js/translated/part.js:1896 templates/js/translated/stock.js:2369
+#: templates/js/translated/part.js:1920 templates/js/translated/stock.js:2387
msgid "Display as tree"
msgstr ""
-#: templates/js/translated/part.js:1976
+#: templates/js/translated/part.js:2000
msgid "Load Subcategories"
msgstr ""
-#: templates/js/translated/part.js:1992
+#: templates/js/translated/part.js:2016
msgid "Subscribed category"
msgstr ""
-#: templates/js/translated/part.js:2056
+#: templates/js/translated/part.js:2080
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:2107 templates/js/translated/stock.js:1299
+#: templates/js/translated/part.js:2131 templates/js/translated/stock.js:1318
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:2108 templates/js/translated/stock.js:1300
-#: templates/js/translated/stock.js:1560
+#: templates/js/translated/part.js:2132 templates/js/translated/stock.js:1319
+#: templates/js/translated/stock.js:1579
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:2114
+#: templates/js/translated/part.js:2138
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:2136
+#: templates/js/translated/part.js:2160
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2150
+#: templates/js/translated/part.js:2174
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2175
-#, python-brace-format
-msgid "No ${human_name} information found"
-msgstr ""
-
-#: templates/js/translated/part.js:2232
-#, python-brace-format
-msgid "Edit ${human_name}"
-msgstr ""
-
-#: templates/js/translated/part.js:2233
-#, python-brace-format
-msgid "Delete ${human_name}"
-msgstr ""
-
-#: templates/js/translated/part.js:2398 templates/js/translated/part.js:2399
+#: templates/js/translated/part.js:2255 templates/js/translated/part.js:2256
msgid "No date specified"
msgstr ""
-#: templates/js/translated/part.js:2401
+#: templates/js/translated/part.js:2258
msgid "Specified date is in the past"
msgstr ""
-#: templates/js/translated/part.js:2407
+#: templates/js/translated/part.js:2264
msgid "Speculative"
msgstr ""
-#: templates/js/translated/part.js:2457
+#: templates/js/translated/part.js:2314
msgid "No scheduling information available for this part"
msgstr ""
-#: templates/js/translated/part.js:2463
+#: templates/js/translated/part.js:2320
msgid "Error fetching scheduling information for this part"
msgstr ""
-#: templates/js/translated/part.js:2559
+#: templates/js/translated/part.js:2416
msgid "Scheduled Stock Quantities"
msgstr ""
-#: templates/js/translated/part.js:2575
+#: templates/js/translated/part.js:2432
msgid "Maximum Quantity"
msgstr ""
-#: templates/js/translated/part.js:2620
+#: templates/js/translated/part.js:2477
msgid "Minimum Stock Level"
msgstr ""
-#: templates/js/translated/part.js:2721
-msgid "Single Price"
-msgstr ""
-
-#: templates/js/translated/part.js:2740
-msgid "Single Price Difference"
-msgstr ""
-
#: templates/js/translated/plugin.js:23
msgid "The Plugin was installed"
msgstr ""
+#: templates/js/translated/pricing.js:54
+msgid "No BOM data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:196
+msgid "No supplier pricing data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:305
+msgid "No price break data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:361
+#, python-brace-format
+msgid "Edit ${human_name}"
+msgstr ""
+
+#: templates/js/translated/pricing.js:362
+#, python-brace-format
+msgid "Delete ${human_name}"
+msgstr ""
+
+#: templates/js/translated/pricing.js:480
+msgid "No purchase history data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:502
+msgid "Purchase Price History"
+msgstr ""
+
+#: templates/js/translated/pricing.js:602
+msgid "No sales history data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:624
+msgid "Sale Price History"
+msgstr ""
+
+#: templates/js/translated/pricing.js:708
+msgid "No variant data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:748
+msgid "Variant Part"
+msgstr ""
+
#: templates/js/translated/report.js:67
msgid "items selected"
msgstr ""
@@ -9855,364 +10177,364 @@ msgstr ""
msgid "Are you sure you want to delete this stock location?"
msgstr ""
-#: templates/js/translated/stock.js:175
-msgid "Any child locations will be moved to the parent of this location"
+#: templates/js/translated/stock.js:180
+msgid "Move to parent stock location"
msgstr ""
-#: templates/js/translated/stock.js:176
-msgid "Any stock items in this location will be moved to the parent of this location"
-msgstr ""
-
-#: templates/js/translated/stock.js:182
+#: templates/js/translated/stock.js:189
msgid "Delete Stock Location"
msgstr ""
-#: templates/js/translated/stock.js:227
+#: templates/js/translated/stock.js:193
+msgid "Action for stock items in this stock location"
+msgstr ""
+
+#: templates/js/translated/stock.js:198
+msgid "Action for sub-locations"
+msgstr ""
+
+#: templates/js/translated/stock.js:246
msgid "This part cannot be serialized"
msgstr ""
-#: templates/js/translated/stock.js:266
+#: templates/js/translated/stock.js:285
msgid "Enter initial quantity for this stock item"
msgstr ""
-#: templates/js/translated/stock.js:272
+#: templates/js/translated/stock.js:291
msgid "Enter serial numbers for new stock (or leave blank)"
msgstr ""
-#: templates/js/translated/stock.js:337
+#: templates/js/translated/stock.js:356
msgid "Stock item duplicated"
msgstr ""
-#: templates/js/translated/stock.js:357
+#: templates/js/translated/stock.js:376
msgid "Duplicate Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:373
+#: templates/js/translated/stock.js:392
msgid "Are you sure you want to delete this stock item?"
msgstr ""
-#: templates/js/translated/stock.js:378
+#: templates/js/translated/stock.js:397
msgid "Delete Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:399
+#: templates/js/translated/stock.js:418
msgid "Edit Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:449
+#: templates/js/translated/stock.js:468
msgid "Created new stock item"
msgstr ""
-#: templates/js/translated/stock.js:462
+#: templates/js/translated/stock.js:481
msgid "Created multiple stock items"
msgstr ""
-#: templates/js/translated/stock.js:487
+#: templates/js/translated/stock.js:506
msgid "Find Serial Number"
msgstr ""
-#: templates/js/translated/stock.js:491 templates/js/translated/stock.js:492
+#: templates/js/translated/stock.js:510 templates/js/translated/stock.js:511
msgid "Enter serial number"
msgstr ""
-#: templates/js/translated/stock.js:508
+#: templates/js/translated/stock.js:527
msgid "Enter a serial number"
msgstr ""
-#: templates/js/translated/stock.js:528
+#: templates/js/translated/stock.js:547
msgid "No matching serial number"
msgstr ""
-#: templates/js/translated/stock.js:537
+#: templates/js/translated/stock.js:556
msgid "More than one matching result found"
msgstr ""
-#: templates/js/translated/stock.js:660
+#: templates/js/translated/stock.js:679
msgid "Confirm stock assignment"
msgstr ""
-#: templates/js/translated/stock.js:661
+#: templates/js/translated/stock.js:680
msgid "Assign Stock to Customer"
msgstr ""
-#: templates/js/translated/stock.js:738
+#: templates/js/translated/stock.js:757
msgid "Warning: Merge operation cannot be reversed"
msgstr ""
-#: templates/js/translated/stock.js:739
+#: templates/js/translated/stock.js:758
msgid "Some information will be lost when merging stock items"
msgstr ""
-#: templates/js/translated/stock.js:741
+#: templates/js/translated/stock.js:760
msgid "Stock transaction history will be deleted for merged items"
msgstr ""
-#: templates/js/translated/stock.js:742
+#: templates/js/translated/stock.js:761
msgid "Supplier part information will be deleted for merged items"
msgstr ""
-#: templates/js/translated/stock.js:828
+#: templates/js/translated/stock.js:847
msgid "Confirm stock item merge"
msgstr ""
-#: templates/js/translated/stock.js:829
+#: templates/js/translated/stock.js:848
msgid "Merge Stock Items"
msgstr ""
-#: templates/js/translated/stock.js:924
+#: templates/js/translated/stock.js:943
msgid "Transfer Stock"
msgstr ""
-#: templates/js/translated/stock.js:925
+#: templates/js/translated/stock.js:944
msgid "Move"
msgstr ""
-#: templates/js/translated/stock.js:931
+#: templates/js/translated/stock.js:950
msgid "Count Stock"
msgstr ""
-#: templates/js/translated/stock.js:932
+#: templates/js/translated/stock.js:951
msgid "Count"
msgstr ""
-#: templates/js/translated/stock.js:936
+#: templates/js/translated/stock.js:955
msgid "Remove Stock"
msgstr ""
-#: templates/js/translated/stock.js:937
+#: templates/js/translated/stock.js:956
msgid "Take"
msgstr ""
-#: templates/js/translated/stock.js:941
+#: templates/js/translated/stock.js:960
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:942 users/models.py:218
+#: templates/js/translated/stock.js:961 users/models.py:220
msgid "Add"
msgstr ""
-#: templates/js/translated/stock.js:946
+#: templates/js/translated/stock.js:965
msgid "Delete Stock"
msgstr ""
-#: templates/js/translated/stock.js:1039
+#: templates/js/translated/stock.js:1058
msgid "Quantity cannot be adjusted for serialized stock"
msgstr ""
-#: templates/js/translated/stock.js:1039
+#: templates/js/translated/stock.js:1058
msgid "Specify stock quantity"
msgstr ""
-#: templates/js/translated/stock.js:1079
+#: templates/js/translated/stock.js:1098
msgid "You must select at least one available stock item"
msgstr ""
-#: templates/js/translated/stock.js:1102
+#: templates/js/translated/stock.js:1121
msgid "Confirm stock adjustment"
msgstr ""
-#: templates/js/translated/stock.js:1238
+#: templates/js/translated/stock.js:1257
msgid "PASS"
msgstr ""
-#: templates/js/translated/stock.js:1240
+#: templates/js/translated/stock.js:1259
msgid "FAIL"
msgstr ""
-#: templates/js/translated/stock.js:1245
+#: templates/js/translated/stock.js:1264
msgid "NO RESULT"
msgstr ""
-#: templates/js/translated/stock.js:1292
+#: templates/js/translated/stock.js:1311
msgid "Pass test"
msgstr ""
-#: templates/js/translated/stock.js:1295
+#: templates/js/translated/stock.js:1314
msgid "Add test result"
msgstr ""
-#: templates/js/translated/stock.js:1321
+#: templates/js/translated/stock.js:1340
msgid "No test results found"
msgstr ""
-#: templates/js/translated/stock.js:1378
+#: templates/js/translated/stock.js:1397
msgid "Test Date"
msgstr ""
-#: templates/js/translated/stock.js:1543
+#: templates/js/translated/stock.js:1562
msgid "Edit Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1565
+#: templates/js/translated/stock.js:1584
msgid "Delete Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1594
+#: templates/js/translated/stock.js:1613
msgid "In production"
msgstr ""
-#: templates/js/translated/stock.js:1598
+#: templates/js/translated/stock.js:1617
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:1606
+#: templates/js/translated/stock.js:1625
msgid "Assigned to Sales Order"
msgstr ""
-#: templates/js/translated/stock.js:1612
+#: templates/js/translated/stock.js:1631
msgid "No stock location set"
msgstr ""
-#: templates/js/translated/stock.js:1781
+#: templates/js/translated/stock.js:1800
msgid "Stock item is in production"
msgstr ""
-#: templates/js/translated/stock.js:1786
+#: templates/js/translated/stock.js:1805
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/translated/stock.js:1789
+#: templates/js/translated/stock.js:1808
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/translated/stock.js:1792
+#: templates/js/translated/stock.js:1811
msgid "Serialized stock item has been allocated"
msgstr ""
-#: templates/js/translated/stock.js:1794
+#: templates/js/translated/stock.js:1813
msgid "Stock item has been fully allocated"
msgstr ""
-#: templates/js/translated/stock.js:1796
+#: templates/js/translated/stock.js:1815
msgid "Stock item has been partially allocated"
msgstr ""
-#: templates/js/translated/stock.js:1799
+#: templates/js/translated/stock.js:1818
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:1803
+#: templates/js/translated/stock.js:1822
msgid "Stock item has expired"
msgstr ""
-#: templates/js/translated/stock.js:1805
+#: templates/js/translated/stock.js:1824
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/translated/stock.js:1812
+#: templates/js/translated/stock.js:1831
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/translated/stock.js:1814
+#: templates/js/translated/stock.js:1833
msgid "Stock item is lost"
msgstr ""
-#: templates/js/translated/stock.js:1816
+#: templates/js/translated/stock.js:1835
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/translated/stock.js:1820
-#: templates/js/translated/table_filters.js:204
+#: templates/js/translated/stock.js:1839
+#: templates/js/translated/table_filters.js:208
msgid "Depleted"
msgstr ""
-#: templates/js/translated/stock.js:1871
-msgid "Stocktake"
-msgstr ""
-
-#: templates/js/translated/stock.js:1950
+#: templates/js/translated/stock.js:1969
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/translated/stock.js:1988
+#: templates/js/translated/stock.js:2006
msgid "No stock items matching query"
msgstr ""
-#: templates/js/translated/stock.js:2161
+#: templates/js/translated/stock.js:2179
msgid "Set Stock Status"
msgstr ""
-#: templates/js/translated/stock.js:2175
+#: templates/js/translated/stock.js:2193
msgid "Select Status Code"
msgstr ""
-#: templates/js/translated/stock.js:2176
+#: templates/js/translated/stock.js:2194
msgid "Status code must be selected"
msgstr ""
-#: templates/js/translated/stock.js:2408
+#: templates/js/translated/stock.js:2426
msgid "Load Subloactions"
msgstr ""
-#: templates/js/translated/stock.js:2503
+#: templates/js/translated/stock.js:2521
msgid "Details"
msgstr ""
-#: templates/js/translated/stock.js:2519
+#: templates/js/translated/stock.js:2537
msgid "Part information unavailable"
msgstr ""
-#: templates/js/translated/stock.js:2541
+#: templates/js/translated/stock.js:2559
msgid "Location no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2560
+#: templates/js/translated/stock.js:2578
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2579
+#: templates/js/translated/stock.js:2597
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2597
+#: templates/js/translated/stock.js:2615
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2620
+#: templates/js/translated/stock.js:2638
msgid "Added"
msgstr ""
-#: templates/js/translated/stock.js:2628
+#: templates/js/translated/stock.js:2646
msgid "Removed"
msgstr ""
-#: templates/js/translated/stock.js:2704
+#: templates/js/translated/stock.js:2722
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:2755 templates/js/translated/stock.js:2791
+#: templates/js/translated/stock.js:2773 templates/js/translated/stock.js:2809
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2804
+#: templates/js/translated/stock.js:2822
msgid "Select stock item to uninstall"
msgstr ""
-#: templates/js/translated/stock.js:2825
+#: templates/js/translated/stock.js:2843
msgid "Install another stock item into this item"
msgstr ""
-#: templates/js/translated/stock.js:2826
+#: templates/js/translated/stock.js:2844
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: templates/js/translated/stock.js:2828
+#: templates/js/translated/stock.js:2846
msgid "The Stock Item links to a Part which is the BOM for this Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2829
+#: templates/js/translated/stock.js:2847
msgid "The Stock Item is currently available in stock"
msgstr ""
-#: templates/js/translated/stock.js:2830
+#: templates/js/translated/stock.js:2848
msgid "The Stock Item is not already installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:2831
+#: templates/js/translated/stock.js:2849
msgid "The Stock Item is tracked by either a batch code or serial number"
msgstr ""
-#: templates/js/translated/stock.js:2844
+#: templates/js/translated/stock.js:2862
msgid "Select part to install"
msgstr ""
@@ -10236,215 +10558,220 @@ msgstr ""
msgid "Allow Variant Stock"
msgstr ""
-#: templates/js/translated/table_filters.js:126
-#: templates/js/translated/table_filters.js:199
+#: templates/js/translated/table_filters.js:92
+#: templates/js/translated/table_filters.js:508
+msgid "Has Pricing"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:130
+#: templates/js/translated/table_filters.js:203
msgid "Include sublocations"
msgstr ""
-#: templates/js/translated/table_filters.js:127
+#: templates/js/translated/table_filters.js:131
msgid "Include locations"
msgstr ""
-#: templates/js/translated/table_filters.js:137
-#: templates/js/translated/table_filters.js:138
-#: templates/js/translated/table_filters.js:445
+#: templates/js/translated/table_filters.js:141
+#: templates/js/translated/table_filters.js:142
+#: templates/js/translated/table_filters.js:449
msgid "Include subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:142
-#: templates/js/translated/table_filters.js:488
+#: templates/js/translated/table_filters.js:146
+#: templates/js/translated/table_filters.js:492
msgid "Subscribed"
msgstr ""
-#: templates/js/translated/table_filters.js:152
-#: templates/js/translated/table_filters.js:234
-msgid "Is Serialized"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:155
-#: templates/js/translated/table_filters.js:241
-msgid "Serial number GTE"
-msgstr ""
-
#: templates/js/translated/table_filters.js:156
-#: templates/js/translated/table_filters.js:242
-msgid "Serial number greater than or equal to"
+#: templates/js/translated/table_filters.js:238
+msgid "Is Serialized"
msgstr ""
#: templates/js/translated/table_filters.js:159
#: templates/js/translated/table_filters.js:245
-msgid "Serial number LTE"
+msgid "Serial number GTE"
msgstr ""
#: templates/js/translated/table_filters.js:160
#: templates/js/translated/table_filters.js:246
-msgid "Serial number less than or equal to"
+msgid "Serial number greater than or equal to"
msgstr ""
#: templates/js/translated/table_filters.js:163
+#: templates/js/translated/table_filters.js:249
+msgid "Serial number LTE"
+msgstr ""
+
#: templates/js/translated/table_filters.js:164
-#: templates/js/translated/table_filters.js:237
-#: templates/js/translated/table_filters.js:238
+#: templates/js/translated/table_filters.js:250
+msgid "Serial number less than or equal to"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:167
+#: templates/js/translated/table_filters.js:168
+#: templates/js/translated/table_filters.js:241
+#: templates/js/translated/table_filters.js:242
msgid "Serial number"
msgstr ""
-#: templates/js/translated/table_filters.js:168
-#: templates/js/translated/table_filters.js:259
+#: templates/js/translated/table_filters.js:172
+#: templates/js/translated/table_filters.js:263
msgid "Batch code"
msgstr ""
-#: templates/js/translated/table_filters.js:179
-#: templates/js/translated/table_filters.js:417
+#: templates/js/translated/table_filters.js:183
+#: templates/js/translated/table_filters.js:421
msgid "Active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:180
+#: templates/js/translated/table_filters.js:184
msgid "Show stock for active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:185
+#: templates/js/translated/table_filters.js:189
msgid "Part is an assembly"
msgstr ""
-#: templates/js/translated/table_filters.js:189
+#: templates/js/translated/table_filters.js:193
msgid "Is allocated"
msgstr ""
-#: templates/js/translated/table_filters.js:190
+#: templates/js/translated/table_filters.js:194
msgid "Item has been allocated"
msgstr ""
-#: templates/js/translated/table_filters.js:195
+#: templates/js/translated/table_filters.js:199
msgid "Stock is available for use"
msgstr ""
-#: templates/js/translated/table_filters.js:200
+#: templates/js/translated/table_filters.js:204
msgid "Include stock in sublocations"
msgstr ""
-#: templates/js/translated/table_filters.js:205
+#: templates/js/translated/table_filters.js:209
msgid "Show stock items which are depleted"
msgstr ""
-#: templates/js/translated/table_filters.js:210
+#: templates/js/translated/table_filters.js:214
msgid "Show items which are in stock"
msgstr ""
-#: templates/js/translated/table_filters.js:214
+#: templates/js/translated/table_filters.js:218
msgid "In Production"
msgstr ""
-#: templates/js/translated/table_filters.js:215
+#: templates/js/translated/table_filters.js:219
msgid "Show items which are in production"
msgstr ""
-#: templates/js/translated/table_filters.js:219
+#: templates/js/translated/table_filters.js:223
msgid "Include Variants"
msgstr ""
-#: templates/js/translated/table_filters.js:220
+#: templates/js/translated/table_filters.js:224
msgid "Include stock items for variant parts"
msgstr ""
-#: templates/js/translated/table_filters.js:224
+#: templates/js/translated/table_filters.js:228
msgid "Installed"
msgstr ""
-#: templates/js/translated/table_filters.js:225
+#: templates/js/translated/table_filters.js:229
msgid "Show stock items which are installed in another item"
msgstr ""
-#: templates/js/translated/table_filters.js:230
+#: templates/js/translated/table_filters.js:234
msgid "Show items which have been assigned to a customer"
msgstr ""
-#: templates/js/translated/table_filters.js:250
-#: templates/js/translated/table_filters.js:251
+#: templates/js/translated/table_filters.js:254
+#: templates/js/translated/table_filters.js:255
msgid "Stock status"
msgstr ""
-#: templates/js/translated/table_filters.js:254
+#: templates/js/translated/table_filters.js:258
msgid "Has batch code"
msgstr ""
-#: templates/js/translated/table_filters.js:262
+#: templates/js/translated/table_filters.js:266
msgid "Tracked"
msgstr ""
-#: templates/js/translated/table_filters.js:263
+#: templates/js/translated/table_filters.js:267
msgid "Stock item is tracked by either batch code or serial number"
msgstr ""
-#: templates/js/translated/table_filters.js:268
+#: templates/js/translated/table_filters.js:272
msgid "Has purchase price"
msgstr ""
-#: templates/js/translated/table_filters.js:269
+#: templates/js/translated/table_filters.js:273
msgid "Show stock items which have a purchase price set"
msgstr ""
-#: templates/js/translated/table_filters.js:278
+#: templates/js/translated/table_filters.js:282
msgid "Show stock items which have expired"
msgstr ""
-#: templates/js/translated/table_filters.js:284
+#: templates/js/translated/table_filters.js:288
msgid "Show stock which is close to expiring"
msgstr ""
-#: templates/js/translated/table_filters.js:296
+#: templates/js/translated/table_filters.js:300
msgid "Test Passed"
msgstr ""
-#: templates/js/translated/table_filters.js:300
+#: templates/js/translated/table_filters.js:304
msgid "Include Installed Items"
msgstr ""
-#: templates/js/translated/table_filters.js:319
+#: templates/js/translated/table_filters.js:323
msgid "Build status"
msgstr ""
-#: templates/js/translated/table_filters.js:332
-#: templates/js/translated/table_filters.js:373
+#: templates/js/translated/table_filters.js:336
+#: templates/js/translated/table_filters.js:377
msgid "Assigned to me"
msgstr ""
-#: templates/js/translated/table_filters.js:349
-#: templates/js/translated/table_filters.js:360
-#: templates/js/translated/table_filters.js:390
+#: templates/js/translated/table_filters.js:353
+#: templates/js/translated/table_filters.js:364
+#: templates/js/translated/table_filters.js:394
msgid "Order status"
msgstr ""
-#: templates/js/translated/table_filters.js:365
-#: templates/js/translated/table_filters.js:382
-#: templates/js/translated/table_filters.js:395
+#: templates/js/translated/table_filters.js:369
+#: templates/js/translated/table_filters.js:386
+#: templates/js/translated/table_filters.js:399
msgid "Outstanding"
msgstr ""
-#: templates/js/translated/table_filters.js:446
+#: templates/js/translated/table_filters.js:450
msgid "Include parts in subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:451
+#: templates/js/translated/table_filters.js:455
msgid "Show active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:459
+#: templates/js/translated/table_filters.js:463
msgid "Available stock"
msgstr ""
-#: templates/js/translated/table_filters.js:467
+#: templates/js/translated/table_filters.js:471
msgid "Has IPN"
msgstr ""
-#: templates/js/translated/table_filters.js:468
+#: templates/js/translated/table_filters.js:472
msgid "Part has internal part number"
msgstr ""
-#: templates/js/translated/table_filters.js:472
+#: templates/js/translated/table_filters.js:476
msgid "In stock"
msgstr ""
-#: templates/js/translated/table_filters.js:480
+#: templates/js/translated/table_filters.js:484
msgid "Purchasable"
msgstr ""
@@ -10554,6 +10881,10 @@ msgstr ""
msgid "Show all notifications and history"
msgstr ""
+#: templates/price_data.html:7
+msgid "No data"
+msgstr ""
+
#: templates/qr_code.html:11
msgid "QR data not provided"
msgstr ""
@@ -10738,35 +11069,35 @@ msgstr ""
msgid "Important dates"
msgstr ""
-#: users/models.py:205
+#: users/models.py:207
msgid "Permission set"
msgstr ""
-#: users/models.py:213
+#: users/models.py:215
msgid "Group"
msgstr ""
-#: users/models.py:216
+#: users/models.py:218
msgid "View"
msgstr ""
-#: users/models.py:216
+#: users/models.py:218
msgid "Permission to view items"
msgstr ""
-#: users/models.py:218
+#: users/models.py:220
msgid "Permission to add items"
msgstr ""
-#: users/models.py:220
+#: users/models.py:222
msgid "Change"
msgstr ""
-#: users/models.py:220
+#: users/models.py:222
msgid "Permissions to edit items"
msgstr ""
-#: users/models.py:222
+#: users/models.py:224
msgid "Permission to delete items"
msgstr ""
diff --git a/InvenTree/locale/fr/LC_MESSAGES/django.po b/InvenTree/locale/fr/LC_MESSAGES/django.po
index dce54c7da2..8d81bd7201 100644
--- a/InvenTree/locale/fr/LC_MESSAGES/django.po
+++ b/InvenTree/locale/fr/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-11-04 14:07+0000\n"
-"PO-Revision-Date: 2022-11-04 19:02\n"
+"POT-Creation-Date: 2022-11-14 04:59+0000\n"
+"PO-Revision-Date: 2022-11-14 14:50\n"
"Last-Translator: \n"
"Language-Team: French\n"
"Language: fr_FR\n"
@@ -17,7 +17,7 @@ msgstr ""
"X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n"
"X-Crowdin-File-ID: 154\n"
-#: InvenTree/api.py:54
+#: InvenTree/api.py:61
msgid "API endpoint not found"
msgstr "Point de terminaison de l'API introuvable"
@@ -25,27 +25,27 @@ msgstr "Point de terminaison de l'API introuvable"
msgid "Error details can be found in the admin panel"
msgstr "Les détails de l'erreur peuvent être trouvées dans le panneau d'administration"
-#: InvenTree/fields.py:120
+#: InvenTree/fields.py:129
msgid "Enter date"
msgstr "Entrer la date"
-#: InvenTree/fields.py:195 build/serializers.py:387
-#: build/templates/build/sidebar.html:21 company/models.py:525
-#: company/templates/company/sidebar.html:25 order/models.py:920
+#: InvenTree/fields.py:204 build/serializers.py:387
+#: build/templates/build/sidebar.html:21 company/models.py:529
+#: company/templates/company/sidebar.html:25 order/models.py:943
#: order/templates/order/po_sidebar.html:11
-#: order/templates/order/so_sidebar.html:17
-#: part/templates/part/part_sidebar.html:59
+#: order/templates/order/so_sidebar.html:17 part/admin.py:27
+#: part/templates/part/part_sidebar.html:57
#: report/templates/report/inventree_build_order_base.html:172
-#: stock/models.py:2002 stock/models.py:2110 stock/serializers.py:327
-#: stock/serializers.py:460 stock/serializers.py:541 stock/serializers.py:827
-#: stock/serializers.py:926 stock/serializers.py:1058
+#: stock/admin.py:103 stock/models.py:2018 stock/models.py:2126
+#: stock/serializers.py:321 stock/serializers.py:454 stock/serializers.py:535
+#: stock/serializers.py:826 stock/serializers.py:925 stock/serializers.py:1057
#: stock/templates/stock/stock_sidebar.html:25
-#: templates/js/translated/barcode.js:108 templates/js/translated/bom.js:1146
-#: templates/js/translated/company.js:1022
-#: templates/js/translated/order.js:2404 templates/js/translated/order.js:2552
-#: templates/js/translated/order.js:3048 templates/js/translated/order.js:3999
-#: templates/js/translated/order.js:4394 templates/js/translated/stock.js:1374
-#: templates/js/translated/stock.js:1982
+#: templates/js/translated/barcode.js:108 templates/js/translated/bom.js:1211
+#: templates/js/translated/company.js:1023
+#: templates/js/translated/order.js:2427 templates/js/translated/order.js:2561
+#: templates/js/translated/order.js:3059 templates/js/translated/order.js:3996
+#: templates/js/translated/order.js:4377 templates/js/translated/stock.js:1393
+#: templates/js/translated/stock.js:2000
msgid "Notes"
msgstr "Notes"
@@ -122,43 +122,43 @@ msgstr "Le serveur distant a renvoyé une réponse vide"
msgid "Supplied URL is not a valid image file"
msgstr "L'URL fournie n'est pas un fichier image valide"
-#: InvenTree/helpers.py:602 order/models.py:325 order/models.py:477
+#: InvenTree/helpers.py:589 order/models.py:329 order/models.py:496
msgid "Invalid quantity provided"
msgstr "Quantité fournie invalide"
-#: InvenTree/helpers.py:610
+#: InvenTree/helpers.py:597
msgid "Empty serial number string"
msgstr "Chaîne de numéro de série vide"
-#: InvenTree/helpers.py:640
+#: InvenTree/helpers.py:627
msgid "Duplicate serial"
msgstr ""
-#: InvenTree/helpers.py:673 InvenTree/helpers.py:708
+#: InvenTree/helpers.py:660 InvenTree/helpers.py:695
#, python-brace-format
msgid "Invalid group range: {g}"
msgstr "Plage de groupe invalide : {g}"
-#: InvenTree/helpers.py:702
+#: InvenTree/helpers.py:689
#, python-brace-format
msgid "Group range {g} exceeds allowed quantity ({q})"
msgstr ""
-#: InvenTree/helpers.py:726 InvenTree/helpers.py:733 InvenTree/helpers.py:748
+#: InvenTree/helpers.py:713 InvenTree/helpers.py:720 InvenTree/helpers.py:735
#, python-brace-format
msgid "Invalid group sequence: {g}"
msgstr "Séquence de groupe invalide : {g}"
-#: InvenTree/helpers.py:758
+#: InvenTree/helpers.py:745
msgid "No serial numbers found"
msgstr "Aucun numéro de série trouvé"
-#: InvenTree/helpers.py:761
+#: InvenTree/helpers.py:748
#, python-brace-format
msgid "Number of unique serial numbers ({s}) must match quantity ({q})"
msgstr "Le nombre de numéros de série uniques ({s}) doit correspondre à la quantité ({q})"
-#: InvenTree/helpers.py:960
+#: InvenTree/helpers.py:947
msgid "Remove HTML tags from this value"
msgstr "Retirer les balises HTML de cette valeur"
@@ -194,7 +194,7 @@ msgstr "Fichier manquant"
msgid "Missing external link"
msgstr "Lien externe manquant"
-#: InvenTree/models.py:405 stock/models.py:2104
+#: InvenTree/models.py:405 stock/models.py:2120
#: templates/js/translated/attachment.js:103
#: templates/js/translated/attachment.js:241
msgid "Attachment"
@@ -204,18 +204,19 @@ msgstr "Pièce jointe"
msgid "Select file to attach"
msgstr "Sélectionnez un fichier à joindre"
-#: InvenTree/models.py:412 company/models.py:125 company/models.py:277
-#: company/models.py:512 order/models.py:84 order/models.py:1259
-#: part/models.py:816 part/templates/part/part_scheduling.html:11
+#: InvenTree/models.py:412 common/models.py:2313 company/models.py:129
+#: company/models.py:281 company/models.py:516 order/models.py:85
+#: order/models.py:1282 part/admin.py:25 part/models.py:835
+#: part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
-#: templates/js/translated/company.js:691
-#: templates/js/translated/company.js:1011
-#: templates/js/translated/order.js:3037 templates/js/translated/part.js:1569
+#: stock/admin.py:102 templates/js/translated/company.js:692
+#: templates/js/translated/company.js:1012
+#: templates/js/translated/order.js:3048 templates/js/translated/part.js:1593
msgid "Link"
msgstr "Lien"
-#: InvenTree/models.py:413 build/models.py:290 part/models.py:817
-#: stock/models.py:660
+#: InvenTree/models.py:413 build/models.py:290 part/models.py:836
+#: stock/models.py:676
msgid "Link to external URL"
msgstr "Lien vers une url externe"
@@ -228,12 +229,12 @@ msgstr "Commentaire"
msgid "File comment"
msgstr "Commentaire du fichier"
-#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1744
-#: common/models.py:1745 common/models.py:1968 common/models.py:1969
-#: common/models.py:2231 common/models.py:2232 part/models.py:2254
-#: part/models.py:2274 plugin/models.py:264 plugin/models.py:265
+#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1756
+#: common/models.py:1757 common/models.py:1980 common/models.py:1981
+#: common/models.py:2243 common/models.py:2244 part/models.py:2867
+#: part/models.py:2887 plugin/models.py:264 plugin/models.py:265
#: report/templates/report/inventree_test_report_base.html:96
-#: templates/js/translated/stock.js:2651
+#: templates/js/translated/stock.js:2669
msgid "User"
msgstr "Utilisateur"
@@ -270,44 +271,45 @@ msgstr "Erreur lors du renommage du fichier"
msgid "Invalid choice"
msgstr "Choix invalide"
-#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1954
-#: company/models.py:359 label/models.py:101 part/models.py:760
-#: part/models.py:2429 plugin/models.py:94 report/models.py:152
+#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1966
+#: company/models.py:363 label/models.py:101 part/models.py:779
+#: part/models.py:3042 plugin/models.py:94 report/models.py:152
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/plugin.html:60
#: templates/InvenTree/settings/plugin.html:104
#: templates/InvenTree/settings/plugin_settings.html:23
#: templates/InvenTree/settings/settings.html:344
-#: templates/js/translated/company.js:580
-#: templates/js/translated/company.js:793
+#: templates/js/translated/company.js:581
+#: templates/js/translated/company.js:794
#: templates/js/translated/notification.js:71
-#: templates/js/translated/part.js:686 templates/js/translated/part.js:838
-#: templates/js/translated/part.js:1964 templates/js/translated/stock.js:2396
+#: templates/js/translated/part.js:700 templates/js/translated/part.js:865
+#: templates/js/translated/part.js:1988 templates/js/translated/stock.js:2414
msgid "Name"
msgstr "Nom"
#: InvenTree/models.py:564 build/models.py:163
-#: build/templates/build/detail.html:24 company/models.py:283
-#: company/models.py:518 company/templates/company/company_base.html:71
+#: build/templates/build/detail.html:24 company/models.py:287
+#: company/models.py:522 company/templates/company/company_base.html:71
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:108 label/models.py:108
-#: order/models.py:82 part/models.py:783 part/models.py:2438
-#: part/templates/part/category.html:75 part/templates/part/part_base.html:172
+#: order/models.py:83 part/admin.py:141 part/admin.py:222 part/models.py:802
+#: part/models.py:3051 part/templates/part/category.html:75
+#: part/templates/part/part_base.html:172
#: part/templates/part/part_scheduling.html:12 report/models.py:165
#: report/models.py:507 report/models.py:551
#: report/templates/report/inventree_build_order_base.html:117
-#: stock/templates/stock/location.html:117
+#: stock/admin.py:25 stock/templates/stock/location.html:117
#: templates/InvenTree/settings/plugin_settings.html:28
#: templates/InvenTree/settings/settings.html:355
-#: templates/js/translated/bom.js:579 templates/js/translated/bom.js:887
-#: templates/js/translated/build.js:2580 templates/js/translated/company.js:444
-#: templates/js/translated/company.js:702
-#: templates/js/translated/company.js:986 templates/js/translated/order.js:1988
-#: templates/js/translated/order.js:2220 templates/js/translated/order.js:2826
-#: templates/js/translated/part.js:745 templates/js/translated/part.js:1187
-#: templates/js/translated/part.js:1464 templates/js/translated/part.js:2000
-#: templates/js/translated/part.js:2075 templates/js/translated/stock.js:1748
-#: templates/js/translated/stock.js:2428 templates/js/translated/stock.js:2488
+#: templates/js/translated/bom.js:592 templates/js/translated/bom.js:895
+#: templates/js/translated/build.js:2580 templates/js/translated/company.js:445
+#: templates/js/translated/company.js:703
+#: templates/js/translated/company.js:987 templates/js/translated/order.js:2022
+#: templates/js/translated/order.js:2259 templates/js/translated/order.js:2837
+#: templates/js/translated/part.js:759 templates/js/translated/part.js:1208
+#: templates/js/translated/part.js:1475 templates/js/translated/part.js:2024
+#: templates/js/translated/part.js:2099 templates/js/translated/stock.js:1767
+#: templates/js/translated/stock.js:2446 templates/js/translated/stock.js:2506
msgid "Description"
msgstr "Description"
@@ -320,7 +322,7 @@ msgid "parent"
msgstr "parent"
#: InvenTree/models.py:580 InvenTree/models.py:581
-#: templates/js/translated/part.js:2009 templates/js/translated/stock.js:2437
+#: templates/js/translated/part.js:2033 templates/js/translated/stock.js:2455
msgid "Path"
msgstr "Chemin d'accès"
@@ -332,7 +334,7 @@ msgstr "Données du code-barres"
msgid "Third party barcode data"
msgstr "Données de code-barres tierces"
-#: InvenTree/models.py:688 order/serializers.py:486
+#: InvenTree/models.py:688 order/serializers.py:477
msgid "Barcode Hash"
msgstr ""
@@ -352,187 +354,187 @@ msgstr "Erreur serveur"
msgid "An error has been logged by the server."
msgstr "Une erreur a été loguée par le serveur."
-#: InvenTree/serializers.py:58 part/models.py:2774
+#: InvenTree/serializers.py:58 part/models.py:3387
msgid "Must be a valid number"
msgstr "Doit être un nombre valide"
-#: InvenTree/serializers.py:265
+#: InvenTree/serializers.py:266
msgid "Filename"
msgstr "Nom du fichier"
-#: InvenTree/serializers.py:300
+#: InvenTree/serializers.py:301
msgid "Invalid value"
msgstr "Valeur non valide"
-#: InvenTree/serializers.py:322
+#: InvenTree/serializers.py:323
msgid "Data File"
msgstr "Fichier de données"
-#: InvenTree/serializers.py:323
+#: InvenTree/serializers.py:324
msgid "Select data file for upload"
msgstr "Sélectionnez le fichier de données à envoyer"
-#: InvenTree/serializers.py:344
+#: InvenTree/serializers.py:345
msgid "Unsupported file type"
msgstr "Format de fichier non supporté"
-#: InvenTree/serializers.py:350
+#: InvenTree/serializers.py:351
msgid "File is too large"
msgstr "Fichier trop volumineux"
-#: InvenTree/serializers.py:371
+#: InvenTree/serializers.py:372
msgid "No columns found in file"
msgstr "Pas de colonnes trouvées dans le fichier"
-#: InvenTree/serializers.py:374
+#: InvenTree/serializers.py:375
msgid "No data rows found in file"
msgstr "Par de lignes de données trouvées dans le fichier"
-#: InvenTree/serializers.py:497
+#: InvenTree/serializers.py:498
msgid "No data rows provided"
msgstr "Pas de lignes de données fournies"
-#: InvenTree/serializers.py:500
+#: InvenTree/serializers.py:501
msgid "No data columns supplied"
msgstr "Pas de colonne de données fournie"
-#: InvenTree/serializers.py:577
+#: InvenTree/serializers.py:578
#, python-brace-format
msgid "Missing required column: '{name}'"
msgstr "Colonne requise manquante : {name}"
-#: InvenTree/serializers.py:586
+#: InvenTree/serializers.py:587
#, python-brace-format
msgid "Duplicate column: '{col}'"
msgstr "Colonne duliquée : '{col}'"
-#: InvenTree/serializers.py:605
+#: InvenTree/serializers.py:606
#: templates/InvenTree/settings/mixins/urls.html:14
msgid "URL"
msgstr "URL"
-#: InvenTree/serializers.py:606
+#: InvenTree/serializers.py:607
msgid "URL of remote image file"
msgstr "URL du fichier image distant"
-#: InvenTree/serializers.py:620
+#: InvenTree/serializers.py:621
msgid "Downloading images from remote URL is not enabled"
msgstr "Le téléchargement des images depuis une URL distante n'est pas activé"
-#: InvenTree/settings.py:621
+#: InvenTree/settings.py:627
msgid "Czech"
msgstr "Tchèque"
-#: InvenTree/settings.py:622
+#: InvenTree/settings.py:628
msgid "Danish"
msgstr "Danois"
-#: InvenTree/settings.py:623
+#: InvenTree/settings.py:629
msgid "German"
msgstr "Allemand"
-#: InvenTree/settings.py:624
+#: InvenTree/settings.py:630
msgid "Greek"
msgstr "Grec"
-#: InvenTree/settings.py:625
+#: InvenTree/settings.py:631
msgid "English"
msgstr "Anglais"
-#: InvenTree/settings.py:626
+#: InvenTree/settings.py:632
msgid "Spanish"
msgstr "Espagnol"
-#: InvenTree/settings.py:627
+#: InvenTree/settings.py:633
msgid "Spanish (Mexican)"
msgstr "Espagnol (Mexique)"
-#: InvenTree/settings.py:628
+#: InvenTree/settings.py:634
msgid "Farsi / Persian"
msgstr "Farsi / Perse"
-#: InvenTree/settings.py:629
+#: InvenTree/settings.py:635
msgid "French"
msgstr "Français"
-#: InvenTree/settings.py:630
+#: InvenTree/settings.py:636
msgid "Hebrew"
msgstr "Hébreu"
-#: InvenTree/settings.py:631
+#: InvenTree/settings.py:637
msgid "Hungarian"
msgstr "Hongrois"
-#: InvenTree/settings.py:632
+#: InvenTree/settings.py:638
msgid "Italian"
msgstr "Italien"
-#: InvenTree/settings.py:633
+#: InvenTree/settings.py:639
msgid "Japanese"
msgstr "Japonais"
-#: InvenTree/settings.py:634
+#: InvenTree/settings.py:640
msgid "Korean"
msgstr "Coréen"
-#: InvenTree/settings.py:635
+#: InvenTree/settings.py:641
msgid "Dutch"
msgstr "Néerlandais"
-#: InvenTree/settings.py:636
+#: InvenTree/settings.py:642
msgid "Norwegian"
msgstr "Norvégien"
-#: InvenTree/settings.py:637
+#: InvenTree/settings.py:643
msgid "Polish"
msgstr "Polonais"
-#: InvenTree/settings.py:638
+#: InvenTree/settings.py:644
msgid "Portuguese"
msgstr "Portugais"
-#: InvenTree/settings.py:639
+#: InvenTree/settings.py:645
msgid "Portuguese (Brazilian)"
msgstr "Portugais (Brésilien)"
-#: InvenTree/settings.py:640
+#: InvenTree/settings.py:646
msgid "Russian"
msgstr "Russe"
-#: InvenTree/settings.py:641
+#: InvenTree/settings.py:647
msgid "Swedish"
msgstr "Suédois"
-#: InvenTree/settings.py:642
+#: InvenTree/settings.py:648
msgid "Thai"
msgstr "Thaïlandais"
-#: InvenTree/settings.py:643
+#: InvenTree/settings.py:649
msgid "Turkish"
msgstr "Turc"
-#: InvenTree/settings.py:644
+#: InvenTree/settings.py:650
msgid "Vietnamese"
msgstr "Vietnamien"
-#: InvenTree/settings.py:645
+#: InvenTree/settings.py:651
msgid "Chinese"
msgstr "Chinois"
-#: InvenTree/status.py:99
+#: InvenTree/status.py:98
msgid "Background worker check failed"
msgstr "Échec de la vérification du processus d'arrière-plan"
-#: InvenTree/status.py:103
+#: InvenTree/status.py:102
msgid "Email backend not configured"
msgstr "Backend d'email non configuré"
-#: InvenTree/status.py:106
+#: InvenTree/status.py:105
msgid "InvenTree system health checks failed"
msgstr "Échec des contrôles de santé du système"
#: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140
-#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:342
+#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:346
msgid "Pending"
msgstr "En attente"
@@ -561,8 +563,8 @@ msgstr "Perdu"
msgid "Returned"
msgstr "Retourné"
-#: InvenTree/status_codes.py:141 order/models.py:1142
-#: templates/js/translated/order.js:3625 templates/js/translated/order.js:3974
+#: InvenTree/status_codes.py:141 order/models.py:1165
+#: templates/js/translated/order.js:3636 templates/js/translated/order.js:3971
msgid "Shipped"
msgstr "Expédié"
@@ -646,7 +648,7 @@ msgstr "Séparer de l'élément parent"
msgid "Split child item"
msgstr "Fractionner l'élément enfant"
-#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2086
+#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2104
msgid "Merged stock items"
msgstr "Articles de stock fusionnés"
@@ -654,7 +656,7 @@ msgstr "Articles de stock fusionnés"
msgid "Converted to variant"
msgstr "Converti en variante"
-#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:229
+#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:233
msgid "Sent to customer"
msgstr "Envoyé au client"
@@ -746,7 +748,7 @@ msgstr "Ordre de Fabrication"
#: build/models.py:111 build/templates/build/build_base.html:13
#: build/templates/build/index.html:8 build/templates/build/index.html:12
-#: order/templates/order/sales_order_detail.html:120
+#: order/templates/order/sales_order_detail.html:125
#: order/templates/order/so_sidebar.html:13
#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221
#: templates/InvenTree/search.html:141
@@ -759,15 +761,15 @@ msgstr "Ordres de Fabrication"
msgid "Build Order Reference"
msgstr "Référence de l' Ordre de Fabrication"
-#: build/models.py:155 order/models.py:240 order/models.py:632
-#: order/models.py:918 part/models.py:2684
+#: build/models.py:155 order/models.py:241 order/models.py:651
+#: order/models.py:941 part/admin.py:224 part/models.py:3297
#: part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:92
-#: templates/js/translated/bom.js:716 templates/js/translated/bom.js:897
-#: templates/js/translated/build.js:1843 templates/js/translated/order.js:2251
-#: templates/js/translated/order.js:2481 templates/js/translated/order.js:3818
-#: templates/js/translated/order.js:4323
+#: templates/js/translated/bom.js:729 templates/js/translated/bom.js:905
+#: templates/js/translated/build.js:1843 templates/js/translated/order.js:2290
+#: templates/js/translated/order.js:2508 templates/js/translated/order.js:3833
+#: templates/js/translated/order.js:4324 templates/js/translated/pricing.js:119
msgid "Reference"
msgstr "Référence"
@@ -785,39 +787,40 @@ msgid "BuildOrder to which this build is allocated"
msgstr "BuildOrder associé a cette fabrication"
#: build/models.py:180 build/templates/build/build_base.html:80
-#: build/templates/build/detail.html:29 company/models.py:680
-#: order/models.py:1015 order/models.py:1126 order/models.py:1127
-#: part/models.py:343 part/models.py:2200 part/models.py:2215
-#: part/models.py:2234 part/models.py:2252 part/models.py:2351
-#: part/models.py:2472 part/models.py:2564 part/models.py:2649
-#: part/models.py:2943 part/serializers.py:828
+#: build/templates/build/detail.html:29 company/models.py:684
+#: order/models.py:1038 order/models.py:1149 order/models.py:1150
+#: part/models.py:362 part/models.py:2700 part/models.py:2813
+#: part/models.py:2828 part/models.py:2847 part/models.py:2865
+#: part/models.py:2964 part/models.py:3085 part/models.py:3177
+#: part/models.py:3262 part/models.py:3578 part/serializers.py:852
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
#: report/templates/report/inventree_build_order_base.html:109
#: report/templates/report/inventree_po_report.html:89
-#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:86
-#: stock/serializers.py:494 templates/InvenTree/search.html:82
+#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:90
+#: stock/serializers.py:488 templates/InvenTree/search.html:82
#: templates/email/build_order_completed.html:17
#: templates/email/build_order_required_stock.html:17
#: templates/email/low_stock_notification.html:16
#: templates/email/overdue_build_order.html:16
-#: templates/js/translated/barcode.js:479 templates/js/translated/bom.js:578
-#: templates/js/translated/bom.js:715 templates/js/translated/bom.js:841
+#: templates/js/translated/barcode.js:479 templates/js/translated/bom.js:591
+#: templates/js/translated/bom.js:728 templates/js/translated/bom.js:849
#: templates/js/translated/build.js:1214 templates/js/translated/build.js:1711
#: templates/js/translated/build.js:2194 templates/js/translated/build.js:2585
-#: templates/js/translated/company.js:301
-#: templates/js/translated/company.js:531
-#: templates/js/translated/company.js:643
-#: templates/js/translated/company.js:904 templates/js/translated/order.js:106
-#: templates/js/translated/order.js:1134 templates/js/translated/order.js:1638
-#: templates/js/translated/order.js:2205 templates/js/translated/order.js:3180
-#: templates/js/translated/order.js:3576 templates/js/translated/order.js:3802
-#: templates/js/translated/part.js:1172 templates/js/translated/part.js:1244
-#: templates/js/translated/part.js:1442 templates/js/translated/stock.js:586
-#: templates/js/translated/stock.js:751 templates/js/translated/stock.js:958
-#: templates/js/translated/stock.js:1700 templates/js/translated/stock.js:2514
-#: templates/js/translated/stock.js:2709 templates/js/translated/stock.js:2843
+#: templates/js/translated/company.js:302
+#: templates/js/translated/company.js:532
+#: templates/js/translated/company.js:644
+#: templates/js/translated/company.js:905 templates/js/translated/order.js:106
+#: templates/js/translated/order.js:1168 templates/js/translated/order.js:1672
+#: templates/js/translated/order.js:2244 templates/js/translated/order.js:3191
+#: templates/js/translated/order.js:3587 templates/js/translated/order.js:3817
+#: templates/js/translated/part.js:1193 templates/js/translated/part.js:1265
+#: templates/js/translated/part.js:1452 templates/js/translated/pricing.js:102
+#: templates/js/translated/stock.js:605 templates/js/translated/stock.js:770
+#: templates/js/translated/stock.js:977 templates/js/translated/stock.js:1719
+#: templates/js/translated/stock.js:2532 templates/js/translated/stock.js:2727
+#: templates/js/translated/stock.js:2861
msgid "Part"
msgstr "Pièce"
@@ -834,7 +837,7 @@ msgid "SalesOrder to which this build is allocated"
msgstr "Commande de vente à laquelle cette construction est allouée"
#: build/models.py:202 build/serializers.py:822
-#: templates/js/translated/build.js:2182 templates/js/translated/order.js:3168
+#: templates/js/translated/build.js:2182 templates/js/translated/order.js:3179
msgid "Source Location"
msgstr "Emplacement d'origine"
@@ -874,8 +877,8 @@ msgstr "État de la construction"
msgid "Build status code"
msgstr "Code de statut de construction"
-#: build/models.py:245 build/serializers.py:224 order/serializers.py:464
-#: stock/models.py:664 templates/js/translated/order.js:1496
+#: build/models.py:245 build/serializers.py:224 order/serializers.py:455
+#: stock/models.py:680 templates/js/translated/order.js:1530
msgid "Batch Code"
msgstr "Code de lot"
@@ -883,12 +886,12 @@ msgstr "Code de lot"
msgid "Batch code for this build output"
msgstr "Code de lot pour ce build output"
-#: build/models.py:252 order/models.py:86 part/models.py:952
-#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2839
+#: build/models.py:252 order/models.py:87 part/models.py:971
+#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2850
msgid "Creation Date"
msgstr "Date de création"
-#: build/models.py:256 order/models.py:662
+#: build/models.py:256 order/models.py:681
msgid "Target completion date"
msgstr "Date d'achèvement cible"
@@ -896,7 +899,7 @@ msgstr "Date d'achèvement cible"
msgid "Target date for build completion. Build will be overdue after this date."
msgstr "Date cible pour l'achèvement de la construction. La construction sera en retard après cette date."
-#: build/models.py:260 order/models.py:291
+#: build/models.py:260 order/models.py:292
#: templates/js/translated/build.js:2662
msgid "Completion Date"
msgstr "Date d'achèvement"
@@ -914,11 +917,11 @@ msgid "User who issued this build order"
msgstr "Utilisateur ayant émis cette commande de construction"
#: build/models.py:283 build/templates/build/build_base.html:193
-#: build/templates/build/detail.html:115 order/models.py:100
+#: build/templates/build/detail.html:115 order/models.py:101
#: order/templates/order/order_base.html:185
-#: order/templates/order/sales_order_base.html:183 part/models.py:956
+#: order/templates/order/sales_order_base.html:183 part/models.py:975
#: report/templates/report/inventree_build_order_base.html:158
-#: templates/js/translated/build.js:2642 templates/js/translated/order.js:2022
+#: templates/js/translated/build.js:2642 templates/js/translated/order.js:2056
msgid "Responsible"
msgstr "Responsable"
@@ -929,7 +932,7 @@ msgstr "Utilisateur responsable de cette commande de construction"
#: build/models.py:289 build/templates/build/detail.html:101
#: company/templates/company/manufacturer_part.html:107
#: company/templates/company/supplier_part.html:188
-#: part/templates/part/part_base.html:361 stock/models.py:658
+#: part/templates/part/part_base.html:376 stock/models.py:674
#: stock/templates/stock/item_base.html:203
msgid "External Link"
msgstr "Lien Externe"
@@ -968,11 +971,11 @@ msgstr "L'élément de construction doit spécifier une sortie de construction,
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr "La quantité allouée ({q}) ne doit pas excéder la quantité disponible ({a})"
-#: build/models.py:1191 order/models.py:1393
+#: build/models.py:1191 order/models.py:1416
msgid "Stock item is over-allocated"
msgstr "L'article de stock est suralloué"
-#: build/models.py:1197 order/models.py:1396
+#: build/models.py:1197 order/models.py:1419
msgid "Allocation quantity must be greater than zero"
msgstr "La quantité allouée doit être supérieure à zéro"
@@ -994,18 +997,18 @@ msgstr "Assemblage"
msgid "Build to allocate parts"
msgstr "Construction à laquelle allouer des pièces"
-#: build/models.py:1346 build/serializers.py:663 order/serializers.py:1039
-#: order/serializers.py:1060 stock/serializers.py:398 stock/serializers.py:758
-#: stock/serializers.py:884 stock/templates/stock/item_base.html:10
+#: build/models.py:1346 build/serializers.py:663 order/serializers.py:1032
+#: order/serializers.py:1053 stock/serializers.py:392 stock/serializers.py:757
+#: stock/serializers.py:883 stock/templates/stock/item_base.html:10
#: stock/templates/stock/item_base.html:23
#: stock/templates/stock/item_base.html:197
#: templates/js/translated/build.js:790 templates/js/translated/build.js:795
#: templates/js/translated/build.js:2196 templates/js/translated/build.js:2747
-#: templates/js/translated/order.js:107 templates/js/translated/order.js:3181
-#: templates/js/translated/order.js:3483 templates/js/translated/order.js:3488
-#: templates/js/translated/order.js:3583 templates/js/translated/order.js:3675
-#: templates/js/translated/stock.js:587 templates/js/translated/stock.js:752
-#: templates/js/translated/stock.js:2587
+#: templates/js/translated/order.js:107 templates/js/translated/order.js:3192
+#: templates/js/translated/order.js:3494 templates/js/translated/order.js:3499
+#: templates/js/translated/order.js:3594 templates/js/translated/order.js:3686
+#: templates/js/translated/stock.js:606 templates/js/translated/stock.js:771
+#: templates/js/translated/stock.js:2605
msgid "Stock Item"
msgstr "Article en stock"
@@ -1015,12 +1018,10 @@ msgstr "Stock d'origine de l'article"
#: build/models.py:1359 build/serializers.py:192
#: build/templates/build/build_base.html:85
-#: build/templates/build/detail.html:34 common/models.py:1776
-#: company/templates/company/supplier_part.html:341 order/models.py:911
-#: order/models.py:1437 order/serializers.py:1213
-#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:40
-#: part/models.py:2665 part/templates/part/detail.html:938
-#: part/templates/part/detail.html:1024
+#: build/templates/build/detail.html:34 common/models.py:1788
+#: order/models.py:934 order/models.py:1460 order/serializers.py:1206
+#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:223
+#: part/forms.py:40 part/models.py:3278
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_build_order_base.html:113
@@ -1028,25 +1029,29 @@ msgstr "Stock d'origine de l'article"
#: report/templates/report/inventree_so_report.html:91
#: report/templates/report/inventree_test_report_base.html:81
#: report/templates/report/inventree_test_report_base.html:139
-#: stock/serializers.py:291 stock/templates/stock/item_base.html:290
+#: stock/admin.py:86 stock/serializers.py:285
+#: stock/templates/stock/item_base.html:290
#: stock/templates/stock/item_base.html:298
#: templates/email/build_order_completed.html:18
-#: templates/js/translated/barcode.js:481 templates/js/translated/bom.js:717
-#: templates/js/translated/bom.js:905 templates/js/translated/build.js:474
+#: templates/js/translated/barcode.js:481 templates/js/translated/bom.js:730
+#: templates/js/translated/bom.js:913 templates/js/translated/build.js:474
#: templates/js/translated/build.js:626 templates/js/translated/build.js:817
#: templates/js/translated/build.js:1236 templates/js/translated/build.js:1737
#: templates/js/translated/build.js:2197
+#: templates/js/translated/company.js:1159
#: templates/js/translated/model_renderers.js:120
-#: templates/js/translated/order.js:123 templates/js/translated/order.js:1137
-#: templates/js/translated/order.js:2257 templates/js/translated/order.js:2487
-#: templates/js/translated/order.js:3182 templates/js/translated/order.js:3502
-#: templates/js/translated/order.js:3589 templates/js/translated/order.js:3681
-#: templates/js/translated/order.js:3824 templates/js/translated/order.js:4329
-#: templates/js/translated/part.js:1036 templates/js/translated/part.js:2220
-#: templates/js/translated/part.js:2689 templates/js/translated/part.js:2730
-#: templates/js/translated/part.js:2808 templates/js/translated/stock.js:458
-#: templates/js/translated/stock.js:612 templates/js/translated/stock.js:782
-#: templates/js/translated/stock.js:2636 templates/js/translated/stock.js:2721
+#: templates/js/translated/order.js:123 templates/js/translated/order.js:1171
+#: templates/js/translated/order.js:2296 templates/js/translated/order.js:2514
+#: templates/js/translated/order.js:3193 templates/js/translated/order.js:3513
+#: templates/js/translated/order.js:3600 templates/js/translated/order.js:3692
+#: templates/js/translated/order.js:3839 templates/js/translated/order.js:4330
+#: templates/js/translated/part.js:1063 templates/js/translated/part.js:2546
+#: templates/js/translated/pricing.js:114
+#: templates/js/translated/pricing.js:207
+#: templates/js/translated/pricing.js:255
+#: templates/js/translated/pricing.js:349 templates/js/translated/stock.js:477
+#: templates/js/translated/stock.js:631 templates/js/translated/stock.js:801
+#: templates/js/translated/stock.js:2654 templates/js/translated/stock.js:2739
msgid "Quantity"
msgstr "Quantité"
@@ -1087,10 +1092,10 @@ msgstr "Cet ordre de production n'est pas complètement attribué"
msgid "Enter quantity for build output"
msgstr "Entrer la quantité désiré pour la fabrication"
-#: build/serializers.py:207 build/serializers.py:683 order/models.py:323
-#: order/serializers.py:304 order/serializers.py:459 part/serializers.py:558
-#: part/serializers.py:991 stock/models.py:518 stock/models.py:1253
-#: stock/serializers.py:300
+#: build/serializers.py:207 build/serializers.py:683 order/models.py:327
+#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:644
+#: part/serializers.py:1015 stock/models.py:534 stock/models.py:1269
+#: stock/serializers.py:294
msgid "Quantity must be greater than zero"
msgstr "La quantité doit être supérieure à zéro"
@@ -1102,9 +1107,9 @@ msgstr "Quantité entière requise pour les pièces à suivre"
msgid "Integer quantity required, as the bill of materials contains trackable parts"
msgstr "Quantité entière requise, car la facture de matériaux contient des pièces à puce"
-#: build/serializers.py:231 order/serializers.py:472 order/serializers.py:1217
-#: stock/serializers.py:309 templates/js/translated/order.js:1507
-#: templates/js/translated/stock.js:271 templates/js/translated/stock.js:459
+#: build/serializers.py:231 order/serializers.py:463 order/serializers.py:1210
+#: stock/serializers.py:303 templates/js/translated/order.js:1541
+#: templates/js/translated/stock.js:290 templates/js/translated/stock.js:478
msgid "Serial Numbers"
msgstr "Numéros de série"
@@ -1120,7 +1125,7 @@ msgstr "Allouer automatiquement les numéros de série"
msgid "Automatically allocate required items with matching serial numbers"
msgstr "Affecter automatiquement les éléments requis avec les numéros de série correspondants"
-#: build/serializers.py:281 stock/api.py:589
+#: build/serializers.py:281 stock/api.py:599
msgid "The following serial numbers already exist or are invalid"
msgstr "Les numéros de série suivants existent déjà, ou sont invalides"
@@ -1128,18 +1133,18 @@ msgstr "Les numéros de série suivants existent déjà, ou sont invalides"
msgid "A list of build outputs must be provided"
msgstr "Une liste d'ordre de production doit être fourni"
-#: build/serializers.py:369 order/serializers.py:445 order/serializers.py:556
-#: stock/serializers.py:320 stock/serializers.py:455 stock/serializers.py:536
-#: stock/serializers.py:919 stock/serializers.py:1152
+#: build/serializers.py:369 order/serializers.py:436 order/serializers.py:547
+#: stock/serializers.py:314 stock/serializers.py:449 stock/serializers.py:530
+#: stock/serializers.py:918 stock/serializers.py:1151
#: stock/templates/stock/item_base.html:388
#: templates/js/translated/barcode.js:480
#: templates/js/translated/barcode.js:724 templates/js/translated/build.js:802
-#: templates/js/translated/build.js:1749 templates/js/translated/order.js:1534
-#: templates/js/translated/order.js:3495 templates/js/translated/order.js:3600
-#: templates/js/translated/order.js:3608 templates/js/translated/order.js:3689
-#: templates/js/translated/part.js:181 templates/js/translated/stock.js:588
-#: templates/js/translated/stock.js:753 templates/js/translated/stock.js:960
-#: templates/js/translated/stock.js:1856 templates/js/translated/stock.js:2528
+#: templates/js/translated/build.js:1749 templates/js/translated/order.js:1568
+#: templates/js/translated/order.js:3506 templates/js/translated/order.js:3611
+#: templates/js/translated/order.js:3619 templates/js/translated/order.js:3700
+#: templates/js/translated/part.js:177 templates/js/translated/stock.js:607
+#: templates/js/translated/stock.js:772 templates/js/translated/stock.js:979
+#: templates/js/translated/stock.js:1875 templates/js/translated/stock.js:2546
msgid "Location"
msgstr "Emplacement"
@@ -1148,12 +1153,13 @@ msgid "Location for completed build outputs"
msgstr "Emplacement des ordres de production achevés"
#: build/serializers.py:376 build/templates/build/build_base.html:145
-#: build/templates/build/detail.html:62 order/models.py:651
-#: order/serializers.py:482 stock/templates/stock/item_base.html:421
+#: build/templates/build/detail.html:62 order/models.py:670
+#: order/serializers.py:473 stock/admin.py:89
+#: stock/templates/stock/item_base.html:421
#: templates/js/translated/barcode.js:214 templates/js/translated/build.js:2614
-#: templates/js/translated/order.js:1643 templates/js/translated/order.js:1992
-#: templates/js/translated/order.js:2831 templates/js/translated/stock.js:1831
-#: templates/js/translated/stock.js:2605 templates/js/translated/stock.js:2737
+#: templates/js/translated/order.js:1677 templates/js/translated/order.js:2026
+#: templates/js/translated/order.js:2842 templates/js/translated/stock.js:1850
+#: templates/js/translated/stock.js:2623 templates/js/translated/stock.js:2755
msgid "Status"
msgstr "État"
@@ -1213,7 +1219,7 @@ msgstr "Accepter les articles de stock qui n'ont pas été complètement alloué
msgid "Required stock has not been fully allocated"
msgstr "Le stock requis n'a pas encore été totalement alloué"
-#: build/serializers.py:545 order/serializers.py:208 order/serializers.py:1107
+#: build/serializers.py:545 order/serializers.py:202 order/serializers.py:1100
msgid "Accept Incomplete"
msgstr "Accepter les incomplèts"
@@ -1229,8 +1235,8 @@ msgstr "La quantité nécessaire n'a pas encore été complétée"
msgid "Build order has incomplete outputs"
msgstr "L'ordre de production a des sorties incomplètes"
-#: build/serializers.py:595 build/serializers.py:640 part/models.py:2801
-#: part/models.py:2935
+#: build/serializers.py:595 build/serializers.py:640 part/models.py:3414
+#: part/models.py:3570
msgid "BOM Item"
msgstr "Article du BOM"
@@ -1246,11 +1252,11 @@ msgstr "La sortie de la construction doit pointer vers la même construction"
msgid "bom_item.part must point to the same part as the build order"
msgstr "bom_item.part doit pointer sur la même pièce que l'ordre de construction"
-#: build/serializers.py:669 stock/serializers.py:771
+#: build/serializers.py:669 stock/serializers.py:770
msgid "Item must be in stock"
msgstr "L'article doit être en stock"
-#: build/serializers.py:727 order/serializers.py:1097
+#: build/serializers.py:727 order/serializers.py:1090
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr "Quantité disponible ({q}) dépassée"
@@ -1267,7 +1273,7 @@ msgstr "La sortie de la construction ne peut pas être spécifiée pour l'alloca
msgid "This stock item has already been allocated to this build output"
msgstr "Cet article de stock a déjà été alloué à cette sortie de construction"
-#: build/serializers.py:768 order/serializers.py:1381
+#: build/serializers.py:768 order/serializers.py:1374
msgid "Allocation items must be provided"
msgstr "Les articles d'allocation doivent être fournis"
@@ -1382,13 +1388,13 @@ msgid "Stock has not been fully allocated to this Build Order"
msgstr "Le stock n'a pas été entièrement alloué à cet ordre de construction"
#: build/templates/build/build_base.html:154
-#: build/templates/build/detail.html:131 order/models.py:924
+#: build/templates/build/detail.html:131 order/models.py:947
#: order/templates/order/order_base.html:171
#: order/templates/order/sales_order_base.html:164
#: report/templates/report/inventree_build_order_base.html:125
-#: templates/js/translated/build.js:2654 templates/js/translated/order.js:2009
-#: templates/js/translated/order.js:2351 templates/js/translated/order.js:2847
-#: templates/js/translated/order.js:3887 templates/js/translated/part.js:1051
+#: templates/js/translated/build.js:2654 templates/js/translated/order.js:2043
+#: templates/js/translated/order.js:2374 templates/js/translated/order.js:2858
+#: templates/js/translated/order.js:3884 templates/js/translated/part.js:1078
msgid "Target Date"
msgstr "Date Cible"
@@ -1401,29 +1407,29 @@ msgstr "Cette construction était due le %(target)s"
#: build/templates/build/build_base.html:204
#: order/templates/order/order_base.html:107
#: order/templates/order/sales_order_base.html:94
-#: templates/js/translated/table_filters.js:328
-#: templates/js/translated/table_filters.js:369
-#: templates/js/translated/table_filters.js:399
+#: templates/js/translated/table_filters.js:332
+#: templates/js/translated/table_filters.js:373
+#: templates/js/translated/table_filters.js:403
msgid "Overdue"
msgstr "En retard"
#: build/templates/build/build_base.html:166
#: build/templates/build/detail.html:67 build/templates/build/detail.html:142
#: order/templates/order/sales_order_base.html:171
-#: templates/js/translated/table_filters.js:408
+#: templates/js/translated/table_filters.js:412
msgid "Completed"
msgstr "Terminé"
#: build/templates/build/build_base.html:179
-#: build/templates/build/detail.html:94 order/models.py:1119
-#: order/models.py:1213 order/models.py:1344
+#: build/templates/build/detail.html:94 order/models.py:1142
+#: order/models.py:1236 order/models.py:1367
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
#: report/templates/report/inventree_build_order_base.html:135
#: report/templates/report/inventree_so_report.html:77
#: stock/templates/stock/item_base.html:368
#: templates/email/overdue_sales_order.html:15
-#: templates/js/translated/order.js:2793
+#: templates/js/translated/order.js:2804 templates/js/translated/pricing.js:637
msgid "Sales Order"
msgstr "Commandes"
@@ -1449,8 +1455,8 @@ msgstr "Stock d'origine"
msgid "Stock can be taken from any available location."
msgstr "Le stock peut être pris à partir de n'importe quel endroit disponible."
-#: build/templates/build/detail.html:49 order/models.py:1037
-#: templates/js/translated/order.js:1644 templates/js/translated/order.js:2393
+#: build/templates/build/detail.html:49 order/models.py:1060
+#: templates/js/translated/order.js:1678 templates/js/translated/order.js:2416
msgid "Destination"
msgstr "Destination"
@@ -1462,14 +1468,14 @@ msgstr "Stockage de destination non défini"
msgid "Allocated Parts"
msgstr "Pièces allouées"
-#: build/templates/build/detail.html:80
+#: build/templates/build/detail.html:80 stock/admin.py:88
#: stock/templates/stock/item_base.html:168
#: templates/js/translated/build.js:1240
#: templates/js/translated/model_renderers.js:124
-#: templates/js/translated/stock.js:1026 templates/js/translated/stock.js:1845
-#: templates/js/translated/stock.js:2744
-#: templates/js/translated/table_filters.js:167
-#: templates/js/translated/table_filters.js:258
+#: templates/js/translated/stock.js:1045 templates/js/translated/stock.js:1864
+#: templates/js/translated/stock.js:2762
+#: templates/js/translated/table_filters.js:171
+#: templates/js/translated/table_filters.js:262
msgid "Batch"
msgstr "Lot"
@@ -1527,7 +1533,7 @@ msgstr "Commander les pièces requises"
#: build/templates/build/detail.html:187
#: company/templates/company/detail.html:37
#: company/templates/company/detail.html:85
-#: part/templates/part/category.html:178 templates/js/translated/order.js:1177
+#: part/templates/part/category.html:178 templates/js/translated/order.js:1211
msgid "Order Parts"
msgstr "Commander des pièces"
@@ -1597,10 +1603,10 @@ msgstr "Sorties de Construction terminées"
#: company/templates/company/manufacturer_part.html:151
#: company/templates/company/manufacturer_part_sidebar.html:9
#: order/templates/order/po_sidebar.html:9
-#: order/templates/order/purchase_order_detail.html:82
-#: order/templates/order/sales_order_detail.html:135
-#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:212
-#: part/templates/part/part_sidebar.html:57 stock/templates/stock/item.html:117
+#: order/templates/order/purchase_order_detail.html:86
+#: order/templates/order/sales_order_detail.html:140
+#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:210
+#: part/templates/part/part_sidebar.html:55 stock/templates/stock/item.html:117
#: stock/templates/stock/stock_sidebar.html:23
msgid "Attachments"
msgstr "Pieces jointes"
@@ -1617,7 +1623,7 @@ msgstr "Allocation terminée"
msgid "All untracked stock items have been allocated"
msgstr "Tous les articles de stock non suivis ont été alloués"
-#: build/templates/build/index.html:18 part/templates/part/detail.html:318
+#: build/templates/build/index.html:18 part/templates/part/detail.html:316
msgid "New Build Order"
msgstr "Nouvel ordre de construction"
@@ -1734,7 +1740,7 @@ msgstr "Limiter l'affichage de `about`"
msgid "Show the `about` modal only to superusers"
msgstr "Afficher la modale `about` uniquement aux super-utilisateurs"
-#: common/models.py:833 company/models.py:94 company/models.py:95
+#: common/models.py:833 company/models.py:98 company/models.py:99
msgid "Company name"
msgstr "Nom de la société"
@@ -1902,9 +1908,9 @@ msgstr "Copier les templates de paramètres de catégorie"
msgid "Copy category parameter templates when creating a part"
msgstr "Copier les templates de paramètres de la catégorie lors de la création d'une pièce"
-#: common/models.py:1002 part/models.py:2474 report/models.py:158
-#: templates/js/translated/table_filters.js:38
-#: templates/js/translated/table_filters.js:492
+#: common/models.py:1002 part/admin.py:41 part/models.py:3087
+#: report/models.py:158 templates/js/translated/table_filters.js:38
+#: templates/js/translated/table_filters.js:496
msgid "Template"
msgstr "Modèle"
@@ -1912,9 +1918,10 @@ msgstr "Modèle"
msgid "Parts are templates by default"
msgstr "Les pièces sont des templates par défaut"
-#: common/models.py:1009 part/models.py:908 templates/js/translated/bom.js:1531
-#: templates/js/translated/table_filters.js:184
-#: templates/js/translated/table_filters.js:455
+#: common/models.py:1009 part/admin.py:37 part/admin.py:229 part/models.py:927
+#: templates/js/translated/bom.js:1594
+#: templates/js/translated/table_filters.js:188
+#: templates/js/translated/table_filters.js:459
msgid "Assembly"
msgstr "Assemblage"
@@ -1922,8 +1929,8 @@ msgstr "Assemblage"
msgid "Parts can be assembled from other components by default"
msgstr "Les composantes peuvent être assemblées à partir d'autres composants par défaut"
-#: common/models.py:1016 part/models.py:914
-#: templates/js/translated/table_filters.js:463
+#: common/models.py:1016 part/admin.py:38 part/models.py:933
+#: templates/js/translated/table_filters.js:467
msgid "Component"
msgstr "Composant"
@@ -1931,7 +1938,7 @@ msgstr "Composant"
msgid "Parts can be used as sub-components by default"
msgstr "Les composantes peuvent être utilisées comme sous-composants par défaut"
-#: common/models.py:1023 part/models.py:925
+#: common/models.py:1023 part/admin.py:39 part/models.py:944
msgid "Purchaseable"
msgstr "Achetable"
@@ -1939,8 +1946,8 @@ msgstr "Achetable"
msgid "Parts are purchaseable by default"
msgstr "Les pièces sont achetables par défaut"
-#: common/models.py:1030 part/models.py:930
-#: templates/js/translated/table_filters.js:484
+#: common/models.py:1030 part/admin.py:40 part/models.py:949
+#: templates/js/translated/table_filters.js:488
msgid "Salable"
msgstr "Vendable"
@@ -1948,10 +1955,10 @@ msgstr "Vendable"
msgid "Parts are salable by default"
msgstr "Les pièces sont vendables par défaut"
-#: common/models.py:1037 part/models.py:920
+#: common/models.py:1037 part/admin.py:42 part/models.py:939
#: templates/js/translated/table_filters.js:46
-#: templates/js/translated/table_filters.js:116
-#: templates/js/translated/table_filters.js:496
+#: templates/js/translated/table_filters.js:120
+#: templates/js/translated/table_filters.js:500
msgid "Trackable"
msgstr "Traçable"
@@ -1959,10 +1966,10 @@ msgstr "Traçable"
msgid "Parts are trackable by default"
msgstr "Les pièces sont traçables par défaut"
-#: common/models.py:1044 part/models.py:940
+#: common/models.py:1044 part/admin.py:43 part/models.py:959
#: part/templates/part/part_base.html:156
#: templates/js/translated/table_filters.js:42
-#: templates/js/translated/table_filters.js:500
+#: templates/js/translated/table_filters.js:504
msgid "Virtual"
msgstr "Virtuelle"
@@ -1979,791 +1986,837 @@ msgid "Display the import wizard in some part views"
msgstr "Afficher l'assistant d'importation pour certaine vues de produits"
#: common/models.py:1058
-msgid "Show Price in Forms"
-msgstr "Afficher le prix dans les formulaires"
-
-#: common/models.py:1059
-msgid "Display part price in some forms"
-msgstr "Afficher le prix de la pièce dans certains formulaires"
-
-#: common/models.py:1070
-msgid "Show Price in BOM"
-msgstr "Afficher le prix dans la BOM"
-
-#: common/models.py:1071
-msgid "Include pricing information in BOM tables"
-msgstr "Inclure les informations de prix dans les tableaux de la BOM"
-
-#: common/models.py:1082
-msgid "Show Price History"
-msgstr "Historique des prix"
-
-#: common/models.py:1083
-msgid "Display historical pricing for Part"
-msgstr "Afficher l'historique des prix pour la pièce"
-
-#: common/models.py:1089
msgid "Show related parts"
msgstr "Afficher les pièces connexes"
-#: common/models.py:1090
+#: common/models.py:1059
msgid "Display related parts for a part"
msgstr "Afficher les pièces connexes à une pièce"
-#: common/models.py:1096
+#: common/models.py:1065
msgid "Create initial stock"
msgstr "Créer un stock initial"
-#: common/models.py:1097
+#: common/models.py:1066
msgid "Create initial stock on part creation"
msgstr "Créer le stock initial lors de la création d'une pièce"
-#: common/models.py:1103
-msgid "Internal Prices"
-msgstr "Prix internes"
-
-#: common/models.py:1104
-msgid "Enable internal prices for parts"
-msgstr "Activer les prix internes pour les pièces"
-
-#: common/models.py:1110
-msgid "Internal Price as BOM-Price"
-msgstr "Prix interne comme prix nomenclature"
-
-#: common/models.py:1111
-msgid "Use the internal price (if set) in BOM-price calculations"
-msgstr "Utiliser le prix interne (si définie) dans le calcul du prix nomenclature"
-
-#: common/models.py:1117
+#: common/models.py:1072
msgid "Part Name Display Format"
msgstr "Format d'affichage du nom de la pièce"
-#: common/models.py:1118
+#: common/models.py:1073
msgid "Format to display the part name"
msgstr "Format pour afficher le nom de la pièce"
-#: common/models.py:1125
+#: common/models.py:1080
msgid "Part Category Default Icon"
msgstr "Icône de catégorie par défaut"
-#: common/models.py:1126
+#: common/models.py:1081
msgid "Part category default icon (empty means no icon)"
msgstr ""
-#: common/models.py:1131
-msgid "Enable label printing"
-msgstr "Activer l'impression d'étiquettes"
-
-#: common/models.py:1132
-msgid "Enable label printing from the web interface"
-msgstr "Activer l'impression d'étiquettes depuis l'interface Web"
-
-#: common/models.py:1138
-msgid "Label Image DPI"
-msgstr "Étiquette image DPI"
-
-#: common/models.py:1139
-msgid "DPI resolution when generating image files to supply to label printing plugins"
-msgstr "Résolution DPI lors de la génération de fichiers image pour fournir aux plugins d'impression d'étiquettes"
-
-#: common/models.py:1148
-msgid "Enable Reports"
-msgstr "Activer les rapports"
-
-#: common/models.py:1149
-msgid "Enable generation of reports"
-msgstr "Activer la génération de rapports"
-
-#: common/models.py:1155 templates/stats.html:25
-msgid "Debug Mode"
-msgstr "Mode Débogage"
-
-#: common/models.py:1156
-msgid "Generate reports in debug mode (HTML output)"
-msgstr "Générer des rapports en mode debug (sortie HTML)"
-
-#: common/models.py:1162
-msgid "Page Size"
-msgstr "Taille de la page"
-
-#: common/models.py:1163
-msgid "Default page size for PDF reports"
-msgstr "Taille de page par défaut pour les rapports PDF"
-
-#: common/models.py:1173
-msgid "Enable Test Reports"
-msgstr "Activer les rapports de test"
-
-#: common/models.py:1174
-msgid "Enable generation of test reports"
-msgstr "Activer la génération de rapports de test"
-
-#: common/models.py:1180
-msgid "Attach Test Reports"
-msgstr "Joindre des rapports de test"
-
-#: common/models.py:1181
-msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item"
-msgstr "Lors de l'impression d'un rapport de test, joignez une copie du rapport de test à l'article en stock associé"
-
-#: common/models.py:1187
-msgid "Globally Unique Serials"
+#: common/models.py:1086
+msgid "Pricing Decimal Places"
msgstr ""
-#: common/models.py:1188
-msgid "Serial numbers for stock items must be globally unique"
-msgstr "Les numéros de série pour les articles en stock doivent être uniques au niveau global"
-
-#: common/models.py:1194
-msgid "Batch Code Template"
-msgstr "Modèle de code de lot"
-
-#: common/models.py:1195
-msgid "Template for generating default batch codes for stock items"
-msgstr "Modèle pour générer des codes par défaut pour les articles en stock"
-
-#: common/models.py:1200
-msgid "Stock Expiry"
-msgstr "Expiration du stock"
-
-#: common/models.py:1201
-msgid "Enable stock expiry functionality"
-msgstr "Activer la fonctionnalité d'expiration du stock"
-
-#: common/models.py:1207
-msgid "Sell Expired Stock"
-msgstr "Vendre le stock expiré"
-
-#: common/models.py:1208
-msgid "Allow sale of expired stock"
-msgstr "Autoriser la vente de stock expiré"
-
-#: common/models.py:1214
-msgid "Stock Stale Time"
+#: common/models.py:1087
+msgid "Number of decimal places to display when rendering pricing data"
msgstr ""
-#: common/models.py:1215
-msgid "Number of days stock items are considered stale before expiring"
+#: common/models.py:1097
+msgid "Pricing Rebuild Time"
msgstr ""
-#: common/models.py:1217
+#: common/models.py:1098
+msgid "Number of days before part pricing is automatically updated"
+msgstr ""
+
+#: common/models.py:1099 common/models.py:1208
msgid "days"
msgstr "jours"
-#: common/models.py:1222
+#: common/models.py:1108
+msgid "Internal Prices"
+msgstr "Prix internes"
+
+#: common/models.py:1109
+msgid "Enable internal prices for parts"
+msgstr "Activer les prix internes pour les pièces"
+
+#: common/models.py:1115
+msgid "Internal Price Override"
+msgstr ""
+
+#: common/models.py:1116
+msgid "If available, internal prices override price range calculations"
+msgstr ""
+
+#: common/models.py:1122
+msgid "Enable label printing"
+msgstr "Activer l'impression d'étiquettes"
+
+#: common/models.py:1123
+msgid "Enable label printing from the web interface"
+msgstr "Activer l'impression d'étiquettes depuis l'interface Web"
+
+#: common/models.py:1129
+msgid "Label Image DPI"
+msgstr "Étiquette image DPI"
+
+#: common/models.py:1130
+msgid "DPI resolution when generating image files to supply to label printing plugins"
+msgstr "Résolution DPI lors de la génération de fichiers image pour fournir aux plugins d'impression d'étiquettes"
+
+#: common/models.py:1139
+msgid "Enable Reports"
+msgstr "Activer les rapports"
+
+#: common/models.py:1140
+msgid "Enable generation of reports"
+msgstr "Activer la génération de rapports"
+
+#: common/models.py:1146 templates/stats.html:25
+msgid "Debug Mode"
+msgstr "Mode Débogage"
+
+#: common/models.py:1147
+msgid "Generate reports in debug mode (HTML output)"
+msgstr "Générer des rapports en mode debug (sortie HTML)"
+
+#: common/models.py:1153
+msgid "Page Size"
+msgstr "Taille de la page"
+
+#: common/models.py:1154
+msgid "Default page size for PDF reports"
+msgstr "Taille de page par défaut pour les rapports PDF"
+
+#: common/models.py:1164
+msgid "Enable Test Reports"
+msgstr "Activer les rapports de test"
+
+#: common/models.py:1165
+msgid "Enable generation of test reports"
+msgstr "Activer la génération de rapports de test"
+
+#: common/models.py:1171
+msgid "Attach Test Reports"
+msgstr "Joindre des rapports de test"
+
+#: common/models.py:1172
+msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item"
+msgstr "Lors de l'impression d'un rapport de test, joignez une copie du rapport de test à l'article en stock associé"
+
+#: common/models.py:1178
+msgid "Globally Unique Serials"
+msgstr ""
+
+#: common/models.py:1179
+msgid "Serial numbers for stock items must be globally unique"
+msgstr "Les numéros de série pour les articles en stock doivent être uniques au niveau global"
+
+#: common/models.py:1185
+msgid "Batch Code Template"
+msgstr "Modèle de code de lot"
+
+#: common/models.py:1186
+msgid "Template for generating default batch codes for stock items"
+msgstr "Modèle pour générer des codes par défaut pour les articles en stock"
+
+#: common/models.py:1191
+msgid "Stock Expiry"
+msgstr "Expiration du stock"
+
+#: common/models.py:1192
+msgid "Enable stock expiry functionality"
+msgstr "Activer la fonctionnalité d'expiration du stock"
+
+#: common/models.py:1198
+msgid "Sell Expired Stock"
+msgstr "Vendre le stock expiré"
+
+#: common/models.py:1199
+msgid "Allow sale of expired stock"
+msgstr "Autoriser la vente de stock expiré"
+
+#: common/models.py:1205
+msgid "Stock Stale Time"
+msgstr ""
+
+#: common/models.py:1206
+msgid "Number of days stock items are considered stale before expiring"
+msgstr ""
+
+#: common/models.py:1213
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:1223
+#: common/models.py:1214
msgid "Allow building with expired stock"
msgstr "Autoriser la construction avec un stock expiré"
-#: common/models.py:1229
+#: common/models.py:1220
msgid "Stock Ownership Control"
msgstr "Contrôle de la propriété des stocks"
-#: common/models.py:1230
+#: common/models.py:1221
msgid "Enable ownership control over stock locations and items"
msgstr "Activer le contrôle de la propriété sur les emplacements de stock et les articles"
-#: common/models.py:1236
+#: common/models.py:1227
msgid "Stock Location Default Icon"
msgstr "Icône par défaut de l'emplacement du stock"
-#: common/models.py:1237
+#: common/models.py:1228
msgid "Stock location default icon (empty means no icon)"
msgstr "Icône par défaut de l'emplacement du stock (vide signifie aucune icône)"
-#: common/models.py:1242
+#: common/models.py:1233
msgid "Build Order Reference Pattern"
msgstr "Modèle de référence de commande de construction"
-#: common/models.py:1243
+#: common/models.py:1234
msgid "Required pattern for generating Build Order reference field"
msgstr "Modèle requis pour générer le champ de référence de l'ordre de construction"
-#: common/models.py:1249
+#: common/models.py:1240
msgid "Sales Order Reference Pattern"
msgstr "Modèle de référence de bon de commande"
-#: common/models.py:1250
+#: common/models.py:1241
msgid "Required pattern for generating Sales Order reference field"
msgstr "Modèle requis pour générer le champ de référence du bon de commande"
-#: common/models.py:1256
+#: common/models.py:1247
msgid "Sales Order Default Shipment"
msgstr "Expédition par défaut du bon de commande"
-#: common/models.py:1257
+#: common/models.py:1248
msgid "Enable creation of default shipment with sales orders"
msgstr "Activer la création d'expédition par défaut avec les bons de commandes"
-#: common/models.py:1263
+#: common/models.py:1254
+msgid "Edit Completed Sales Orders"
+msgstr ""
+
+#: common/models.py:1255
+msgid "Allow editing of sales orders after they have been shipped or completed"
+msgstr ""
+
+#: common/models.py:1261
msgid "Purchase Order Reference Pattern"
msgstr "Modèle de référence de commande d'achat"
-#: common/models.py:1264
+#: common/models.py:1262
msgid "Required pattern for generating Purchase Order reference field"
msgstr ""
-#: common/models.py:1271
+#: common/models.py:1268
+msgid "Edit Completed Purchase Orders"
+msgstr ""
+
+#: common/models.py:1269
+msgid "Allow editing of purchase orders after they have been shipped or completed"
+msgstr ""
+
+#: common/models.py:1276
msgid "Enable password forgot"
msgstr "Activer les mots de passe oubliés"
-#: common/models.py:1272
+#: common/models.py:1277
msgid "Enable password forgot function on the login pages"
msgstr "Activer la fonction \"Mot de passe oublié\" sur les pages de connexion"
-#: common/models.py:1278
+#: common/models.py:1283
msgid "Enable registration"
msgstr "Activer les inscriptions"
-#: common/models.py:1279
+#: common/models.py:1284
msgid "Enable self-registration for users on the login pages"
msgstr "Activer l'auto-inscription pour les utilisateurs sur les pages de connexion"
-#: common/models.py:1285
+#: common/models.py:1290
msgid "Enable SSO"
msgstr "Activer le SSO"
-#: common/models.py:1286
+#: common/models.py:1291
msgid "Enable SSO on the login pages"
msgstr "Activer le SSO sur les pages de connexion"
-#: common/models.py:1292
+#: common/models.py:1297
msgid "Email required"
msgstr "Email requis"
-#: common/models.py:1293
+#: common/models.py:1298
msgid "Require user to supply mail on signup"
msgstr "Exiger que l'utilisateur fournisse un mail lors de l'inscription"
-#: common/models.py:1299
+#: common/models.py:1304
msgid "Auto-fill SSO users"
msgstr "Saisie automatique des utilisateurs SSO"
-#: common/models.py:1300
+#: common/models.py:1305
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/models.py:1306
+#: common/models.py:1311
msgid "Mail twice"
msgstr "Courriel en double"
-#: common/models.py:1307
+#: common/models.py:1312
msgid "On signup ask users twice for their mail"
msgstr "Lors de l'inscription, demandez deux fois aux utilisateurs leur mail"
-#: common/models.py:1313
+#: common/models.py:1318
msgid "Password twice"
msgstr "Mot de passe deux fois"
-#: common/models.py:1314
+#: common/models.py:1319
msgid "On signup ask users twice for their password"
msgstr "Lors de l'inscription, demandez deux fois aux utilisateurs leur mot de passe"
-#: common/models.py:1320
+#: common/models.py:1325
msgid "Group on signup"
msgstr "Grouper sur inscription"
-#: common/models.py:1321
+#: common/models.py:1326
msgid "Group to which new users are assigned on registration"
msgstr "Groupe auquel les nouveaux utilisateurs sont assignés lors de l'inscription"
-#: common/models.py:1327
+#: common/models.py:1332
msgid "Enforce MFA"
msgstr "Forcer le Multi-Factor-Authentication"
-#: common/models.py:1328
+#: common/models.py:1333
msgid "Users must use multifactor security."
msgstr "Les utilisateurs doivent utiliser une sécurité multi-facteurs."
-#: common/models.py:1334
+#: common/models.py:1339
msgid "Check plugins on startup"
msgstr "Vérifier les plugins au démarrage"
-#: common/models.py:1335
+#: common/models.py:1340
msgid "Check that all plugins are installed on startup - enable in container environments"
msgstr ""
-#: common/models.py:1342
+#: common/models.py:1347
msgid "Check plugin signatures"
msgstr "Vérifier les signatures du plugin"
-#: common/models.py:1343
+#: common/models.py:1348
msgid "Check and show signatures for plugins"
msgstr ""
-#: common/models.py:1350
+#: common/models.py:1355
msgid "Enable URL integration"
msgstr ""
-#: common/models.py:1351
+#: common/models.py:1356
msgid "Enable plugins to add URL routes"
msgstr ""
-#: common/models.py:1358
+#: common/models.py:1363
msgid "Enable navigation integration"
msgstr ""
-#: common/models.py:1359
+#: common/models.py:1364
msgid "Enable plugins to integrate into navigation"
msgstr ""
-#: common/models.py:1366
+#: common/models.py:1371
msgid "Enable app integration"
msgstr "Activer l'intégration de plugins"
-#: common/models.py:1367
+#: common/models.py:1372
msgid "Enable plugins to add apps"
msgstr "Activer l'intégration de plugin pour ajouter des apps"
-#: common/models.py:1374
+#: common/models.py:1379
msgid "Enable schedule integration"
msgstr ""
-#: common/models.py:1375
+#: common/models.py:1380
msgid "Enable plugins to run scheduled tasks"
msgstr ""
-#: common/models.py:1382
+#: common/models.py:1387
msgid "Enable event integration"
msgstr ""
-#: common/models.py:1383
+#: common/models.py:1388
msgid "Enable plugins to respond to internal events"
msgstr ""
-#: common/models.py:1402 common/models.py:1737
+#: common/models.py:1407 common/models.py:1749
msgid "Settings key (must be unique - case insensitive"
msgstr "Clé du paramètre (doit être unique - insensible à la casse)"
-#: common/models.py:1424
+#: common/models.py:1429
msgid "Show subscribed parts"
msgstr "Afficher les composants suivis"
-#: common/models.py:1425
+#: common/models.py:1430
msgid "Show subscribed parts on the homepage"
msgstr "Afficher les composants suivis sur l'écran d'accueil"
-#: common/models.py:1431
+#: common/models.py:1436
msgid "Show subscribed categories"
msgstr ""
-#: common/models.py:1432
+#: common/models.py:1437
msgid "Show subscribed part categories on the homepage"
msgstr ""
-#: common/models.py:1438
+#: common/models.py:1443
msgid "Show latest parts"
msgstr "Afficher les dernières pièces"
-#: common/models.py:1439
+#: common/models.py:1444
msgid "Show latest parts on the homepage"
msgstr "Afficher les derniers composants sur la page d'accueil"
-#: common/models.py:1445
+#: common/models.py:1450
msgid "Recent Part Count"
msgstr "Nombre de composants récents"
-#: common/models.py:1446
+#: common/models.py:1451
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:1452
+#: common/models.py:1457
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:1453
+#: common/models.py:1458
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:1459
+#: common/models.py:1464
msgid "Show recent stock changes"
msgstr "Afficher les dernières modifications du stock"
-#: common/models.py:1460
+#: common/models.py:1465
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:1466
+#: common/models.py:1471
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:1467
+#: common/models.py:1472
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:1473
+#: common/models.py:1478
msgid "Show low stock"
msgstr ""
-#: common/models.py:1474
+#: common/models.py:1479
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:1480
+#: common/models.py:1485
msgid "Show depleted stock"
msgstr "Afficher le stock épuisé"
-#: common/models.py:1481
+#: common/models.py:1486
msgid "Show depleted stock items on the homepage"
msgstr "Afficher les stocks épuisés sur la page d'accueil"
-#: common/models.py:1487
+#: common/models.py:1492
msgid "Show needed stock"
msgstr "Afficher le stock nécessaire"
-#: common/models.py:1488
+#: common/models.py:1493
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:1494
+#: common/models.py:1499
msgid "Show expired stock"
msgstr ""
-#: common/models.py:1495
+#: common/models.py:1500
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:1501
+#: common/models.py:1506
msgid "Show stale stock"
msgstr ""
-#: common/models.py:1502
+#: common/models.py:1507
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:1508
+#: common/models.py:1513
msgid "Show pending builds"
msgstr ""
-#: common/models.py:1509
+#: common/models.py:1514
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:1515
+#: common/models.py:1520
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:1516
+#: common/models.py:1521
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:1522
+#: common/models.py:1527
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:1523
+#: common/models.py:1528
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:1529
+#: common/models.py:1534
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:1530
+#: common/models.py:1535
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:1536
+#: common/models.py:1541
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:1537
+#: common/models.py:1542
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:1543
+#: common/models.py:1548
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:1544
+#: common/models.py:1549
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:1550
+#: common/models.py:1555
+msgid "Show News"
+msgstr ""
+
+#: common/models.py:1556
+msgid "Show news on the homepage"
+msgstr ""
+
+#: common/models.py:1562
msgid "Inline label display"
msgstr ""
-#: common/models.py:1551
+#: common/models.py:1563
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1557
+#: common/models.py:1569
msgid "Inline report display"
msgstr ""
-#: common/models.py:1558
+#: common/models.py:1570
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1564
+#: common/models.py:1576
msgid "Search Parts"
msgstr ""
-#: common/models.py:1565
+#: common/models.py:1577
msgid "Display parts in search preview window"
msgstr ""
-#: common/models.py:1571
+#: common/models.py:1583
msgid "Seach Supplier Parts"
msgstr ""
-#: common/models.py:1572
+#: common/models.py:1584
msgid "Display supplier parts in search preview window"
msgstr ""
-#: common/models.py:1578
+#: common/models.py:1590
msgid "Search Manufacturer Parts"
msgstr ""
-#: common/models.py:1579
+#: common/models.py:1591
msgid "Display manufacturer parts in search preview window"
msgstr ""
-#: common/models.py:1585
+#: common/models.py:1597
msgid "Hide Inactive Parts"
msgstr ""
-#: common/models.py:1586
+#: common/models.py:1598
msgid "Excluded inactive parts from search preview window"
msgstr ""
-#: common/models.py:1592
+#: common/models.py:1604
msgid "Search Categories"
msgstr ""
-#: common/models.py:1593
+#: common/models.py:1605
msgid "Display part categories in search preview window"
msgstr ""
-#: common/models.py:1599
+#: common/models.py:1611
msgid "Search Stock"
msgstr ""
-#: common/models.py:1600
+#: common/models.py:1612
msgid "Display stock items in search preview window"
msgstr ""
-#: common/models.py:1606
+#: common/models.py:1618
msgid "Hide Unavailable Stock Items"
msgstr ""
-#: common/models.py:1607
+#: common/models.py:1619
msgid "Exclude stock items which are not available from the search preview window"
msgstr ""
-#: common/models.py:1613
+#: common/models.py:1625
msgid "Search Locations"
msgstr ""
-#: common/models.py:1614
+#: common/models.py:1626
msgid "Display stock locations in search preview window"
msgstr ""
-#: common/models.py:1620
+#: common/models.py:1632
msgid "Search Companies"
msgstr ""
-#: common/models.py:1621
+#: common/models.py:1633
msgid "Display companies in search preview window"
msgstr ""
-#: common/models.py:1627
+#: common/models.py:1639
msgid "Search Build Orders"
msgstr ""
-#: common/models.py:1628
+#: common/models.py:1640
msgid "Display build orders in search preview window"
msgstr ""
-#: common/models.py:1634
+#: common/models.py:1646
msgid "Search Purchase Orders"
msgstr ""
-#: common/models.py:1635
+#: common/models.py:1647
msgid "Display purchase orders in search preview window"
msgstr ""
-#: common/models.py:1641
+#: common/models.py:1653
msgid "Exclude Inactive Purchase Orders"
msgstr ""
-#: common/models.py:1642
+#: common/models.py:1654
msgid "Exclude inactive purchase orders from search preview window"
msgstr ""
-#: common/models.py:1648
+#: common/models.py:1660
msgid "Search Sales Orders"
msgstr ""
-#: common/models.py:1649
+#: common/models.py:1661
msgid "Display sales orders in search preview window"
msgstr ""
-#: common/models.py:1655
+#: common/models.py:1667
msgid "Exclude Inactive Sales Orders"
msgstr ""
-#: common/models.py:1656
+#: common/models.py:1668
msgid "Exclude inactive sales orders from search preview window"
msgstr ""
-#: common/models.py:1662
+#: common/models.py:1674
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:1663
+#: common/models.py:1675
msgid "Number of results to show in each section of the search preview window"
msgstr ""
-#: common/models.py:1669
+#: common/models.py:1681
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:1670
+#: common/models.py:1682
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:1676
+#: common/models.py:1688
msgid "Escape Key Closes Forms"
msgstr ""
-#: common/models.py:1677
+#: common/models.py:1689
msgid "Use the escape key to close modal forms"
msgstr ""
-#: common/models.py:1683
+#: common/models.py:1695
msgid "Fixed Navbar"
msgstr ""
-#: common/models.py:1684
+#: common/models.py:1696
msgid "The navbar position is fixed to the top of the screen"
msgstr ""
-#: common/models.py:1690
+#: common/models.py:1702
msgid "Date Format"
msgstr "Format de date"
-#: common/models.py:1691
+#: common/models.py:1703
msgid "Preferred format for displaying dates"
msgstr "Format préféré pour l'affichage des dates"
-#: common/models.py:1705 part/templates/part/detail.html:41
+#: common/models.py:1717 part/templates/part/detail.html:41
msgid "Part Scheduling"
msgstr ""
-#: common/models.py:1706
+#: common/models.py:1718
msgid "Display part scheduling information"
msgstr ""
-#: common/models.py:1712
+#: common/models.py:1724
msgid "Table String Length"
msgstr ""
-#: common/models.py:1713
+#: common/models.py:1725
msgid "Maximimum length limit for strings displayed in table views"
msgstr ""
-#: common/models.py:1777
+#: common/models.py:1789
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1784 company/serializers.py:372
-#: company/templates/company/supplier_part.html:346 order/models.py:952
-#: templates/js/translated/part.js:1103 templates/js/translated/part.js:2225
+#: common/models.py:1796 company/serializers.py:393 order/models.py:975
+#: templates/js/translated/company.js:1164 templates/js/translated/part.js:1130
+#: templates/js/translated/pricing.js:354
msgid "Price"
msgstr "Prix"
-#: common/models.py:1785
+#: common/models.py:1797
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1945 common/models.py:2123
+#: common/models.py:1957 common/models.py:2135
msgid "Endpoint"
msgstr ""
-#: common/models.py:1946
+#: common/models.py:1958
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:1955
+#: common/models.py:1967
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:1960 part/models.py:935 plugin/models.py:100
-#: templates/js/translated/table_filters.js:34
-#: templates/js/translated/table_filters.js:112
-#: templates/js/translated/table_filters.js:324
-#: templates/js/translated/table_filters.js:450
+#: common/models.py:1972 part/admin.py:36 part/models.py:954
+#: plugin/models.py:100 templates/js/translated/table_filters.js:34
+#: templates/js/translated/table_filters.js:116
+#: templates/js/translated/table_filters.js:328
+#: templates/js/translated/table_filters.js:454
msgid "Active"
msgstr "Actif"
-#: common/models.py:1961
+#: common/models.py:1973
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:1975
+#: common/models.py:1987
msgid "Token"
msgstr "Jeton"
-#: common/models.py:1976
+#: common/models.py:1988
msgid "Token for access"
msgstr ""
-#: common/models.py:1983
+#: common/models.py:1995
msgid "Secret"
msgstr "Confidentiel"
-#: common/models.py:1984
+#: common/models.py:1996
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:2090
+#: common/models.py:2102
msgid "Message ID"
msgstr "ID message"
-#: common/models.py:2091
+#: common/models.py:2103
msgid "Unique identifier for this message"
msgstr "Identifiant unique pour ce message"
-#: common/models.py:2099
+#: common/models.py:2111
msgid "Host"
msgstr "Hôte"
-#: common/models.py:2100
+#: common/models.py:2112
msgid "Host from which this message was received"
msgstr "Hôte à partir duquel ce message a été reçu"
-#: common/models.py:2107
+#: common/models.py:2119
msgid "Header"
msgstr "Entête"
-#: common/models.py:2108
+#: common/models.py:2120
msgid "Header of this message"
msgstr "En-tête de ce message"
-#: common/models.py:2114
+#: common/models.py:2126
msgid "Body"
msgstr "Corps"
-#: common/models.py:2115
+#: common/models.py:2127
msgid "Body of this message"
msgstr "Corps de ce message"
-#: common/models.py:2124
+#: common/models.py:2136
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:2129
+#: common/models.py:2141
msgid "Worked on"
msgstr ""
-#: common/models.py:2130
+#: common/models.py:2142
msgid "Was the work on this message finished?"
msgstr "Le travail sur ce message est-il terminé ?"
+#: common/models.py:2302
+msgid "Id"
+msgstr ""
+
+#: common/models.py:2308 templates/js/translated/news.js:34
+msgid "Title"
+msgstr ""
+
+#: common/models.py:2318 templates/js/translated/news.js:50
+msgid "Published"
+msgstr ""
+
+#: common/models.py:2323 templates/InvenTree/settings/plugin.html:62
+#: templates/InvenTree/settings/plugin_settings.html:33
+#: templates/js/translated/news.js:46
+msgid "Author"
+msgstr ""
+
+#: common/models.py:2328 templates/js/translated/news.js:42
+msgid "Summary"
+msgstr ""
+
+#: common/models.py:2333
+msgid "Read"
+msgstr ""
+
+#: common/models.py:2334
+msgid "Was this news item read?"
+msgstr ""
+
#: common/notifications.py:293
#, python-brace-format
msgid "New {verbose_name}"
@@ -2785,15 +2838,15 @@ msgstr "Des articles d'un bon de commande ont été reçus"
msgid "Error raised by plugin"
msgstr ""
-#: common/views.py:85 order/templates/order/purchase_order_detail.html:23
-#: order/views.py:102 part/views.py:112
+#: common/views.py:85 order/templates/order/purchase_order_detail.html:25
+#: order/views.py:102 part/views.py:107
#: templates/patterns/wizard/upload.html:37
msgid "Upload File"
msgstr "Téléverser un fichier"
#: common/views.py:86 order/views.py:103
#: part/templates/part/import_wizard/ajax_match_fields.html:45
-#: part/views.py:113 templates/patterns/wizard/match_fields.html:51
+#: part/views.py:108 templates/patterns/wizard/match_fields.html:51
msgid "Match Fields"
msgstr ""
@@ -2816,298 +2869,301 @@ msgstr "Composantes importées"
msgid "Previous Step"
msgstr "Étape précédente"
-#: company/models.py:99
+#: company/models.py:103
msgid "Company description"
msgstr "Description de la société"
-#: company/models.py:100
+#: company/models.py:104
msgid "Description of the company"
msgstr "Description de la société"
-#: company/models.py:106 company/templates/company/company_base.html:100
+#: company/models.py:110 company/templates/company/company_base.html:100
#: templates/InvenTree/settings/plugin_settings.html:55
-#: templates/js/translated/company.js:448
+#: templates/js/translated/company.js:449
msgid "Website"
msgstr "Site web"
-#: company/models.py:107
+#: company/models.py:111
msgid "Company website URL"
msgstr "Site Web de la société"
-#: company/models.py:111 company/templates/company/company_base.html:118
+#: company/models.py:115 company/templates/company/company_base.html:118
msgid "Address"
msgstr "Adresse"
-#: company/models.py:112
+#: company/models.py:116
msgid "Company address"
msgstr ""
-#: company/models.py:115
+#: company/models.py:119
msgid "Phone number"
msgstr ""
-#: company/models.py:116
+#: company/models.py:120
msgid "Contact phone number"
msgstr ""
-#: company/models.py:119 company/templates/company/company_base.html:132
+#: company/models.py:123 company/templates/company/company_base.html:132
#: templates/InvenTree/settings/user.html:48
msgid "Email"
msgstr "E-mail"
-#: company/models.py:119
+#: company/models.py:123
msgid "Contact email address"
msgstr "Adresse e-mail de contact"
-#: company/models.py:122 company/templates/company/company_base.html:139
+#: company/models.py:126 company/templates/company/company_base.html:139
msgid "Contact"
msgstr ""
-#: company/models.py:123
+#: company/models.py:127
msgid "Point of contact"
msgstr "Point de contact"
-#: company/models.py:125
+#: company/models.py:129
msgid "Link to external company information"
msgstr "Lien externe vers les informations de l'entreprise"
-#: company/models.py:136 part/models.py:829
+#: company/models.py:140 part/models.py:848
msgid "Image"
msgstr ""
-#: company/models.py:139 company/templates/company/detail.html:185
+#: company/models.py:143 company/templates/company/detail.html:185
msgid "Company Notes"
msgstr ""
-#: company/models.py:141
+#: company/models.py:145
msgid "is customer"
msgstr "est client"
-#: company/models.py:141
+#: company/models.py:145
msgid "Do you sell items to this company?"
msgstr "Vendez-vous des objets à cette entreprise?"
-#: company/models.py:143
+#: company/models.py:147
msgid "is supplier"
msgstr "est fournisseur"
-#: company/models.py:143
+#: company/models.py:147
msgid "Do you purchase items from this company?"
msgstr "Est-ce que vous achetez des articles à cette entreprise?"
-#: company/models.py:145
+#: company/models.py:149
msgid "is manufacturer"
msgstr "est fabricant"
-#: company/models.py:145
+#: company/models.py:149
msgid "Does this company manufacture parts?"
msgstr "Cette entreprise fabrique-t-elle des pièces?"
-#: company/models.py:149 company/serializers.py:378
-#: company/templates/company/company_base.html:106 part/serializers.py:153
-#: part/serializers.py:184 stock/serializers.py:178
+#: company/models.py:153 company/serializers.py:399
+#: company/templates/company/company_base.html:106 part/models.py:2681
+#: part/serializers.py:153 part/serializers.py:181 stock/serializers.py:182
+#: templates/InvenTree/settings/pricing.html:59
msgid "Currency"
msgstr "Devise"
-#: company/models.py:152
+#: company/models.py:156
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:249 company/models.py:483 stock/models.py:600
-#: stock/serializers.py:85 stock/templates/stock/item_base.html:143
-#: templates/js/translated/bom.js:568
+#: company/models.py:253 company/models.py:487 stock/models.py:616
+#: stock/serializers.py:89 stock/templates/stock/item_base.html:143
+#: templates/js/translated/bom.js:581
msgid "Base Part"
msgstr ""
-#: company/models.py:253 company/models.py:487
+#: company/models.py:257 company/models.py:491
msgid "Select part"
msgstr ""
-#: company/models.py:264 company/templates/company/company_base.html:76
+#: company/models.py:268 company/templates/company/company_base.html:76
#: company/templates/company/manufacturer_part.html:90
#: company/templates/company/supplier_part.html:152
#: stock/templates/stock/item_base.html:210
-#: templates/js/translated/company.js:432
-#: templates/js/translated/company.js:533
-#: templates/js/translated/company.js:668
-#: templates/js/translated/company.js:956 templates/js/translated/part.js:236
-#: templates/js/translated/table_filters.js:427
+#: templates/js/translated/company.js:433
+#: templates/js/translated/company.js:534
+#: templates/js/translated/company.js:669
+#: templates/js/translated/company.js:957 templates/js/translated/part.js:232
+#: templates/js/translated/table_filters.js:431
msgid "Manufacturer"
msgstr "Fabricant"
-#: company/models.py:265 templates/js/translated/part.js:237
+#: company/models.py:269 templates/js/translated/part.js:233
msgid "Select manufacturer"
msgstr "Sélectionner un fabricant"
-#: company/models.py:271 company/templates/company/manufacturer_part.html:101
+#: company/models.py:275 company/templates/company/manufacturer_part.html:101
#: company/templates/company/supplier_part.html:160
-#: templates/js/translated/company.js:304
-#: templates/js/translated/company.js:532
-#: templates/js/translated/company.js:684
-#: templates/js/translated/company.js:975 templates/js/translated/order.js:2239
-#: templates/js/translated/part.js:247 templates/js/translated/part.js:1025
+#: templates/js/translated/company.js:305
+#: templates/js/translated/company.js:533
+#: templates/js/translated/company.js:685
+#: templates/js/translated/company.js:976 templates/js/translated/order.js:2278
+#: templates/js/translated/part.js:243 templates/js/translated/part.js:1052
msgid "MPN"
msgstr ""
-#: company/models.py:272 templates/js/translated/part.js:248
+#: company/models.py:276 templates/js/translated/part.js:244
msgid "Manufacturer Part Number"
msgstr ""
-#: company/models.py:278
+#: company/models.py:282
msgid "URL for external manufacturer part link"
msgstr ""
-#: company/models.py:284
+#: company/models.py:288
msgid "Manufacturer part description"
msgstr ""
-#: company/models.py:329 company/models.py:353 company/models.py:506
+#: company/models.py:333 company/models.py:357 company/models.py:510
#: company/templates/company/manufacturer_part.html:7
#: company/templates/company/manufacturer_part.html:24
#: stock/templates/stock/item_base.html:220
msgid "Manufacturer Part"
msgstr ""
-#: company/models.py:360
+#: company/models.py:364
msgid "Parameter name"
msgstr ""
-#: company/models.py:366
+#: company/models.py:370
#: report/templates/report/inventree_test_report_base.html:95
-#: stock/models.py:2097 templates/js/translated/company.js:581
-#: templates/js/translated/company.js:799 templates/js/translated/part.js:847
-#: templates/js/translated/stock.js:1360
+#: stock/models.py:2113 templates/js/translated/company.js:582
+#: templates/js/translated/company.js:800 templates/js/translated/part.js:874
+#: templates/js/translated/stock.js:1379
msgid "Value"
msgstr "Valeur"
-#: company/models.py:367
+#: company/models.py:371
msgid "Parameter value"
msgstr ""
-#: company/models.py:373 part/models.py:902 part/models.py:2434
-#: part/templates/part/part_base.html:286
+#: company/models.py:377 part/admin.py:26 part/models.py:921
+#: part/models.py:3047 part/templates/part/part_base.html:286
#: templates/InvenTree/settings/settings.html:349
-#: templates/js/translated/company.js:805 templates/js/translated/part.js:853
+#: templates/js/translated/company.js:806 templates/js/translated/part.js:880
msgid "Units"
msgstr ""
-#: company/models.py:374
+#: company/models.py:378
msgid "Parameter units"
msgstr ""
-#: company/models.py:451
+#: company/models.py:455
msgid "Linked manufacturer part must reference the same base part"
msgstr ""
-#: company/models.py:493 company/templates/company/company_base.html:81
-#: company/templates/company/supplier_part.html:136 order/models.py:263
-#: order/templates/order/order_base.html:121 part/bom.py:237 part/bom.py:265
+#: company/models.py:497 company/templates/company/company_base.html:81
+#: company/templates/company/supplier_part.html:136 order/models.py:264
+#: order/templates/order/order_base.html:121 part/bom.py:252 part/bom.py:280
#: stock/templates/stock/item_base.html:227
#: templates/email/overdue_purchase_order.html:16
-#: templates/js/translated/company.js:303
-#: templates/js/translated/company.js:436
-#: templates/js/translated/company.js:929 templates/js/translated/order.js:1975
-#: templates/js/translated/part.js:217 templates/js/translated/part.js:993
-#: templates/js/translated/table_filters.js:431
+#: templates/js/translated/company.js:304
+#: templates/js/translated/company.js:437
+#: templates/js/translated/company.js:930 templates/js/translated/order.js:2009
+#: templates/js/translated/part.js:213 templates/js/translated/part.js:1020
+#: templates/js/translated/pricing.js:231
+#: templates/js/translated/table_filters.js:435
msgid "Supplier"
msgstr "Fournisseur"
-#: company/models.py:494 templates/js/translated/part.js:218
+#: company/models.py:498 templates/js/translated/part.js:214
msgid "Select supplier"
msgstr ""
-#: company/models.py:499 company/templates/company/supplier_part.html:146
-#: part/bom.py:238 part/bom.py:266 templates/js/translated/company.js:302
-#: templates/js/translated/order.js:2226 templates/js/translated/part.js:228
-#: templates/js/translated/part.js:1011
+#: company/models.py:503 company/templates/company/supplier_part.html:146
+#: part/bom.py:253 part/bom.py:281 templates/js/translated/company.js:303
+#: templates/js/translated/order.js:2265 templates/js/translated/part.js:224
+#: templates/js/translated/part.js:1038 templates/js/translated/pricing.js:243
msgid "SKU"
msgstr ""
-#: company/models.py:500 templates/js/translated/part.js:229
+#: company/models.py:504 templates/js/translated/part.js:225
msgid "Supplier stock keeping unit"
msgstr ""
-#: company/models.py:507
+#: company/models.py:511
msgid "Select manufacturer part"
msgstr ""
-#: company/models.py:513
+#: company/models.py:517
msgid "URL for external supplier part link"
msgstr "Lien de la pièce du fournisseur externe"
-#: company/models.py:519
+#: company/models.py:523
msgid "Supplier part description"
msgstr "Description de la pièce du fournisseur"
-#: company/models.py:524 company/templates/company/supplier_part.html:181
-#: part/models.py:2687 part/templates/part/upload_bom.html:59
+#: company/models.py:528 company/templates/company/supplier_part.html:181
+#: part/admin.py:225 part/models.py:3300 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_po_report.html:92
-#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:403
+#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:397
msgid "Note"
msgstr "Note"
-#: company/models.py:528 part/models.py:1788
+#: company/models.py:532 part/models.py:1817
msgid "base cost"
msgstr "coût de base"
-#: company/models.py:528 part/models.py:1788
+#: company/models.py:532 part/models.py:1817
msgid "Minimum charge (e.g. stocking fee)"
msgstr "Frais minimums (par exemple frais de stock)"
-#: company/models.py:530 company/templates/company/supplier_part.html:167
-#: stock/models.py:626 stock/templates/stock/item_base.html:243
-#: templates/js/translated/company.js:991 templates/js/translated/stock.js:1978
+#: company/models.py:534 company/templates/company/supplier_part.html:167
+#: stock/admin.py:101 stock/models.py:642
+#: stock/templates/stock/item_base.html:243
+#: templates/js/translated/company.js:992 templates/js/translated/stock.js:1996
msgid "Packaging"
msgstr "Conditionnement"
-#: company/models.py:530
+#: company/models.py:534
msgid "Part packaging"
msgstr "Conditionnement de l'article"
-#: company/models.py:533 company/serializers.py:242
+#: company/models.py:537 company/serializers.py:242
#: company/templates/company/supplier_part.html:174
-#: templates/js/translated/company.js:996 templates/js/translated/order.js:820
-#: templates/js/translated/order.js:1215 templates/js/translated/order.js:1470
-#: templates/js/translated/order.js:2270 templates/js/translated/order.js:2287
-#: templates/js/translated/part.js:1043 templates/js/translated/part.js:1095
+#: templates/js/translated/company.js:997 templates/js/translated/order.js:826
+#: templates/js/translated/order.js:1249 templates/js/translated/order.js:1504
+#: templates/js/translated/order.js:2309 templates/js/translated/order.js:2326
+#: templates/js/translated/part.js:1070 templates/js/translated/part.js:1122
msgid "Pack Quantity"
msgstr "Nombre de paquet"
-#: company/models.py:534
+#: company/models.py:538
msgid "Unit quantity supplied in a single pack"
msgstr "Nombre d'unités fournies dans un seul paquet"
-#: company/models.py:540 part/models.py:1790
+#: company/models.py:544 part/models.py:1819
msgid "multiple"
msgstr "plusieurs"
-#: company/models.py:540
+#: company/models.py:544
msgid "Order multiple"
msgstr "Commande multiple"
-#: company/models.py:548 company/templates/company/supplier_part.html:115
+#: company/models.py:552 company/templates/company/supplier_part.html:115
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:18
-#: templates/js/translated/bom.js:963 templates/js/translated/build.js:1873
-#: templates/js/translated/build.js:2754 templates/js/translated/part.js:598
-#: templates/js/translated/part.js:601
-#: templates/js/translated/table_filters.js:194
+#: templates/js/translated/bom.js:1117 templates/js/translated/build.js:1873
+#: templates/js/translated/build.js:2754 templates/js/translated/part.js:612
+#: templates/js/translated/part.js:615
+#: templates/js/translated/table_filters.js:198
msgid "Available"
msgstr "Disponible"
-#: company/models.py:549
+#: company/models.py:553
msgid "Quantity available from supplier"
msgstr "Quantité disponible auprès du fournisseur"
-#: company/models.py:553
+#: company/models.py:557
msgid "Availability Updated"
msgstr ""
-#: company/models.py:554
+#: company/models.py:558
msgid "Date of last update of availability data"
msgstr ""
-#: company/models.py:682
+#: company/models.py:686
msgid "last updated"
msgstr ""
@@ -3121,7 +3177,7 @@ msgstr "Code Devise"
#: company/templates/company/company_base.html:8
#: company/templates/company/company_base.html:12
-#: templates/InvenTree/search.html:179 templates/js/translated/company.js:421
+#: templates/InvenTree/search.html:179 templates/js/translated/company.js:422
msgid "Company"
msgstr "Société"
@@ -3139,7 +3195,7 @@ msgid "Edit company information"
msgstr "Éditer les informations sur la société"
#: company/templates/company/company_base.html:34
-#: templates/js/translated/company.js:364
+#: templates/js/translated/company.js:365
msgid "Edit Company"
msgstr "Editer la société"
@@ -3162,14 +3218,14 @@ msgstr "Ajouter une nouvelle image"
msgid "Download image from URL"
msgstr "Télécharger l'image depuis l'URL"
-#: company/templates/company/company_base.html:86 order/models.py:646
-#: order/templates/order/sales_order_base.html:116 stock/models.py:645
-#: stock/models.py:646 stock/serializers.py:813
+#: company/templates/company/company_base.html:86 order/models.py:665
+#: order/templates/order/sales_order_base.html:116 stock/models.py:661
+#: stock/models.py:662 stock/serializers.py:812
#: stock/templates/stock/item_base.html:399
#: templates/email/overdue_sales_order.html:16
-#: templates/js/translated/company.js:428 templates/js/translated/order.js:2808
-#: templates/js/translated/stock.js:2569
-#: templates/js/translated/table_filters.js:435
+#: templates/js/translated/company.js:429 templates/js/translated/order.js:2819
+#: templates/js/translated/stock.js:2587
+#: templates/js/translated/table_filters.js:439
msgid "Customer"
msgstr "Client"
@@ -3182,12 +3238,12 @@ msgid "Phone"
msgstr "Téléphone"
#: company/templates/company/company_base.html:208
-#: part/templates/part/part_base.html:499
+#: part/templates/part/part_base.html:514
msgid "Upload Image"
msgstr "Charger une image"
#: company/templates/company/company_base.html:223
-#: part/templates/part/part_base.html:554
+#: part/templates/part/part_base.html:569
msgid "Download Image"
msgstr "Télécharger une image"
@@ -3203,7 +3259,7 @@ msgstr "Créer une nouvelle pièce fournisseur"
#: company/templates/company/detail.html:19
#: company/templates/company/manufacturer_part.html:123
-#: part/templates/part/detail.html:359
+#: part/templates/part/detail.html:357
msgid "New Supplier Part"
msgstr "Nouvelle pièce fournisseur"
@@ -3232,7 +3288,7 @@ msgstr "Pièces du fabricant"
msgid "Create new manufacturer part"
msgstr "Créer une nouvelle pièce de fabricant"
-#: company/templates/company/detail.html:66 part/templates/part/detail.html:389
+#: company/templates/company/detail.html:66 part/templates/part/detail.html:387
msgid "New Manufacturer Part"
msgstr "Nouvelle pièce de fabricant"
@@ -3246,7 +3302,7 @@ msgstr "Stock fournisseur"
#: order/templates/order/order_base.html:13
#: order/templates/order/purchase_orders.html:8
#: order/templates/order/purchase_orders.html:12
-#: part/templates/part/detail.html:84 part/templates/part/part_sidebar.html:37
+#: part/templates/part/detail.html:84 part/templates/part/part_sidebar.html:35
#: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200
#: templates/InvenTree/settings/sidebar.html:49
#: templates/js/translated/search.js:293 templates/navbar.html:50
@@ -3269,7 +3325,7 @@ msgstr "Nouvelle commande achat"
#: order/templates/order/sales_order_base.html:13
#: order/templates/order/sales_orders.html:8
#: order/templates/order/sales_orders.html:15
-#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:41
+#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:39
#: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220
#: templates/InvenTree/settings/sidebar.html:51
#: templates/js/translated/search.js:317 templates/navbar.html:61
@@ -3297,8 +3353,7 @@ msgid "Supplier List"
msgstr "Liste des Fournisseurs"
#: company/templates/company/manufacturer_part.html:15 company/views.py:38
-#: part/templates/part/prices.html:172 templates/InvenTree/search.html:181
-#: templates/navbar.html:49
+#: templates/InvenTree/search.html:181 templates/navbar.html:49
msgid "Manufacturers"
msgstr "Fabricants"
@@ -3309,12 +3364,12 @@ msgid "Order part"
msgstr "Article de la commande"
#: company/templates/company/manufacturer_part.html:39
-#: templates/js/translated/company.js:716
+#: templates/js/translated/company.js:717
msgid "Edit manufacturer part"
msgstr "Modifier la pièce du fabricant"
#: company/templates/company/manufacturer_part.html:43
-#: templates/js/translated/company.js:717
+#: templates/js/translated/company.js:718
msgid "Delete manufacturer part"
msgstr "Supprimer la pièce de fabricant"
@@ -3329,35 +3384,36 @@ msgstr "Aucune information sur le fabricant disponible"
#: company/templates/company/manufacturer_part.html:119
#: company/templates/company/supplier_part.html:15 company/views.py:32
-#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:168
+#: part/admin.py:46 part/templates/part/part_sidebar.html:33
#: templates/InvenTree/search.html:191 templates/navbar.html:48
msgid "Suppliers"
msgstr "Fournisseurs"
#: company/templates/company/manufacturer_part.html:136
-#: part/templates/part/detail.html:370
+#: part/templates/part/detail.html:368
msgid "Delete supplier parts"
msgstr "Supprimer les pièces du fournisseur"
#: company/templates/company/manufacturer_part.html:136
#: company/templates/company/manufacturer_part.html:183
-#: part/templates/part/detail.html:371 part/templates/part/detail.html:401
-#: templates/js/translated/forms.js:455 templates/js/translated/helpers.js:36
-#: users/models.py:222
+#: part/templates/part/detail.html:369 part/templates/part/detail.html:399
+#: templates/js/translated/forms.js:455 templates/js/translated/helpers.js:38
+#: templates/js/translated/part.js:340 templates/js/translated/stock.js:184
+#: users/models.py:224
msgid "Delete"
msgstr "Supprimer"
#: company/templates/company/manufacturer_part.html:166
#: company/templates/company/manufacturer_part_sidebar.html:5
#: part/templates/part/category_sidebar.html:19
-#: part/templates/part/detail.html:186 part/templates/part/part_sidebar.html:8
+#: part/templates/part/detail.html:184 part/templates/part/part_sidebar.html:8
msgid "Parameters"
msgstr "Paramètres"
#: company/templates/company/manufacturer_part.html:170
-#: part/templates/part/detail.html:191
+#: part/templates/part/detail.html:189
#: templates/InvenTree/settings/category.html:12
-#: templates/InvenTree/settings/part.html:68
+#: templates/InvenTree/settings/part.html:62
msgid "New Parameter"
msgstr "Nouveau paramètre"
@@ -3366,7 +3422,7 @@ msgid "Delete parameters"
msgstr "Supprimer les paramètres"
#: company/templates/company/manufacturer_part.html:245
-#: part/templates/part/detail.html:827
+#: part/templates/part/detail.html:825
msgid "Add Parameter"
msgstr "Ajouter un paramètre"
@@ -3387,10 +3443,10 @@ msgid "Assigned Stock Items"
msgstr "Articles en stock assignés"
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:609
+#: company/templates/company/supplier_part.html:24 stock/models.py:625
#: stock/templates/stock/item_base.html:236
-#: templates/js/translated/company.js:945 templates/js/translated/order.js:1135
-#: templates/js/translated/stock.js:1935
+#: templates/js/translated/company.js:946 templates/js/translated/order.js:1169
+#: templates/js/translated/stock.js:1954
msgid "Supplier Part"
msgstr "Pièce fournisseur"
@@ -3441,13 +3497,13 @@ msgstr ""
#: company/templates/company/supplier_part.html:64
#: company/templates/company/supplier_part.html:65
-#: templates/js/translated/company.js:247
+#: templates/js/translated/company.js:248
msgid "Edit Supplier Part"
msgstr ""
#: company/templates/company/supplier_part.html:69
#: company/templates/company/supplier_part.html:70
-#: templates/js/translated/company.js:222
+#: templates/js/translated/company.js:223
msgid "Duplicate Supplier Part"
msgstr ""
@@ -3482,7 +3538,7 @@ msgstr ""
#: company/templates/company/supplier_part.html:204
#: part/templates/part/detail.html:25 stock/templates/stock/location.html:198
-#: templates/js/translated/stock.js:435
+#: templates/js/translated/stock.js:454
msgid "New Stock Item"
msgstr ""
@@ -3492,47 +3548,20 @@ msgid "Supplier Part Orders"
msgstr ""
#: company/templates/company/supplier_part.html:242
-#: part/templates/part/prices.html:10
msgid "Pricing Information"
msgstr "Information sur les prix"
#: company/templates/company/supplier_part.html:247
-#: company/templates/company/supplier_part.html:388
-#: part/templates/part/prices.html:276 templates/js/translated/part.js:2297
+#: company/templates/company/supplier_part.html:317
+#: templates/js/translated/pricing.js:413
msgid "Add Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:282
+#: company/templates/company/supplier_part.html:285
msgid "Link Barcode to Supplier Part"
msgstr ""
-#: company/templates/company/supplier_part.html:300
-msgid "No price break information found"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:314
-#: templates/js/translated/part.js:2307
-msgid "Delete Price Break"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:328
-#: templates/js/translated/part.js:2321
-msgid "Edit Price Break"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:353
-msgid "Edit price break"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:354
-msgid "Delete price break"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:363
-msgid "Last updated"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:444
+#: company/templates/company/supplier_part.html:375
msgid "Update Part Availability"
msgstr ""
@@ -3542,9 +3571,9 @@ msgstr ""
#: stock/templates/stock/stock_app_base.html:10
#: templates/InvenTree/search.html:153
#: templates/InvenTree/settings/sidebar.html:45
-#: templates/js/translated/part.js:749 templates/js/translated/part.js:1335
-#: templates/js/translated/part.js:1501 templates/js/translated/stock.js:959
-#: templates/js/translated/stock.js:1760 templates/navbar.html:31
+#: templates/js/translated/part.js:763 templates/js/translated/part.js:1356
+#: templates/js/translated/part.js:1512 templates/js/translated/stock.js:978
+#: templates/js/translated/stock.js:1779 templates/navbar.html:31
msgid "Stock"
msgstr ""
@@ -3558,19 +3587,20 @@ msgid "Supplier Part Pricing"
msgstr ""
#: company/templates/company/supplier_part_navbar.html:29
-#: part/templates/part/part_sidebar.html:31
+#: part/templates/part/part_sidebar.html:30
+#: templates/InvenTree/settings/sidebar.html:35
msgid "Pricing"
msgstr "Tarif"
#: company/templates/company/supplier_part_sidebar.html:5
#: part/templates/part/category.html:198
-#: part/templates/part/category_sidebar.html:17
+#: part/templates/part/category_sidebar.html:17 stock/admin.py:31
#: stock/templates/stock/location.html:168
#: stock/templates/stock/location.html:182
#: stock/templates/stock/location.html:194
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:155 templates/js/translated/search.js:225
-#: templates/js/translated/stock.js:2446 users/models.py:40
+#: templates/js/translated/stock.js:2464 users/models.py:40
msgid "Stock Items"
msgstr "Éléments en stock"
@@ -3672,438 +3702,439 @@ msgstr ""
msgid "No matching purchase order found"
msgstr ""
-#: order/models.py:82
+#: order/models.py:83
msgid "Order description"
msgstr "Description de la commande"
-#: order/models.py:84 order/models.py:1260
+#: order/models.py:85 order/models.py:1283
msgid "Link to external page"
msgstr "Lien vers une page externe"
-#: order/models.py:92
+#: order/models.py:93
msgid "Created By"
msgstr "Créé par"
-#: order/models.py:99
+#: order/models.py:100
msgid "User or group responsible for this order"
msgstr ""
-#: order/models.py:104
+#: order/models.py:105
msgid "Order notes"
msgstr "Notes de commande"
-#: order/models.py:241 order/models.py:633
+#: order/models.py:242 order/models.py:652
msgid "Order reference"
msgstr ""
-#: order/models.py:249 order/models.py:651
+#: order/models.py:250 order/models.py:670
msgid "Purchase order status"
msgstr ""
-#: order/models.py:264
+#: order/models.py:265
msgid "Company from which the items are being ordered"
msgstr ""
-#: order/models.py:267 order/templates/order/order_base.html:133
-#: templates/js/translated/order.js:1984
+#: order/models.py:268 order/templates/order/order_base.html:133
+#: templates/js/translated/order.js:2018
msgid "Supplier Reference"
msgstr ""
-#: order/models.py:267
+#: order/models.py:268
msgid "Supplier order reference code"
msgstr ""
-#: order/models.py:274
+#: order/models.py:275
msgid "received by"
msgstr "reçu par"
-#: order/models.py:279
+#: order/models.py:280
msgid "Issue Date"
msgstr "Date d'émission"
-#: order/models.py:280
+#: order/models.py:281
msgid "Date order was issued"
msgstr "Date d'émission de la commande"
-#: order/models.py:285
+#: order/models.py:286
msgid "Target Delivery Date"
msgstr "Date de livraison cible"
-#: order/models.py:286
+#: order/models.py:287
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr "Date prévue pour la livraison de la commande. La commande sera en retard après cette date."
-#: order/models.py:292
+#: order/models.py:293
msgid "Date order was completed"
msgstr "Date à laquelle la commande a été complété"
-#: order/models.py:328
+#: order/models.py:332
msgid "Part supplier must match PO supplier"
msgstr ""
-#: order/models.py:472
+#: order/models.py:491
msgid "Quantity must be a positive number"
msgstr ""
-#: order/models.py:647
+#: order/models.py:666
msgid "Company to which the items are being sold"
msgstr ""
-#: order/models.py:658
+#: order/models.py:677
msgid "Customer Reference "
msgstr ""
-#: order/models.py:658
+#: order/models.py:677
msgid "Customer order reference code"
msgstr ""
-#: order/models.py:663
+#: order/models.py:682
msgid "Target date for order completion. Order will be overdue after this date."
msgstr ""
-#: order/models.py:666 order/models.py:1218
-#: templates/js/translated/order.js:2855 templates/js/translated/order.js:3017
+#: order/models.py:685 order/models.py:1241
+#: templates/js/translated/order.js:2866 templates/js/translated/order.js:3028
msgid "Shipment Date"
msgstr "Nom de l’expédition"
-#: order/models.py:673
+#: order/models.py:692
msgid "shipped by"
msgstr "expédié par"
-#: order/models.py:728
+#: order/models.py:747
msgid "Order cannot be completed as no parts have been assigned"
msgstr "La commande ne peut pas être terminée car aucune pièce n'a été assignée"
-#: order/models.py:732
+#: order/models.py:751
msgid "Only a pending order can be marked as complete"
msgstr "Seule une commande en attente peut être marquée comme terminée"
-#: order/models.py:735 templates/js/translated/order.js:419
+#: order/models.py:754 templates/js/translated/order.js:419
msgid "Order cannot be completed as there are incomplete shipments"
msgstr "La commande ne peut pas être terminée car il y a des envois incomplets"
-#: order/models.py:738
+#: order/models.py:757
msgid "Order cannot be completed as there are incomplete line items"
msgstr ""
-#: order/models.py:912
+#: order/models.py:935
msgid "Item quantity"
msgstr "Nombre d'élement"
-#: order/models.py:918
+#: order/models.py:941
msgid "Line item reference"
msgstr ""
-#: order/models.py:920
+#: order/models.py:943
msgid "Line item notes"
msgstr ""
-#: order/models.py:925
+#: order/models.py:948
msgid "Target shipping date for this line item"
msgstr ""
-#: order/models.py:943
+#: order/models.py:966
msgid "Context"
msgstr "Contexte"
-#: order/models.py:944
+#: order/models.py:967
msgid "Additional context for this line"
msgstr ""
-#: order/models.py:953
+#: order/models.py:976
msgid "Unit price"
msgstr ""
-#: order/models.py:983
+#: order/models.py:1006
msgid "Supplier part must match supplier"
msgstr ""
-#: order/models.py:991
+#: order/models.py:1014
msgid "deleted"
msgstr ""
-#: order/models.py:997 order/models.py:1077 order/models.py:1118
-#: order/models.py:1212 order/models.py:1344
-#: templates/js/translated/order.js:3473
+#: order/models.py:1020 order/models.py:1100 order/models.py:1141
+#: order/models.py:1235 order/models.py:1367
+#: templates/js/translated/order.js:3484
msgid "Order"
msgstr "Commande"
-#: order/models.py:998 order/models.py:1077
+#: order/models.py:1021 order/models.py:1100
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report.html:76
#: stock/templates/stock/item_base.html:182
#: templates/email/overdue_purchase_order.html:15
-#: templates/js/translated/order.js:619 templates/js/translated/order.js:1136
-#: templates/js/translated/order.js:1959 templates/js/translated/part.js:970
-#: templates/js/translated/stock.js:1915 templates/js/translated/stock.js:2550
+#: templates/js/translated/order.js:619 templates/js/translated/order.js:1170
+#: templates/js/translated/order.js:1993 templates/js/translated/part.js:997
+#: templates/js/translated/pricing.js:515 templates/js/translated/stock.js:1934
+#: templates/js/translated/stock.js:2568
msgid "Purchase Order"
msgstr "Commande d’achat"
-#: order/models.py:1016
+#: order/models.py:1039
msgid "Supplier part"
msgstr "Pièce fournisseur"
-#: order/models.py:1023 order/templates/order/order_base.html:178
-#: templates/js/translated/order.js:1641 templates/js/translated/order.js:2373
-#: templates/js/translated/part.js:1087 templates/js/translated/part.js:1125
-#: templates/js/translated/table_filters.js:346
+#: order/models.py:1046 order/templates/order/order_base.html:178
+#: templates/js/translated/order.js:1675 templates/js/translated/order.js:2396
+#: templates/js/translated/part.js:1114 templates/js/translated/part.js:1146
+#: templates/js/translated/table_filters.js:350
msgid "Received"
msgstr "Reçu"
-#: order/models.py:1024
+#: order/models.py:1047
msgid "Number of items received"
msgstr "Nombre d'éléments reçus"
-#: order/models.py:1031 part/templates/part/prices.html:181 stock/models.py:741
-#: stock/serializers.py:169 stock/templates/stock/item_base.html:189
-#: templates/js/translated/stock.js:1966
+#: order/models.py:1054 stock/models.py:757 stock/serializers.py:173
+#: stock/templates/stock/item_base.html:189
+#: templates/js/translated/stock.js:1985
msgid "Purchase Price"
msgstr "Prix d'achat"
-#: order/models.py:1032
+#: order/models.py:1055
msgid "Unit purchase price"
msgstr ""
-#: order/models.py:1040
+#: order/models.py:1063
msgid "Where does the Purchaser want this item to be stored?"
msgstr ""
-#: order/models.py:1106
+#: order/models.py:1129
msgid "Virtual part cannot be assigned to a sales order"
msgstr ""
-#: order/models.py:1111
+#: order/models.py:1134
msgid "Only salable parts can be assigned to a sales order"
msgstr ""
-#: order/models.py:1137 part/templates/part/part_pricing.html:115
-#: part/templates/part/prices.html:121 part/templates/part/prices.html:290
+#: order/models.py:1160 part/templates/part/part_pricing.html:107
+#: part/templates/part/prices.html:139 templates/js/translated/pricing.js:665
msgid "Sale Price"
msgstr "Prix de vente"
-#: order/models.py:1138
+#: order/models.py:1161
msgid "Unit sale price"
msgstr ""
-#: order/models.py:1143
+#: order/models.py:1166
msgid "Shipped quantity"
msgstr ""
-#: order/models.py:1219
+#: order/models.py:1242
msgid "Date of shipment"
msgstr ""
-#: order/models.py:1226
+#: order/models.py:1249
msgid "Checked By"
msgstr ""
-#: order/models.py:1227
+#: order/models.py:1250
msgid "User who checked this shipment"
msgstr ""
-#: order/models.py:1234 order/models.py:1419 order/serializers.py:1228
-#: order/serializers.py:1356 templates/js/translated/model_renderers.js:314
+#: order/models.py:1257 order/models.py:1442 order/serializers.py:1221
+#: order/serializers.py:1349 templates/js/translated/model_renderers.js:314
msgid "Shipment"
msgstr "Envoi"
-#: order/models.py:1235
+#: order/models.py:1258
msgid "Shipment number"
msgstr ""
-#: order/models.py:1239
+#: order/models.py:1262
msgid "Shipment notes"
msgstr ""
-#: order/models.py:1245
+#: order/models.py:1268
msgid "Tracking Number"
msgstr ""
-#: order/models.py:1246
+#: order/models.py:1269
msgid "Shipment tracking information"
msgstr ""
-#: order/models.py:1253
+#: order/models.py:1276
msgid "Invoice Number"
msgstr ""
-#: order/models.py:1254
+#: order/models.py:1277
msgid "Reference number for associated invoice"
msgstr ""
-#: order/models.py:1272
+#: order/models.py:1295
msgid "Shipment has already been sent"
msgstr ""
-#: order/models.py:1275
+#: order/models.py:1298
msgid "Shipment has no allocated stock items"
msgstr ""
-#: order/models.py:1378 order/models.py:1380
+#: order/models.py:1401 order/models.py:1403
msgid "Stock item has not been assigned"
msgstr ""
-#: order/models.py:1384
+#: order/models.py:1407
msgid "Cannot allocate stock item to a line with a different part"
msgstr ""
-#: order/models.py:1386
+#: order/models.py:1409
msgid "Cannot allocate stock to a line without a part"
msgstr ""
-#: order/models.py:1389
+#: order/models.py:1412
msgid "Allocation quantity cannot exceed stock quantity"
msgstr ""
-#: order/models.py:1399 order/serializers.py:1090
+#: order/models.py:1422 order/serializers.py:1083
msgid "Quantity must be 1 for serialized stock item"
msgstr ""
-#: order/models.py:1402
+#: order/models.py:1425
msgid "Sales order does not match shipment"
msgstr ""
-#: order/models.py:1403
+#: order/models.py:1426
msgid "Shipment does not match sales order"
msgstr ""
-#: order/models.py:1411
+#: order/models.py:1434
msgid "Line"
msgstr "Ligne"
-#: order/models.py:1420
+#: order/models.py:1443
msgid "Sales order shipment reference"
msgstr ""
-#: order/models.py:1433 templates/js/translated/notification.js:55
+#: order/models.py:1456 templates/js/translated/notification.js:55
msgid "Item"
msgstr "Article"
-#: order/models.py:1434
+#: order/models.py:1457
msgid "Select stock item to allocate"
msgstr ""
-#: order/models.py:1437
+#: order/models.py:1460
msgid "Enter stock allocation quantity"
msgstr ""
-#: order/serializers.py:67
+#: order/serializers.py:63
msgid "Price currency"
msgstr "Devise *"
-#: order/serializers.py:199
+#: order/serializers.py:193
msgid "Order cannot be cancelled"
msgstr "La commande ne peut pas être annulée"
-#: order/serializers.py:209 order/serializers.py:1108
+#: order/serializers.py:203 order/serializers.py:1101
msgid "Allow order to be closed with incomplete line items"
msgstr ""
-#: order/serializers.py:220 order/serializers.py:1119
+#: order/serializers.py:214 order/serializers.py:1112
msgid "Order has incomplete line items"
msgstr ""
-#: order/serializers.py:311
+#: order/serializers.py:305
msgid "Order is not open"
msgstr "La commande n'est pas ouverte"
-#: order/serializers.py:335
+#: order/serializers.py:327
msgid "Purchase price currency"
msgstr "Devise du prix d'achat"
-#: order/serializers.py:354
+#: order/serializers.py:346
msgid "Supplier part must be specified"
msgstr ""
-#: order/serializers.py:359
+#: order/serializers.py:351
msgid "Purchase order must be specified"
msgstr ""
-#: order/serializers.py:365
+#: order/serializers.py:357
msgid "Supplier must match purchase order"
msgstr ""
-#: order/serializers.py:366
+#: order/serializers.py:358
msgid "Purchase order must match supplier"
msgstr ""
-#: order/serializers.py:430 order/serializers.py:1196
+#: order/serializers.py:421 order/serializers.py:1189
msgid "Line Item"
msgstr ""
-#: order/serializers.py:436
+#: order/serializers.py:427
msgid "Line item does not match purchase order"
msgstr ""
-#: order/serializers.py:446 order/serializers.py:557
+#: order/serializers.py:437 order/serializers.py:548
msgid "Select destination location for received items"
msgstr ""
-#: order/serializers.py:465 templates/js/translated/order.js:1497
+#: order/serializers.py:456 templates/js/translated/order.js:1531
msgid "Enter batch code for incoming stock items"
msgstr ""
-#: order/serializers.py:473 templates/js/translated/order.js:1508
+#: order/serializers.py:464 templates/js/translated/order.js:1542
msgid "Enter serial numbers for incoming stock items"
msgstr "Entrez les numéros de série pour les articles de stock entrants"
-#: order/serializers.py:487
+#: order/serializers.py:478
msgid "Unique identifier field"
msgstr "Champ d'identifiant unique"
-#: order/serializers.py:501
+#: order/serializers.py:492
msgid "Barcode is already in use"
msgstr "Le code-barres est déjà utilisé"
-#: order/serializers.py:527
+#: order/serializers.py:518
msgid "An integer quantity must be provided for trackable parts"
msgstr "Une quantité entière doit être fournie pour les pièces tracables"
-#: order/serializers.py:573
+#: order/serializers.py:564
msgid "Line items must be provided"
msgstr ""
-#: order/serializers.py:590
+#: order/serializers.py:581
msgid "Destination location must be specified"
msgstr ""
-#: order/serializers.py:601
+#: order/serializers.py:592
msgid "Supplied barcode values must be unique"
msgstr ""
-#: order/serializers.py:907
+#: order/serializers.py:900
msgid "Sale price currency"
msgstr ""
-#: order/serializers.py:988
+#: order/serializers.py:981
msgid "No shipment details provided"
msgstr ""
-#: order/serializers.py:1051 order/serializers.py:1205
+#: order/serializers.py:1044 order/serializers.py:1198
msgid "Line item is not associated with this order"
msgstr ""
-#: order/serializers.py:1073
+#: order/serializers.py:1066
msgid "Quantity must be positive"
msgstr ""
-#: order/serializers.py:1218
+#: order/serializers.py:1211
msgid "Enter serial numbers to allocate"
msgstr "Entrez les numéros de série à allouer"
-#: order/serializers.py:1240 order/serializers.py:1364
+#: order/serializers.py:1233 order/serializers.py:1357
msgid "Shipment has already been shipped"
msgstr ""
-#: order/serializers.py:1243 order/serializers.py:1367
+#: order/serializers.py:1236 order/serializers.py:1360
msgid "Shipment is not associated with this order"
msgstr ""
-#: order/serializers.py:1297
+#: order/serializers.py:1290
msgid "No match found for the following serial numbers"
msgstr "Aucune correspondance trouvée pour les numéros de série suivants"
-#: order/serializers.py:1307
+#: order/serializers.py:1300
msgid "The following serial numbers are already allocated"
msgstr "Les numéros de série suivants sont déjà alloués"
@@ -4154,15 +4185,16 @@ msgid "Duplicate order"
msgstr ""
#: order/templates/order/order_base.html:61
-msgid "Place order"
-msgstr "Passer la commande"
+#: order/templates/order/order_base.html:62
+msgid "Submit Order"
+msgstr ""
#: order/templates/order/order_base.html:65
msgid "Receive items"
msgstr "Recevoir objet"
#: order/templates/order/order_base.html:67
-#: order/templates/order/purchase_order_detail.html:30
+#: order/templates/order/purchase_order_detail.html:32
msgid "Receive Items"
msgstr "Réception d'articles"
@@ -4248,9 +4280,9 @@ msgstr ""
#: part/templates/part/import_wizard/match_references.html:49
#: templates/js/translated/bom.js:102 templates/js/translated/build.js:479
#: templates/js/translated/build.js:631 templates/js/translated/build.js:2078
-#: templates/js/translated/order.js:1084 templates/js/translated/order.js:1586
-#: templates/js/translated/order.js:3092 templates/js/translated/stock.js:625
-#: templates/js/translated/stock.js:793
+#: templates/js/translated/order.js:1118 templates/js/translated/order.js:1620
+#: templates/js/translated/order.js:3103 templates/js/translated/stock.js:644
+#: templates/js/translated/stock.js:812
#: templates/patterns/wizard/match_fields.html:70
msgid "Remove row"
msgstr "Supprimer la ligne"
@@ -4278,42 +4310,42 @@ msgstr ""
msgid "Received Stock"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:17
+#: order/templates/order/purchase_order_detail.html:19
msgid "Purchase Order Items"
msgstr "Articles de la commande d'achat"
-#: order/templates/order/purchase_order_detail.html:26
-#: order/templates/order/sales_order_detail.html:22
-#: order/templates/order/sales_order_detail.html:255
+#: order/templates/order/purchase_order_detail.html:28
+#: order/templates/order/sales_order_detail.html:24
+#: order/templates/order/sales_order_detail.html:260
#: templates/js/translated/order.js:728
msgid "Add Line Item"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:29
+#: order/templates/order/purchase_order_detail.html:31
msgid "Receive selected items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:48
-#: order/templates/order/sales_order_detail.html:42
+#: order/templates/order/purchase_order_detail.html:50
+#: order/templates/order/sales_order_detail.html:45
msgid "Extra Lines"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:53
-#: order/templates/order/sales_order_detail.html:47
-#: order/templates/order/sales_order_detail.html:280
+#: order/templates/order/purchase_order_detail.html:56
+#: order/templates/order/sales_order_detail.html:51
+#: order/templates/order/sales_order_detail.html:291
msgid "Add Extra Line"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:72
+#: order/templates/order/purchase_order_detail.html:76
msgid "Received Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:97
-#: order/templates/order/sales_order_detail.html:150
+#: order/templates/order/purchase_order_detail.html:101
+#: order/templates/order/sales_order_detail.html:155
msgid "Order Notes"
msgstr "Notes de commande"
-#: order/templates/order/purchase_order_detail.html:232
+#: order/templates/order/purchase_order_detail.html:239
msgid "Add Order Line"
msgstr ""
@@ -4345,12 +4377,12 @@ msgid "This Sales Order has not been fully allocated"
msgstr ""
#: order/templates/order/sales_order_base.html:123
-#: templates/js/translated/order.js:2821
+#: templates/js/translated/order.js:2832
msgid "Customer Reference"
msgstr ""
#: order/templates/order/sales_order_base.html:141
-#: order/templates/order/sales_order_detail.html:104
+#: order/templates/order/sales_order_detail.html:109
#: order/templates/order/so_sidebar.html:11
msgid "Completed Shipments"
msgstr ""
@@ -4359,22 +4391,22 @@ msgstr ""
msgid "Edit Sales Order"
msgstr ""
-#: order/templates/order/sales_order_detail.html:17
+#: order/templates/order/sales_order_detail.html:18
msgid "Sales Order Items"
msgstr ""
-#: order/templates/order/sales_order_detail.html:68
+#: order/templates/order/sales_order_detail.html:73
#: order/templates/order/so_sidebar.html:8
msgid "Pending Shipments"
msgstr "Expéditions en attente"
-#: order/templates/order/sales_order_detail.html:72
-#: templates/attachment_table.html:6 templates/js/translated/bom.js:1158
+#: order/templates/order/sales_order_detail.html:77
+#: templates/attachment_table.html:6 templates/js/translated/bom.js:1223
#: templates/js/translated/build.js:1979
msgid "Actions"
msgstr ""
-#: order/templates/order/sales_order_detail.html:81
+#: order/templates/order/sales_order_detail.html:86
msgid "New Shipment"
msgstr ""
@@ -4400,617 +4432,844 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/api.py:516
-msgid "Incoming Purchase Order"
+#: part/admin.py:19 part/admin.py:219 part/models.py:3181 stock/admin.py:84
+#: templates/js/translated/model_renderers.js:212
+msgid "Part ID"
+msgstr "ID de composant"
+
+#: part/admin.py:20 part/admin.py:221 part/models.py:3185 stock/admin.py:85
+msgid "Part Name"
msgstr ""
-#: part/api.py:536
-msgid "Outgoing Sales Order"
+#: part/admin.py:21
+msgid "Part Description"
msgstr ""
-#: part/api.py:554
-msgid "Stock produced by Build Order"
+#: part/admin.py:22 part/models.py:822 part/templates/part/part_base.html:272
+#: templates/js/translated/part.js:751 templates/js/translated/part.js:1469
+#: templates/js/translated/stock.js:1745
+msgid "IPN"
msgstr ""
-#: part/api.py:640
-msgid "Stock required for Build Order"
+#: part/admin.py:23 part/models.py:830 part/templates/part/part_base.html:279
+#: report/models.py:171 templates/js/translated/part.js:755
+msgid "Revision"
+msgstr "Révision"
+
+#: part/admin.py:24 part/admin.py:145 part/models.py:808
+#: part/templates/part/category.html:87 part/templates/part/part_base.html:300
+msgid "Keywords"
msgstr ""
-#: part/api.py:777
-msgid "Valid"
+#: part/admin.py:28 part/admin.py:139
+#: templates/js/translated/model_renderers.js:338
+msgid "Category ID"
msgstr ""
-#: part/api.py:778
-msgid "Validate entire Bill of Materials"
+#: part/admin.py:29 part/admin.py:140
+msgid "Category Name"
msgstr ""
-#: part/api.py:784
-msgid "This option must be selected"
+#: part/admin.py:30 part/admin.py:144
+msgid "Default Location ID"
msgstr ""
-#: part/api.py:1207
-msgid "Must be greater than zero"
+#: part/admin.py:31
+msgid "Default Supplier ID"
msgstr ""
-#: part/api.py:1211
-msgid "Must be a valid quantity"
+#: part/admin.py:33 part/models.py:914 part/templates/part/part_base.html:206
+msgid "Minimum Stock"
msgstr ""
-#: part/api.py:1226
-msgid "Specify location for initial part stock"
+#: part/admin.py:47 part/templates/part/part_base.html:200
+#: templates/js/translated/company.js:1028
+#: templates/js/translated/table_filters.js:213
+msgid "In Stock"
msgstr ""
-#: part/api.py:1257 part/api.py:1261 part/api.py:1276 part/api.py:1280
-msgid "This field is required"
-msgstr ""
-
-#: part/bom.py:127 part/models.py:98 part/models.py:838
-#: part/templates/part/category.html:109 part/templates/part/part_base.html:345
-msgid "Default Location"
-msgstr ""
-
-#: part/bom.py:128 templates/email/low_stock_notification.html:17
-msgid "Total Stock"
-msgstr ""
-
-#: part/bom.py:129 part/templates/part/part_base.html:195
-#: templates/js/translated/order.js:3913
-msgid "Available Stock"
-msgstr ""
-
-#: part/bom.py:130 part/templates/part/part_base.html:213
-#: templates/js/translated/bom.js:1001 templates/js/translated/build.js:1925
-#: templates/js/translated/part.js:588 templates/js/translated/part.js:608
-#: templates/js/translated/part.js:1338 templates/js/translated/part.js:1526
+#: part/admin.py:48 part/bom.py:145 part/templates/part/part_base.html:213
+#: templates/js/translated/bom.js:1155 templates/js/translated/build.js:1925
+#: templates/js/translated/part.js:602 templates/js/translated/part.js:622
+#: templates/js/translated/part.js:1359 templates/js/translated/part.js:1537
#: templates/js/translated/table_filters.js:68
msgid "On Order"
msgstr "En Commande"
-#: part/forms.py:41
-msgid "Input quantity for price calculation"
+#: part/admin.py:49 part/templates/part/part_sidebar.html:27
+msgid "Used In"
msgstr ""
-#: part/models.py:99
-msgid "Default location for parts in this category"
+#: part/admin.py:50 templates/js/translated/build.js:1937
+#: templates/js/translated/build.js:2195 templates/js/translated/build.js:2761
+#: templates/js/translated/order.js:3943
+msgid "Allocated"
msgstr ""
-#: part/models.py:102
-msgid "Default keywords"
+#: part/admin.py:51 part/templates/part/part_base.html:244
+#: templates/js/translated/part.js:605 templates/js/translated/part.js:625
+#: templates/js/translated/part.js:1363 templates/js/translated/part.js:1544
+msgid "Building"
msgstr ""
-#: part/models.py:102
-msgid "Default keywords for parts in this category"
+#: part/admin.py:52 part/models.py:2765
+msgid "Minimum Cost"
msgstr ""
-#: part/models.py:107 stock/models.py:85
-msgid "Icon"
+#: part/admin.py:53 part/models.py:2771
+msgid "Maximum Cost"
msgstr ""
-#: part/models.py:108 stock/models.py:86
-msgid "Icon (optional)"
+#: part/admin.py:142 part/admin.py:216 stock/admin.py:26 stock/admin.py:98
+msgid "Parent ID"
msgstr ""
-#: part/models.py:122 part/models.py:2517 part/templates/part/category.html:16
-#: part/templates/part/part_app_base.html:10
-msgid "Part Category"
-msgstr "Catégorie de composant"
+#: part/admin.py:143 part/admin.py:218 stock/admin.py:27
+msgid "Parent Name"
+msgstr ""
-#: part/models.py:123 part/templates/part/category.html:129
-#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200
-#: users/models.py:37
-msgid "Part Categories"
-msgstr "Catégories de composants"
+#: part/admin.py:146 part/templates/part/category.html:81
+#: part/templates/part/category.html:94
+msgid "Category Path"
+msgstr ""
-#: part/models.py:344 part/templates/part/cat_link.html:3
+#: part/admin.py:149 part/models.py:363 part/templates/part/cat_link.html:3
#: part/templates/part/category.html:23 part/templates/part/category.html:134
#: part/templates/part/category.html:154
#: part/templates/part/category_sidebar.html:9
#: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84
#: templates/InvenTree/settings/sidebar.html:41
-#: templates/js/translated/part.js:2019 templates/js/translated/search.js:146
+#: templates/js/translated/part.js:2043 templates/js/translated/search.js:146
#: templates/navbar.html:24 users/models.py:38
msgid "Parts"
msgstr "Composantes"
-#: part/models.py:429
+#: part/admin.py:211
+msgid "BOM Level"
+msgstr ""
+
+#: part/admin.py:213
+msgid "BOM Item ID"
+msgstr ""
+
+#: part/admin.py:217
+msgid "Parent IPN"
+msgstr ""
+
+#: part/admin.py:220 part/models.py:3189
+msgid "Part IPN"
+msgstr ""
+
+#: part/admin.py:226 templates/js/translated/pricing.js:91
+#: templates/js/translated/pricing.js:727
+msgid "Minimum Price"
+msgstr ""
+
+#: part/admin.py:227 templates/js/translated/pricing.js:86
+#: templates/js/translated/pricing.js:735
+msgid "Maximum Price"
+msgstr ""
+
+#: part/api.py:532
+msgid "Incoming Purchase Order"
+msgstr ""
+
+#: part/api.py:552
+msgid "Outgoing Sales Order"
+msgstr ""
+
+#: part/api.py:570
+msgid "Stock produced by Build Order"
+msgstr ""
+
+#: part/api.py:656
+msgid "Stock required for Build Order"
+msgstr ""
+
+#: part/api.py:814
+msgid "Valid"
+msgstr ""
+
+#: part/api.py:815
+msgid "Validate entire Bill of Materials"
+msgstr ""
+
+#: part/api.py:821
+msgid "This option must be selected"
+msgstr ""
+
+#: part/api.py:1261
+msgid "Must be greater than zero"
+msgstr ""
+
+#: part/api.py:1265
+msgid "Must be a valid quantity"
+msgstr ""
+
+#: part/api.py:1280
+msgid "Specify location for initial part stock"
+msgstr ""
+
+#: part/api.py:1311 part/api.py:1315 part/api.py:1330 part/api.py:1334
+msgid "This field is required"
+msgstr ""
+
+#: part/bom.py:142 part/models.py:116 part/models.py:857
+#: part/templates/part/category.html:109 part/templates/part/part_base.html:360
+msgid "Default Location"
+msgstr ""
+
+#: part/bom.py:143 templates/email/low_stock_notification.html:17
+msgid "Total Stock"
+msgstr ""
+
+#: part/bom.py:144 part/templates/part/part_base.html:195
+#: templates/js/translated/order.js:3910
+msgid "Available Stock"
+msgstr ""
+
+#: part/forms.py:41
+msgid "Input quantity for price calculation"
+msgstr ""
+
+#: part/models.py:117
+msgid "Default location for parts in this category"
+msgstr ""
+
+#: part/models.py:120
+msgid "Default keywords"
+msgstr ""
+
+#: part/models.py:120
+msgid "Default keywords for parts in this category"
+msgstr ""
+
+#: part/models.py:125 stock/models.py:101
+msgid "Icon"
+msgstr ""
+
+#: part/models.py:126 stock/models.py:102
+msgid "Icon (optional)"
+msgstr ""
+
+#: part/models.py:140 part/models.py:3130 part/templates/part/category.html:16
+#: part/templates/part/part_app_base.html:10
+msgid "Part Category"
+msgstr "Catégorie de composant"
+
+#: part/models.py:141 part/templates/part/category.html:129
+#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200
+#: users/models.py:37
+msgid "Part Categories"
+msgstr "Catégories de composants"
+
+#: part/models.py:448
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:499 part/models.py:511
+#: part/models.py:518 part/models.py:530
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:601
+#: part/models.py:620
msgid "Stock item with this serial number already exists"
msgstr ""
-#: part/models.py:732
+#: part/models.py:751
msgid "Duplicate IPN not allowed in part settings"
msgstr "IPN dupliqué non autorisé dans les paramètres de la pièce"
-#: part/models.py:759 part/models.py:2573
+#: part/models.py:778 part/models.py:3186
msgid "Part name"
msgstr ""
-#: part/models.py:766
+#: part/models.py:785
msgid "Is Template"
msgstr ""
-#: part/models.py:767
+#: part/models.py:786
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:777
+#: part/models.py:796
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:778
+#: part/models.py:797
msgid "Variant Of"
msgstr ""
-#: part/models.py:784
+#: part/models.py:803
msgid "Part description"
msgstr "Description du composant"
-#: part/models.py:789 part/templates/part/category.html:87
-#: part/templates/part/part_base.html:300
-msgid "Keywords"
-msgstr ""
-
-#: part/models.py:790
+#: part/models.py:809
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:797 part/models.py:2272 part/models.py:2516
+#: part/models.py:816 part/models.py:2885 part/models.py:3129
#: part/templates/part/part_base.html:263
#: templates/InvenTree/settings/settings.html:229
#: templates/js/translated/notification.js:50
-#: templates/js/translated/part.js:1480 templates/js/translated/part.js:1724
+#: templates/js/translated/part.js:1491 templates/js/translated/part.js:1748
msgid "Category"
msgstr "Catégorie"
-#: part/models.py:798
+#: part/models.py:817
msgid "Part category"
msgstr "Catégorie de la pièce"
-#: part/models.py:803 part/templates/part/part_base.html:272
-#: templates/js/translated/part.js:737 templates/js/translated/part.js:1431
-#: templates/js/translated/stock.js:1726
-msgid "IPN"
-msgstr ""
-
-#: part/models.py:804
+#: part/models.py:823
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:810
+#: part/models.py:829
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:811 part/templates/part/part_base.html:279
-#: report/models.py:171 templates/js/translated/part.js:741
-msgid "Revision"
-msgstr "Révision"
-
-#: part/models.py:836
+#: part/models.py:855
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:881 part/templates/part/part_base.html:354
+#: part/models.py:900 part/templates/part/part_base.html:369
msgid "Default Supplier"
msgstr ""
-#: part/models.py:882
+#: part/models.py:901
msgid "Default supplier part"
msgstr ""
-#: part/models.py:889
+#: part/models.py:908
msgid "Default Expiry"
msgstr ""
-#: part/models.py:890
+#: part/models.py:909
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:895 part/templates/part/part_base.html:206
-msgid "Minimum Stock"
-msgstr ""
-
-#: part/models.py:896
+#: part/models.py:915
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:903
+#: part/models.py:922
msgid "Stock keeping units for this part"
msgstr ""
-#: part/models.py:909
+#: part/models.py:928
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:915
+#: part/models.py:934
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:921
+#: part/models.py:940
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:926
+#: part/models.py:945
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:931
+#: part/models.py:950
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:936
+#: part/models.py:955
msgid "Is this part active?"
msgstr ""
-#: part/models.py:941
+#: part/models.py:960
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:943
+#: part/models.py:962
msgid "Part notes"
msgstr ""
-#: part/models.py:945
+#: part/models.py:964
msgid "BOM checksum"
msgstr ""
-#: part/models.py:945
+#: part/models.py:964
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:948
+#: part/models.py:967
msgid "BOM checked by"
msgstr ""
-#: part/models.py:950
+#: part/models.py:969
msgid "BOM checked date"
msgstr ""
-#: part/models.py:954
+#: part/models.py:973
msgid "Creation User"
msgstr ""
-#: part/models.py:1790
+#: part/models.py:1819
msgid "Sell multiple"
msgstr "Ventes multiples"
-#: part/models.py:2319
+#: part/models.py:2682
+msgid "Currency used to cache pricing calculations"
+msgstr ""
+
+#: part/models.py:2687
+msgid "Updated"
+msgstr ""
+
+#: part/models.py:2688
+msgid "Timestamp of last pricing update"
+msgstr ""
+
+#: part/models.py:2705
+msgid "Minimum BOM Cost"
+msgstr ""
+
+#: part/models.py:2706
+msgid "Minimum cost of component parts"
+msgstr ""
+
+#: part/models.py:2711
+msgid "Maximum BOM Cost"
+msgstr ""
+
+#: part/models.py:2712
+msgid "Maximum cost of component parts"
+msgstr ""
+
+#: part/models.py:2717
+msgid "Minimum Purchase Cost"
+msgstr ""
+
+#: part/models.py:2718
+msgid "Minimum historical purchase cost"
+msgstr ""
+
+#: part/models.py:2723
+msgid "Maximum Purchase Cost"
+msgstr ""
+
+#: part/models.py:2724
+msgid "Maximum historical purchase cost"
+msgstr ""
+
+#: part/models.py:2729
+msgid "Minimum Internal Price"
+msgstr ""
+
+#: part/models.py:2730
+msgid "Minimum cost based on internal price breaks"
+msgstr ""
+
+#: part/models.py:2735
+msgid "Maximum Internal Price"
+msgstr ""
+
+#: part/models.py:2736
+msgid "Maximum cost based on internal price breaks"
+msgstr ""
+
+#: part/models.py:2741
+msgid "Minimum Supplier Price"
+msgstr ""
+
+#: part/models.py:2742
+msgid "Minimum price of part from external suppliers"
+msgstr ""
+
+#: part/models.py:2747
+msgid "Maximum Supplier Price"
+msgstr ""
+
+#: part/models.py:2748
+msgid "Maximum price of part from external suppliers"
+msgstr ""
+
+#: part/models.py:2753
+msgid "Minimum Variant Cost"
+msgstr ""
+
+#: part/models.py:2754
+msgid "Calculated minimum cost of variant parts"
+msgstr ""
+
+#: part/models.py:2759
+msgid "Maximum Variant Cost"
+msgstr ""
+
+#: part/models.py:2760
+msgid "Calculated maximum cost of variant parts"
+msgstr ""
+
+#: part/models.py:2766
+msgid "Calculated overall minimum cost"
+msgstr ""
+
+#: part/models.py:2772
+msgid "Calculated overall maximum cost"
+msgstr ""
+
+#: part/models.py:2777
+msgid "Minimum Sale Price"
+msgstr ""
+
+#: part/models.py:2778
+msgid "Minimum sale price based on price breaks"
+msgstr ""
+
+#: part/models.py:2783
+msgid "Maximum Sale Price"
+msgstr ""
+
+#: part/models.py:2784
+msgid "Maximum sale price based on price breaks"
+msgstr ""
+
+#: part/models.py:2789
+msgid "Minimum Sale Cost"
+msgstr ""
+
+#: part/models.py:2790
+msgid "Minimum historical sale price"
+msgstr ""
+
+#: part/models.py:2795
+msgid "Maximum Sale Cost"
+msgstr ""
+
+#: part/models.py:2796
+msgid "Maximum historical sale price"
+msgstr ""
+
+#: part/models.py:2932
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:2336
+#: part/models.py:2949
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2356 templates/js/translated/part.js:2070
-#: templates/js/translated/stock.js:1340
+#: part/models.py:2969 templates/js/translated/part.js:2094
+#: templates/js/translated/stock.js:1359
msgid "Test Name"
msgstr "Nom de test"
-#: part/models.py:2357
+#: part/models.py:2970
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2362
+#: part/models.py:2975
msgid "Test Description"
msgstr ""
-#: part/models.py:2363
+#: part/models.py:2976
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2368 templates/js/translated/part.js:2079
-#: templates/js/translated/table_filters.js:310
+#: part/models.py:2981 templates/js/translated/part.js:2103
+#: templates/js/translated/table_filters.js:314
msgid "Required"
msgstr "Requis"
-#: part/models.py:2369
+#: part/models.py:2982
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2374 templates/js/translated/part.js:2087
+#: part/models.py:2987 templates/js/translated/part.js:2111
msgid "Requires Value"
msgstr ""
-#: part/models.py:2375
+#: part/models.py:2988
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2380 templates/js/translated/part.js:2094
+#: part/models.py:2993 templates/js/translated/part.js:2118
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2381
+#: part/models.py:2994
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:2422
+#: part/models.py:3035
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:2430
+#: part/models.py:3043
msgid "Parameter Name"
msgstr ""
-#: part/models.py:2434
+#: part/models.py:3047
msgid "Parameter Units"
msgstr ""
-#: part/models.py:2439
+#: part/models.py:3052
msgid "Parameter description"
msgstr ""
-#: part/models.py:2472
+#: part/models.py:3085
msgid "Parent Part"
msgstr ""
-#: part/models.py:2474 part/models.py:2522 part/models.py:2523
+#: part/models.py:3087 part/models.py:3135 part/models.py:3136
#: templates/InvenTree/settings/settings.html:224
msgid "Parameter Template"
msgstr ""
-#: part/models.py:2476
+#: part/models.py:3089
msgid "Data"
msgstr "Données"
-#: part/models.py:2476
+#: part/models.py:3089
msgid "Parameter Value"
msgstr ""
-#: part/models.py:2527 templates/InvenTree/settings/settings.html:233
+#: part/models.py:3140 templates/InvenTree/settings/settings.html:233
msgid "Default Value"
msgstr ""
-#: part/models.py:2528
+#: part/models.py:3141
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:2565
+#: part/models.py:3178
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:2568 templates/js/translated/model_renderers.js:212
-msgid "Part ID"
-msgstr "ID de composant"
-
-#: part/models.py:2569
+#: part/models.py:3182
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:2572
-msgid "Part Name"
-msgstr ""
-
-#: part/models.py:2576
-msgid "Part IPN"
-msgstr ""
-
-#: part/models.py:2577
+#: part/models.py:3190
msgid "Part IPN value"
msgstr ""
-#: part/models.py:2580
+#: part/models.py:3193
msgid "Level"
msgstr ""
-#: part/models.py:2581
+#: part/models.py:3194
msgid "BOM level"
msgstr ""
-#: part/models.py:2650
+#: part/models.py:3263
msgid "Select parent part"
msgstr ""
-#: part/models.py:2658
+#: part/models.py:3271
msgid "Sub part"
msgstr ""
-#: part/models.py:2659
+#: part/models.py:3272
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:2665
+#: part/models.py:3278
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:2669 part/templates/part/upload_bom.html:58
-#: templates/js/translated/bom.js:924 templates/js/translated/bom.js:1024
+#: part/models.py:3282 part/templates/part/upload_bom.html:58
+#: templates/js/translated/bom.js:933 templates/js/translated/bom.js:986
#: templates/js/translated/build.js:1858
#: templates/js/translated/table_filters.js:84
-#: templates/js/translated/table_filters.js:108
+#: templates/js/translated/table_filters.js:112
msgid "Optional"
msgstr ""
-#: part/models.py:2670
+#: part/models.py:3283
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:2675 templates/js/translated/bom.js:920
-#: templates/js/translated/bom.js:1033 templates/js/translated/build.js:1849
+#: part/models.py:3288 templates/js/translated/bom.js:929
+#: templates/js/translated/bom.js:995 templates/js/translated/build.js:1849
#: templates/js/translated/table_filters.js:88
msgid "Consumable"
msgstr ""
-#: part/models.py:2676
+#: part/models.py:3289
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:2680 part/templates/part/upload_bom.html:55
+#: part/models.py:3293 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr "Surplus"
-#: part/models.py:2681
+#: part/models.py:3294
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:2684
+#: part/models.py:3297
msgid "BOM item reference"
msgstr ""
-#: part/models.py:2687
+#: part/models.py:3300
msgid "BOM item notes"
msgstr ""
-#: part/models.py:2689
+#: part/models.py:3302
msgid "Checksum"
msgstr ""
-#: part/models.py:2689
+#: part/models.py:3302
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:2693 part/templates/part/upload_bom.html:57
-#: templates/js/translated/bom.js:1050
+#: part/models.py:3306 part/templates/part/upload_bom.html:57
+#: templates/js/translated/bom.js:1012
#: templates/js/translated/table_filters.js:76
-#: templates/js/translated/table_filters.js:104
+#: templates/js/translated/table_filters.js:108
msgid "Inherited"
msgstr ""
-#: part/models.py:2694
+#: part/models.py:3307
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:2699 part/templates/part/upload_bom.html:56
-#: templates/js/translated/bom.js:1042
+#: part/models.py:3312 part/templates/part/upload_bom.html:56
+#: templates/js/translated/bom.js:1004
msgid "Allow Variants"
msgstr ""
-#: part/models.py:2700
+#: part/models.py:3313
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:2786 stock/models.py:502
+#: part/models.py:3399 stock/models.py:518
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:2795 part/models.py:2797
+#: part/models.py:3408 part/models.py:3410
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:2902
+#: part/models.py:3537
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:2923
+#: part/models.py:3558
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:2936
+#: part/models.py:3571
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:2944
+#: part/models.py:3579
msgid "Substitute part"
msgstr ""
-#: part/models.py:2959
+#: part/models.py:3594
msgid "Part 1"
msgstr ""
-#: part/models.py:2963
+#: part/models.py:3598
msgid "Part 2"
msgstr ""
-#: part/models.py:2963
+#: part/models.py:3598
msgid "Select Related Part"
msgstr ""
-#: part/models.py:2981
+#: part/models.py:3616
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:2985
+#: part/models.py:3620
msgid "Duplicate relationship already exists"
msgstr ""
-#: part/serializers.py:154 part/serializers.py:185 stock/serializers.py:179
+#: part/serializers.py:154 part/serializers.py:182 stock/serializers.py:183
msgid "Purchase currency of this stock item"
msgstr "Devise d'achat de l'item"
-#: part/serializers.py:829
+#: part/serializers.py:542
+msgid "Update"
+msgstr ""
+
+#: part/serializers.py:543
+msgid "Update pricing for this part"
+msgstr ""
+
+#: part/serializers.py:853
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:837
+#: part/serializers.py:861
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:838
+#: part/serializers.py:862
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:843
+#: part/serializers.py:867
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:844
+#: part/serializers.py:868
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:849
+#: part/serializers.py:873
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:850
+#: part/serializers.py:874
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:855
+#: part/serializers.py:879
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:856
+#: part/serializers.py:880
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/serializers.py:896
+#: part/serializers.py:920
msgid "Clear Existing BOM"
msgstr ""
-#: part/serializers.py:897
+#: part/serializers.py:921
msgid "Delete existing BOM items before uploading"
msgstr ""
-#: part/serializers.py:927
+#: part/serializers.py:951
msgid "No part column specified"
msgstr ""
-#: part/serializers.py:970
+#: part/serializers.py:994
msgid "Multiple matching parts found"
msgstr ""
-#: part/serializers.py:973
+#: part/serializers.py:997
msgid "No matching part found"
msgstr ""
-#: part/serializers.py:976
+#: part/serializers.py:1000
msgid "Part is not designated as a component"
msgstr ""
-#: part/serializers.py:985
+#: part/serializers.py:1009
msgid "Quantity not provided"
msgstr ""
-#: part/serializers.py:993
+#: part/serializers.py:1017
msgid "Invalid quantity"
msgstr ""
-#: part/serializers.py:1014
+#: part/serializers.py:1038
msgid "At least one BOM item is required"
msgstr ""
-#: part/tasks.py:21
+#: part/tasks.py:25
msgid "Low stock notification"
msgstr ""
-#: part/tasks.py:22
+#: part/tasks.py:26
#, python-brace-format
msgid "The available stock for {part.name} has fallen below the configured minimum level"
msgstr ""
@@ -5034,7 +5293,7 @@ msgstr ""
msgid "The BOM for %(part)s has not been validated."
msgstr ""
-#: part/templates/part/bom.html:30 part/templates/part/detail.html:269
+#: part/templates/part/bom.html:30 part/templates/part/detail.html:267
msgid "BOM actions"
msgstr ""
@@ -5070,10 +5329,6 @@ msgstr "Supprimer la catégorie"
msgid "Delete Category"
msgstr "Supprimer la catégorie"
-#: part/templates/part/category.html:81 part/templates/part/category.html:94
-msgid "Category Path"
-msgstr ""
-
#: part/templates/part/category.html:95
msgid "Top level part category"
msgstr ""
@@ -5091,12 +5346,12 @@ msgstr "Composantes (incluant sous-catégories)"
msgid "Create new part"
msgstr ""
-#: part/templates/part/category.html:159 templates/js/translated/bom.js:392
+#: part/templates/part/category.html:159 templates/js/translated/bom.js:405
msgid "New Part"
msgstr ""
-#: part/templates/part/category.html:169 part/templates/part/detail.html:368
-#: part/templates/part/detail.html:399
+#: part/templates/part/category.html:169 part/templates/part/detail.html:366
+#: part/templates/part/detail.html:397
msgid "Options"
msgstr ""
@@ -5144,7 +5399,7 @@ msgstr "Composant créé avec succès"
msgid "Import Parts"
msgstr ""
-#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:379
+#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:393
msgid "Duplicate Part"
msgstr ""
@@ -5176,7 +5431,8 @@ msgstr ""
msgid "Refresh scheduling data"
msgstr ""
-#: part/templates/part/detail.html:45 templates/js/translated/tables.js:524
+#: part/templates/part/detail.html:45 part/templates/part/prices.html:15
+#: templates/js/translated/tables.js:524
msgid "Refresh"
msgstr "Actualiser"
@@ -5192,123 +5448,103 @@ msgstr ""
msgid "Sales Order Allocations"
msgstr ""
-#: part/templates/part/detail.html:143
+#: part/templates/part/detail.html:141
msgid "Part Notes"
msgstr ""
-#: part/templates/part/detail.html:158
+#: part/templates/part/detail.html:156
msgid "Part Variants"
msgstr ""
-#: part/templates/part/detail.html:162
+#: part/templates/part/detail.html:160
msgid "Create new variant"
msgstr ""
-#: part/templates/part/detail.html:163
+#: part/templates/part/detail.html:161
msgid "New Variant"
msgstr ""
-#: part/templates/part/detail.html:190
+#: part/templates/part/detail.html:188
msgid "Add new parameter"
msgstr ""
-#: part/templates/part/detail.html:227 part/templates/part/part_sidebar.html:54
+#: part/templates/part/detail.html:225 part/templates/part/part_sidebar.html:52
msgid "Related Parts"
msgstr ""
-#: part/templates/part/detail.html:231 part/templates/part/detail.html:232
+#: part/templates/part/detail.html:229 part/templates/part/detail.html:230
msgid "Add Related"
msgstr ""
-#: part/templates/part/detail.html:252 part/templates/part/part_sidebar.html:17
+#: part/templates/part/detail.html:250 part/templates/part/part_sidebar.html:17
msgid "Bill of Materials"
msgstr ""
-#: part/templates/part/detail.html:257
+#: part/templates/part/detail.html:255
msgid "Export actions"
msgstr ""
-#: part/templates/part/detail.html:261 templates/js/translated/bom.js:309
+#: part/templates/part/detail.html:259 templates/js/translated/bom.js:309
msgid "Export BOM"
msgstr ""
-#: part/templates/part/detail.html:263
+#: part/templates/part/detail.html:261
msgid "Print BOM Report"
msgstr ""
-#: part/templates/part/detail.html:273
+#: part/templates/part/detail.html:271
msgid "Upload BOM"
msgstr ""
-#: part/templates/part/detail.html:274 templates/js/translated/part.js:274
+#: part/templates/part/detail.html:272 templates/js/translated/part.js:270
msgid "Copy BOM"
msgstr ""
-#: part/templates/part/detail.html:275
+#: part/templates/part/detail.html:273
msgid "Validate BOM"
msgstr ""
-#: part/templates/part/detail.html:280 part/templates/part/detail.html:281
-#: templates/js/translated/bom.js:1202 templates/js/translated/bom.js:1203
+#: part/templates/part/detail.html:278 part/templates/part/detail.html:279
+#: templates/js/translated/bom.js:1267 templates/js/translated/bom.js:1268
msgid "Add BOM Item"
msgstr ""
-#: part/templates/part/detail.html:294
+#: part/templates/part/detail.html:292
msgid "Assemblies"
msgstr ""
-#: part/templates/part/detail.html:312
+#: part/templates/part/detail.html:310
msgid "Part Builds"
msgstr ""
-#: part/templates/part/detail.html:339 stock/templates/stock/item.html:38
+#: part/templates/part/detail.html:337 stock/templates/stock/item.html:38
msgid "Build Order Allocations"
msgstr ""
-#: part/templates/part/detail.html:355
+#: part/templates/part/detail.html:353
msgid "Part Suppliers"
msgstr ""
-#: part/templates/part/detail.html:385
+#: part/templates/part/detail.html:383
msgid "Part Manufacturers"
msgstr "Fabricants de composants"
-#: part/templates/part/detail.html:401
+#: part/templates/part/detail.html:399
msgid "Delete manufacturer parts"
msgstr ""
-#: part/templates/part/detail.html:658
+#: part/templates/part/detail.html:656
msgid "Related Part"
msgstr ""
-#: part/templates/part/detail.html:666
+#: part/templates/part/detail.html:664
msgid "Add Related Part"
msgstr ""
-#: part/templates/part/detail.html:758
+#: part/templates/part/detail.html:756
msgid "Add Test Result Template"
msgstr ""
-#: part/templates/part/detail.html:901
-#, python-format
-msgid "Purchase Unit Price - %(currency)s"
-msgstr ""
-
-#: part/templates/part/detail.html:913
-#, python-format
-msgid "Unit Price-Cost Difference - %(currency)s"
-msgstr ""
-
-#: part/templates/part/detail.html:925
-#, python-format
-msgid "Supplier Unit Cost - %(currency)s"
-msgstr ""
-
-#: part/templates/part/detail.html:1014
-#, python-format
-msgid "Unit Price - %(currency)s"
-msgstr ""
-
#: part/templates/part/import_wizard/ajax_match_fields.html:9
#: templates/patterns/wizard/match_fields.html:8
msgid "Missing selections for the following required columns"
@@ -5439,15 +5675,15 @@ msgid "Part is virtual (not a physical part)"
msgstr ""
#: part/templates/part/part_base.html:148
-#: templates/js/translated/company.js:659
-#: templates/js/translated/company.js:920
+#: templates/js/translated/company.js:660
+#: templates/js/translated/company.js:921
#: templates/js/translated/model_renderers.js:204
-#: templates/js/translated/part.js:652 templates/js/translated/part.js:729
+#: templates/js/translated/part.js:666 templates/js/translated/part.js:743
msgid "Inactive"
msgstr ""
#: part/templates/part/part_base.html:165
-#: part/templates/part/part_base.html:620
+#: part/templates/part/part_base.html:635
msgid "Show Part Details"
msgstr ""
@@ -5456,12 +5692,6 @@ msgstr ""
msgid "This part is a variant of %(link)s"
msgstr ""
-#: part/templates/part/part_base.html:200
-#: templates/js/translated/company.js:1027
-#: templates/js/translated/table_filters.js:209
-msgid "In Stock"
-msgstr ""
-
#: part/templates/part/part_base.html:221
#: stock/templates/stock/item_base.html:382
msgid "Allocated to Build Orders"
@@ -5472,100 +5702,91 @@ msgstr ""
msgid "Allocated to Sales Orders"
msgstr ""
-#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1100
+#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1165
msgid "Can Build"
msgstr ""
-#: part/templates/part/part_base.html:244 templates/js/translated/part.js:591
-#: templates/js/translated/part.js:611 templates/js/translated/part.js:1342
-#: templates/js/translated/part.js:1533
-msgid "Building"
-msgstr ""
-
#: part/templates/part/part_base.html:293
msgid "Minimum stock level"
msgstr ""
-#: part/templates/part/part_base.html:330
+#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1032
+#: templates/js/translated/part.js:783 templates/js/translated/part.js:1582
+#: templates/js/translated/pricing.js:124
+#: templates/js/translated/pricing.js:757
+msgid "Price Range"
+msgstr ""
+
+#: part/templates/part/part_base.html:345
msgid "Latest Serial Number"
msgstr "Dernier numéro de série"
-#: part/templates/part/part_base.html:334
+#: part/templates/part/part_base.html:349
#: stock/templates/stock/item_base.html:331
msgid "Search for serial number"
msgstr "Rechercher un numéro de série"
-#: part/templates/part/part_base.html:431
+#: part/templates/part/part_base.html:446
msgid "Link Barcode to Part"
msgstr ""
-#: part/templates/part/part_base.html:477 part/templates/part/prices.html:149
+#: part/templates/part/part_base.html:492
msgid "Calculate"
msgstr "Calculer"
-#: part/templates/part/part_base.html:520
+#: part/templates/part/part_base.html:535
msgid "No matching images found"
msgstr ""
-#: part/templates/part/part_base.html:614
+#: part/templates/part/part_base.html:629
msgid "Hide Part Details"
msgstr ""
-#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:24
+#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:78
+#: part/templates/part/prices.html:238 templates/js/translated/pricing.js:218
msgid "Supplier Pricing"
msgstr ""
#: part/templates/part/part_pricing.html:26
#: part/templates/part/part_pricing.html:52
-#: part/templates/part/part_pricing.html:103
-#: part/templates/part/part_pricing.html:118 part/templates/part/prices.html:28
-#: part/templates/part/prices.html:55 part/templates/part/prices.html:108
-#: part/templates/part/prices.html:125
+#: part/templates/part/part_pricing.html:95
+#: part/templates/part/part_pricing.html:110
msgid "Unit Cost"
msgstr ""
#: part/templates/part/part_pricing.html:32
#: part/templates/part/part_pricing.html:58
-#: part/templates/part/part_pricing.html:107
-#: part/templates/part/part_pricing.html:122 part/templates/part/prices.html:35
-#: part/templates/part/prices.html:62 part/templates/part/prices.html:113
-#: part/templates/part/prices.html:130
+#: part/templates/part/part_pricing.html:99
+#: part/templates/part/part_pricing.html:114
msgid "Total Cost"
msgstr ""
-#: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:43
-#: templates/js/translated/bom.js:1091
+#: part/templates/part/part_pricing.html:40
msgid "No supplier pricing available"
msgstr ""
-#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:52
-#: part/templates/part/prices.html:248
+#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:94
+#: part/templates/part/prices.html:262
msgid "BOM Pricing"
msgstr ""
-#: part/templates/part/part_pricing.html:66 part/templates/part/prices.html:72
+#: part/templates/part/part_pricing.html:66
msgid "Unit Purchase Price"
msgstr "Prix d’achat unitaire"
-#: part/templates/part/part_pricing.html:72 part/templates/part/prices.html:79
+#: part/templates/part/part_pricing.html:72
msgid "Total Purchase Price"
msgstr ""
-#: part/templates/part/part_pricing.html:82 part/templates/part/prices.html:89
-msgid "Note: BOM pricing is incomplete for this part"
-msgstr ""
-
-#: part/templates/part/part_pricing.html:91 part/templates/part/prices.html:98
+#: part/templates/part/part_pricing.html:83
msgid "No BOM pricing available"
msgstr ""
-#: part/templates/part/part_pricing.html:100
-#: part/templates/part/prices.html:107
+#: part/templates/part/part_pricing.html:92
msgid "Internal Price"
msgstr ""
-#: part/templates/part/part_pricing.html:131
-#: part/templates/part/prices.html:139
+#: part/templates/part/part_pricing.html:123
msgid "No pricing information is available for this part."
msgstr ""
@@ -5573,7 +5794,8 @@ msgstr ""
#: report/templates/report/inventree_test_report_base.html:97
#: templates/InvenTree/settings/plugin.html:63
#: templates/InvenTree/settings/plugin_settings.html:38
-#: templates/js/translated/order.js:2001 templates/js/translated/stock.js:2478
+#: templates/js/translated/order.js:2035 templates/js/translated/pricing.js:537
+#: templates/js/translated/pricing.js:658 templates/js/translated/stock.js:2496
msgid "Date"
msgstr ""
@@ -5585,15 +5807,11 @@ msgstr ""
msgid "Variants"
msgstr ""
-#: part/templates/part/part_sidebar.html:27
-msgid "Used In"
-msgstr ""
-
-#: part/templates/part/part_sidebar.html:46
+#: part/templates/part/part_sidebar.html:44
msgid "Scheduling"
msgstr ""
-#: part/templates/part/part_sidebar.html:50
+#: part/templates/part/part_sidebar.html:48
msgid "Test Templates"
msgstr "Tester le modèle"
@@ -5601,74 +5819,82 @@ msgstr "Tester le modèle"
msgid "Select from existing images"
msgstr ""
-#: part/templates/part/prices.html:19
-msgid "Pricing ranges"
-msgstr "Gammes de prix"
-
-#: part/templates/part/prices.html:25
-msgid "Show supplier cost"
+#: part/templates/part/prices.html:11
+msgid "Pricing Overview"
msgstr ""
-#: part/templates/part/prices.html:26
-msgid "Show purchase price"
+#: part/templates/part/prices.html:14
+msgid "Refresh Part Pricing"
msgstr ""
-#: part/templates/part/prices.html:53
-msgid "Show BOM cost"
+#: part/templates/part/prices.html:25 stock/admin.py:106
+#: stock/templates/stock/item_base.html:440
+#: templates/js/translated/company.js:1039
+#: templates/js/translated/stock.js:1920
+msgid "Last Updated"
msgstr ""
-#: part/templates/part/prices.html:122
-msgid "Show sale cost"
+#: part/templates/part/prices.html:34 part/templates/part/prices.html:126
+msgid "Price Category"
msgstr ""
-#: part/templates/part/prices.html:123
-msgid "Show sale price"
-msgstr "Afficher le prix de vente"
-
-#: part/templates/part/prices.html:145
-msgid "Calculation parameters"
+#: part/templates/part/prices.html:35 part/templates/part/prices.html:127
+msgid "Minimum"
msgstr ""
-#: part/templates/part/prices.html:160 templates/js/translated/bom.js:1085
-msgid "Supplier Cost"
+#: part/templates/part/prices.html:36 part/templates/part/prices.html:128
+msgid "Maximum"
msgstr ""
-#: part/templates/part/prices.html:161 part/templates/part/prices.html:182
-#: part/templates/part/prices.html:206 part/templates/part/prices.html:236
-#: part/templates/part/prices.html:262 part/templates/part/prices.html:291
+#: part/templates/part/prices.html:49 part/templates/part/prices.html:185
+msgid "Internal Pricing"
+msgstr ""
+
+#: part/templates/part/prices.html:64 part/templates/part/prices.html:217
+msgid "Purchase History"
+msgstr ""
+
+#: part/templates/part/prices.html:103 part/templates/part/prices.html:286
+msgid "Variant Pricing"
+msgstr ""
+
+#: part/templates/part/prices.html:111
+msgid "Overall Pricing"
+msgstr ""
+
+#: part/templates/part/prices.html:155 part/templates/part/prices.html:338
+msgid "Sale History"
+msgstr ""
+
+#: part/templates/part/prices.html:168
+msgid "Sale price data is not available for this part"
+msgstr ""
+
+#: part/templates/part/prices.html:175
+msgid "Price range data is not available for this part."
+msgstr ""
+
+#: part/templates/part/prices.html:186 part/templates/part/prices.html:218
+#: part/templates/part/prices.html:239 part/templates/part/prices.html:263
+#: part/templates/part/prices.html:287 part/templates/part/prices.html:310
+#: part/templates/part/prices.html:339
msgid "Jump to overview"
msgstr "Aller à la vue d'ensemble"
-#: part/templates/part/prices.html:186
-msgid "Stock Pricing"
-msgstr ""
-
-#: part/templates/part/prices.html:195
-msgid "No stock pricing history is available for this part."
-msgstr ""
-
-#: part/templates/part/prices.html:205
-msgid "Internal Cost"
-msgstr ""
-
-#: part/templates/part/prices.html:220
+#: part/templates/part/prices.html:191
msgid "Add Internal Price Break"
msgstr ""
-#: part/templates/part/prices.html:235
-msgid "BOM Cost"
+#: part/templates/part/prices.html:309
+msgid "Sale Pricing"
msgstr ""
-#: part/templates/part/prices.html:261
-msgid "Sale Cost"
+#: part/templates/part/prices.html:315
+msgid "Add Sell Price Break"
msgstr ""
-#: part/templates/part/prices.html:302
-msgid "No sale pice history available for this part."
-msgstr ""
-
-#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:614
-#: templates/js/translated/part.js:1330 templates/js/translated/part.js:1332
+#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:628
+#: templates/js/translated/part.js:1351 templates/js/translated/part.js:1353
msgid "No Stock"
msgstr ""
@@ -5722,40 +5948,36 @@ msgstr ""
msgid "Create a new variant of template '%(full_name)s'."
msgstr ""
-#: part/templatetags/inventree_extras.py:177
+#: part/templatetags/inventree_extras.py:210
msgid "Unknown database"
msgstr ""
-#: part/templatetags/inventree_extras.py:229
+#: part/templatetags/inventree_extras.py:262
#, python-brace-format
msgid "{title} v{version}"
msgstr ""
-#: part/views.py:114
+#: part/views.py:109
msgid "Match References"
msgstr ""
-#: part/views.py:415
-msgid "None"
-msgstr "Aucun"
-
-#: part/views.py:477
+#: part/views.py:354
msgid "Part QR Code"
msgstr ""
-#: part/views.py:495
+#: part/views.py:372
msgid "Select Part Image"
msgstr ""
-#: part/views.py:521
+#: part/views.py:398
msgid "Updated part image"
msgstr ""
-#: part/views.py:524
+#: part/views.py:401
msgid "Part image not found"
msgstr ""
-#: part/views.py:613
+#: part/views.py:493
msgid "Part Pricing"
msgstr ""
@@ -6070,12 +6292,12 @@ msgid "Stock Item Test Report"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:79
-#: stock/models.py:650 stock/templates/stock/item_base.html:320
+#: stock/models.py:666 stock/templates/stock/item_base.html:320
#: templates/js/translated/build.js:472 templates/js/translated/build.js:624
#: templates/js/translated/build.js:1234 templates/js/translated/build.js:1735
#: templates/js/translated/model_renderers.js:118
-#: templates/js/translated/order.js:121 templates/js/translated/order.js:3592
-#: templates/js/translated/order.js:3679 templates/js/translated/stock.js:490
+#: templates/js/translated/order.js:121 templates/js/translated/order.js:3603
+#: templates/js/translated/order.js:3690 templates/js/translated/stock.js:509
msgid "Serial Number"
msgstr "Numéro de série"
@@ -6084,12 +6306,12 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:93
-#: stock/models.py:2085
+#: stock/models.py:2101
msgid "Test"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:94
-#: stock/models.py:2091
+#: stock/models.py:2107
msgid "Result"
msgstr "Résultat"
@@ -6107,383 +6329,435 @@ msgid "Installed Items"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:137
-#: templates/js/translated/stock.js:610 templates/js/translated/stock.js:780
-#: templates/js/translated/stock.js:2727
+#: stock/admin.py:87 templates/js/translated/stock.js:629
+#: templates/js/translated/stock.js:799 templates/js/translated/stock.js:2745
msgid "Serial"
msgstr ""
-#: stock/api.py:529
+#: stock/admin.py:23 stock/admin.py:90
+#: templates/js/translated/model_renderers.js:159
+msgid "Location ID"
+msgstr ""
+
+#: stock/admin.py:24 stock/admin.py:91
+msgid "Location Name"
+msgstr ""
+
+#: stock/admin.py:28 stock/templates/stock/location.html:123
+#: stock/templates/stock/location.html:129
+msgid "Location Path"
+msgstr ""
+
+#: stock/admin.py:83
+msgid "Stock Item ID"
+msgstr ""
+
+#: stock/admin.py:92 templates/js/translated/model_renderers.js:418
+msgid "Supplier Part ID"
+msgstr ""
+
+#: stock/admin.py:93
+msgid "Supplier ID"
+msgstr ""
+
+#: stock/admin.py:94
+msgid "Supplier Name"
+msgstr ""
+
+#: stock/admin.py:95
+msgid "Customer ID"
+msgstr ""
+
+#: stock/admin.py:96 stock/models.py:649
+#: stock/templates/stock/item_base.html:359
+msgid "Installed In"
+msgstr ""
+
+#: stock/admin.py:97 templates/js/translated/model_renderers.js:177
+msgid "Build ID"
+msgstr ""
+
+#: stock/admin.py:99
+msgid "Sales Order ID"
+msgstr ""
+
+#: stock/admin.py:100
+msgid "Purchase Order ID"
+msgstr ""
+
+#: stock/admin.py:107 templates/js/translated/stock.js:1890
+msgid "Stocktake"
+msgstr "Prise d'inventaire"
+
+#: stock/admin.py:108 stock/models.py:724
+#: stock/templates/stock/item_base.html:427
+#: templates/js/translated/stock.js:1904
+msgid "Expiry Date"
+msgstr ""
+
+#: stock/api.py:539
msgid "Quantity is required"
msgstr ""
-#: stock/api.py:536
+#: stock/api.py:546
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:561
+#: stock/api.py:571
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/models.py:90 stock/models.py:746
+#: stock/models.py:106 stock/models.py:762
#: stock/templates/stock/item_base.html:250
msgid "Owner"
msgstr "Propriétaire"
-#: stock/models.py:91 stock/models.py:747
+#: stock/models.py:107 stock/models.py:763
msgid "Select Owner"
msgstr "Sélectionner un propriétaire"
-#: stock/models.py:508 stock/serializers.py:93
+#: stock/models.py:524 stock/serializers.py:97
msgid "Stock item cannot be created for virtual parts"
msgstr ""
-#: stock/models.py:525
+#: stock/models.py:541
#, python-brace-format
msgid "Part type ('{pf}') must be {pe}"
msgstr ""
-#: stock/models.py:535 stock/models.py:544
+#: stock/models.py:551 stock/models.py:560
msgid "Quantity must be 1 for item with a serial number"
msgstr "La quantité doit être de 1 pour un article avec un numéro de série"
-#: stock/models.py:536
+#: stock/models.py:552
msgid "Serial number cannot be set if quantity greater than 1"
msgstr "Le numéro de série ne peut pas être défini si la quantité est supérieure à 1"
-#: stock/models.py:558
+#: stock/models.py:574
msgid "Item cannot belong to itself"
msgstr ""
-#: stock/models.py:564
+#: stock/models.py:580
msgid "Item must have a build reference if is_building=True"
msgstr ""
-#: stock/models.py:578
+#: stock/models.py:594
msgid "Build reference does not point to the same part object"
msgstr ""
-#: stock/models.py:592
+#: stock/models.py:608
msgid "Parent Stock Item"
msgstr ""
-#: stock/models.py:602
+#: stock/models.py:618
msgid "Base part"
msgstr ""
-#: stock/models.py:610
+#: stock/models.py:626
msgid "Select a matching supplier part for this stock item"
msgstr ""
-#: stock/models.py:617 stock/templates/stock/location.html:17
+#: stock/models.py:633 stock/templates/stock/location.html:17
#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
msgstr ""
-#: stock/models.py:620
+#: stock/models.py:636
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:627
+#: stock/models.py:643
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:633 stock/templates/stock/item_base.html:359
-msgid "Installed In"
-msgstr ""
-
-#: stock/models.py:636
+#: stock/models.py:652
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:652
+#: stock/models.py:668
msgid "Serial number for this item"
msgstr "Numéro de série pour cet article"
-#: stock/models.py:666
+#: stock/models.py:682
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:671
+#: stock/models.py:687
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:680
+#: stock/models.py:696
msgid "Source Build"
msgstr ""
-#: stock/models.py:682
+#: stock/models.py:698
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:693
+#: stock/models.py:709
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:696
+#: stock/models.py:712
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:702
+#: stock/models.py:718
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:708 stock/templates/stock/item_base.html:427
-#: templates/js/translated/stock.js:1885
-msgid "Expiry Date"
-msgstr ""
-
-#: stock/models.py:709
+#: stock/models.py:725
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:722
+#: stock/models.py:738
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:722
+#: stock/models.py:738
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:734 stock/templates/stock/item.html:132
+#: stock/models.py:750 stock/templates/stock/item.html:132
msgid "Stock Item Notes"
msgstr ""
-#: stock/models.py:742
+#: stock/models.py:758
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:770
+#: stock/models.py:786
msgid "Converted to part"
msgstr ""
-#: stock/models.py:1244
+#: stock/models.py:1260
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1250
+#: stock/models.py:1266
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1256
+#: stock/models.py:1272
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr ""
-#: stock/models.py:1259
+#: stock/models.py:1275
msgid "Serial numbers must be a list of integers"
msgstr "Les numéros de série doivent être une liste de nombres entiers"
-#: stock/models.py:1262
+#: stock/models.py:1278
msgid "Quantity does not match serial numbers"
msgstr "La quantité ne correspond pas au nombre de numéros de série"
-#: stock/models.py:1269
+#: stock/models.py:1285
#, python-brace-format
msgid "Serial numbers already exist: {exists}"
msgstr "Les numéros de série existent déja : {exists}"
-#: stock/models.py:1339
+#: stock/models.py:1355
msgid "Stock item has been assigned to a sales order"
msgstr ""
-#: stock/models.py:1342
+#: stock/models.py:1358
msgid "Stock item is installed in another item"
msgstr ""
-#: stock/models.py:1345
+#: stock/models.py:1361
msgid "Stock item contains other items"
msgstr ""
-#: stock/models.py:1348
+#: stock/models.py:1364
msgid "Stock item has been assigned to a customer"
msgstr ""
-#: stock/models.py:1351
+#: stock/models.py:1367
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:1354
+#: stock/models.py:1370
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1361 stock/serializers.py:963
+#: stock/models.py:1377 stock/serializers.py:962
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:1365
+#: stock/models.py:1381
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:1369
+#: stock/models.py:1385
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:1373
+#: stock/models.py:1389
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:1542
+#: stock/models.py:1558
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:2003
+#: stock/models.py:2019
msgid "Entry notes"
msgstr ""
-#: stock/models.py:2061
+#: stock/models.py:2077
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:2067
+#: stock/models.py:2083
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:2086
+#: stock/models.py:2102
msgid "Test name"
msgstr ""
-#: stock/models.py:2092
+#: stock/models.py:2108
msgid "Test result"
msgstr ""
-#: stock/models.py:2098
+#: stock/models.py:2114
msgid "Test output value"
msgstr ""
-#: stock/models.py:2105
+#: stock/models.py:2121
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2111
+#: stock/models.py:2127
msgid "Test notes"
msgstr ""
-#: stock/serializers.py:71
+#: stock/serializers.py:75
msgid "Serial number is too large"
msgstr ""
-#: stock/serializers.py:172
+#: stock/serializers.py:176
msgid "Purchase price of this stock item"
msgstr ""
-#: stock/serializers.py:292
+#: stock/serializers.py:286
msgid "Enter number of stock items to serialize"
msgstr "Entrez le nombre d'articles en stock à sérialiser"
-#: stock/serializers.py:304
+#: stock/serializers.py:298
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({q})"
msgstr ""
-#: stock/serializers.py:310
+#: stock/serializers.py:304
msgid "Enter serial numbers for new items"
msgstr "Entrez les numéros de série pour les nouveaux articles"
-#: stock/serializers.py:321 stock/serializers.py:920 stock/serializers.py:1153
+#: stock/serializers.py:315 stock/serializers.py:919 stock/serializers.py:1152
msgid "Destination stock location"
msgstr ""
-#: stock/serializers.py:328
+#: stock/serializers.py:322
msgid "Optional note field"
msgstr ""
-#: stock/serializers.py:338
+#: stock/serializers.py:332
msgid "Serial numbers cannot be assigned to this part"
msgstr "Les numéros de série ne peuvent pas être assignés à cette pièce"
-#: stock/serializers.py:359
+#: stock/serializers.py:353
msgid "Serial numbers already exist"
msgstr "Les numéros de série existent déjà"
-#: stock/serializers.py:399
+#: stock/serializers.py:393
msgid "Select stock item to install"
msgstr ""
-#: stock/serializers.py:412
+#: stock/serializers.py:406
msgid "Stock item is unavailable"
msgstr ""
-#: stock/serializers.py:419
+#: stock/serializers.py:413
msgid "Selected part is not in the Bill of Materials"
msgstr ""
-#: stock/serializers.py:456
+#: stock/serializers.py:450
msgid "Destination location for uninstalled item"
msgstr ""
-#: stock/serializers.py:461 stock/serializers.py:542
+#: stock/serializers.py:455 stock/serializers.py:536
msgid "Add transaction note (optional)"
msgstr ""
-#: stock/serializers.py:495
+#: stock/serializers.py:489
msgid "Select part to convert stock item into"
msgstr ""
-#: stock/serializers.py:506
+#: stock/serializers.py:500
msgid "Selected part is not a valid option for conversion"
msgstr ""
-#: stock/serializers.py:537
+#: stock/serializers.py:531
msgid "Destination location for returned item"
msgstr ""
-#: stock/serializers.py:775
+#: stock/serializers.py:774
msgid "Part must be salable"
msgstr ""
-#: stock/serializers.py:779
+#: stock/serializers.py:778
msgid "Item is allocated to a sales order"
msgstr ""
-#: stock/serializers.py:783
+#: stock/serializers.py:782
msgid "Item is allocated to a build order"
msgstr ""
-#: stock/serializers.py:814
+#: stock/serializers.py:813
msgid "Customer to assign stock items"
msgstr ""
-#: stock/serializers.py:820
+#: stock/serializers.py:819
msgid "Selected company is not a customer"
msgstr ""
-#: stock/serializers.py:828
+#: stock/serializers.py:827
msgid "Stock assignment notes"
msgstr ""
-#: stock/serializers.py:838 stock/serializers.py:1069
+#: stock/serializers.py:837 stock/serializers.py:1068
msgid "A list of stock items must be provided"
msgstr ""
-#: stock/serializers.py:927
+#: stock/serializers.py:926
msgid "Stock merging notes"
msgstr ""
-#: stock/serializers.py:932
+#: stock/serializers.py:931
msgid "Allow mismatched suppliers"
msgstr ""
-#: stock/serializers.py:933
+#: stock/serializers.py:932
msgid "Allow stock items with different supplier parts to be merged"
msgstr ""
-#: stock/serializers.py:938
+#: stock/serializers.py:937
msgid "Allow mismatched status"
msgstr ""
-#: stock/serializers.py:939
+#: stock/serializers.py:938
msgid "Allow stock items with different status codes to be merged"
msgstr ""
-#: stock/serializers.py:949
+#: stock/serializers.py:948
msgid "At least two stock items must be provided"
msgstr ""
-#: stock/serializers.py:1031
+#: stock/serializers.py:1030
msgid "StockItem primary key value"
msgstr ""
-#: stock/serializers.py:1059
+#: stock/serializers.py:1058
msgid "Stock transaction notes"
msgstr ""
@@ -6520,7 +6794,7 @@ msgstr ""
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2871
+#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2889
msgid "Install Stock Item"
msgstr ""
@@ -6528,7 +6802,7 @@ msgstr ""
msgid "Delete all test results for this stock item"
msgstr ""
-#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1522
+#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1541
msgid "Add Test Result"
msgstr ""
@@ -6687,7 +6961,7 @@ msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:431
-#: templates/js/translated/table_filters.js:277
+#: templates/js/translated/table_filters.js:281
msgid "Expired"
msgstr ""
@@ -6697,16 +6971,10 @@ msgid "This StockItem expires on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/table_filters.js:283
+#: templates/js/translated/table_filters.js:287
msgid "Stale"
msgstr ""
-#: stock/templates/stock/item_base.html:440
-#: templates/js/translated/company.js:1038
-#: templates/js/translated/stock.js:1901
-msgid "Last Updated"
-msgstr ""
-
#: stock/templates/stock/item_base.html:445
msgid "Last Stocktake"
msgstr ""
@@ -6783,11 +7051,6 @@ msgstr ""
msgid "Delete location"
msgstr ""
-#: stock/templates/stock/location.html:123
-#: stock/templates/stock/location.html:129
-msgid "Location Path"
-msgstr ""
-
#: stock/templates/stock/location.html:130
msgid "Top level stock location"
msgstr ""
@@ -6960,6 +7223,14 @@ msgstr ""
msgid "Overdue Sales Orders"
msgstr ""
+#: templates/InvenTree/index.html:312
+msgid "InvenTree News"
+msgstr ""
+
+#: templates/InvenTree/index.html:314
+msgid "Current News"
+msgstr ""
+
#: templates/InvenTree/notifications/history.html:9
msgid "Notification History"
msgstr ""
@@ -7026,30 +7297,6 @@ msgstr ""
msgid "Category Settings"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:8
-msgid "Currency Settings"
-msgstr ""
-
-#: templates/InvenTree/settings/currencies.html:19
-msgid "Base Currency"
-msgstr ""
-
-#: templates/InvenTree/settings/currencies.html:24
-msgid "Exchange Rates"
-msgstr ""
-
-#: templates/InvenTree/settings/currencies.html:38
-msgid "Last Update"
-msgstr ""
-
-#: templates/InvenTree/settings/currencies.html:44
-msgid "Never"
-msgstr ""
-
-#: templates/InvenTree/settings/currencies.html:49
-msgid "Update Now"
-msgstr ""
-
#: templates/InvenTree/settings/global.html:9
msgid "Server Settings"
msgstr ""
@@ -7090,15 +7337,15 @@ msgstr ""
msgid "Part Settings"
msgstr ""
-#: templates/InvenTree/settings/part.html:46
+#: templates/InvenTree/settings/part.html:40
msgid "Part Import"
msgstr ""
-#: templates/InvenTree/settings/part.html:50
+#: templates/InvenTree/settings/part.html:44
msgid "Import Part"
msgstr ""
-#: templates/InvenTree/settings/part.html:64
+#: templates/InvenTree/settings/part.html:58
msgid "Part Parameter Templates"
msgstr ""
@@ -7125,11 +7372,6 @@ msgstr ""
msgid "External plugins are not enabled for this InvenTree installation"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:62
-#: templates/InvenTree/settings/plugin_settings.html:33
-msgid "Author"
-msgstr ""
-
#: templates/InvenTree/settings/plugin.html:64
#: templates/InvenTree/settings/plugin_settings.html:43
msgid "Version"
@@ -7239,6 +7481,39 @@ msgstr "Clé de signature"
msgid "Purchase Order Settings"
msgstr ""
+#: templates/InvenTree/settings/pricing.html:7
+msgid "Pricing Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:24
+msgid "Currency Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:30
+msgid "Update Now"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:39
+#: templates/InvenTree/settings/pricing.html:43
+msgid "Last Update"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:43
+msgid "Never"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:53
+msgid "Base Currency"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:58
+msgid "Exchange Rates"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:60
+msgid "Rate"
+msgstr ""
+
#: templates/InvenTree/settings/report.html:8
#: templates/InvenTree/settings/user_reports.html:9
msgid "Report Settings"
@@ -7295,6 +7570,7 @@ msgid "No part parameter templates found"
msgstr ""
#: templates/InvenTree/settings/settings.html:338
+#: templates/js/translated/news.js:28
#: templates/js/translated/notification.js:36
msgid "ID"
msgstr ""
@@ -7357,10 +7633,6 @@ msgstr ""
msgid "Server Configuration"
msgstr ""
-#: templates/InvenTree/settings/sidebar.html:35
-msgid "Currencies"
-msgstr ""
-
#: templates/InvenTree/settings/sidebar.html:43
msgid "Categories"
msgstr ""
@@ -7380,7 +7652,7 @@ msgid "Change Password"
msgstr ""
#: templates/InvenTree/settings/user.html:23
-#: templates/js/translated/helpers.js:31 templates/notes_buttons.html:3
+#: templates/js/translated/helpers.js:33 templates/notes_buttons.html:3
#: templates/notes_buttons.html:4
msgid "Edit"
msgstr ""
@@ -7890,7 +8162,7 @@ msgid "The following parts are low on required stock"
msgstr ""
#: templates/email/build_order_required_stock.html:18
-#: templates/js/translated/bom.js:1566
+#: templates/js/translated/bom.js:1629
msgid "Required Quantity"
msgstr "Quantité requise"
@@ -7904,7 +8176,7 @@ msgid "Click on the following link to view this part"
msgstr ""
#: templates/email/low_stock_notification.html:19
-#: templates/js/translated/part.js:2566
+#: templates/js/translated/part.js:2423
msgid "Minimum Quantity"
msgstr ""
@@ -8057,7 +8329,7 @@ msgstr ""
msgid "Unlink"
msgstr "Délier"
-#: templates/js/translated/barcode.js:500 templates/js/translated/stock.js:1054
+#: templates/js/translated/barcode.js:500 templates/js/translated/stock.js:1073
msgid "Remove stock item"
msgstr "Supprimer l'article de stock"
@@ -8127,10 +8399,10 @@ msgstr ""
msgid "Row Data"
msgstr "Données de la rangée"
-#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:646
+#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:659
#: templates/js/translated/modals.js:56 templates/js/translated/modals.js:601
#: templates/js/translated/modals.js:695 templates/js/translated/modals.js:1003
-#: templates/js/translated/order.js:1179 templates/modals.html:15
+#: templates/js/translated/order.js:1213 templates/modals.html:15
#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50
msgid "Close"
msgstr ""
@@ -8140,12 +8412,12 @@ msgid "Download BOM Template"
msgstr "Télécharger le template de la BOM"
#: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312
-#: templates/js/translated/order.js:960 templates/js/translated/tables.js:145
+#: templates/js/translated/order.js:994 templates/js/translated/tables.js:145
msgid "Format"
msgstr ""
#: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313
-#: templates/js/translated/order.js:961
+#: templates/js/translated/order.js:995
msgid "Select file format"
msgstr "Sélectionner un format de fichier"
@@ -8197,118 +8469,130 @@ msgstr ""
msgid "Include part supplier data in exported BOM"
msgstr ""
-#: templates/js/translated/bom.js:537
+#: templates/js/translated/bom.js:358
+msgid "Include Pricing Data"
+msgstr ""
+
+#: templates/js/translated/bom.js:359
+msgid "Include part pricing data in exported BOM"
+msgstr ""
+
+#: templates/js/translated/bom.js:550
msgid "Remove substitute part"
msgstr ""
-#: templates/js/translated/bom.js:591
+#: templates/js/translated/bom.js:604
msgid "Select and add a new substitute part using the input below"
msgstr ""
-#: templates/js/translated/bom.js:602
+#: templates/js/translated/bom.js:615
msgid "Are you sure you wish to remove this substitute part link?"
msgstr ""
-#: templates/js/translated/bom.js:608
+#: templates/js/translated/bom.js:621
msgid "Remove Substitute Part"
msgstr ""
-#: templates/js/translated/bom.js:647
+#: templates/js/translated/bom.js:660
msgid "Add Substitute"
msgstr ""
-#: templates/js/translated/bom.js:648
+#: templates/js/translated/bom.js:661
msgid "Edit BOM Item Substitutes"
msgstr ""
-#: templates/js/translated/bom.js:710
+#: templates/js/translated/bom.js:723
msgid "All selected BOM items will be deleted"
msgstr ""
-#: templates/js/translated/bom.js:726
+#: templates/js/translated/bom.js:739
msgid "Delete selected BOM items?"
msgstr ""
-#: templates/js/translated/bom.js:860
+#: templates/js/translated/bom.js:868
msgid "Load BOM for subassembly"
msgstr ""
-#: templates/js/translated/bom.js:870
+#: templates/js/translated/bom.js:878
msgid "Substitutes Available"
msgstr ""
-#: templates/js/translated/bom.js:874 templates/js/translated/build.js:1835
+#: templates/js/translated/bom.js:882 templates/js/translated/build.js:1835
msgid "Variant stock allowed"
msgstr ""
-#: templates/js/translated/bom.js:983 templates/js/translated/build.js:1907
-#: templates/js/translated/order.js:3927
-msgid "No Stock Available"
-msgstr ""
-
-#: templates/js/translated/bom.js:988 templates/js/translated/build.js:1911
-msgid "Includes variant and substitute stock"
-msgstr ""
-
-#: templates/js/translated/bom.js:990 templates/js/translated/build.js:1913
-#: templates/js/translated/part.js:761 templates/js/translated/part.js:1539
-msgid "Includes variant stock"
-msgstr ""
-
-#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1915
-msgid "Includes substitute stock"
-msgstr ""
-
-#: templates/js/translated/bom.js:1010
+#: templates/js/translated/bom.js:972
msgid "Substitutes"
msgstr ""
-#: templates/js/translated/bom.js:1061 templates/js/translated/bom.js:1195
+#: templates/js/translated/bom.js:1023 templates/js/translated/bom.js:1260
msgid "View BOM"
msgstr ""
-#: templates/js/translated/bom.js:1071
-msgid "Purchase Price Range"
+#: templates/js/translated/bom.js:1094
+msgid "BOM pricing is complete"
msgstr ""
-#: templates/js/translated/bom.js:1078
-msgid "Purchase Price Average"
+#: templates/js/translated/bom.js:1099
+msgid "BOM pricing is incomplete"
msgstr ""
-#: templates/js/translated/bom.js:1106 templates/js/translated/build.js:1898
+#: templates/js/translated/bom.js:1106
+msgid "No pricing available"
+msgstr ""
+
+#: templates/js/translated/bom.js:1137 templates/js/translated/build.js:1907
+#: templates/js/translated/order.js:3924
+msgid "No Stock Available"
+msgstr ""
+
+#: templates/js/translated/bom.js:1142 templates/js/translated/build.js:1911
+msgid "Includes variant and substitute stock"
+msgstr ""
+
+#: templates/js/translated/bom.js:1144 templates/js/translated/build.js:1913
+#: templates/js/translated/part.js:775 templates/js/translated/part.js:1550
+msgid "Includes variant stock"
+msgstr ""
+
+#: templates/js/translated/bom.js:1146 templates/js/translated/build.js:1915
+msgid "Includes substitute stock"
+msgstr ""
+
+#: templates/js/translated/bom.js:1171 templates/js/translated/build.js:1898
#: templates/js/translated/build.js:1985
msgid "Consumable item"
msgstr ""
-#: templates/js/translated/bom.js:1166
+#: templates/js/translated/bom.js:1231
msgid "Validate BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1168
+#: templates/js/translated/bom.js:1233
msgid "This line has been validated"
msgstr ""
-#: templates/js/translated/bom.js:1170
+#: templates/js/translated/bom.js:1235
msgid "Edit substitute parts"
msgstr ""
-#: templates/js/translated/bom.js:1172 templates/js/translated/bom.js:1369
+#: templates/js/translated/bom.js:1237 templates/js/translated/bom.js:1433
msgid "Edit BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1174
+#: templates/js/translated/bom.js:1239
msgid "Delete BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1280 templates/js/translated/build.js:1679
+#: templates/js/translated/bom.js:1344 templates/js/translated/build.js:1679
msgid "No BOM items found"
msgstr ""
-#: templates/js/translated/bom.js:1549 templates/js/translated/build.js:1818
+#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1818
msgid "Required Part"
msgstr ""
-#: templates/js/translated/bom.js:1575
+#: templates/js/translated/bom.js:1638
msgid "Inherited from parent BOM"
msgstr ""
@@ -8353,12 +8637,12 @@ msgid "Complete Build Order"
msgstr ""
#: templates/js/translated/build.js:311 templates/js/translated/stock.js:92
-#: templates/js/translated/stock.js:214
+#: templates/js/translated/stock.js:233
msgid "Next available serial number"
msgstr "Prochain numéro de série disponible"
#: templates/js/translated/build.js:313 templates/js/translated/stock.js:94
-#: templates/js/translated/stock.js:216
+#: templates/js/translated/stock.js:235
msgid "Latest serial number"
msgstr "Dernier numéro de série"
@@ -8455,12 +8739,12 @@ msgid "No required tests for this build"
msgstr ""
#: templates/js/translated/build.js:1775 templates/js/translated/build.js:2765
-#: templates/js/translated/order.js:3627
+#: templates/js/translated/order.js:3638
msgid "Edit stock allocation"
msgstr ""
#: templates/js/translated/build.js:1777 templates/js/translated/build.js:2766
-#: templates/js/translated/order.js:3628
+#: templates/js/translated/order.js:3639
msgid "Delete stock allocation"
msgstr ""
@@ -8480,20 +8764,15 @@ msgstr ""
msgid "Quantity Per"
msgstr ""
-#: templates/js/translated/build.js:1901 templates/js/translated/order.js:3934
+#: templates/js/translated/build.js:1901 templates/js/translated/order.js:3931
msgid "Insufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3932
+#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3929
msgid "Sufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1937 templates/js/translated/build.js:2195
-#: templates/js/translated/build.js:2761 templates/js/translated/order.js:3946
-msgid "Allocated"
-msgstr ""
-
-#: templates/js/translated/build.js:1993 templates/js/translated/order.js:4026
+#: templates/js/translated/build.js:1993 templates/js/translated/order.js:4023
msgid "Build stock"
msgstr ""
@@ -8501,21 +8780,21 @@ msgstr ""
msgid "Order stock"
msgstr "Commander des stocks"
-#: templates/js/translated/build.js:2000 templates/js/translated/order.js:4019
+#: templates/js/translated/build.js:2000 templates/js/translated/order.js:4016
msgid "Allocate stock"
msgstr ""
#: templates/js/translated/build.js:2039 templates/js/translated/label.js:172
-#: templates/js/translated/order.js:1007 templates/js/translated/order.js:3154
+#: templates/js/translated/order.js:1041 templates/js/translated/order.js:3165
#: templates/js/translated/report.js:225
msgid "Select Parts"
msgstr ""
-#: templates/js/translated/build.js:2040 templates/js/translated/order.js:3155
+#: templates/js/translated/build.js:2040 templates/js/translated/order.js:3166
msgid "You must select at least one part to allocate"
msgstr ""
-#: templates/js/translated/build.js:2089 templates/js/translated/order.js:3103
+#: templates/js/translated/build.js:2089 templates/js/translated/order.js:3114
msgid "Specify stock allocation quantity"
msgstr ""
@@ -8527,7 +8806,7 @@ msgstr ""
msgid "All selected parts have been fully allocated"
msgstr ""
-#: templates/js/translated/build.js:2183 templates/js/translated/order.js:3169
+#: templates/js/translated/build.js:2183 templates/js/translated/order.js:3180
msgid "Select source location (leave blank to take from all locations)"
msgstr ""
@@ -8535,11 +8814,11 @@ msgstr ""
msgid "Allocate Stock Items to Build Order"
msgstr ""
-#: templates/js/translated/build.js:2222 templates/js/translated/order.js:3266
+#: templates/js/translated/build.js:2222 templates/js/translated/order.js:3277
msgid "No matching stock locations"
msgstr ""
-#: templates/js/translated/build.js:2294 templates/js/translated/order.js:3343
+#: templates/js/translated/build.js:2294 templates/js/translated/order.js:3354
msgid "No matching stock items"
msgstr ""
@@ -8571,9 +8850,9 @@ msgstr ""
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:2558 templates/js/translated/part.js:1423
-#: templates/js/translated/part.js:1957 templates/js/translated/stock.js:1686
-#: templates/js/translated/stock.js:2390
+#: templates/js/translated/build.js:2558 templates/js/translated/part.js:1444
+#: templates/js/translated/part.js:1981 templates/js/translated/stock.js:1705
+#: templates/js/translated/stock.js:2408
msgid "Select"
msgstr ""
@@ -8585,7 +8864,7 @@ msgstr ""
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2636 templates/js/translated/stock.js:2657
+#: templates/js/translated/build.js:2636 templates/js/translated/stock.js:2675
msgid "No user information"
msgstr "Pas d'informations sur l'utilisateur"
@@ -8593,118 +8872,144 @@ msgstr "Pas d'informations sur l'utilisateur"
msgid "No parts allocated for"
msgstr ""
-#: templates/js/translated/company.js:66
+#: templates/js/translated/company.js:67
msgid "Add Manufacturer"
msgstr ""
-#: templates/js/translated/company.js:79 templates/js/translated/company.js:181
+#: templates/js/translated/company.js:80 templates/js/translated/company.js:182
msgid "Add Manufacturer Part"
msgstr ""
-#: templates/js/translated/company.js:100
+#: templates/js/translated/company.js:101
msgid "Edit Manufacturer Part"
msgstr ""
-#: templates/js/translated/company.js:169 templates/js/translated/order.js:576
+#: templates/js/translated/company.js:170 templates/js/translated/order.js:576
msgid "Add Supplier"
msgstr ""
-#: templates/js/translated/company.js:197 templates/js/translated/order.js:828
+#: templates/js/translated/company.js:198 templates/js/translated/order.js:862
msgid "Add Supplier Part"
msgstr ""
-#: templates/js/translated/company.js:297
+#: templates/js/translated/company.js:298
msgid "All selected supplier parts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:313
+#: templates/js/translated/company.js:314
msgid "Delete Supplier Parts"
msgstr ""
-#: templates/js/translated/company.js:385
+#: templates/js/translated/company.js:386
msgid "Add new Company"
msgstr ""
-#: templates/js/translated/company.js:462
+#: templates/js/translated/company.js:463
msgid "Parts Supplied"
msgstr "Composantes fournies"
-#: templates/js/translated/company.js:471
+#: templates/js/translated/company.js:472
msgid "Parts Manufactured"
msgstr "Composantes fabriquées"
-#: templates/js/translated/company.js:486
+#: templates/js/translated/company.js:487
msgid "No company information found"
msgstr ""
-#: templates/js/translated/company.js:527
+#: templates/js/translated/company.js:528
msgid "All selected manufacturer parts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:542
+#: templates/js/translated/company.js:543
msgid "Delete Manufacturer Parts"
msgstr ""
-#: templates/js/translated/company.js:576
+#: templates/js/translated/company.js:577
msgid "All selected parameters will be deleted"
msgstr ""
-#: templates/js/translated/company.js:590
+#: templates/js/translated/company.js:591
msgid "Delete Parameters"
msgstr ""
-#: templates/js/translated/company.js:631
+#: templates/js/translated/company.js:632
msgid "No manufacturer parts found"
msgstr ""
-#: templates/js/translated/company.js:651
-#: templates/js/translated/company.js:912 templates/js/translated/part.js:636
-#: templates/js/translated/part.js:721
+#: templates/js/translated/company.js:652
+#: templates/js/translated/company.js:913 templates/js/translated/part.js:650
+#: templates/js/translated/part.js:735
msgid "Template part"
msgstr ""
-#: templates/js/translated/company.js:655
-#: templates/js/translated/company.js:916 templates/js/translated/part.js:640
-#: templates/js/translated/part.js:725
+#: templates/js/translated/company.js:656
+#: templates/js/translated/company.js:917 templates/js/translated/part.js:654
+#: templates/js/translated/part.js:739
msgid "Assembled part"
msgstr ""
-#: templates/js/translated/company.js:783 templates/js/translated/part.js:828
+#: templates/js/translated/company.js:784 templates/js/translated/part.js:855
msgid "No parameters found"
msgstr ""
-#: templates/js/translated/company.js:820 templates/js/translated/part.js:870
+#: templates/js/translated/company.js:821 templates/js/translated/part.js:897
msgid "Edit parameter"
msgstr ""
-#: templates/js/translated/company.js:821 templates/js/translated/part.js:871
+#: templates/js/translated/company.js:822 templates/js/translated/part.js:898
msgid "Delete parameter"
msgstr ""
-#: templates/js/translated/company.js:840 templates/js/translated/part.js:888
+#: templates/js/translated/company.js:841 templates/js/translated/part.js:915
msgid "Edit Parameter"
msgstr ""
-#: templates/js/translated/company.js:851 templates/js/translated/part.js:900
+#: templates/js/translated/company.js:852 templates/js/translated/part.js:927
msgid "Delete Parameter"
msgstr ""
-#: templates/js/translated/company.js:891
+#: templates/js/translated/company.js:892
msgid "No supplier parts found"
msgstr ""
-#: templates/js/translated/company.js:1032
+#: templates/js/translated/company.js:1033
msgid "Availability"
msgstr ""
-#: templates/js/translated/company.js:1055
+#: templates/js/translated/company.js:1056
msgid "Edit supplier part"
msgstr ""
-#: templates/js/translated/company.js:1056
+#: templates/js/translated/company.js:1057
msgid "Delete supplier part"
msgstr ""
+#: templates/js/translated/company.js:1112
+#: templates/js/translated/pricing.js:423
+msgid "Delete Price Break"
+msgstr ""
+
+#: templates/js/translated/company.js:1128
+#: templates/js/translated/pricing.js:437
+msgid "Edit Price Break"
+msgstr ""
+
+#: templates/js/translated/company.js:1145
+msgid "No price break information found"
+msgstr ""
+
+#: templates/js/translated/company.js:1174
+msgid "Last updated"
+msgstr ""
+
+#: templates/js/translated/company.js:1180
+msgid "Edit price break"
+msgstr ""
+
+#: templates/js/translated/company.js:1181
+msgid "Delete price break"
+msgstr ""
+
#: templates/js/translated/filters.js:178
#: templates/js/translated/filters.js:441
msgid "true"
@@ -8785,27 +9090,27 @@ msgstr ""
msgid "Clear input"
msgstr ""
-#: templates/js/translated/forms.js:2638
+#: templates/js/translated/forms.js:2628
msgid "File Column"
msgstr ""
-#: templates/js/translated/forms.js:2638
+#: templates/js/translated/forms.js:2628
msgid "Field Name"
msgstr ""
-#: templates/js/translated/forms.js:2650
+#: templates/js/translated/forms.js:2640
msgid "Select Columns"
msgstr ""
-#: templates/js/translated/helpers.js:24
+#: templates/js/translated/helpers.js:26
msgid "YES"
msgstr ""
-#: templates/js/translated/helpers.js:26
+#: templates/js/translated/helpers.js:28
msgid "NO"
msgstr ""
-#: templates/js/translated/helpers.js:363
+#: templates/js/translated/helpers.js:434
msgid "Notes updated"
msgstr ""
@@ -8814,7 +9119,7 @@ msgid "Labels sent to printer"
msgstr ""
#: templates/js/translated/label.js:60 templates/js/translated/report.js:118
-#: templates/js/translated/stock.js:1078
+#: templates/js/translated/stock.js:1097
msgid "Select Stock Items"
msgstr ""
@@ -8934,14 +9239,6 @@ msgstr ""
msgid "Stock ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:159
-msgid "Location ID"
-msgstr ""
-
-#: templates/js/translated/model_renderers.js:177
-msgid "Build ID"
-msgstr ""
-
#: templates/js/translated/model_renderers.js:278
#: templates/js/translated/model_renderers.js:303
msgid "Order ID"
@@ -8952,16 +9249,12 @@ msgstr "ID de commande"
msgid "Shipment ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:338
-msgid "Category ID"
-msgstr ""
-
#: templates/js/translated/model_renderers.js:381
msgid "Manufacturer Part ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:418
-msgid "Supplier Part ID"
+#: templates/js/translated/news.js:23
+msgid "No news found"
msgstr ""
#: templates/js/translated/notification.js:42
@@ -9104,659 +9397,688 @@ msgstr ""
msgid "Duplication Options"
msgstr ""
-#: templates/js/translated/order.js:957
+#: templates/js/translated/order.js:991
msgid "Export Order"
msgstr ""
-#: templates/js/translated/order.js:1008
+#: templates/js/translated/order.js:1042
msgid "At least one purchaseable part must be selected"
msgstr ""
-#: templates/js/translated/order.js:1033
+#: templates/js/translated/order.js:1067
msgid "Quantity to order"
msgstr ""
-#: templates/js/translated/order.js:1042
+#: templates/js/translated/order.js:1076
msgid "New supplier part"
msgstr ""
-#: templates/js/translated/order.js:1060
+#: templates/js/translated/order.js:1094
msgid "New purchase order"
msgstr ""
-#: templates/js/translated/order.js:1093
+#: templates/js/translated/order.js:1127
msgid "Add to purchase order"
msgstr ""
-#: templates/js/translated/order.js:1233
+#: templates/js/translated/order.js:1267
msgid "No matching supplier parts"
msgstr ""
-#: templates/js/translated/order.js:1252
+#: templates/js/translated/order.js:1286
msgid "No matching purchase orders"
msgstr ""
-#: templates/js/translated/order.js:1429
+#: templates/js/translated/order.js:1463
msgid "Select Line Items"
msgstr ""
-#: templates/js/translated/order.js:1430
+#: templates/js/translated/order.js:1464
msgid "At least one line item must be selected"
msgstr ""
-#: templates/js/translated/order.js:1450 templates/js/translated/order.js:1563
+#: templates/js/translated/order.js:1484 templates/js/translated/order.js:1597
msgid "Add batch code"
msgstr ""
-#: templates/js/translated/order.js:1456 templates/js/translated/order.js:1574
+#: templates/js/translated/order.js:1490 templates/js/translated/order.js:1608
msgid "Add serial numbers"
msgstr ""
-#: templates/js/translated/order.js:1471
+#: templates/js/translated/order.js:1505
msgid "Received Quantity"
msgstr ""
-#: templates/js/translated/order.js:1482
+#: templates/js/translated/order.js:1516
msgid "Quantity to receive"
msgstr ""
-#: templates/js/translated/order.js:1546 templates/js/translated/stock.js:2146
+#: templates/js/translated/order.js:1580 templates/js/translated/stock.js:2164
msgid "Stock Status"
msgstr ""
-#: templates/js/translated/order.js:1639
+#: templates/js/translated/order.js:1673
msgid "Order Code"
msgstr "Référence de commande"
-#: templates/js/translated/order.js:1640
+#: templates/js/translated/order.js:1674
msgid "Ordered"
msgstr "Commandé"
-#: templates/js/translated/order.js:1642
+#: templates/js/translated/order.js:1676
msgid "Quantity to Receive"
msgstr ""
-#: templates/js/translated/order.js:1661
+#: templates/js/translated/order.js:1695
msgid "Confirm receipt of items"
msgstr ""
-#: templates/js/translated/order.js:1662
+#: templates/js/translated/order.js:1696
msgid "Receive Purchase Order Items"
msgstr ""
-#: templates/js/translated/order.js:1940 templates/js/translated/part.js:941
+#: templates/js/translated/order.js:1974 templates/js/translated/part.js:968
msgid "No purchase orders found"
msgstr ""
-#: templates/js/translated/order.js:1967 templates/js/translated/order.js:2798
+#: templates/js/translated/order.js:2001 templates/js/translated/order.js:2809
msgid "Order is overdue"
msgstr "Commande en retard"
-#: templates/js/translated/order.js:2017 templates/js/translated/order.js:2863
-#: templates/js/translated/order.js:3004
+#: templates/js/translated/order.js:2051 templates/js/translated/order.js:2874
+#: templates/js/translated/order.js:3015
msgid "Items"
msgstr ""
-#: templates/js/translated/order.js:2115 templates/js/translated/order.js:4078
+#: templates/js/translated/order.js:2154 templates/js/translated/order.js:4075
msgid "Duplicate Line Item"
msgstr ""
-#: templates/js/translated/order.js:2132 templates/js/translated/order.js:4100
+#: templates/js/translated/order.js:2171 templates/js/translated/order.js:4097
msgid "Edit Line Item"
msgstr ""
-#: templates/js/translated/order.js:2145 templates/js/translated/order.js:4111
+#: templates/js/translated/order.js:2184 templates/js/translated/order.js:4108
msgid "Delete Line Item"
msgstr ""
-#: templates/js/translated/order.js:2188
+#: templates/js/translated/order.js:2227
msgid "No line items found"
msgstr ""
-#: templates/js/translated/order.js:2215 templates/js/translated/order.js:3812
+#: templates/js/translated/order.js:2254 templates/js/translated/order.js:3827
msgid "Total"
msgstr ""
-#: templates/js/translated/order.js:2270 templates/js/translated/part.js:1043
-#: templates/js/translated/part.js:1095
+#: templates/js/translated/order.js:2309 templates/js/translated/part.js:1070
+#: templates/js/translated/part.js:1122
msgid "Total Quantity"
msgstr ""
-#: templates/js/translated/order.js:2301 templates/js/translated/order.js:2500
-#: templates/js/translated/order.js:3837 templates/js/translated/order.js:4342
-#: templates/js/translated/part.js:2199 templates/js/translated/part.js:2797
+#: templates/js/translated/order.js:2340 templates/js/translated/order.js:2527
+#: templates/js/translated/order.js:3852 templates/js/translated/order.js:4343
+#: templates/js/translated/pricing.js:260
+#: templates/js/translated/pricing.js:329
+#: templates/js/translated/pricing.js:545
msgid "Unit Price"
msgstr ""
-#: templates/js/translated/order.js:2316 templates/js/translated/order.js:2516
-#: templates/js/translated/order.js:3853 templates/js/translated/order.js:4358
+#: templates/js/translated/order.js:2350 templates/js/translated/order.js:2537
+#: templates/js/translated/order.js:3862 templates/js/translated/order.js:4353
msgid "Total Price"
msgstr ""
-#: templates/js/translated/order.js:2357 templates/js/translated/order.js:3895
-#: templates/js/translated/part.js:1079
+#: templates/js/translated/order.js:2380 templates/js/translated/order.js:3892
+#: templates/js/translated/part.js:1106
msgid "This line item is overdue"
msgstr ""
-#: templates/js/translated/order.js:2416 templates/js/translated/part.js:1130
+#: templates/js/translated/order.js:2439 templates/js/translated/part.js:1151
msgid "Receive line item"
msgstr ""
-#: templates/js/translated/order.js:2420 templates/js/translated/order.js:4032
+#: templates/js/translated/order.js:2443 templates/js/translated/order.js:4029
msgid "Duplicate line item"
msgstr ""
-#: templates/js/translated/order.js:2421 templates/js/translated/order.js:4033
+#: templates/js/translated/order.js:2444 templates/js/translated/order.js:4030
msgid "Edit line item"
msgstr ""
-#: templates/js/translated/order.js:2422 templates/js/translated/order.js:4037
+#: templates/js/translated/order.js:2445 templates/js/translated/order.js:4034
msgid "Delete line item"
msgstr ""
-#: templates/js/translated/order.js:2564 templates/js/translated/order.js:4406
+#: templates/js/translated/order.js:2574 templates/js/translated/order.js:4389
msgid "Duplicate line"
msgstr ""
-#: templates/js/translated/order.js:2565 templates/js/translated/order.js:4407
+#: templates/js/translated/order.js:2575 templates/js/translated/order.js:4390
msgid "Edit line"
msgstr ""
-#: templates/js/translated/order.js:2566 templates/js/translated/order.js:4408
+#: templates/js/translated/order.js:2576 templates/js/translated/order.js:4391
msgid "Delete line"
msgstr ""
-#: templates/js/translated/order.js:2595 templates/js/translated/order.js:4437
+#: templates/js/translated/order.js:2606 templates/js/translated/order.js:4420
msgid "Duplicate Line"
msgstr ""
-#: templates/js/translated/order.js:2616 templates/js/translated/order.js:4458
+#: templates/js/translated/order.js:2627 templates/js/translated/order.js:4441
msgid "Edit Line"
msgstr ""
-#: templates/js/translated/order.js:2627 templates/js/translated/order.js:4469
+#: templates/js/translated/order.js:2638 templates/js/translated/order.js:4452
msgid "Delete Line"
msgstr ""
-#: templates/js/translated/order.js:2638
+#: templates/js/translated/order.js:2649
msgid "No matching line"
msgstr ""
-#: templates/js/translated/order.js:2749
+#: templates/js/translated/order.js:2760
msgid "No sales orders found"
msgstr ""
-#: templates/js/translated/order.js:2812
+#: templates/js/translated/order.js:2823
msgid "Invalid Customer"
msgstr ""
-#: templates/js/translated/order.js:2910
+#: templates/js/translated/order.js:2921
msgid "Edit shipment"
msgstr ""
-#: templates/js/translated/order.js:2913
+#: templates/js/translated/order.js:2924
msgid "Complete shipment"
msgstr ""
-#: templates/js/translated/order.js:2918
+#: templates/js/translated/order.js:2929
msgid "Delete shipment"
msgstr ""
-#: templates/js/translated/order.js:2938
+#: templates/js/translated/order.js:2949
msgid "Edit Shipment"
msgstr ""
-#: templates/js/translated/order.js:2955
+#: templates/js/translated/order.js:2966
msgid "Delete Shipment"
msgstr ""
-#: templates/js/translated/order.js:2989
+#: templates/js/translated/order.js:3000
msgid "No matching shipments found"
msgstr ""
-#: templates/js/translated/order.js:2999
+#: templates/js/translated/order.js:3010
msgid "Shipment Reference"
msgstr ""
-#: templates/js/translated/order.js:3023
+#: templates/js/translated/order.js:3034
msgid "Not shipped"
msgstr ""
-#: templates/js/translated/order.js:3029
+#: templates/js/translated/order.js:3040
msgid "Tracking"
msgstr ""
-#: templates/js/translated/order.js:3033
+#: templates/js/translated/order.js:3044
msgid "Invoice"
msgstr ""
-#: templates/js/translated/order.js:3202
+#: templates/js/translated/order.js:3213
msgid "Add Shipment"
msgstr ""
-#: templates/js/translated/order.js:3253
+#: templates/js/translated/order.js:3264
msgid "Confirm stock allocation"
msgstr ""
-#: templates/js/translated/order.js:3254
+#: templates/js/translated/order.js:3265
msgid "Allocate Stock Items to Sales Order"
msgstr ""
-#: templates/js/translated/order.js:3462
+#: templates/js/translated/order.js:3473
msgid "No sales order allocations found"
msgstr ""
-#: templates/js/translated/order.js:3541
+#: templates/js/translated/order.js:3552
msgid "Edit Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:3558
+#: templates/js/translated/order.js:3569
msgid "Confirm Delete Operation"
msgstr ""
-#: templates/js/translated/order.js:3559
+#: templates/js/translated/order.js:3570
msgid "Delete Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:3604 templates/js/translated/order.js:3693
-#: templates/js/translated/stock.js:1602
+#: templates/js/translated/order.js:3615 templates/js/translated/order.js:3704
+#: templates/js/translated/stock.js:1621
msgid "Shipped to customer"
msgstr "Livré au client"
-#: templates/js/translated/order.js:3612 templates/js/translated/order.js:3702
+#: templates/js/translated/order.js:3623 templates/js/translated/order.js:3713
msgid "Stock location not specified"
msgstr ""
-#: templates/js/translated/order.js:4016
+#: templates/js/translated/order.js:4013
msgid "Allocate serial numbers"
msgstr "Allouer des numéros de série"
-#: templates/js/translated/order.js:4022
+#: templates/js/translated/order.js:4019
msgid "Purchase stock"
msgstr "Acheter du stock"
-#: templates/js/translated/order.js:4029 templates/js/translated/order.js:4227
+#: templates/js/translated/order.js:4026 templates/js/translated/order.js:4224
msgid "Calculate price"
msgstr "Calculer le prix"
-#: templates/js/translated/order.js:4041
+#: templates/js/translated/order.js:4038
msgid "Cannot be deleted as items have been shipped"
msgstr ""
-#: templates/js/translated/order.js:4044
+#: templates/js/translated/order.js:4041
msgid "Cannot be deleted as items have been allocated"
msgstr ""
-#: templates/js/translated/order.js:4126
+#: templates/js/translated/order.js:4123
msgid "Allocate Serial Numbers"
msgstr "Allouer des numéros de série"
-#: templates/js/translated/order.js:4235
+#: templates/js/translated/order.js:4232
msgid "Update Unit Price"
msgstr ""
-#: templates/js/translated/order.js:4249
+#: templates/js/translated/order.js:4246
msgid "No matching line items"
msgstr ""
-#: templates/js/translated/order.js:4480
+#: templates/js/translated/order.js:4463
msgid "No matching lines"
msgstr ""
-#: templates/js/translated/part.js:56
+#: templates/js/translated/part.js:52
msgid "Part Attributes"
msgstr "Attributs de la pièce"
-#: templates/js/translated/part.js:60
+#: templates/js/translated/part.js:56
msgid "Part Creation Options"
msgstr "Options de création de pièce"
-#: templates/js/translated/part.js:64
+#: templates/js/translated/part.js:60
msgid "Part Duplication Options"
msgstr "Options de duplication de pièces"
-#: templates/js/translated/part.js:68
+#: templates/js/translated/part.js:64
msgid "Supplier Options"
msgstr "Options de fournisseur"
-#: templates/js/translated/part.js:82
+#: templates/js/translated/part.js:78
msgid "Add Part Category"
msgstr "Ajouter une catégorie de pièce"
-#: templates/js/translated/part.js:166
+#: templates/js/translated/part.js:162
msgid "Create Initial Stock"
msgstr "Créer un stock initial"
-#: templates/js/translated/part.js:167
+#: templates/js/translated/part.js:163
msgid "Create an initial stock item for this part"
msgstr ""
-#: templates/js/translated/part.js:174
+#: templates/js/translated/part.js:170
msgid "Initial Stock Quantity"
msgstr ""
-#: templates/js/translated/part.js:175
+#: templates/js/translated/part.js:171
msgid "Specify initial stock quantity for this part"
msgstr ""
-#: templates/js/translated/part.js:182
+#: templates/js/translated/part.js:178
msgid "Select destination stock location"
msgstr ""
-#: templates/js/translated/part.js:200
+#: templates/js/translated/part.js:196
msgid "Copy Category Parameters"
msgstr ""
-#: templates/js/translated/part.js:201
+#: templates/js/translated/part.js:197
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: templates/js/translated/part.js:209
+#: templates/js/translated/part.js:205
msgid "Add Supplier Data"
msgstr ""
-#: templates/js/translated/part.js:210
+#: templates/js/translated/part.js:206
msgid "Create initial supplier data for this part"
msgstr ""
-#: templates/js/translated/part.js:266
+#: templates/js/translated/part.js:262
msgid "Copy Image"
msgstr "Copier l'image"
-#: templates/js/translated/part.js:267
+#: templates/js/translated/part.js:263
msgid "Copy image from original part"
msgstr ""
-#: templates/js/translated/part.js:275
+#: templates/js/translated/part.js:271
msgid "Copy bill of materials from original part"
msgstr ""
-#: templates/js/translated/part.js:282
+#: templates/js/translated/part.js:278
msgid "Copy Parameters"
msgstr "Copier les paramètres"
-#: templates/js/translated/part.js:283
+#: templates/js/translated/part.js:279
msgid "Copy parameter data from original part"
msgstr ""
-#: templates/js/translated/part.js:296
+#: templates/js/translated/part.js:292
msgid "Parent part category"
msgstr ""
-#: templates/js/translated/part.js:306 templates/js/translated/stock.js:118
+#: templates/js/translated/part.js:302 templates/js/translated/stock.js:118
msgid "Icon (optional) - Explore all available icons on"
msgstr ""
-#: templates/js/translated/part.js:322
+#: templates/js/translated/part.js:318
msgid "Edit Part Category"
msgstr ""
-#: templates/js/translated/part.js:335
+#: templates/js/translated/part.js:331
msgid "Are you sure you want to delete this part category?"
msgstr ""
-#: templates/js/translated/part.js:337
-msgid "Any child categories will be moved to the parent of this category"
+#: templates/js/translated/part.js:336
+msgid "Move to parent category"
msgstr ""
-#: templates/js/translated/part.js:338
-msgid "Any parts in this category will be moved to the parent of this category"
-msgstr ""
-
-#: templates/js/translated/part.js:343
+#: templates/js/translated/part.js:345
msgid "Delete Part Category"
msgstr ""
-#: templates/js/translated/part.js:369
+#: templates/js/translated/part.js:349
+msgid "Action for parts in this category"
+msgstr ""
+
+#: templates/js/translated/part.js:354
+msgid "Action for child categories"
+msgstr ""
+
+#: templates/js/translated/part.js:383
msgid "Edit Part"
msgstr "Modifier la pièce"
-#: templates/js/translated/part.js:371
+#: templates/js/translated/part.js:385
msgid "Part edited"
msgstr "Pièce modifiée"
-#: templates/js/translated/part.js:382
+#: templates/js/translated/part.js:396
msgid "Create Part Variant"
msgstr "Créer une variante de pièce"
-#: templates/js/translated/part.js:434
+#: templates/js/translated/part.js:448
msgid "Active Part"
msgstr ""
-#: templates/js/translated/part.js:435
+#: templates/js/translated/part.js:449
msgid "Part cannot be deleted as it is currently active"
msgstr ""
-#: templates/js/translated/part.js:449
+#: templates/js/translated/part.js:463
msgid "Deleting this part cannot be reversed"
msgstr ""
-#: templates/js/translated/part.js:451
+#: templates/js/translated/part.js:465
msgid "Any stock items for this part will be deleted"
msgstr ""
-#: templates/js/translated/part.js:452
+#: templates/js/translated/part.js:466
msgid "This part will be removed from any Bills of Material"
msgstr ""
-#: templates/js/translated/part.js:453
+#: templates/js/translated/part.js:467
msgid "All manufacturer and supplier information for this part will be deleted"
msgstr ""
-#: templates/js/translated/part.js:460
+#: templates/js/translated/part.js:474
msgid "Delete Part"
msgstr ""
-#: templates/js/translated/part.js:496
+#: templates/js/translated/part.js:510
msgid "You are subscribed to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:498
+#: templates/js/translated/part.js:512
msgid "You have subscribed to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:503
+#: templates/js/translated/part.js:517
msgid "Subscribe to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:505
+#: templates/js/translated/part.js:519
msgid "You have unsubscribed to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:522
+#: templates/js/translated/part.js:536
msgid "Validating the BOM will mark each line item as valid"
msgstr ""
-#: templates/js/translated/part.js:532
+#: templates/js/translated/part.js:546
msgid "Validate Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:535
+#: templates/js/translated/part.js:549
msgid "Validated Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:560
+#: templates/js/translated/part.js:574
msgid "Copy Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:584 templates/js/translated/part.js:1521
-#: templates/js/translated/table_filters.js:476
+#: templates/js/translated/part.js:598 templates/js/translated/part.js:1532
+#: templates/js/translated/table_filters.js:480
msgid "Low stock"
msgstr "Stock bas"
-#: templates/js/translated/part.js:594
+#: templates/js/translated/part.js:608
msgid "No stock available"
msgstr ""
-#: templates/js/translated/part.js:628 templates/js/translated/part.js:713
+#: templates/js/translated/part.js:642 templates/js/translated/part.js:727
msgid "Trackable part"
msgstr "Pièce traçable"
-#: templates/js/translated/part.js:632 templates/js/translated/part.js:717
+#: templates/js/translated/part.js:646 templates/js/translated/part.js:731
msgid "Virtual part"
msgstr "Pièce virtuelle"
-#: templates/js/translated/part.js:644
+#: templates/js/translated/part.js:658
msgid "Subscribed part"
msgstr ""
-#: templates/js/translated/part.js:648
+#: templates/js/translated/part.js:662
msgid "Salable part"
msgstr "Pièce vendable"
-#: templates/js/translated/part.js:776
+#: templates/js/translated/part.js:800
msgid "No variants found"
msgstr "Aucune variante trouvée"
-#: templates/js/translated/part.js:1200
+#: templates/js/translated/part.js:1221
msgid "Delete part relationship"
msgstr ""
-#: templates/js/translated/part.js:1224
+#: templates/js/translated/part.js:1245
msgid "Delete Part Relationship"
msgstr ""
-#: templates/js/translated/part.js:1291 templates/js/translated/part.js:1609
+#: templates/js/translated/part.js:1312 templates/js/translated/part.js:1633
msgid "No parts found"
msgstr "Aucune pièce trouvée"
-#: templates/js/translated/part.js:1488
+#: templates/js/translated/part.js:1499
msgid "No category"
msgstr "Aucune catégorie"
-#: templates/js/translated/part.js:1519
+#: templates/js/translated/part.js:1530
msgid "No stock"
msgstr ""
-#: templates/js/translated/part.js:1543
+#: templates/js/translated/part.js:1554
msgid "Allocated to build orders"
msgstr ""
-#: templates/js/translated/part.js:1547
+#: templates/js/translated/part.js:1558
msgid "Allocated to sales orders"
msgstr ""
-#: templates/js/translated/part.js:1633 templates/js/translated/part.js:1876
-#: templates/js/translated/stock.js:2349
+#: templates/js/translated/part.js:1657 templates/js/translated/part.js:1900
+#: templates/js/translated/stock.js:2367
msgid "Display as list"
msgstr "Afficher sous forme de liste"
-#: templates/js/translated/part.js:1649
+#: templates/js/translated/part.js:1673
msgid "Display as grid"
msgstr "Afficher sous forme de grille"
-#: templates/js/translated/part.js:1715
+#: templates/js/translated/part.js:1739
msgid "Set the part category for the selected parts"
msgstr ""
-#: templates/js/translated/part.js:1720
+#: templates/js/translated/part.js:1744
msgid "Set Part Category"
msgstr ""
-#: templates/js/translated/part.js:1725
+#: templates/js/translated/part.js:1749
msgid "Select Part Category"
msgstr ""
-#: templates/js/translated/part.js:1738
+#: templates/js/translated/part.js:1762
msgid "Category is required"
msgstr ""
-#: templates/js/translated/part.js:1896 templates/js/translated/stock.js:2369
+#: templates/js/translated/part.js:1920 templates/js/translated/stock.js:2387
msgid "Display as tree"
msgstr "Afficher sous forme d'arborescence"
-#: templates/js/translated/part.js:1976
+#: templates/js/translated/part.js:2000
msgid "Load Subcategories"
msgstr ""
-#: templates/js/translated/part.js:1992
+#: templates/js/translated/part.js:2016
msgid "Subscribed category"
msgstr ""
-#: templates/js/translated/part.js:2056
+#: templates/js/translated/part.js:2080
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:2107 templates/js/translated/stock.js:1299
+#: templates/js/translated/part.js:2131 templates/js/translated/stock.js:1318
msgid "Edit test result"
msgstr "Modifier le résultat du test"
-#: templates/js/translated/part.js:2108 templates/js/translated/stock.js:1300
-#: templates/js/translated/stock.js:1560
+#: templates/js/translated/part.js:2132 templates/js/translated/stock.js:1319
+#: templates/js/translated/stock.js:1579
msgid "Delete test result"
msgstr "Supprimer le résultat du test"
-#: templates/js/translated/part.js:2114
+#: templates/js/translated/part.js:2138
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:2136
+#: templates/js/translated/part.js:2160
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2150
+#: templates/js/translated/part.js:2174
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2175
-#, python-brace-format
-msgid "No ${human_name} information found"
-msgstr ""
-
-#: templates/js/translated/part.js:2232
-#, python-brace-format
-msgid "Edit ${human_name}"
-msgstr ""
-
-#: templates/js/translated/part.js:2233
-#, python-brace-format
-msgid "Delete ${human_name}"
-msgstr ""
-
-#: templates/js/translated/part.js:2398 templates/js/translated/part.js:2399
+#: templates/js/translated/part.js:2255 templates/js/translated/part.js:2256
msgid "No date specified"
msgstr ""
-#: templates/js/translated/part.js:2401
+#: templates/js/translated/part.js:2258
msgid "Specified date is in the past"
msgstr ""
-#: templates/js/translated/part.js:2407
+#: templates/js/translated/part.js:2264
msgid "Speculative"
msgstr ""
-#: templates/js/translated/part.js:2457
+#: templates/js/translated/part.js:2314
msgid "No scheduling information available for this part"
msgstr ""
-#: templates/js/translated/part.js:2463
+#: templates/js/translated/part.js:2320
msgid "Error fetching scheduling information for this part"
msgstr ""
-#: templates/js/translated/part.js:2559
+#: templates/js/translated/part.js:2416
msgid "Scheduled Stock Quantities"
msgstr ""
-#: templates/js/translated/part.js:2575
+#: templates/js/translated/part.js:2432
msgid "Maximum Quantity"
msgstr ""
-#: templates/js/translated/part.js:2620
+#: templates/js/translated/part.js:2477
msgid "Minimum Stock Level"
msgstr ""
-#: templates/js/translated/part.js:2721
-msgid "Single Price"
-msgstr ""
-
-#: templates/js/translated/part.js:2740
-msgid "Single Price Difference"
-msgstr ""
-
#: templates/js/translated/plugin.js:23
msgid "The Plugin was installed"
msgstr "Le plugin a été installé"
+#: templates/js/translated/pricing.js:54
+msgid "No BOM data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:196
+msgid "No supplier pricing data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:305
+msgid "No price break data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:361
+#, python-brace-format
+msgid "Edit ${human_name}"
+msgstr ""
+
+#: templates/js/translated/pricing.js:362
+#, python-brace-format
+msgid "Delete ${human_name}"
+msgstr ""
+
+#: templates/js/translated/pricing.js:480
+msgid "No purchase history data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:502
+msgid "Purchase Price History"
+msgstr ""
+
+#: templates/js/translated/pricing.js:602
+msgid "No sales history data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:624
+msgid "Sale Price History"
+msgstr ""
+
+#: templates/js/translated/pricing.js:708
+msgid "No variant data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:748
+msgid "Variant Part"
+msgstr ""
+
#: templates/js/translated/report.js:67
msgid "items selected"
msgstr "éléments sélectionnés"
@@ -9855,364 +10177,364 @@ msgstr ""
msgid "Are you sure you want to delete this stock location?"
msgstr ""
-#: templates/js/translated/stock.js:175
-msgid "Any child locations will be moved to the parent of this location"
+#: templates/js/translated/stock.js:180
+msgid "Move to parent stock location"
msgstr ""
-#: templates/js/translated/stock.js:176
-msgid "Any stock items in this location will be moved to the parent of this location"
-msgstr ""
-
-#: templates/js/translated/stock.js:182
+#: templates/js/translated/stock.js:189
msgid "Delete Stock Location"
msgstr ""
-#: templates/js/translated/stock.js:227
+#: templates/js/translated/stock.js:193
+msgid "Action for stock items in this stock location"
+msgstr ""
+
+#: templates/js/translated/stock.js:198
+msgid "Action for sub-locations"
+msgstr ""
+
+#: templates/js/translated/stock.js:246
msgid "This part cannot be serialized"
msgstr ""
-#: templates/js/translated/stock.js:266
+#: templates/js/translated/stock.js:285
msgid "Enter initial quantity for this stock item"
msgstr ""
-#: templates/js/translated/stock.js:272
+#: templates/js/translated/stock.js:291
msgid "Enter serial numbers for new stock (or leave blank)"
msgstr "Entrez les numéros de série pour le nouveau stock (ou laisser vide)"
-#: templates/js/translated/stock.js:337
+#: templates/js/translated/stock.js:356
msgid "Stock item duplicated"
msgstr ""
-#: templates/js/translated/stock.js:357
+#: templates/js/translated/stock.js:376
msgid "Duplicate Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:373
+#: templates/js/translated/stock.js:392
msgid "Are you sure you want to delete this stock item?"
msgstr ""
-#: templates/js/translated/stock.js:378
+#: templates/js/translated/stock.js:397
msgid "Delete Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:399
+#: templates/js/translated/stock.js:418
msgid "Edit Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:449
+#: templates/js/translated/stock.js:468
msgid "Created new stock item"
msgstr ""
-#: templates/js/translated/stock.js:462
+#: templates/js/translated/stock.js:481
msgid "Created multiple stock items"
msgstr ""
-#: templates/js/translated/stock.js:487
+#: templates/js/translated/stock.js:506
msgid "Find Serial Number"
msgstr "Trouver un numéro de série"
-#: templates/js/translated/stock.js:491 templates/js/translated/stock.js:492
+#: templates/js/translated/stock.js:510 templates/js/translated/stock.js:511
msgid "Enter serial number"
msgstr "Entrer le numéro de série"
-#: templates/js/translated/stock.js:508
+#: templates/js/translated/stock.js:527
msgid "Enter a serial number"
msgstr "Entrer un numéro de série"
-#: templates/js/translated/stock.js:528
+#: templates/js/translated/stock.js:547
msgid "No matching serial number"
msgstr "Aucun numéro de série correspondant"
-#: templates/js/translated/stock.js:537
+#: templates/js/translated/stock.js:556
msgid "More than one matching result found"
msgstr "Plus d'un résultat correspondant trouvé"
-#: templates/js/translated/stock.js:660
+#: templates/js/translated/stock.js:679
msgid "Confirm stock assignment"
msgstr "Confirmer l'assignation de stock"
-#: templates/js/translated/stock.js:661
+#: templates/js/translated/stock.js:680
msgid "Assign Stock to Customer"
msgstr "Assigner le stock au client"
-#: templates/js/translated/stock.js:738
+#: templates/js/translated/stock.js:757
msgid "Warning: Merge operation cannot be reversed"
msgstr "Attention : l'opération de fusion est irréversible"
-#: templates/js/translated/stock.js:739
+#: templates/js/translated/stock.js:758
msgid "Some information will be lost when merging stock items"
msgstr "Certaines informations seront perdues lors de la fusion des articles en stock"
-#: templates/js/translated/stock.js:741
+#: templates/js/translated/stock.js:760
msgid "Stock transaction history will be deleted for merged items"
msgstr "L'historique des transactions de stock sera supprimé pour les éléments fusionnés"
-#: templates/js/translated/stock.js:742
+#: templates/js/translated/stock.js:761
msgid "Supplier part information will be deleted for merged items"
msgstr "Les informations sur la pièce du fournisseur seront supprimées pour les éléments fusionnés"
-#: templates/js/translated/stock.js:828
+#: templates/js/translated/stock.js:847
msgid "Confirm stock item merge"
msgstr "Confirmer la fusion de l'article en stock"
-#: templates/js/translated/stock.js:829
+#: templates/js/translated/stock.js:848
msgid "Merge Stock Items"
msgstr "Fusionner les articles en stock"
-#: templates/js/translated/stock.js:924
+#: templates/js/translated/stock.js:943
msgid "Transfer Stock"
msgstr "Transférer le stock"
-#: templates/js/translated/stock.js:925
+#: templates/js/translated/stock.js:944
msgid "Move"
msgstr "Transférer"
-#: templates/js/translated/stock.js:931
+#: templates/js/translated/stock.js:950
msgid "Count Stock"
msgstr "Compter le stock"
-#: templates/js/translated/stock.js:932
+#: templates/js/translated/stock.js:951
msgid "Count"
msgstr "Compter"
-#: templates/js/translated/stock.js:936
+#: templates/js/translated/stock.js:955
msgid "Remove Stock"
msgstr "Supprimer du stock"
-#: templates/js/translated/stock.js:937
+#: templates/js/translated/stock.js:956
msgid "Take"
msgstr "Supprimer"
-#: templates/js/translated/stock.js:941
+#: templates/js/translated/stock.js:960
msgid "Add Stock"
msgstr "Ajouter du stock"
-#: templates/js/translated/stock.js:942 users/models.py:218
+#: templates/js/translated/stock.js:961 users/models.py:220
msgid "Add"
msgstr "Ajouter"
-#: templates/js/translated/stock.js:946
+#: templates/js/translated/stock.js:965
msgid "Delete Stock"
msgstr "Supprimer le stock"
-#: templates/js/translated/stock.js:1039
+#: templates/js/translated/stock.js:1058
msgid "Quantity cannot be adjusted for serialized stock"
msgstr "La quantité ne peut pas être ajustée pour un stock sérialisé"
-#: templates/js/translated/stock.js:1039
+#: templates/js/translated/stock.js:1058
msgid "Specify stock quantity"
msgstr "Spécifiez la quantité du stock"
-#: templates/js/translated/stock.js:1079
+#: templates/js/translated/stock.js:1098
msgid "You must select at least one available stock item"
msgstr "Vous devez sélectionner au moins un article en stock disponible"
-#: templates/js/translated/stock.js:1102
+#: templates/js/translated/stock.js:1121
msgid "Confirm stock adjustment"
msgstr ""
-#: templates/js/translated/stock.js:1238
+#: templates/js/translated/stock.js:1257
msgid "PASS"
msgstr "RÉUSSI"
-#: templates/js/translated/stock.js:1240
+#: templates/js/translated/stock.js:1259
msgid "FAIL"
msgstr "ÉCHEC"
-#: templates/js/translated/stock.js:1245
+#: templates/js/translated/stock.js:1264
msgid "NO RESULT"
msgstr "AUCUN RÉSULTAT"
-#: templates/js/translated/stock.js:1292
+#: templates/js/translated/stock.js:1311
msgid "Pass test"
msgstr ""
-#: templates/js/translated/stock.js:1295
+#: templates/js/translated/stock.js:1314
msgid "Add test result"
msgstr "Ajouter un résultat de test"
-#: templates/js/translated/stock.js:1321
+#: templates/js/translated/stock.js:1340
msgid "No test results found"
msgstr "Aucun résultat de test trouvé"
-#: templates/js/translated/stock.js:1378
+#: templates/js/translated/stock.js:1397
msgid "Test Date"
msgstr "Date du test"
-#: templates/js/translated/stock.js:1543
+#: templates/js/translated/stock.js:1562
msgid "Edit Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1565
+#: templates/js/translated/stock.js:1584
msgid "Delete Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1594
+#: templates/js/translated/stock.js:1613
msgid "In production"
msgstr "En production"
-#: templates/js/translated/stock.js:1598
+#: templates/js/translated/stock.js:1617
msgid "Installed in Stock Item"
msgstr "Article en stock installé dans un autre article en stock"
-#: templates/js/translated/stock.js:1606
+#: templates/js/translated/stock.js:1625
msgid "Assigned to Sales Order"
msgstr "Assigné à une commande de vente"
-#: templates/js/translated/stock.js:1612
+#: templates/js/translated/stock.js:1631
msgid "No stock location set"
msgstr "Aucun emplacement de stock défini"
-#: templates/js/translated/stock.js:1781
+#: templates/js/translated/stock.js:1800
msgid "Stock item is in production"
msgstr "L'article de stock est en production"
-#: templates/js/translated/stock.js:1786
+#: templates/js/translated/stock.js:1805
msgid "Stock item assigned to sales order"
msgstr "L'article en stock a été assigné à une commande de vente"
-#: templates/js/translated/stock.js:1789
+#: templates/js/translated/stock.js:1808
msgid "Stock item assigned to customer"
msgstr "L'article en stock a été assigné à un client"
-#: templates/js/translated/stock.js:1792
+#: templates/js/translated/stock.js:1811
msgid "Serialized stock item has been allocated"
msgstr "L'article de stock sérialisé a été alloué"
-#: templates/js/translated/stock.js:1794
+#: templates/js/translated/stock.js:1813
msgid "Stock item has been fully allocated"
msgstr "L'article de stock a été complètement alloué"
-#: templates/js/translated/stock.js:1796
+#: templates/js/translated/stock.js:1815
msgid "Stock item has been partially allocated"
msgstr "L'article de stock a été partiellement alloué"
-#: templates/js/translated/stock.js:1799
+#: templates/js/translated/stock.js:1818
msgid "Stock item has been installed in another item"
msgstr "L'article en stock a été installé dans un autre article"
-#: templates/js/translated/stock.js:1803
+#: templates/js/translated/stock.js:1822
msgid "Stock item has expired"
msgstr "L'article en stock a expiré"
-#: templates/js/translated/stock.js:1805
+#: templates/js/translated/stock.js:1824
msgid "Stock item will expire soon"
msgstr "L'article en stock va bientôt expirer"
-#: templates/js/translated/stock.js:1812
+#: templates/js/translated/stock.js:1831
msgid "Stock item has been rejected"
msgstr "L'article de stock a été rejeté"
-#: templates/js/translated/stock.js:1814
+#: templates/js/translated/stock.js:1833
msgid "Stock item is lost"
msgstr "L'article de stock est perdu"
-#: templates/js/translated/stock.js:1816
+#: templates/js/translated/stock.js:1835
msgid "Stock item is destroyed"
msgstr "L'article de stock est détruit"
-#: templates/js/translated/stock.js:1820
-#: templates/js/translated/table_filters.js:204
+#: templates/js/translated/stock.js:1839
+#: templates/js/translated/table_filters.js:208
msgid "Depleted"
msgstr "Epuisé"
-#: templates/js/translated/stock.js:1871
-msgid "Stocktake"
-msgstr "Prise d'inventaire"
-
-#: templates/js/translated/stock.js:1950
+#: templates/js/translated/stock.js:1969
msgid "Supplier part not specified"
msgstr "Pièce de fournisseur non précisée"
-#: templates/js/translated/stock.js:1988
+#: templates/js/translated/stock.js:2006
msgid "No stock items matching query"
msgstr "Aucun article de stock ne correspond à la requête"
-#: templates/js/translated/stock.js:2161
+#: templates/js/translated/stock.js:2179
msgid "Set Stock Status"
msgstr "Définir l'état du stock"
-#: templates/js/translated/stock.js:2175
+#: templates/js/translated/stock.js:2193
msgid "Select Status Code"
msgstr "Sélectionner le code de statut"
-#: templates/js/translated/stock.js:2176
+#: templates/js/translated/stock.js:2194
msgid "Status code must be selected"
msgstr "Le code de statut doit être sélectionné"
-#: templates/js/translated/stock.js:2408
+#: templates/js/translated/stock.js:2426
msgid "Load Subloactions"
msgstr ""
-#: templates/js/translated/stock.js:2503
+#: templates/js/translated/stock.js:2521
msgid "Details"
msgstr "Détails"
-#: templates/js/translated/stock.js:2519
+#: templates/js/translated/stock.js:2537
msgid "Part information unavailable"
msgstr ""
-#: templates/js/translated/stock.js:2541
+#: templates/js/translated/stock.js:2559
msgid "Location no longer exists"
msgstr "L'emplacement n'existe plus"
-#: templates/js/translated/stock.js:2560
+#: templates/js/translated/stock.js:2578
msgid "Purchase order no longer exists"
msgstr "La commande d'achat n'existe plus"
-#: templates/js/translated/stock.js:2579
+#: templates/js/translated/stock.js:2597
msgid "Customer no longer exists"
msgstr "Le client n'existe plus"
-#: templates/js/translated/stock.js:2597
+#: templates/js/translated/stock.js:2615
msgid "Stock item no longer exists"
msgstr "L'article de stock n'existe plus"
-#: templates/js/translated/stock.js:2620
+#: templates/js/translated/stock.js:2638
msgid "Added"
msgstr "Ajouté"
-#: templates/js/translated/stock.js:2628
+#: templates/js/translated/stock.js:2646
msgid "Removed"
msgstr "Supprimé"
-#: templates/js/translated/stock.js:2704
+#: templates/js/translated/stock.js:2722
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:2755 templates/js/translated/stock.js:2791
+#: templates/js/translated/stock.js:2773 templates/js/translated/stock.js:2809
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2804
+#: templates/js/translated/stock.js:2822
msgid "Select stock item to uninstall"
msgstr ""
-#: templates/js/translated/stock.js:2825
+#: templates/js/translated/stock.js:2843
msgid "Install another stock item into this item"
msgstr ""
-#: templates/js/translated/stock.js:2826
+#: templates/js/translated/stock.js:2844
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: templates/js/translated/stock.js:2828
+#: templates/js/translated/stock.js:2846
msgid "The Stock Item links to a Part which is the BOM for this Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2829
+#: templates/js/translated/stock.js:2847
msgid "The Stock Item is currently available in stock"
msgstr ""
-#: templates/js/translated/stock.js:2830
+#: templates/js/translated/stock.js:2848
msgid "The Stock Item is not already installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:2831
+#: templates/js/translated/stock.js:2849
msgid "The Stock Item is tracked by either a batch code or serial number"
msgstr ""
-#: templates/js/translated/stock.js:2844
+#: templates/js/translated/stock.js:2862
msgid "Select part to install"
msgstr ""
@@ -10236,215 +10558,220 @@ msgstr "Validée"
msgid "Allow Variant Stock"
msgstr ""
-#: templates/js/translated/table_filters.js:126
-#: templates/js/translated/table_filters.js:199
+#: templates/js/translated/table_filters.js:92
+#: templates/js/translated/table_filters.js:508
+msgid "Has Pricing"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:130
+#: templates/js/translated/table_filters.js:203
msgid "Include sublocations"
msgstr "Inclure les sous-emplacements"
-#: templates/js/translated/table_filters.js:127
+#: templates/js/translated/table_filters.js:131
msgid "Include locations"
msgstr "Inclure les emplacements"
-#: templates/js/translated/table_filters.js:137
-#: templates/js/translated/table_filters.js:138
-#: templates/js/translated/table_filters.js:445
+#: templates/js/translated/table_filters.js:141
+#: templates/js/translated/table_filters.js:142
+#: templates/js/translated/table_filters.js:449
msgid "Include subcategories"
msgstr "Inclure les sous-catégories"
-#: templates/js/translated/table_filters.js:142
-#: templates/js/translated/table_filters.js:488
+#: templates/js/translated/table_filters.js:146
+#: templates/js/translated/table_filters.js:492
msgid "Subscribed"
msgstr ""
-#: templates/js/translated/table_filters.js:152
-#: templates/js/translated/table_filters.js:234
+#: templates/js/translated/table_filters.js:156
+#: templates/js/translated/table_filters.js:238
msgid "Is Serialized"
msgstr "A un numéro de série"
-#: templates/js/translated/table_filters.js:155
-#: templates/js/translated/table_filters.js:241
+#: templates/js/translated/table_filters.js:159
+#: templates/js/translated/table_filters.js:245
msgid "Serial number GTE"
msgstr "Numéro de série PGE"
-#: templates/js/translated/table_filters.js:156
-#: templates/js/translated/table_filters.js:242
+#: templates/js/translated/table_filters.js:160
+#: templates/js/translated/table_filters.js:246
msgid "Serial number greater than or equal to"
msgstr "Numéro de série supérieur ou égal à"
-#: templates/js/translated/table_filters.js:159
-#: templates/js/translated/table_filters.js:245
+#: templates/js/translated/table_filters.js:163
+#: templates/js/translated/table_filters.js:249
msgid "Serial number LTE"
msgstr "Numéro de série PPE"
-#: templates/js/translated/table_filters.js:160
-#: templates/js/translated/table_filters.js:246
+#: templates/js/translated/table_filters.js:164
+#: templates/js/translated/table_filters.js:250
msgid "Serial number less than or equal to"
msgstr "Numéro de série inférieur ou égal à"
-#: templates/js/translated/table_filters.js:163
-#: templates/js/translated/table_filters.js:164
-#: templates/js/translated/table_filters.js:237
-#: templates/js/translated/table_filters.js:238
+#: templates/js/translated/table_filters.js:167
+#: templates/js/translated/table_filters.js:168
+#: templates/js/translated/table_filters.js:241
+#: templates/js/translated/table_filters.js:242
msgid "Serial number"
msgstr "Numéro de série"
-#: templates/js/translated/table_filters.js:168
-#: templates/js/translated/table_filters.js:259
+#: templates/js/translated/table_filters.js:172
+#: templates/js/translated/table_filters.js:263
msgid "Batch code"
msgstr "Code de lot"
-#: templates/js/translated/table_filters.js:179
-#: templates/js/translated/table_filters.js:417
+#: templates/js/translated/table_filters.js:183
+#: templates/js/translated/table_filters.js:421
msgid "Active parts"
msgstr "Pièces actives"
-#: templates/js/translated/table_filters.js:180
+#: templates/js/translated/table_filters.js:184
msgid "Show stock for active parts"
msgstr "Afficher le stock pour les pièces actives"
-#: templates/js/translated/table_filters.js:185
+#: templates/js/translated/table_filters.js:189
msgid "Part is an assembly"
msgstr "La pièce est un assemblage"
-#: templates/js/translated/table_filters.js:189
+#: templates/js/translated/table_filters.js:193
msgid "Is allocated"
msgstr "Est alloué"
-#: templates/js/translated/table_filters.js:190
+#: templates/js/translated/table_filters.js:194
msgid "Item has been allocated"
msgstr "L'élément a été alloué"
-#: templates/js/translated/table_filters.js:195
+#: templates/js/translated/table_filters.js:199
msgid "Stock is available for use"
msgstr "Le stock est disponible pour utilisation"
-#: templates/js/translated/table_filters.js:200
+#: templates/js/translated/table_filters.js:204
msgid "Include stock in sublocations"
msgstr ""
-#: templates/js/translated/table_filters.js:205
+#: templates/js/translated/table_filters.js:209
msgid "Show stock items which are depleted"
msgstr ""
-#: templates/js/translated/table_filters.js:210
+#: templates/js/translated/table_filters.js:214
msgid "Show items which are in stock"
msgstr ""
-#: templates/js/translated/table_filters.js:214
+#: templates/js/translated/table_filters.js:218
msgid "In Production"
msgstr ""
-#: templates/js/translated/table_filters.js:215
+#: templates/js/translated/table_filters.js:219
msgid "Show items which are in production"
msgstr ""
-#: templates/js/translated/table_filters.js:219
+#: templates/js/translated/table_filters.js:223
msgid "Include Variants"
msgstr ""
-#: templates/js/translated/table_filters.js:220
+#: templates/js/translated/table_filters.js:224
msgid "Include stock items for variant parts"
msgstr ""
-#: templates/js/translated/table_filters.js:224
+#: templates/js/translated/table_filters.js:228
msgid "Installed"
msgstr ""
-#: templates/js/translated/table_filters.js:225
+#: templates/js/translated/table_filters.js:229
msgid "Show stock items which are installed in another item"
msgstr "Afficher les articles de stock qui sont installés dans un autre article"
-#: templates/js/translated/table_filters.js:230
+#: templates/js/translated/table_filters.js:234
msgid "Show items which have been assigned to a customer"
msgstr "Afficher les articles qui ont été assignés à un client"
-#: templates/js/translated/table_filters.js:250
-#: templates/js/translated/table_filters.js:251
+#: templates/js/translated/table_filters.js:254
+#: templates/js/translated/table_filters.js:255
msgid "Stock status"
msgstr "État du stock"
-#: templates/js/translated/table_filters.js:254
+#: templates/js/translated/table_filters.js:258
msgid "Has batch code"
msgstr ""
-#: templates/js/translated/table_filters.js:262
+#: templates/js/translated/table_filters.js:266
msgid "Tracked"
msgstr ""
-#: templates/js/translated/table_filters.js:263
+#: templates/js/translated/table_filters.js:267
msgid "Stock item is tracked by either batch code or serial number"
msgstr ""
-#: templates/js/translated/table_filters.js:268
+#: templates/js/translated/table_filters.js:272
msgid "Has purchase price"
msgstr "A un prix d'achat"
-#: templates/js/translated/table_filters.js:269
+#: templates/js/translated/table_filters.js:273
msgid "Show stock items which have a purchase price set"
msgstr "Afficher les articles de stock qui ont un prix d'achat défini"
-#: templates/js/translated/table_filters.js:278
+#: templates/js/translated/table_filters.js:282
msgid "Show stock items which have expired"
msgstr "Afficher les articles de stock qui ont expiré"
-#: templates/js/translated/table_filters.js:284
+#: templates/js/translated/table_filters.js:288
msgid "Show stock which is close to expiring"
msgstr "Afficher le stock qui est proche de l'expiration"
-#: templates/js/translated/table_filters.js:296
+#: templates/js/translated/table_filters.js:300
msgid "Test Passed"
msgstr ""
-#: templates/js/translated/table_filters.js:300
+#: templates/js/translated/table_filters.js:304
msgid "Include Installed Items"
msgstr ""
-#: templates/js/translated/table_filters.js:319
+#: templates/js/translated/table_filters.js:323
msgid "Build status"
msgstr "État de la construction"
-#: templates/js/translated/table_filters.js:332
-#: templates/js/translated/table_filters.js:373
+#: templates/js/translated/table_filters.js:336
+#: templates/js/translated/table_filters.js:377
msgid "Assigned to me"
msgstr "Assigné à moi"
-#: templates/js/translated/table_filters.js:349
-#: templates/js/translated/table_filters.js:360
-#: templates/js/translated/table_filters.js:390
+#: templates/js/translated/table_filters.js:353
+#: templates/js/translated/table_filters.js:364
+#: templates/js/translated/table_filters.js:394
msgid "Order status"
msgstr "État de la commande"
-#: templates/js/translated/table_filters.js:365
-#: templates/js/translated/table_filters.js:382
-#: templates/js/translated/table_filters.js:395
+#: templates/js/translated/table_filters.js:369
+#: templates/js/translated/table_filters.js:386
+#: templates/js/translated/table_filters.js:399
msgid "Outstanding"
msgstr "En suspens"
-#: templates/js/translated/table_filters.js:446
+#: templates/js/translated/table_filters.js:450
msgid "Include parts in subcategories"
msgstr "Inclure les pièces des sous-catégories"
-#: templates/js/translated/table_filters.js:451
+#: templates/js/translated/table_filters.js:455
msgid "Show active parts"
msgstr "Afficher les pièces actives"
-#: templates/js/translated/table_filters.js:459
+#: templates/js/translated/table_filters.js:463
msgid "Available stock"
msgstr ""
-#: templates/js/translated/table_filters.js:467
+#: templates/js/translated/table_filters.js:471
msgid "Has IPN"
msgstr "A un IPN"
-#: templates/js/translated/table_filters.js:468
+#: templates/js/translated/table_filters.js:472
msgid "Part has internal part number"
msgstr "La pièce a un numéro de pièce interne"
-#: templates/js/translated/table_filters.js:472
+#: templates/js/translated/table_filters.js:476
msgid "In stock"
msgstr ""
-#: templates/js/translated/table_filters.js:480
+#: templates/js/translated/table_filters.js:484
msgid "Purchasable"
msgstr "Achetable"
@@ -10554,6 +10881,10 @@ msgstr ""
msgid "Show all notifications and history"
msgstr ""
+#: templates/price_data.html:7
+msgid "No data"
+msgstr ""
+
#: templates/qr_code.html:11
msgid "QR data not provided"
msgstr "Données QR non fournies"
@@ -10738,35 +11069,35 @@ msgstr "Droits"
msgid "Important dates"
msgstr "Dates importantes"
-#: users/models.py:205
+#: users/models.py:207
msgid "Permission set"
msgstr "Droit défini"
-#: users/models.py:213
+#: users/models.py:215
msgid "Group"
msgstr "Groupe"
-#: users/models.py:216
+#: users/models.py:218
msgid "View"
msgstr "Vue"
-#: users/models.py:216
+#: users/models.py:218
msgid "Permission to view items"
msgstr "Droit de voir des éléments"
-#: users/models.py:218
+#: users/models.py:220
msgid "Permission to add items"
msgstr "Droit d'ajouter des éléments"
-#: users/models.py:220
+#: users/models.py:222
msgid "Change"
msgstr "Modifier"
-#: users/models.py:220
+#: users/models.py:222
msgid "Permissions to edit items"
msgstr "Droit de modifier des élément"
-#: users/models.py:222
+#: users/models.py:224
msgid "Permission to delete items"
msgstr "Droit de supprimer des éléments"
diff --git a/InvenTree/locale/he/LC_MESSAGES/django.po b/InvenTree/locale/he/LC_MESSAGES/django.po
index 6d70f493bb..2ef5f34a67 100644
--- a/InvenTree/locale/he/LC_MESSAGES/django.po
+++ b/InvenTree/locale/he/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-11-04 14:07+0000\n"
-"PO-Revision-Date: 2022-11-04 19:03\n"
+"POT-Creation-Date: 2022-11-14 04:59+0000\n"
+"PO-Revision-Date: 2022-11-14 14:51\n"
"Last-Translator: \n"
"Language-Team: Hebrew\n"
"Language: he_IL\n"
@@ -17,7 +17,7 @@ msgstr ""
"X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n"
"X-Crowdin-File-ID: 154\n"
-#: InvenTree/api.py:54
+#: InvenTree/api.py:61
msgid "API endpoint not found"
msgstr ""
@@ -25,27 +25,27 @@ msgstr ""
msgid "Error details can be found in the admin panel"
msgstr ""
-#: InvenTree/fields.py:120
+#: InvenTree/fields.py:129
msgid "Enter date"
msgstr "הזן תאריך סיום"
-#: InvenTree/fields.py:195 build/serializers.py:387
-#: build/templates/build/sidebar.html:21 company/models.py:525
-#: company/templates/company/sidebar.html:25 order/models.py:920
+#: InvenTree/fields.py:204 build/serializers.py:387
+#: build/templates/build/sidebar.html:21 company/models.py:529
+#: company/templates/company/sidebar.html:25 order/models.py:943
#: order/templates/order/po_sidebar.html:11
-#: order/templates/order/so_sidebar.html:17
-#: part/templates/part/part_sidebar.html:59
+#: order/templates/order/so_sidebar.html:17 part/admin.py:27
+#: part/templates/part/part_sidebar.html:57
#: report/templates/report/inventree_build_order_base.html:172
-#: stock/models.py:2002 stock/models.py:2110 stock/serializers.py:327
-#: stock/serializers.py:460 stock/serializers.py:541 stock/serializers.py:827
-#: stock/serializers.py:926 stock/serializers.py:1058
+#: stock/admin.py:103 stock/models.py:2018 stock/models.py:2126
+#: stock/serializers.py:321 stock/serializers.py:454 stock/serializers.py:535
+#: stock/serializers.py:826 stock/serializers.py:925 stock/serializers.py:1057
#: stock/templates/stock/stock_sidebar.html:25
-#: templates/js/translated/barcode.js:108 templates/js/translated/bom.js:1146
-#: templates/js/translated/company.js:1022
-#: templates/js/translated/order.js:2404 templates/js/translated/order.js:2552
-#: templates/js/translated/order.js:3048 templates/js/translated/order.js:3999
-#: templates/js/translated/order.js:4394 templates/js/translated/stock.js:1374
-#: templates/js/translated/stock.js:1982
+#: templates/js/translated/barcode.js:108 templates/js/translated/bom.js:1211
+#: templates/js/translated/company.js:1023
+#: templates/js/translated/order.js:2427 templates/js/translated/order.js:2561
+#: templates/js/translated/order.js:3059 templates/js/translated/order.js:3996
+#: templates/js/translated/order.js:4377 templates/js/translated/stock.js:1393
+#: templates/js/translated/stock.js:2000
msgid "Notes"
msgstr ""
@@ -122,43 +122,43 @@ msgstr ""
msgid "Supplied URL is not a valid image file"
msgstr ""
-#: InvenTree/helpers.py:602 order/models.py:325 order/models.py:477
+#: InvenTree/helpers.py:589 order/models.py:329 order/models.py:496
msgid "Invalid quantity provided"
msgstr ""
-#: InvenTree/helpers.py:610
+#: InvenTree/helpers.py:597
msgid "Empty serial number string"
msgstr ""
-#: InvenTree/helpers.py:640
+#: InvenTree/helpers.py:627
msgid "Duplicate serial"
msgstr ""
-#: InvenTree/helpers.py:673 InvenTree/helpers.py:708
+#: InvenTree/helpers.py:660 InvenTree/helpers.py:695
#, python-brace-format
msgid "Invalid group range: {g}"
msgstr ""
-#: InvenTree/helpers.py:702
+#: InvenTree/helpers.py:689
#, python-brace-format
msgid "Group range {g} exceeds allowed quantity ({q})"
msgstr ""
-#: InvenTree/helpers.py:726 InvenTree/helpers.py:733 InvenTree/helpers.py:748
+#: InvenTree/helpers.py:713 InvenTree/helpers.py:720 InvenTree/helpers.py:735
#, python-brace-format
msgid "Invalid group sequence: {g}"
msgstr ""
-#: InvenTree/helpers.py:758
+#: InvenTree/helpers.py:745
msgid "No serial numbers found"
msgstr "מספרים סידוריים לא נמצאו"
-#: InvenTree/helpers.py:761
+#: InvenTree/helpers.py:748
#, python-brace-format
msgid "Number of unique serial numbers ({s}) must match quantity ({q})"
msgstr ""
-#: InvenTree/helpers.py:960
+#: InvenTree/helpers.py:947
msgid "Remove HTML tags from this value"
msgstr ""
@@ -194,7 +194,7 @@ msgstr "קובץ חסר"
msgid "Missing external link"
msgstr "חסר קישור חיצוני"
-#: InvenTree/models.py:405 stock/models.py:2104
+#: InvenTree/models.py:405 stock/models.py:2120
#: templates/js/translated/attachment.js:103
#: templates/js/translated/attachment.js:241
msgid "Attachment"
@@ -204,18 +204,19 @@ msgstr "קובץ מצורף"
msgid "Select file to attach"
msgstr "בחר קובץ לצירוף"
-#: InvenTree/models.py:412 company/models.py:125 company/models.py:277
-#: company/models.py:512 order/models.py:84 order/models.py:1259
-#: part/models.py:816 part/templates/part/part_scheduling.html:11
+#: InvenTree/models.py:412 common/models.py:2313 company/models.py:129
+#: company/models.py:281 company/models.py:516 order/models.py:85
+#: order/models.py:1282 part/admin.py:25 part/models.py:835
+#: part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
-#: templates/js/translated/company.js:691
-#: templates/js/translated/company.js:1011
-#: templates/js/translated/order.js:3037 templates/js/translated/part.js:1569
+#: stock/admin.py:102 templates/js/translated/company.js:692
+#: templates/js/translated/company.js:1012
+#: templates/js/translated/order.js:3048 templates/js/translated/part.js:1593
msgid "Link"
msgstr "קישור"
-#: InvenTree/models.py:413 build/models.py:290 part/models.py:817
-#: stock/models.py:660
+#: InvenTree/models.py:413 build/models.py:290 part/models.py:836
+#: stock/models.py:676
msgid "Link to external URL"
msgstr "קישור חיצוני"
@@ -228,12 +229,12 @@ msgstr "הערה"
msgid "File comment"
msgstr "הערת קובץ"
-#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1744
-#: common/models.py:1745 common/models.py:1968 common/models.py:1969
-#: common/models.py:2231 common/models.py:2232 part/models.py:2254
-#: part/models.py:2274 plugin/models.py:264 plugin/models.py:265
+#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1756
+#: common/models.py:1757 common/models.py:1980 common/models.py:1981
+#: common/models.py:2243 common/models.py:2244 part/models.py:2867
+#: part/models.py:2887 plugin/models.py:264 plugin/models.py:265
#: report/templates/report/inventree_test_report_base.html:96
-#: templates/js/translated/stock.js:2651
+#: templates/js/translated/stock.js:2669
msgid "User"
msgstr "משתמש"
@@ -270,44 +271,45 @@ msgstr "שגיאה בשינוי שם פריט"
msgid "Invalid choice"
msgstr "בחירה שגויה"
-#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1954
-#: company/models.py:359 label/models.py:101 part/models.py:760
-#: part/models.py:2429 plugin/models.py:94 report/models.py:152
+#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1966
+#: company/models.py:363 label/models.py:101 part/models.py:779
+#: part/models.py:3042 plugin/models.py:94 report/models.py:152
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/plugin.html:60
#: templates/InvenTree/settings/plugin.html:104
#: templates/InvenTree/settings/plugin_settings.html:23
#: templates/InvenTree/settings/settings.html:344
-#: templates/js/translated/company.js:580
-#: templates/js/translated/company.js:793
+#: templates/js/translated/company.js:581
+#: templates/js/translated/company.js:794
#: templates/js/translated/notification.js:71
-#: templates/js/translated/part.js:686 templates/js/translated/part.js:838
-#: templates/js/translated/part.js:1964 templates/js/translated/stock.js:2396
+#: templates/js/translated/part.js:700 templates/js/translated/part.js:865
+#: templates/js/translated/part.js:1988 templates/js/translated/stock.js:2414
msgid "Name"
msgstr "שם"
#: InvenTree/models.py:564 build/models.py:163
-#: build/templates/build/detail.html:24 company/models.py:283
-#: company/models.py:518 company/templates/company/company_base.html:71
+#: build/templates/build/detail.html:24 company/models.py:287
+#: company/models.py:522 company/templates/company/company_base.html:71
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:108 label/models.py:108
-#: order/models.py:82 part/models.py:783 part/models.py:2438
-#: part/templates/part/category.html:75 part/templates/part/part_base.html:172
+#: order/models.py:83 part/admin.py:141 part/admin.py:222 part/models.py:802
+#: part/models.py:3051 part/templates/part/category.html:75
+#: part/templates/part/part_base.html:172
#: part/templates/part/part_scheduling.html:12 report/models.py:165
#: report/models.py:507 report/models.py:551
#: report/templates/report/inventree_build_order_base.html:117
-#: stock/templates/stock/location.html:117
+#: stock/admin.py:25 stock/templates/stock/location.html:117
#: templates/InvenTree/settings/plugin_settings.html:28
#: templates/InvenTree/settings/settings.html:355
-#: templates/js/translated/bom.js:579 templates/js/translated/bom.js:887
-#: templates/js/translated/build.js:2580 templates/js/translated/company.js:444
-#: templates/js/translated/company.js:702
-#: templates/js/translated/company.js:986 templates/js/translated/order.js:1988
-#: templates/js/translated/order.js:2220 templates/js/translated/order.js:2826
-#: templates/js/translated/part.js:745 templates/js/translated/part.js:1187
-#: templates/js/translated/part.js:1464 templates/js/translated/part.js:2000
-#: templates/js/translated/part.js:2075 templates/js/translated/stock.js:1748
-#: templates/js/translated/stock.js:2428 templates/js/translated/stock.js:2488
+#: templates/js/translated/bom.js:592 templates/js/translated/bom.js:895
+#: templates/js/translated/build.js:2580 templates/js/translated/company.js:445
+#: templates/js/translated/company.js:703
+#: templates/js/translated/company.js:987 templates/js/translated/order.js:2022
+#: templates/js/translated/order.js:2259 templates/js/translated/order.js:2837
+#: templates/js/translated/part.js:759 templates/js/translated/part.js:1208
+#: templates/js/translated/part.js:1475 templates/js/translated/part.js:2024
+#: templates/js/translated/part.js:2099 templates/js/translated/stock.js:1767
+#: templates/js/translated/stock.js:2446 templates/js/translated/stock.js:2506
msgid "Description"
msgstr "תיאור"
@@ -320,7 +322,7 @@ msgid "parent"
msgstr "מקור"
#: InvenTree/models.py:580 InvenTree/models.py:581
-#: templates/js/translated/part.js:2009 templates/js/translated/stock.js:2437
+#: templates/js/translated/part.js:2033 templates/js/translated/stock.js:2455
msgid "Path"
msgstr ""
@@ -332,7 +334,7 @@ msgstr ""
msgid "Third party barcode data"
msgstr ""
-#: InvenTree/models.py:688 order/serializers.py:486
+#: InvenTree/models.py:688 order/serializers.py:477
msgid "Barcode Hash"
msgstr ""
@@ -352,187 +354,187 @@ msgstr ""
msgid "An error has been logged by the server."
msgstr ""
-#: InvenTree/serializers.py:58 part/models.py:2774
+#: InvenTree/serializers.py:58 part/models.py:3387
msgid "Must be a valid number"
msgstr "המספר חייב להיות תקין"
-#: InvenTree/serializers.py:265
+#: InvenTree/serializers.py:266
msgid "Filename"
msgstr "שם קובץ"
-#: InvenTree/serializers.py:300
+#: InvenTree/serializers.py:301
msgid "Invalid value"
msgstr ""
-#: InvenTree/serializers.py:322
+#: InvenTree/serializers.py:323
msgid "Data File"
msgstr ""
-#: InvenTree/serializers.py:323
+#: InvenTree/serializers.py:324
msgid "Select data file for upload"
msgstr ""
-#: InvenTree/serializers.py:344
+#: InvenTree/serializers.py:345
msgid "Unsupported file type"
msgstr ""
-#: InvenTree/serializers.py:350
+#: InvenTree/serializers.py:351
msgid "File is too large"
msgstr ""
-#: InvenTree/serializers.py:371
+#: InvenTree/serializers.py:372
msgid "No columns found in file"
msgstr ""
-#: InvenTree/serializers.py:374
+#: InvenTree/serializers.py:375
msgid "No data rows found in file"
msgstr ""
-#: InvenTree/serializers.py:497
+#: InvenTree/serializers.py:498
msgid "No data rows provided"
msgstr ""
-#: InvenTree/serializers.py:500
+#: InvenTree/serializers.py:501
msgid "No data columns supplied"
msgstr ""
-#: InvenTree/serializers.py:577
+#: InvenTree/serializers.py:578
#, python-brace-format
msgid "Missing required column: '{name}'"
msgstr ""
-#: InvenTree/serializers.py:586
+#: InvenTree/serializers.py:587
#, python-brace-format
msgid "Duplicate column: '{col}'"
msgstr ""
-#: InvenTree/serializers.py:605
+#: InvenTree/serializers.py:606
#: templates/InvenTree/settings/mixins/urls.html:14
msgid "URL"
msgstr ""
-#: InvenTree/serializers.py:606
+#: InvenTree/serializers.py:607
msgid "URL of remote image file"
msgstr ""
-#: InvenTree/serializers.py:620
+#: InvenTree/serializers.py:621
msgid "Downloading images from remote URL is not enabled"
msgstr ""
-#: InvenTree/settings.py:621
+#: InvenTree/settings.py:627
msgid "Czech"
msgstr ""
-#: InvenTree/settings.py:622
+#: InvenTree/settings.py:628
msgid "Danish"
msgstr ""
-#: InvenTree/settings.py:623
+#: InvenTree/settings.py:629
msgid "German"
msgstr "גרמנית"
-#: InvenTree/settings.py:624
+#: InvenTree/settings.py:630
msgid "Greek"
msgstr "יוונית"
-#: InvenTree/settings.py:625
+#: InvenTree/settings.py:631
msgid "English"
msgstr "אנגלית"
-#: InvenTree/settings.py:626
+#: InvenTree/settings.py:632
msgid "Spanish"
msgstr "ספרדית"
-#: InvenTree/settings.py:627
+#: InvenTree/settings.py:633
msgid "Spanish (Mexican)"
msgstr "ספרדית (מקסיקנית)"
-#: InvenTree/settings.py:628
+#: InvenTree/settings.py:634
msgid "Farsi / Persian"
msgstr ""
-#: InvenTree/settings.py:629
+#: InvenTree/settings.py:635
msgid "French"
msgstr "צרפתית"
-#: InvenTree/settings.py:630
+#: InvenTree/settings.py:636
msgid "Hebrew"
msgstr "עברית"
-#: InvenTree/settings.py:631
+#: InvenTree/settings.py:637
msgid "Hungarian"
msgstr ""
-#: InvenTree/settings.py:632
+#: InvenTree/settings.py:638
msgid "Italian"
msgstr "איטלקית"
-#: InvenTree/settings.py:633
+#: InvenTree/settings.py:639
msgid "Japanese"
msgstr "יפנית"
-#: InvenTree/settings.py:634
+#: InvenTree/settings.py:640
msgid "Korean"
msgstr "קוריאנית"
-#: InvenTree/settings.py:635
+#: InvenTree/settings.py:641
msgid "Dutch"
msgstr "הולנדית"
-#: InvenTree/settings.py:636
+#: InvenTree/settings.py:642
msgid "Norwegian"
msgstr "נורווגית"
-#: InvenTree/settings.py:637
+#: InvenTree/settings.py:643
msgid "Polish"
msgstr "פולנית"
-#: InvenTree/settings.py:638
+#: InvenTree/settings.py:644
msgid "Portuguese"
msgstr ""
-#: InvenTree/settings.py:639
+#: InvenTree/settings.py:645
msgid "Portuguese (Brazilian)"
msgstr ""
-#: InvenTree/settings.py:640
+#: InvenTree/settings.py:646
msgid "Russian"
msgstr "רוסית"
-#: InvenTree/settings.py:641
+#: InvenTree/settings.py:647
msgid "Swedish"
msgstr "שוודית"
-#: InvenTree/settings.py:642
+#: InvenTree/settings.py:648
msgid "Thai"
msgstr "תאילנדית"
-#: InvenTree/settings.py:643
+#: InvenTree/settings.py:649
msgid "Turkish"
msgstr "טורקית"
-#: InvenTree/settings.py:644
+#: InvenTree/settings.py:650
msgid "Vietnamese"
msgstr "ווייטנאמית"
-#: InvenTree/settings.py:645
+#: InvenTree/settings.py:651
msgid "Chinese"
msgstr "סינית"
-#: InvenTree/status.py:99
+#: InvenTree/status.py:98
msgid "Background worker check failed"
msgstr ""
-#: InvenTree/status.py:103
+#: InvenTree/status.py:102
msgid "Email backend not configured"
msgstr ""
-#: InvenTree/status.py:106
+#: InvenTree/status.py:105
msgid "InvenTree system health checks failed"
msgstr ""
#: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140
-#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:342
+#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:346
msgid "Pending"
msgstr "בהמתנה"
@@ -561,8 +563,8 @@ msgstr "אבד"
msgid "Returned"
msgstr "הוחזר"
-#: InvenTree/status_codes.py:141 order/models.py:1142
-#: templates/js/translated/order.js:3625 templates/js/translated/order.js:3974
+#: InvenTree/status_codes.py:141 order/models.py:1165
+#: templates/js/translated/order.js:3636 templates/js/translated/order.js:3971
msgid "Shipped"
msgstr "נשלח"
@@ -646,7 +648,7 @@ msgstr ""
msgid "Split child item"
msgstr ""
-#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2086
+#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2104
msgid "Merged stock items"
msgstr ""
@@ -654,7 +656,7 @@ msgstr ""
msgid "Converted to variant"
msgstr ""
-#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:229
+#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:233
msgid "Sent to customer"
msgstr "נשלח ללקוח"
@@ -746,7 +748,7 @@ msgstr ""
#: build/models.py:111 build/templates/build/build_base.html:13
#: build/templates/build/index.html:8 build/templates/build/index.html:12
-#: order/templates/order/sales_order_detail.html:120
+#: order/templates/order/sales_order_detail.html:125
#: order/templates/order/so_sidebar.html:13
#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221
#: templates/InvenTree/search.html:141
@@ -759,15 +761,15 @@ msgstr ""
msgid "Build Order Reference"
msgstr ""
-#: build/models.py:155 order/models.py:240 order/models.py:632
-#: order/models.py:918 part/models.py:2684
+#: build/models.py:155 order/models.py:241 order/models.py:651
+#: order/models.py:941 part/admin.py:224 part/models.py:3297
#: part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:92
-#: templates/js/translated/bom.js:716 templates/js/translated/bom.js:897
-#: templates/js/translated/build.js:1843 templates/js/translated/order.js:2251
-#: templates/js/translated/order.js:2481 templates/js/translated/order.js:3818
-#: templates/js/translated/order.js:4323
+#: templates/js/translated/bom.js:729 templates/js/translated/bom.js:905
+#: templates/js/translated/build.js:1843 templates/js/translated/order.js:2290
+#: templates/js/translated/order.js:2508 templates/js/translated/order.js:3833
+#: templates/js/translated/order.js:4324 templates/js/translated/pricing.js:119
msgid "Reference"
msgstr "מקט"
@@ -785,39 +787,40 @@ msgid "BuildOrder to which this build is allocated"
msgstr ""
#: build/models.py:180 build/templates/build/build_base.html:80
-#: build/templates/build/detail.html:29 company/models.py:680
-#: order/models.py:1015 order/models.py:1126 order/models.py:1127
-#: part/models.py:343 part/models.py:2200 part/models.py:2215
-#: part/models.py:2234 part/models.py:2252 part/models.py:2351
-#: part/models.py:2472 part/models.py:2564 part/models.py:2649
-#: part/models.py:2943 part/serializers.py:828
+#: build/templates/build/detail.html:29 company/models.py:684
+#: order/models.py:1038 order/models.py:1149 order/models.py:1150
+#: part/models.py:362 part/models.py:2700 part/models.py:2813
+#: part/models.py:2828 part/models.py:2847 part/models.py:2865
+#: part/models.py:2964 part/models.py:3085 part/models.py:3177
+#: part/models.py:3262 part/models.py:3578 part/serializers.py:852
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
#: report/templates/report/inventree_build_order_base.html:109
#: report/templates/report/inventree_po_report.html:89
-#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:86
-#: stock/serializers.py:494 templates/InvenTree/search.html:82
+#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:90
+#: stock/serializers.py:488 templates/InvenTree/search.html:82
#: templates/email/build_order_completed.html:17
#: templates/email/build_order_required_stock.html:17
#: templates/email/low_stock_notification.html:16
#: templates/email/overdue_build_order.html:16
-#: templates/js/translated/barcode.js:479 templates/js/translated/bom.js:578
-#: templates/js/translated/bom.js:715 templates/js/translated/bom.js:841
+#: templates/js/translated/barcode.js:479 templates/js/translated/bom.js:591
+#: templates/js/translated/bom.js:728 templates/js/translated/bom.js:849
#: templates/js/translated/build.js:1214 templates/js/translated/build.js:1711
#: templates/js/translated/build.js:2194 templates/js/translated/build.js:2585
-#: templates/js/translated/company.js:301
-#: templates/js/translated/company.js:531
-#: templates/js/translated/company.js:643
-#: templates/js/translated/company.js:904 templates/js/translated/order.js:106
-#: templates/js/translated/order.js:1134 templates/js/translated/order.js:1638
-#: templates/js/translated/order.js:2205 templates/js/translated/order.js:3180
-#: templates/js/translated/order.js:3576 templates/js/translated/order.js:3802
-#: templates/js/translated/part.js:1172 templates/js/translated/part.js:1244
-#: templates/js/translated/part.js:1442 templates/js/translated/stock.js:586
-#: templates/js/translated/stock.js:751 templates/js/translated/stock.js:958
-#: templates/js/translated/stock.js:1700 templates/js/translated/stock.js:2514
-#: templates/js/translated/stock.js:2709 templates/js/translated/stock.js:2843
+#: templates/js/translated/company.js:302
+#: templates/js/translated/company.js:532
+#: templates/js/translated/company.js:644
+#: templates/js/translated/company.js:905 templates/js/translated/order.js:106
+#: templates/js/translated/order.js:1168 templates/js/translated/order.js:1672
+#: templates/js/translated/order.js:2244 templates/js/translated/order.js:3191
+#: templates/js/translated/order.js:3587 templates/js/translated/order.js:3817
+#: templates/js/translated/part.js:1193 templates/js/translated/part.js:1265
+#: templates/js/translated/part.js:1452 templates/js/translated/pricing.js:102
+#: templates/js/translated/stock.js:605 templates/js/translated/stock.js:770
+#: templates/js/translated/stock.js:977 templates/js/translated/stock.js:1719
+#: templates/js/translated/stock.js:2532 templates/js/translated/stock.js:2727
+#: templates/js/translated/stock.js:2861
msgid "Part"
msgstr "רכיב"
@@ -834,7 +837,7 @@ msgid "SalesOrder to which this build is allocated"
msgstr ""
#: build/models.py:202 build/serializers.py:822
-#: templates/js/translated/build.js:2182 templates/js/translated/order.js:3168
+#: templates/js/translated/build.js:2182 templates/js/translated/order.js:3179
msgid "Source Location"
msgstr ""
@@ -874,8 +877,8 @@ msgstr ""
msgid "Build status code"
msgstr ""
-#: build/models.py:245 build/serializers.py:224 order/serializers.py:464
-#: stock/models.py:664 templates/js/translated/order.js:1496
+#: build/models.py:245 build/serializers.py:224 order/serializers.py:455
+#: stock/models.py:680 templates/js/translated/order.js:1530
msgid "Batch Code"
msgstr ""
@@ -883,12 +886,12 @@ msgstr ""
msgid "Batch code for this build output"
msgstr ""
-#: build/models.py:252 order/models.py:86 part/models.py:952
-#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2839
+#: build/models.py:252 order/models.py:87 part/models.py:971
+#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2850
msgid "Creation Date"
msgstr ""
-#: build/models.py:256 order/models.py:662
+#: build/models.py:256 order/models.py:681
msgid "Target completion date"
msgstr ""
@@ -896,7 +899,7 @@ msgstr ""
msgid "Target date for build completion. Build will be overdue after this date."
msgstr ""
-#: build/models.py:260 order/models.py:291
+#: build/models.py:260 order/models.py:292
#: templates/js/translated/build.js:2662
msgid "Completion Date"
msgstr ""
@@ -914,11 +917,11 @@ msgid "User who issued this build order"
msgstr ""
#: build/models.py:283 build/templates/build/build_base.html:193
-#: build/templates/build/detail.html:115 order/models.py:100
+#: build/templates/build/detail.html:115 order/models.py:101
#: order/templates/order/order_base.html:185
-#: order/templates/order/sales_order_base.html:183 part/models.py:956
+#: order/templates/order/sales_order_base.html:183 part/models.py:975
#: report/templates/report/inventree_build_order_base.html:158
-#: templates/js/translated/build.js:2642 templates/js/translated/order.js:2022
+#: templates/js/translated/build.js:2642 templates/js/translated/order.js:2056
msgid "Responsible"
msgstr ""
@@ -929,7 +932,7 @@ msgstr ""
#: build/models.py:289 build/templates/build/detail.html:101
#: company/templates/company/manufacturer_part.html:107
#: company/templates/company/supplier_part.html:188
-#: part/templates/part/part_base.html:361 stock/models.py:658
+#: part/templates/part/part_base.html:376 stock/models.py:674
#: stock/templates/stock/item_base.html:203
msgid "External Link"
msgstr ""
@@ -968,11 +971,11 @@ msgstr ""
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr ""
-#: build/models.py:1191 order/models.py:1393
+#: build/models.py:1191 order/models.py:1416
msgid "Stock item is over-allocated"
msgstr ""
-#: build/models.py:1197 order/models.py:1396
+#: build/models.py:1197 order/models.py:1419
msgid "Allocation quantity must be greater than zero"
msgstr ""
@@ -994,18 +997,18 @@ msgstr ""
msgid "Build to allocate parts"
msgstr ""
-#: build/models.py:1346 build/serializers.py:663 order/serializers.py:1039
-#: order/serializers.py:1060 stock/serializers.py:398 stock/serializers.py:758
-#: stock/serializers.py:884 stock/templates/stock/item_base.html:10
+#: build/models.py:1346 build/serializers.py:663 order/serializers.py:1032
+#: order/serializers.py:1053 stock/serializers.py:392 stock/serializers.py:757
+#: stock/serializers.py:883 stock/templates/stock/item_base.html:10
#: stock/templates/stock/item_base.html:23
#: stock/templates/stock/item_base.html:197
#: templates/js/translated/build.js:790 templates/js/translated/build.js:795
#: templates/js/translated/build.js:2196 templates/js/translated/build.js:2747
-#: templates/js/translated/order.js:107 templates/js/translated/order.js:3181
-#: templates/js/translated/order.js:3483 templates/js/translated/order.js:3488
-#: templates/js/translated/order.js:3583 templates/js/translated/order.js:3675
-#: templates/js/translated/stock.js:587 templates/js/translated/stock.js:752
-#: templates/js/translated/stock.js:2587
+#: templates/js/translated/order.js:107 templates/js/translated/order.js:3192
+#: templates/js/translated/order.js:3494 templates/js/translated/order.js:3499
+#: templates/js/translated/order.js:3594 templates/js/translated/order.js:3686
+#: templates/js/translated/stock.js:606 templates/js/translated/stock.js:771
+#: templates/js/translated/stock.js:2605
msgid "Stock Item"
msgstr ""
@@ -1015,12 +1018,10 @@ msgstr ""
#: build/models.py:1359 build/serializers.py:192
#: build/templates/build/build_base.html:85
-#: build/templates/build/detail.html:34 common/models.py:1776
-#: company/templates/company/supplier_part.html:341 order/models.py:911
-#: order/models.py:1437 order/serializers.py:1213
-#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:40
-#: part/models.py:2665 part/templates/part/detail.html:938
-#: part/templates/part/detail.html:1024
+#: build/templates/build/detail.html:34 common/models.py:1788
+#: order/models.py:934 order/models.py:1460 order/serializers.py:1206
+#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:223
+#: part/forms.py:40 part/models.py:3278
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_build_order_base.html:113
@@ -1028,25 +1029,29 @@ msgstr ""
#: report/templates/report/inventree_so_report.html:91
#: report/templates/report/inventree_test_report_base.html:81
#: report/templates/report/inventree_test_report_base.html:139
-#: stock/serializers.py:291 stock/templates/stock/item_base.html:290
+#: stock/admin.py:86 stock/serializers.py:285
+#: stock/templates/stock/item_base.html:290
#: stock/templates/stock/item_base.html:298
#: templates/email/build_order_completed.html:18
-#: templates/js/translated/barcode.js:481 templates/js/translated/bom.js:717
-#: templates/js/translated/bom.js:905 templates/js/translated/build.js:474
+#: templates/js/translated/barcode.js:481 templates/js/translated/bom.js:730
+#: templates/js/translated/bom.js:913 templates/js/translated/build.js:474
#: templates/js/translated/build.js:626 templates/js/translated/build.js:817
#: templates/js/translated/build.js:1236 templates/js/translated/build.js:1737
#: templates/js/translated/build.js:2197
+#: templates/js/translated/company.js:1159
#: templates/js/translated/model_renderers.js:120
-#: templates/js/translated/order.js:123 templates/js/translated/order.js:1137
-#: templates/js/translated/order.js:2257 templates/js/translated/order.js:2487
-#: templates/js/translated/order.js:3182 templates/js/translated/order.js:3502
-#: templates/js/translated/order.js:3589 templates/js/translated/order.js:3681
-#: templates/js/translated/order.js:3824 templates/js/translated/order.js:4329
-#: templates/js/translated/part.js:1036 templates/js/translated/part.js:2220
-#: templates/js/translated/part.js:2689 templates/js/translated/part.js:2730
-#: templates/js/translated/part.js:2808 templates/js/translated/stock.js:458
-#: templates/js/translated/stock.js:612 templates/js/translated/stock.js:782
-#: templates/js/translated/stock.js:2636 templates/js/translated/stock.js:2721
+#: templates/js/translated/order.js:123 templates/js/translated/order.js:1171
+#: templates/js/translated/order.js:2296 templates/js/translated/order.js:2514
+#: templates/js/translated/order.js:3193 templates/js/translated/order.js:3513
+#: templates/js/translated/order.js:3600 templates/js/translated/order.js:3692
+#: templates/js/translated/order.js:3839 templates/js/translated/order.js:4330
+#: templates/js/translated/part.js:1063 templates/js/translated/part.js:2546
+#: templates/js/translated/pricing.js:114
+#: templates/js/translated/pricing.js:207
+#: templates/js/translated/pricing.js:255
+#: templates/js/translated/pricing.js:349 templates/js/translated/stock.js:477
+#: templates/js/translated/stock.js:631 templates/js/translated/stock.js:801
+#: templates/js/translated/stock.js:2654 templates/js/translated/stock.js:2739
msgid "Quantity"
msgstr "כמות"
@@ -1087,10 +1092,10 @@ msgstr ""
msgid "Enter quantity for build output"
msgstr ""
-#: build/serializers.py:207 build/serializers.py:683 order/models.py:323
-#: order/serializers.py:304 order/serializers.py:459 part/serializers.py:558
-#: part/serializers.py:991 stock/models.py:518 stock/models.py:1253
-#: stock/serializers.py:300
+#: build/serializers.py:207 build/serializers.py:683 order/models.py:327
+#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:644
+#: part/serializers.py:1015 stock/models.py:534 stock/models.py:1269
+#: stock/serializers.py:294
msgid "Quantity must be greater than zero"
msgstr ""
@@ -1102,9 +1107,9 @@ msgstr ""
msgid "Integer quantity required, as the bill of materials contains trackable parts"
msgstr ""
-#: build/serializers.py:231 order/serializers.py:472 order/serializers.py:1217
-#: stock/serializers.py:309 templates/js/translated/order.js:1507
-#: templates/js/translated/stock.js:271 templates/js/translated/stock.js:459
+#: build/serializers.py:231 order/serializers.py:463 order/serializers.py:1210
+#: stock/serializers.py:303 templates/js/translated/order.js:1541
+#: templates/js/translated/stock.js:290 templates/js/translated/stock.js:478
msgid "Serial Numbers"
msgstr "מספרים סידוריים"
@@ -1120,7 +1125,7 @@ msgstr ""
msgid "Automatically allocate required items with matching serial numbers"
msgstr ""
-#: build/serializers.py:281 stock/api.py:589
+#: build/serializers.py:281 stock/api.py:599
msgid "The following serial numbers already exist or are invalid"
msgstr ""
@@ -1128,18 +1133,18 @@ msgstr ""
msgid "A list of build outputs must be provided"
msgstr ""
-#: build/serializers.py:369 order/serializers.py:445 order/serializers.py:556
-#: stock/serializers.py:320 stock/serializers.py:455 stock/serializers.py:536
-#: stock/serializers.py:919 stock/serializers.py:1152
+#: build/serializers.py:369 order/serializers.py:436 order/serializers.py:547
+#: stock/serializers.py:314 stock/serializers.py:449 stock/serializers.py:530
+#: stock/serializers.py:918 stock/serializers.py:1151
#: stock/templates/stock/item_base.html:388
#: templates/js/translated/barcode.js:480
#: templates/js/translated/barcode.js:724 templates/js/translated/build.js:802
-#: templates/js/translated/build.js:1749 templates/js/translated/order.js:1534
-#: templates/js/translated/order.js:3495 templates/js/translated/order.js:3600
-#: templates/js/translated/order.js:3608 templates/js/translated/order.js:3689
-#: templates/js/translated/part.js:181 templates/js/translated/stock.js:588
-#: templates/js/translated/stock.js:753 templates/js/translated/stock.js:960
-#: templates/js/translated/stock.js:1856 templates/js/translated/stock.js:2528
+#: templates/js/translated/build.js:1749 templates/js/translated/order.js:1568
+#: templates/js/translated/order.js:3506 templates/js/translated/order.js:3611
+#: templates/js/translated/order.js:3619 templates/js/translated/order.js:3700
+#: templates/js/translated/part.js:177 templates/js/translated/stock.js:607
+#: templates/js/translated/stock.js:772 templates/js/translated/stock.js:979
+#: templates/js/translated/stock.js:1875 templates/js/translated/stock.js:2546
msgid "Location"
msgstr ""
@@ -1148,12 +1153,13 @@ msgid "Location for completed build outputs"
msgstr ""
#: build/serializers.py:376 build/templates/build/build_base.html:145
-#: build/templates/build/detail.html:62 order/models.py:651
-#: order/serializers.py:482 stock/templates/stock/item_base.html:421
+#: build/templates/build/detail.html:62 order/models.py:670
+#: order/serializers.py:473 stock/admin.py:89
+#: stock/templates/stock/item_base.html:421
#: templates/js/translated/barcode.js:214 templates/js/translated/build.js:2614
-#: templates/js/translated/order.js:1643 templates/js/translated/order.js:1992
-#: templates/js/translated/order.js:2831 templates/js/translated/stock.js:1831
-#: templates/js/translated/stock.js:2605 templates/js/translated/stock.js:2737
+#: templates/js/translated/order.js:1677 templates/js/translated/order.js:2026
+#: templates/js/translated/order.js:2842 templates/js/translated/stock.js:1850
+#: templates/js/translated/stock.js:2623 templates/js/translated/stock.js:2755
msgid "Status"
msgstr ""
@@ -1213,7 +1219,7 @@ msgstr ""
msgid "Required stock has not been fully allocated"
msgstr ""
-#: build/serializers.py:545 order/serializers.py:208 order/serializers.py:1107
+#: build/serializers.py:545 order/serializers.py:202 order/serializers.py:1100
msgid "Accept Incomplete"
msgstr ""
@@ -1229,8 +1235,8 @@ msgstr ""
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:595 build/serializers.py:640 part/models.py:2801
-#: part/models.py:2935
+#: build/serializers.py:595 build/serializers.py:640 part/models.py:3414
+#: part/models.py:3570
msgid "BOM Item"
msgstr ""
@@ -1246,11 +1252,11 @@ msgstr ""
msgid "bom_item.part must point to the same part as the build order"
msgstr ""
-#: build/serializers.py:669 stock/serializers.py:771
+#: build/serializers.py:669 stock/serializers.py:770
msgid "Item must be in stock"
msgstr ""
-#: build/serializers.py:727 order/serializers.py:1097
+#: build/serializers.py:727 order/serializers.py:1090
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr ""
@@ -1267,7 +1273,7 @@ msgstr ""
msgid "This stock item has already been allocated to this build output"
msgstr ""
-#: build/serializers.py:768 order/serializers.py:1381
+#: build/serializers.py:768 order/serializers.py:1374
msgid "Allocation items must be provided"
msgstr ""
@@ -1382,13 +1388,13 @@ msgid "Stock has not been fully allocated to this Build Order"
msgstr ""
#: build/templates/build/build_base.html:154
-#: build/templates/build/detail.html:131 order/models.py:924
+#: build/templates/build/detail.html:131 order/models.py:947
#: order/templates/order/order_base.html:171
#: order/templates/order/sales_order_base.html:164
#: report/templates/report/inventree_build_order_base.html:125
-#: templates/js/translated/build.js:2654 templates/js/translated/order.js:2009
-#: templates/js/translated/order.js:2351 templates/js/translated/order.js:2847
-#: templates/js/translated/order.js:3887 templates/js/translated/part.js:1051
+#: templates/js/translated/build.js:2654 templates/js/translated/order.js:2043
+#: templates/js/translated/order.js:2374 templates/js/translated/order.js:2858
+#: templates/js/translated/order.js:3884 templates/js/translated/part.js:1078
msgid "Target Date"
msgstr ""
@@ -1401,29 +1407,29 @@ msgstr ""
#: build/templates/build/build_base.html:204
#: order/templates/order/order_base.html:107
#: order/templates/order/sales_order_base.html:94
-#: templates/js/translated/table_filters.js:328
-#: templates/js/translated/table_filters.js:369
-#: templates/js/translated/table_filters.js:399
+#: templates/js/translated/table_filters.js:332
+#: templates/js/translated/table_filters.js:373
+#: templates/js/translated/table_filters.js:403
msgid "Overdue"
msgstr ""
#: build/templates/build/build_base.html:166
#: build/templates/build/detail.html:67 build/templates/build/detail.html:142
#: order/templates/order/sales_order_base.html:171
-#: templates/js/translated/table_filters.js:408
+#: templates/js/translated/table_filters.js:412
msgid "Completed"
msgstr ""
#: build/templates/build/build_base.html:179
-#: build/templates/build/detail.html:94 order/models.py:1119
-#: order/models.py:1213 order/models.py:1344
+#: build/templates/build/detail.html:94 order/models.py:1142
+#: order/models.py:1236 order/models.py:1367
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
#: report/templates/report/inventree_build_order_base.html:135
#: report/templates/report/inventree_so_report.html:77
#: stock/templates/stock/item_base.html:368
#: templates/email/overdue_sales_order.html:15
-#: templates/js/translated/order.js:2793
+#: templates/js/translated/order.js:2804 templates/js/translated/pricing.js:637
msgid "Sales Order"
msgstr ""
@@ -1449,8 +1455,8 @@ msgstr ""
msgid "Stock can be taken from any available location."
msgstr ""
-#: build/templates/build/detail.html:49 order/models.py:1037
-#: templates/js/translated/order.js:1644 templates/js/translated/order.js:2393
+#: build/templates/build/detail.html:49 order/models.py:1060
+#: templates/js/translated/order.js:1678 templates/js/translated/order.js:2416
msgid "Destination"
msgstr ""
@@ -1462,14 +1468,14 @@ msgstr ""
msgid "Allocated Parts"
msgstr ""
-#: build/templates/build/detail.html:80
+#: build/templates/build/detail.html:80 stock/admin.py:88
#: stock/templates/stock/item_base.html:168
#: templates/js/translated/build.js:1240
#: templates/js/translated/model_renderers.js:124
-#: templates/js/translated/stock.js:1026 templates/js/translated/stock.js:1845
-#: templates/js/translated/stock.js:2744
-#: templates/js/translated/table_filters.js:167
-#: templates/js/translated/table_filters.js:258
+#: templates/js/translated/stock.js:1045 templates/js/translated/stock.js:1864
+#: templates/js/translated/stock.js:2762
+#: templates/js/translated/table_filters.js:171
+#: templates/js/translated/table_filters.js:262
msgid "Batch"
msgstr ""
@@ -1527,7 +1533,7 @@ msgstr ""
#: build/templates/build/detail.html:187
#: company/templates/company/detail.html:37
#: company/templates/company/detail.html:85
-#: part/templates/part/category.html:178 templates/js/translated/order.js:1177
+#: part/templates/part/category.html:178 templates/js/translated/order.js:1211
msgid "Order Parts"
msgstr ""
@@ -1597,10 +1603,10 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:151
#: company/templates/company/manufacturer_part_sidebar.html:9
#: order/templates/order/po_sidebar.html:9
-#: order/templates/order/purchase_order_detail.html:82
-#: order/templates/order/sales_order_detail.html:135
-#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:212
-#: part/templates/part/part_sidebar.html:57 stock/templates/stock/item.html:117
+#: order/templates/order/purchase_order_detail.html:86
+#: order/templates/order/sales_order_detail.html:140
+#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:210
+#: part/templates/part/part_sidebar.html:55 stock/templates/stock/item.html:117
#: stock/templates/stock/stock_sidebar.html:23
msgid "Attachments"
msgstr ""
@@ -1617,7 +1623,7 @@ msgstr ""
msgid "All untracked stock items have been allocated"
msgstr ""
-#: build/templates/build/index.html:18 part/templates/part/detail.html:318
+#: build/templates/build/index.html:18 part/templates/part/detail.html:316
msgid "New Build Order"
msgstr ""
@@ -1734,7 +1740,7 @@ msgstr ""
msgid "Show the `about` modal only to superusers"
msgstr ""
-#: common/models.py:833 company/models.py:94 company/models.py:95
+#: common/models.py:833 company/models.py:98 company/models.py:99
msgid "Company name"
msgstr ""
@@ -1902,9 +1908,9 @@ msgstr ""
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:1002 part/models.py:2474 report/models.py:158
-#: templates/js/translated/table_filters.js:38
-#: templates/js/translated/table_filters.js:492
+#: common/models.py:1002 part/admin.py:41 part/models.py:3087
+#: report/models.py:158 templates/js/translated/table_filters.js:38
+#: templates/js/translated/table_filters.js:496
msgid "Template"
msgstr ""
@@ -1912,9 +1918,10 @@ msgstr ""
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:1009 part/models.py:908 templates/js/translated/bom.js:1531
-#: templates/js/translated/table_filters.js:184
-#: templates/js/translated/table_filters.js:455
+#: common/models.py:1009 part/admin.py:37 part/admin.py:229 part/models.py:927
+#: templates/js/translated/bom.js:1594
+#: templates/js/translated/table_filters.js:188
+#: templates/js/translated/table_filters.js:459
msgid "Assembly"
msgstr ""
@@ -1922,8 +1929,8 @@ msgstr ""
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:1016 part/models.py:914
-#: templates/js/translated/table_filters.js:463
+#: common/models.py:1016 part/admin.py:38 part/models.py:933
+#: templates/js/translated/table_filters.js:467
msgid "Component"
msgstr ""
@@ -1931,7 +1938,7 @@ msgstr ""
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:1023 part/models.py:925
+#: common/models.py:1023 part/admin.py:39 part/models.py:944
msgid "Purchaseable"
msgstr ""
@@ -1939,8 +1946,8 @@ msgstr ""
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:1030 part/models.py:930
-#: templates/js/translated/table_filters.js:484
+#: common/models.py:1030 part/admin.py:40 part/models.py:949
+#: templates/js/translated/table_filters.js:488
msgid "Salable"
msgstr ""
@@ -1948,10 +1955,10 @@ msgstr ""
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:1037 part/models.py:920
+#: common/models.py:1037 part/admin.py:42 part/models.py:939
#: templates/js/translated/table_filters.js:46
-#: templates/js/translated/table_filters.js:116
-#: templates/js/translated/table_filters.js:496
+#: templates/js/translated/table_filters.js:120
+#: templates/js/translated/table_filters.js:500
msgid "Trackable"
msgstr ""
@@ -1959,10 +1966,10 @@ msgstr ""
msgid "Parts are trackable by default"
msgstr ""
-#: common/models.py:1044 part/models.py:940
+#: common/models.py:1044 part/admin.py:43 part/models.py:959
#: part/templates/part/part_base.html:156
#: templates/js/translated/table_filters.js:42
-#: templates/js/translated/table_filters.js:500
+#: templates/js/translated/table_filters.js:504
msgid "Virtual"
msgstr ""
@@ -1979,791 +1986,837 @@ msgid "Display the import wizard in some part views"
msgstr ""
#: common/models.py:1058
-msgid "Show Price in Forms"
-msgstr ""
-
-#: common/models.py:1059
-msgid "Display part price in some forms"
-msgstr ""
-
-#: common/models.py:1070
-msgid "Show Price in BOM"
-msgstr ""
-
-#: common/models.py:1071
-msgid "Include pricing information in BOM tables"
-msgstr ""
-
-#: common/models.py:1082
-msgid "Show Price History"
-msgstr ""
-
-#: common/models.py:1083
-msgid "Display historical pricing for Part"
-msgstr ""
-
-#: common/models.py:1089
msgid "Show related parts"
msgstr ""
-#: common/models.py:1090
+#: common/models.py:1059
msgid "Display related parts for a part"
msgstr ""
-#: common/models.py:1096
+#: common/models.py:1065
msgid "Create initial stock"
msgstr ""
-#: common/models.py:1097
+#: common/models.py:1066
msgid "Create initial stock on part creation"
msgstr ""
-#: common/models.py:1103
-msgid "Internal Prices"
-msgstr ""
-
-#: common/models.py:1104
-msgid "Enable internal prices for parts"
-msgstr ""
-
-#: common/models.py:1110
-msgid "Internal Price as BOM-Price"
-msgstr ""
-
-#: common/models.py:1111
-msgid "Use the internal price (if set) in BOM-price calculations"
-msgstr ""
-
-#: common/models.py:1117
+#: common/models.py:1072
msgid "Part Name Display Format"
msgstr ""
-#: common/models.py:1118
+#: common/models.py:1073
msgid "Format to display the part name"
msgstr ""
-#: common/models.py:1125
+#: common/models.py:1080
msgid "Part Category Default Icon"
msgstr ""
-#: common/models.py:1126
+#: common/models.py:1081
msgid "Part category default icon (empty means no icon)"
msgstr ""
-#: common/models.py:1131
-msgid "Enable label printing"
+#: common/models.py:1086
+msgid "Pricing Decimal Places"
msgstr ""
-#: common/models.py:1132
-msgid "Enable label printing from the web interface"
+#: common/models.py:1087
+msgid "Number of decimal places to display when rendering pricing data"
msgstr ""
-#: common/models.py:1138
-msgid "Label Image DPI"
+#: common/models.py:1097
+msgid "Pricing Rebuild Time"
msgstr ""
-#: common/models.py:1139
-msgid "DPI resolution when generating image files to supply to label printing plugins"
+#: common/models.py:1098
+msgid "Number of days before part pricing is automatically updated"
msgstr ""
-#: common/models.py:1148
-msgid "Enable Reports"
-msgstr ""
-
-#: common/models.py:1149
-msgid "Enable generation of reports"
-msgstr ""
-
-#: common/models.py:1155 templates/stats.html:25
-msgid "Debug Mode"
-msgstr ""
-
-#: common/models.py:1156
-msgid "Generate reports in debug mode (HTML output)"
-msgstr ""
-
-#: common/models.py:1162
-msgid "Page Size"
-msgstr ""
-
-#: common/models.py:1163
-msgid "Default page size for PDF reports"
-msgstr ""
-
-#: common/models.py:1173
-msgid "Enable Test Reports"
-msgstr ""
-
-#: common/models.py:1174
-msgid "Enable generation of test reports"
-msgstr ""
-
-#: common/models.py:1180
-msgid "Attach Test Reports"
-msgstr ""
-
-#: common/models.py:1181
-msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item"
-msgstr ""
-
-#: common/models.py:1187
-msgid "Globally Unique Serials"
-msgstr ""
-
-#: common/models.py:1188
-msgid "Serial numbers for stock items must be globally unique"
-msgstr ""
-
-#: common/models.py:1194
-msgid "Batch Code Template"
-msgstr ""
-
-#: common/models.py:1195
-msgid "Template for generating default batch codes for stock items"
-msgstr ""
-
-#: common/models.py:1200
-msgid "Stock Expiry"
-msgstr ""
-
-#: common/models.py:1201
-msgid "Enable stock expiry functionality"
-msgstr ""
-
-#: common/models.py:1207
-msgid "Sell Expired Stock"
-msgstr ""
-
-#: common/models.py:1208
-msgid "Allow sale of expired stock"
-msgstr ""
-
-#: common/models.py:1214
-msgid "Stock Stale Time"
-msgstr ""
-
-#: common/models.py:1215
-msgid "Number of days stock items are considered stale before expiring"
-msgstr ""
-
-#: common/models.py:1217
+#: common/models.py:1099 common/models.py:1208
msgid "days"
msgstr ""
-#: common/models.py:1222
+#: common/models.py:1108
+msgid "Internal Prices"
+msgstr ""
+
+#: common/models.py:1109
+msgid "Enable internal prices for parts"
+msgstr ""
+
+#: common/models.py:1115
+msgid "Internal Price Override"
+msgstr ""
+
+#: common/models.py:1116
+msgid "If available, internal prices override price range calculations"
+msgstr ""
+
+#: common/models.py:1122
+msgid "Enable label printing"
+msgstr ""
+
+#: common/models.py:1123
+msgid "Enable label printing from the web interface"
+msgstr ""
+
+#: common/models.py:1129
+msgid "Label Image DPI"
+msgstr ""
+
+#: common/models.py:1130
+msgid "DPI resolution when generating image files to supply to label printing plugins"
+msgstr ""
+
+#: common/models.py:1139
+msgid "Enable Reports"
+msgstr ""
+
+#: common/models.py:1140
+msgid "Enable generation of reports"
+msgstr ""
+
+#: common/models.py:1146 templates/stats.html:25
+msgid "Debug Mode"
+msgstr ""
+
+#: common/models.py:1147
+msgid "Generate reports in debug mode (HTML output)"
+msgstr ""
+
+#: common/models.py:1153
+msgid "Page Size"
+msgstr ""
+
+#: common/models.py:1154
+msgid "Default page size for PDF reports"
+msgstr ""
+
+#: common/models.py:1164
+msgid "Enable Test Reports"
+msgstr ""
+
+#: common/models.py:1165
+msgid "Enable generation of test reports"
+msgstr ""
+
+#: common/models.py:1171
+msgid "Attach Test Reports"
+msgstr ""
+
+#: common/models.py:1172
+msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item"
+msgstr ""
+
+#: common/models.py:1178
+msgid "Globally Unique Serials"
+msgstr ""
+
+#: common/models.py:1179
+msgid "Serial numbers for stock items must be globally unique"
+msgstr ""
+
+#: common/models.py:1185
+msgid "Batch Code Template"
+msgstr ""
+
+#: common/models.py:1186
+msgid "Template for generating default batch codes for stock items"
+msgstr ""
+
+#: common/models.py:1191
+msgid "Stock Expiry"
+msgstr ""
+
+#: common/models.py:1192
+msgid "Enable stock expiry functionality"
+msgstr ""
+
+#: common/models.py:1198
+msgid "Sell Expired Stock"
+msgstr ""
+
+#: common/models.py:1199
+msgid "Allow sale of expired stock"
+msgstr ""
+
+#: common/models.py:1205
+msgid "Stock Stale Time"
+msgstr ""
+
+#: common/models.py:1206
+msgid "Number of days stock items are considered stale before expiring"
+msgstr ""
+
+#: common/models.py:1213
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:1223
+#: common/models.py:1214
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:1229
+#: common/models.py:1220
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:1230
+#: common/models.py:1221
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:1236
+#: common/models.py:1227
msgid "Stock Location Default Icon"
msgstr ""
-#: common/models.py:1237
+#: common/models.py:1228
msgid "Stock location default icon (empty means no icon)"
msgstr ""
-#: common/models.py:1242
+#: common/models.py:1233
msgid "Build Order Reference Pattern"
msgstr ""
-#: common/models.py:1243
+#: common/models.py:1234
msgid "Required pattern for generating Build Order reference field"
msgstr ""
-#: common/models.py:1249
+#: common/models.py:1240
msgid "Sales Order Reference Pattern"
msgstr ""
-#: common/models.py:1250
+#: common/models.py:1241
msgid "Required pattern for generating Sales Order reference field"
msgstr ""
-#: common/models.py:1256
+#: common/models.py:1247
msgid "Sales Order Default Shipment"
msgstr ""
-#: common/models.py:1257
+#: common/models.py:1248
msgid "Enable creation of default shipment with sales orders"
msgstr ""
-#: common/models.py:1263
+#: common/models.py:1254
+msgid "Edit Completed Sales Orders"
+msgstr ""
+
+#: common/models.py:1255
+msgid "Allow editing of sales orders after they have been shipped or completed"
+msgstr ""
+
+#: common/models.py:1261
msgid "Purchase Order Reference Pattern"
msgstr ""
-#: common/models.py:1264
+#: common/models.py:1262
msgid "Required pattern for generating Purchase Order reference field"
msgstr ""
-#: common/models.py:1271
+#: common/models.py:1268
+msgid "Edit Completed Purchase Orders"
+msgstr ""
+
+#: common/models.py:1269
+msgid "Allow editing of purchase orders after they have been shipped or completed"
+msgstr ""
+
+#: common/models.py:1276
msgid "Enable password forgot"
msgstr ""
-#: common/models.py:1272
+#: common/models.py:1277
msgid "Enable password forgot function on the login pages"
msgstr ""
-#: common/models.py:1278
+#: common/models.py:1283
msgid "Enable registration"
msgstr ""
-#: common/models.py:1279
+#: common/models.py:1284
msgid "Enable self-registration for users on the login pages"
msgstr ""
-#: common/models.py:1285
+#: common/models.py:1290
msgid "Enable SSO"
msgstr ""
-#: common/models.py:1286
+#: common/models.py:1291
msgid "Enable SSO on the login pages"
msgstr ""
-#: common/models.py:1292
+#: common/models.py:1297
msgid "Email required"
msgstr ""
-#: common/models.py:1293
+#: common/models.py:1298
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/models.py:1299
+#: common/models.py:1304
msgid "Auto-fill SSO users"
msgstr ""
-#: common/models.py:1300
+#: common/models.py:1305
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/models.py:1306
+#: common/models.py:1311
msgid "Mail twice"
msgstr ""
-#: common/models.py:1307
+#: common/models.py:1312
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/models.py:1313
+#: common/models.py:1318
msgid "Password twice"
msgstr ""
-#: common/models.py:1314
+#: common/models.py:1319
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/models.py:1320
+#: common/models.py:1325
msgid "Group on signup"
msgstr ""
-#: common/models.py:1321
+#: common/models.py:1326
msgid "Group to which new users are assigned on registration"
msgstr ""
-#: common/models.py:1327
+#: common/models.py:1332
msgid "Enforce MFA"
msgstr ""
-#: common/models.py:1328
+#: common/models.py:1333
msgid "Users must use multifactor security."
msgstr ""
-#: common/models.py:1334
+#: common/models.py:1339
msgid "Check plugins on startup"
msgstr ""
-#: common/models.py:1335
+#: common/models.py:1340
msgid "Check that all plugins are installed on startup - enable in container environments"
msgstr ""
-#: common/models.py:1342
+#: common/models.py:1347
msgid "Check plugin signatures"
msgstr ""
-#: common/models.py:1343
+#: common/models.py:1348
msgid "Check and show signatures for plugins"
msgstr ""
-#: common/models.py:1350
+#: common/models.py:1355
msgid "Enable URL integration"
msgstr ""
-#: common/models.py:1351
+#: common/models.py:1356
msgid "Enable plugins to add URL routes"
msgstr ""
-#: common/models.py:1358
+#: common/models.py:1363
msgid "Enable navigation integration"
msgstr ""
-#: common/models.py:1359
+#: common/models.py:1364
msgid "Enable plugins to integrate into navigation"
msgstr ""
-#: common/models.py:1366
+#: common/models.py:1371
msgid "Enable app integration"
msgstr ""
-#: common/models.py:1367
+#: common/models.py:1372
msgid "Enable plugins to add apps"
msgstr ""
-#: common/models.py:1374
+#: common/models.py:1379
msgid "Enable schedule integration"
msgstr ""
-#: common/models.py:1375
+#: common/models.py:1380
msgid "Enable plugins to run scheduled tasks"
msgstr ""
-#: common/models.py:1382
+#: common/models.py:1387
msgid "Enable event integration"
msgstr ""
-#: common/models.py:1383
+#: common/models.py:1388
msgid "Enable plugins to respond to internal events"
msgstr ""
-#: common/models.py:1402 common/models.py:1737
+#: common/models.py:1407 common/models.py:1749
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:1424
+#: common/models.py:1429
msgid "Show subscribed parts"
msgstr ""
-#: common/models.py:1425
+#: common/models.py:1430
msgid "Show subscribed parts on the homepage"
msgstr ""
-#: common/models.py:1431
+#: common/models.py:1436
msgid "Show subscribed categories"
msgstr ""
-#: common/models.py:1432
+#: common/models.py:1437
msgid "Show subscribed part categories on the homepage"
msgstr ""
-#: common/models.py:1438
+#: common/models.py:1443
msgid "Show latest parts"
msgstr ""
-#: common/models.py:1439
+#: common/models.py:1444
msgid "Show latest parts on the homepage"
msgstr ""
-#: common/models.py:1445
+#: common/models.py:1450
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:1446
+#: common/models.py:1451
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:1452
+#: common/models.py:1457
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:1453
+#: common/models.py:1458
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:1459
+#: common/models.py:1464
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:1460
+#: common/models.py:1465
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:1466
+#: common/models.py:1471
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:1467
+#: common/models.py:1472
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:1473
+#: common/models.py:1478
msgid "Show low stock"
msgstr ""
-#: common/models.py:1474
+#: common/models.py:1479
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:1480
+#: common/models.py:1485
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:1481
+#: common/models.py:1486
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:1487
+#: common/models.py:1492
msgid "Show needed stock"
msgstr ""
-#: common/models.py:1488
+#: common/models.py:1493
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:1494
+#: common/models.py:1499
msgid "Show expired stock"
msgstr ""
-#: common/models.py:1495
+#: common/models.py:1500
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:1501
+#: common/models.py:1506
msgid "Show stale stock"
msgstr ""
-#: common/models.py:1502
+#: common/models.py:1507
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:1508
+#: common/models.py:1513
msgid "Show pending builds"
msgstr ""
-#: common/models.py:1509
+#: common/models.py:1514
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:1515
+#: common/models.py:1520
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:1516
+#: common/models.py:1521
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:1522
+#: common/models.py:1527
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:1523
+#: common/models.py:1528
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:1529
+#: common/models.py:1534
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:1530
+#: common/models.py:1535
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:1536
+#: common/models.py:1541
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:1537
+#: common/models.py:1542
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:1543
+#: common/models.py:1548
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:1544
+#: common/models.py:1549
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:1550
+#: common/models.py:1555
+msgid "Show News"
+msgstr ""
+
+#: common/models.py:1556
+msgid "Show news on the homepage"
+msgstr ""
+
+#: common/models.py:1562
msgid "Inline label display"
msgstr ""
-#: common/models.py:1551
+#: common/models.py:1563
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1557
+#: common/models.py:1569
msgid "Inline report display"
msgstr ""
-#: common/models.py:1558
+#: common/models.py:1570
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1564
+#: common/models.py:1576
msgid "Search Parts"
msgstr ""
-#: common/models.py:1565
+#: common/models.py:1577
msgid "Display parts in search preview window"
msgstr ""
-#: common/models.py:1571
+#: common/models.py:1583
msgid "Seach Supplier Parts"
msgstr ""
-#: common/models.py:1572
+#: common/models.py:1584
msgid "Display supplier parts in search preview window"
msgstr ""
-#: common/models.py:1578
+#: common/models.py:1590
msgid "Search Manufacturer Parts"
msgstr ""
-#: common/models.py:1579
+#: common/models.py:1591
msgid "Display manufacturer parts in search preview window"
msgstr ""
-#: common/models.py:1585
+#: common/models.py:1597
msgid "Hide Inactive Parts"
msgstr ""
-#: common/models.py:1586
+#: common/models.py:1598
msgid "Excluded inactive parts from search preview window"
msgstr ""
-#: common/models.py:1592
+#: common/models.py:1604
msgid "Search Categories"
msgstr ""
-#: common/models.py:1593
+#: common/models.py:1605
msgid "Display part categories in search preview window"
msgstr ""
-#: common/models.py:1599
+#: common/models.py:1611
msgid "Search Stock"
msgstr ""
-#: common/models.py:1600
+#: common/models.py:1612
msgid "Display stock items in search preview window"
msgstr ""
-#: common/models.py:1606
+#: common/models.py:1618
msgid "Hide Unavailable Stock Items"
msgstr ""
-#: common/models.py:1607
+#: common/models.py:1619
msgid "Exclude stock items which are not available from the search preview window"
msgstr ""
-#: common/models.py:1613
+#: common/models.py:1625
msgid "Search Locations"
msgstr ""
-#: common/models.py:1614
+#: common/models.py:1626
msgid "Display stock locations in search preview window"
msgstr ""
-#: common/models.py:1620
+#: common/models.py:1632
msgid "Search Companies"
msgstr ""
-#: common/models.py:1621
+#: common/models.py:1633
msgid "Display companies in search preview window"
msgstr ""
-#: common/models.py:1627
+#: common/models.py:1639
msgid "Search Build Orders"
msgstr ""
-#: common/models.py:1628
+#: common/models.py:1640
msgid "Display build orders in search preview window"
msgstr ""
-#: common/models.py:1634
+#: common/models.py:1646
msgid "Search Purchase Orders"
msgstr ""
-#: common/models.py:1635
+#: common/models.py:1647
msgid "Display purchase orders in search preview window"
msgstr ""
-#: common/models.py:1641
+#: common/models.py:1653
msgid "Exclude Inactive Purchase Orders"
msgstr ""
-#: common/models.py:1642
+#: common/models.py:1654
msgid "Exclude inactive purchase orders from search preview window"
msgstr ""
-#: common/models.py:1648
+#: common/models.py:1660
msgid "Search Sales Orders"
msgstr ""
-#: common/models.py:1649
+#: common/models.py:1661
msgid "Display sales orders in search preview window"
msgstr ""
-#: common/models.py:1655
+#: common/models.py:1667
msgid "Exclude Inactive Sales Orders"
msgstr ""
-#: common/models.py:1656
+#: common/models.py:1668
msgid "Exclude inactive sales orders from search preview window"
msgstr ""
-#: common/models.py:1662
+#: common/models.py:1674
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:1663
+#: common/models.py:1675
msgid "Number of results to show in each section of the search preview window"
msgstr ""
-#: common/models.py:1669
+#: common/models.py:1681
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:1670
+#: common/models.py:1682
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:1676
+#: common/models.py:1688
msgid "Escape Key Closes Forms"
msgstr ""
-#: common/models.py:1677
+#: common/models.py:1689
msgid "Use the escape key to close modal forms"
msgstr ""
-#: common/models.py:1683
+#: common/models.py:1695
msgid "Fixed Navbar"
msgstr ""
-#: common/models.py:1684
+#: common/models.py:1696
msgid "The navbar position is fixed to the top of the screen"
msgstr ""
-#: common/models.py:1690
+#: common/models.py:1702
msgid "Date Format"
msgstr ""
-#: common/models.py:1691
+#: common/models.py:1703
msgid "Preferred format for displaying dates"
msgstr ""
-#: common/models.py:1705 part/templates/part/detail.html:41
+#: common/models.py:1717 part/templates/part/detail.html:41
msgid "Part Scheduling"
msgstr ""
-#: common/models.py:1706
+#: common/models.py:1718
msgid "Display part scheduling information"
msgstr ""
-#: common/models.py:1712
+#: common/models.py:1724
msgid "Table String Length"
msgstr ""
-#: common/models.py:1713
+#: common/models.py:1725
msgid "Maximimum length limit for strings displayed in table views"
msgstr ""
-#: common/models.py:1777
+#: common/models.py:1789
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1784 company/serializers.py:372
-#: company/templates/company/supplier_part.html:346 order/models.py:952
-#: templates/js/translated/part.js:1103 templates/js/translated/part.js:2225
+#: common/models.py:1796 company/serializers.py:393 order/models.py:975
+#: templates/js/translated/company.js:1164 templates/js/translated/part.js:1130
+#: templates/js/translated/pricing.js:354
msgid "Price"
msgstr ""
-#: common/models.py:1785
+#: common/models.py:1797
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1945 common/models.py:2123
+#: common/models.py:1957 common/models.py:2135
msgid "Endpoint"
msgstr ""
-#: common/models.py:1946
+#: common/models.py:1958
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:1955
+#: common/models.py:1967
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:1960 part/models.py:935 plugin/models.py:100
-#: templates/js/translated/table_filters.js:34
-#: templates/js/translated/table_filters.js:112
-#: templates/js/translated/table_filters.js:324
-#: templates/js/translated/table_filters.js:450
+#: common/models.py:1972 part/admin.py:36 part/models.py:954
+#: plugin/models.py:100 templates/js/translated/table_filters.js:34
+#: templates/js/translated/table_filters.js:116
+#: templates/js/translated/table_filters.js:328
+#: templates/js/translated/table_filters.js:454
msgid "Active"
msgstr ""
-#: common/models.py:1961
+#: common/models.py:1973
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:1975
+#: common/models.py:1987
msgid "Token"
msgstr ""
-#: common/models.py:1976
+#: common/models.py:1988
msgid "Token for access"
msgstr ""
-#: common/models.py:1983
+#: common/models.py:1995
msgid "Secret"
msgstr ""
-#: common/models.py:1984
+#: common/models.py:1996
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:2090
+#: common/models.py:2102
msgid "Message ID"
msgstr ""
-#: common/models.py:2091
+#: common/models.py:2103
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:2099
+#: common/models.py:2111
msgid "Host"
msgstr ""
-#: common/models.py:2100
+#: common/models.py:2112
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:2107
+#: common/models.py:2119
msgid "Header"
msgstr ""
-#: common/models.py:2108
+#: common/models.py:2120
msgid "Header of this message"
msgstr ""
-#: common/models.py:2114
+#: common/models.py:2126
msgid "Body"
msgstr ""
-#: common/models.py:2115
+#: common/models.py:2127
msgid "Body of this message"
msgstr ""
-#: common/models.py:2124
+#: common/models.py:2136
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:2129
+#: common/models.py:2141
msgid "Worked on"
msgstr ""
-#: common/models.py:2130
+#: common/models.py:2142
msgid "Was the work on this message finished?"
msgstr ""
+#: common/models.py:2302
+msgid "Id"
+msgstr ""
+
+#: common/models.py:2308 templates/js/translated/news.js:34
+msgid "Title"
+msgstr ""
+
+#: common/models.py:2318 templates/js/translated/news.js:50
+msgid "Published"
+msgstr ""
+
+#: common/models.py:2323 templates/InvenTree/settings/plugin.html:62
+#: templates/InvenTree/settings/plugin_settings.html:33
+#: templates/js/translated/news.js:46
+msgid "Author"
+msgstr ""
+
+#: common/models.py:2328 templates/js/translated/news.js:42
+msgid "Summary"
+msgstr ""
+
+#: common/models.py:2333
+msgid "Read"
+msgstr ""
+
+#: common/models.py:2334
+msgid "Was this news item read?"
+msgstr ""
+
#: common/notifications.py:293
#, python-brace-format
msgid "New {verbose_name}"
@@ -2785,15 +2838,15 @@ msgstr ""
msgid "Error raised by plugin"
msgstr ""
-#: common/views.py:85 order/templates/order/purchase_order_detail.html:23
-#: order/views.py:102 part/views.py:112
+#: common/views.py:85 order/templates/order/purchase_order_detail.html:25
+#: order/views.py:102 part/views.py:107
#: templates/patterns/wizard/upload.html:37
msgid "Upload File"
msgstr ""
#: common/views.py:86 order/views.py:103
#: part/templates/part/import_wizard/ajax_match_fields.html:45
-#: part/views.py:113 templates/patterns/wizard/match_fields.html:51
+#: part/views.py:108 templates/patterns/wizard/match_fields.html:51
msgid "Match Fields"
msgstr ""
@@ -2816,298 +2869,301 @@ msgstr ""
msgid "Previous Step"
msgstr ""
-#: company/models.py:99
+#: company/models.py:103
msgid "Company description"
msgstr ""
-#: company/models.py:100
+#: company/models.py:104
msgid "Description of the company"
msgstr ""
-#: company/models.py:106 company/templates/company/company_base.html:100
+#: company/models.py:110 company/templates/company/company_base.html:100
#: templates/InvenTree/settings/plugin_settings.html:55
-#: templates/js/translated/company.js:448
+#: templates/js/translated/company.js:449
msgid "Website"
msgstr ""
-#: company/models.py:107
+#: company/models.py:111
msgid "Company website URL"
msgstr ""
-#: company/models.py:111 company/templates/company/company_base.html:118
+#: company/models.py:115 company/templates/company/company_base.html:118
msgid "Address"
msgstr ""
-#: company/models.py:112
+#: company/models.py:116
msgid "Company address"
msgstr ""
-#: company/models.py:115
+#: company/models.py:119
msgid "Phone number"
msgstr ""
-#: company/models.py:116
+#: company/models.py:120
msgid "Contact phone number"
msgstr ""
-#: company/models.py:119 company/templates/company/company_base.html:132
+#: company/models.py:123 company/templates/company/company_base.html:132
#: templates/InvenTree/settings/user.html:48
msgid "Email"
msgstr ""
-#: company/models.py:119
+#: company/models.py:123
msgid "Contact email address"
msgstr ""
-#: company/models.py:122 company/templates/company/company_base.html:139
+#: company/models.py:126 company/templates/company/company_base.html:139
msgid "Contact"
msgstr ""
-#: company/models.py:123
+#: company/models.py:127
msgid "Point of contact"
msgstr ""
-#: company/models.py:125
+#: company/models.py:129
msgid "Link to external company information"
msgstr ""
-#: company/models.py:136 part/models.py:829
+#: company/models.py:140 part/models.py:848
msgid "Image"
msgstr ""
-#: company/models.py:139 company/templates/company/detail.html:185
+#: company/models.py:143 company/templates/company/detail.html:185
msgid "Company Notes"
msgstr ""
-#: company/models.py:141
+#: company/models.py:145
msgid "is customer"
msgstr ""
-#: company/models.py:141
+#: company/models.py:145
msgid "Do you sell items to this company?"
msgstr ""
-#: company/models.py:143
+#: company/models.py:147
msgid "is supplier"
msgstr ""
-#: company/models.py:143
+#: company/models.py:147
msgid "Do you purchase items from this company?"
msgstr ""
-#: company/models.py:145
+#: company/models.py:149
msgid "is manufacturer"
msgstr ""
-#: company/models.py:145
+#: company/models.py:149
msgid "Does this company manufacture parts?"
msgstr ""
-#: company/models.py:149 company/serializers.py:378
-#: company/templates/company/company_base.html:106 part/serializers.py:153
-#: part/serializers.py:184 stock/serializers.py:178
+#: company/models.py:153 company/serializers.py:399
+#: company/templates/company/company_base.html:106 part/models.py:2681
+#: part/serializers.py:153 part/serializers.py:181 stock/serializers.py:182
+#: templates/InvenTree/settings/pricing.html:59
msgid "Currency"
msgstr ""
-#: company/models.py:152
+#: company/models.py:156
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:249 company/models.py:483 stock/models.py:600
-#: stock/serializers.py:85 stock/templates/stock/item_base.html:143
-#: templates/js/translated/bom.js:568
+#: company/models.py:253 company/models.py:487 stock/models.py:616
+#: stock/serializers.py:89 stock/templates/stock/item_base.html:143
+#: templates/js/translated/bom.js:581
msgid "Base Part"
msgstr ""
-#: company/models.py:253 company/models.py:487
+#: company/models.py:257 company/models.py:491
msgid "Select part"
msgstr ""
-#: company/models.py:264 company/templates/company/company_base.html:76
+#: company/models.py:268 company/templates/company/company_base.html:76
#: company/templates/company/manufacturer_part.html:90
#: company/templates/company/supplier_part.html:152
#: stock/templates/stock/item_base.html:210
-#: templates/js/translated/company.js:432
-#: templates/js/translated/company.js:533
-#: templates/js/translated/company.js:668
-#: templates/js/translated/company.js:956 templates/js/translated/part.js:236
-#: templates/js/translated/table_filters.js:427
+#: templates/js/translated/company.js:433
+#: templates/js/translated/company.js:534
+#: templates/js/translated/company.js:669
+#: templates/js/translated/company.js:957 templates/js/translated/part.js:232
+#: templates/js/translated/table_filters.js:431
msgid "Manufacturer"
msgstr ""
-#: company/models.py:265 templates/js/translated/part.js:237
+#: company/models.py:269 templates/js/translated/part.js:233
msgid "Select manufacturer"
msgstr ""
-#: company/models.py:271 company/templates/company/manufacturer_part.html:101
+#: company/models.py:275 company/templates/company/manufacturer_part.html:101
#: company/templates/company/supplier_part.html:160
-#: templates/js/translated/company.js:304
-#: templates/js/translated/company.js:532
-#: templates/js/translated/company.js:684
-#: templates/js/translated/company.js:975 templates/js/translated/order.js:2239
-#: templates/js/translated/part.js:247 templates/js/translated/part.js:1025
+#: templates/js/translated/company.js:305
+#: templates/js/translated/company.js:533
+#: templates/js/translated/company.js:685
+#: templates/js/translated/company.js:976 templates/js/translated/order.js:2278
+#: templates/js/translated/part.js:243 templates/js/translated/part.js:1052
msgid "MPN"
msgstr ""
-#: company/models.py:272 templates/js/translated/part.js:248
+#: company/models.py:276 templates/js/translated/part.js:244
msgid "Manufacturer Part Number"
msgstr ""
-#: company/models.py:278
+#: company/models.py:282
msgid "URL for external manufacturer part link"
msgstr ""
-#: company/models.py:284
+#: company/models.py:288
msgid "Manufacturer part description"
msgstr ""
-#: company/models.py:329 company/models.py:353 company/models.py:506
+#: company/models.py:333 company/models.py:357 company/models.py:510
#: company/templates/company/manufacturer_part.html:7
#: company/templates/company/manufacturer_part.html:24
#: stock/templates/stock/item_base.html:220
msgid "Manufacturer Part"
msgstr ""
-#: company/models.py:360
+#: company/models.py:364
msgid "Parameter name"
msgstr ""
-#: company/models.py:366
+#: company/models.py:370
#: report/templates/report/inventree_test_report_base.html:95
-#: stock/models.py:2097 templates/js/translated/company.js:581
-#: templates/js/translated/company.js:799 templates/js/translated/part.js:847
-#: templates/js/translated/stock.js:1360
+#: stock/models.py:2113 templates/js/translated/company.js:582
+#: templates/js/translated/company.js:800 templates/js/translated/part.js:874
+#: templates/js/translated/stock.js:1379
msgid "Value"
msgstr ""
-#: company/models.py:367
+#: company/models.py:371
msgid "Parameter value"
msgstr ""
-#: company/models.py:373 part/models.py:902 part/models.py:2434
-#: part/templates/part/part_base.html:286
+#: company/models.py:377 part/admin.py:26 part/models.py:921
+#: part/models.py:3047 part/templates/part/part_base.html:286
#: templates/InvenTree/settings/settings.html:349
-#: templates/js/translated/company.js:805 templates/js/translated/part.js:853
+#: templates/js/translated/company.js:806 templates/js/translated/part.js:880
msgid "Units"
msgstr ""
-#: company/models.py:374
+#: company/models.py:378
msgid "Parameter units"
msgstr ""
-#: company/models.py:451
+#: company/models.py:455
msgid "Linked manufacturer part must reference the same base part"
msgstr ""
-#: company/models.py:493 company/templates/company/company_base.html:81
-#: company/templates/company/supplier_part.html:136 order/models.py:263
-#: order/templates/order/order_base.html:121 part/bom.py:237 part/bom.py:265
+#: company/models.py:497 company/templates/company/company_base.html:81
+#: company/templates/company/supplier_part.html:136 order/models.py:264
+#: order/templates/order/order_base.html:121 part/bom.py:252 part/bom.py:280
#: stock/templates/stock/item_base.html:227
#: templates/email/overdue_purchase_order.html:16
-#: templates/js/translated/company.js:303
-#: templates/js/translated/company.js:436
-#: templates/js/translated/company.js:929 templates/js/translated/order.js:1975
-#: templates/js/translated/part.js:217 templates/js/translated/part.js:993
-#: templates/js/translated/table_filters.js:431
+#: templates/js/translated/company.js:304
+#: templates/js/translated/company.js:437
+#: templates/js/translated/company.js:930 templates/js/translated/order.js:2009
+#: templates/js/translated/part.js:213 templates/js/translated/part.js:1020
+#: templates/js/translated/pricing.js:231
+#: templates/js/translated/table_filters.js:435
msgid "Supplier"
msgstr ""
-#: company/models.py:494 templates/js/translated/part.js:218
+#: company/models.py:498 templates/js/translated/part.js:214
msgid "Select supplier"
msgstr ""
-#: company/models.py:499 company/templates/company/supplier_part.html:146
-#: part/bom.py:238 part/bom.py:266 templates/js/translated/company.js:302
-#: templates/js/translated/order.js:2226 templates/js/translated/part.js:228
-#: templates/js/translated/part.js:1011
+#: company/models.py:503 company/templates/company/supplier_part.html:146
+#: part/bom.py:253 part/bom.py:281 templates/js/translated/company.js:303
+#: templates/js/translated/order.js:2265 templates/js/translated/part.js:224
+#: templates/js/translated/part.js:1038 templates/js/translated/pricing.js:243
msgid "SKU"
msgstr ""
-#: company/models.py:500 templates/js/translated/part.js:229
+#: company/models.py:504 templates/js/translated/part.js:225
msgid "Supplier stock keeping unit"
msgstr ""
-#: company/models.py:507
+#: company/models.py:511
msgid "Select manufacturer part"
msgstr ""
-#: company/models.py:513
+#: company/models.py:517
msgid "URL for external supplier part link"
msgstr ""
-#: company/models.py:519
+#: company/models.py:523
msgid "Supplier part description"
msgstr ""
-#: company/models.py:524 company/templates/company/supplier_part.html:181
-#: part/models.py:2687 part/templates/part/upload_bom.html:59
+#: company/models.py:528 company/templates/company/supplier_part.html:181
+#: part/admin.py:225 part/models.py:3300 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_po_report.html:92
-#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:403
+#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:397
msgid "Note"
msgstr ""
-#: company/models.py:528 part/models.py:1788
+#: company/models.py:532 part/models.py:1817
msgid "base cost"
msgstr ""
-#: company/models.py:528 part/models.py:1788
+#: company/models.py:532 part/models.py:1817
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
-#: company/models.py:530 company/templates/company/supplier_part.html:167
-#: stock/models.py:626 stock/templates/stock/item_base.html:243
-#: templates/js/translated/company.js:991 templates/js/translated/stock.js:1978
+#: company/models.py:534 company/templates/company/supplier_part.html:167
+#: stock/admin.py:101 stock/models.py:642
+#: stock/templates/stock/item_base.html:243
+#: templates/js/translated/company.js:992 templates/js/translated/stock.js:1996
msgid "Packaging"
msgstr ""
-#: company/models.py:530
+#: company/models.py:534
msgid "Part packaging"
msgstr ""
-#: company/models.py:533 company/serializers.py:242
+#: company/models.py:537 company/serializers.py:242
#: company/templates/company/supplier_part.html:174
-#: templates/js/translated/company.js:996 templates/js/translated/order.js:820
-#: templates/js/translated/order.js:1215 templates/js/translated/order.js:1470
-#: templates/js/translated/order.js:2270 templates/js/translated/order.js:2287
-#: templates/js/translated/part.js:1043 templates/js/translated/part.js:1095
+#: templates/js/translated/company.js:997 templates/js/translated/order.js:826
+#: templates/js/translated/order.js:1249 templates/js/translated/order.js:1504
+#: templates/js/translated/order.js:2309 templates/js/translated/order.js:2326
+#: templates/js/translated/part.js:1070 templates/js/translated/part.js:1122
msgid "Pack Quantity"
msgstr ""
-#: company/models.py:534
+#: company/models.py:538
msgid "Unit quantity supplied in a single pack"
msgstr ""
-#: company/models.py:540 part/models.py:1790
+#: company/models.py:544 part/models.py:1819
msgid "multiple"
msgstr ""
-#: company/models.py:540
+#: company/models.py:544
msgid "Order multiple"
msgstr ""
-#: company/models.py:548 company/templates/company/supplier_part.html:115
+#: company/models.py:552 company/templates/company/supplier_part.html:115
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:18
-#: templates/js/translated/bom.js:963 templates/js/translated/build.js:1873
-#: templates/js/translated/build.js:2754 templates/js/translated/part.js:598
-#: templates/js/translated/part.js:601
-#: templates/js/translated/table_filters.js:194
+#: templates/js/translated/bom.js:1117 templates/js/translated/build.js:1873
+#: templates/js/translated/build.js:2754 templates/js/translated/part.js:612
+#: templates/js/translated/part.js:615
+#: templates/js/translated/table_filters.js:198
msgid "Available"
msgstr ""
-#: company/models.py:549
+#: company/models.py:553
msgid "Quantity available from supplier"
msgstr ""
-#: company/models.py:553
+#: company/models.py:557
msgid "Availability Updated"
msgstr ""
-#: company/models.py:554
+#: company/models.py:558
msgid "Date of last update of availability data"
msgstr ""
-#: company/models.py:682
+#: company/models.py:686
msgid "last updated"
msgstr ""
@@ -3121,7 +3177,7 @@ msgstr ""
#: company/templates/company/company_base.html:8
#: company/templates/company/company_base.html:12
-#: templates/InvenTree/search.html:179 templates/js/translated/company.js:421
+#: templates/InvenTree/search.html:179 templates/js/translated/company.js:422
msgid "Company"
msgstr ""
@@ -3139,7 +3195,7 @@ msgid "Edit company information"
msgstr ""
#: company/templates/company/company_base.html:34
-#: templates/js/translated/company.js:364
+#: templates/js/translated/company.js:365
msgid "Edit Company"
msgstr ""
@@ -3162,14 +3218,14 @@ msgstr ""
msgid "Download image from URL"
msgstr ""
-#: company/templates/company/company_base.html:86 order/models.py:646
-#: order/templates/order/sales_order_base.html:116 stock/models.py:645
-#: stock/models.py:646 stock/serializers.py:813
+#: company/templates/company/company_base.html:86 order/models.py:665
+#: order/templates/order/sales_order_base.html:116 stock/models.py:661
+#: stock/models.py:662 stock/serializers.py:812
#: stock/templates/stock/item_base.html:399
#: templates/email/overdue_sales_order.html:16
-#: templates/js/translated/company.js:428 templates/js/translated/order.js:2808
-#: templates/js/translated/stock.js:2569
-#: templates/js/translated/table_filters.js:435
+#: templates/js/translated/company.js:429 templates/js/translated/order.js:2819
+#: templates/js/translated/stock.js:2587
+#: templates/js/translated/table_filters.js:439
msgid "Customer"
msgstr ""
@@ -3182,12 +3238,12 @@ msgid "Phone"
msgstr ""
#: company/templates/company/company_base.html:208
-#: part/templates/part/part_base.html:499
+#: part/templates/part/part_base.html:514
msgid "Upload Image"
msgstr ""
#: company/templates/company/company_base.html:223
-#: part/templates/part/part_base.html:554
+#: part/templates/part/part_base.html:569
msgid "Download Image"
msgstr ""
@@ -3203,7 +3259,7 @@ msgstr ""
#: company/templates/company/detail.html:19
#: company/templates/company/manufacturer_part.html:123
-#: part/templates/part/detail.html:359
+#: part/templates/part/detail.html:357
msgid "New Supplier Part"
msgstr ""
@@ -3232,7 +3288,7 @@ msgstr ""
msgid "Create new manufacturer part"
msgstr ""
-#: company/templates/company/detail.html:66 part/templates/part/detail.html:389
+#: company/templates/company/detail.html:66 part/templates/part/detail.html:387
msgid "New Manufacturer Part"
msgstr ""
@@ -3246,7 +3302,7 @@ msgstr ""
#: order/templates/order/order_base.html:13
#: order/templates/order/purchase_orders.html:8
#: order/templates/order/purchase_orders.html:12
-#: part/templates/part/detail.html:84 part/templates/part/part_sidebar.html:37
+#: part/templates/part/detail.html:84 part/templates/part/part_sidebar.html:35
#: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200
#: templates/InvenTree/settings/sidebar.html:49
#: templates/js/translated/search.js:293 templates/navbar.html:50
@@ -3269,7 +3325,7 @@ msgstr ""
#: order/templates/order/sales_order_base.html:13
#: order/templates/order/sales_orders.html:8
#: order/templates/order/sales_orders.html:15
-#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:41
+#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:39
#: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220
#: templates/InvenTree/settings/sidebar.html:51
#: templates/js/translated/search.js:317 templates/navbar.html:61
@@ -3297,8 +3353,7 @@ msgid "Supplier List"
msgstr ""
#: company/templates/company/manufacturer_part.html:15 company/views.py:38
-#: part/templates/part/prices.html:172 templates/InvenTree/search.html:181
-#: templates/navbar.html:49
+#: templates/InvenTree/search.html:181 templates/navbar.html:49
msgid "Manufacturers"
msgstr ""
@@ -3309,12 +3364,12 @@ msgid "Order part"
msgstr ""
#: company/templates/company/manufacturer_part.html:39
-#: templates/js/translated/company.js:716
+#: templates/js/translated/company.js:717
msgid "Edit manufacturer part"
msgstr ""
#: company/templates/company/manufacturer_part.html:43
-#: templates/js/translated/company.js:717
+#: templates/js/translated/company.js:718
msgid "Delete manufacturer part"
msgstr ""
@@ -3329,35 +3384,36 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:119
#: company/templates/company/supplier_part.html:15 company/views.py:32
-#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:168
+#: part/admin.py:46 part/templates/part/part_sidebar.html:33
#: templates/InvenTree/search.html:191 templates/navbar.html:48
msgid "Suppliers"
msgstr ""
#: company/templates/company/manufacturer_part.html:136
-#: part/templates/part/detail.html:370
+#: part/templates/part/detail.html:368
msgid "Delete supplier parts"
msgstr ""
#: company/templates/company/manufacturer_part.html:136
#: company/templates/company/manufacturer_part.html:183
-#: part/templates/part/detail.html:371 part/templates/part/detail.html:401
-#: templates/js/translated/forms.js:455 templates/js/translated/helpers.js:36
-#: users/models.py:222
+#: part/templates/part/detail.html:369 part/templates/part/detail.html:399
+#: templates/js/translated/forms.js:455 templates/js/translated/helpers.js:38
+#: templates/js/translated/part.js:340 templates/js/translated/stock.js:184
+#: users/models.py:224
msgid "Delete"
msgstr ""
#: company/templates/company/manufacturer_part.html:166
#: company/templates/company/manufacturer_part_sidebar.html:5
#: part/templates/part/category_sidebar.html:19
-#: part/templates/part/detail.html:186 part/templates/part/part_sidebar.html:8
+#: part/templates/part/detail.html:184 part/templates/part/part_sidebar.html:8
msgid "Parameters"
msgstr ""
#: company/templates/company/manufacturer_part.html:170
-#: part/templates/part/detail.html:191
+#: part/templates/part/detail.html:189
#: templates/InvenTree/settings/category.html:12
-#: templates/InvenTree/settings/part.html:68
+#: templates/InvenTree/settings/part.html:62
msgid "New Parameter"
msgstr ""
@@ -3366,7 +3422,7 @@ msgid "Delete parameters"
msgstr ""
#: company/templates/company/manufacturer_part.html:245
-#: part/templates/part/detail.html:827
+#: part/templates/part/detail.html:825
msgid "Add Parameter"
msgstr ""
@@ -3387,10 +3443,10 @@ msgid "Assigned Stock Items"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:609
+#: company/templates/company/supplier_part.html:24 stock/models.py:625
#: stock/templates/stock/item_base.html:236
-#: templates/js/translated/company.js:945 templates/js/translated/order.js:1135
-#: templates/js/translated/stock.js:1935
+#: templates/js/translated/company.js:946 templates/js/translated/order.js:1169
+#: templates/js/translated/stock.js:1954
msgid "Supplier Part"
msgstr ""
@@ -3441,13 +3497,13 @@ msgstr ""
#: company/templates/company/supplier_part.html:64
#: company/templates/company/supplier_part.html:65
-#: templates/js/translated/company.js:247
+#: templates/js/translated/company.js:248
msgid "Edit Supplier Part"
msgstr ""
#: company/templates/company/supplier_part.html:69
#: company/templates/company/supplier_part.html:70
-#: templates/js/translated/company.js:222
+#: templates/js/translated/company.js:223
msgid "Duplicate Supplier Part"
msgstr ""
@@ -3482,7 +3538,7 @@ msgstr ""
#: company/templates/company/supplier_part.html:204
#: part/templates/part/detail.html:25 stock/templates/stock/location.html:198
-#: templates/js/translated/stock.js:435
+#: templates/js/translated/stock.js:454
msgid "New Stock Item"
msgstr ""
@@ -3492,47 +3548,20 @@ msgid "Supplier Part Orders"
msgstr ""
#: company/templates/company/supplier_part.html:242
-#: part/templates/part/prices.html:10
msgid "Pricing Information"
msgstr ""
#: company/templates/company/supplier_part.html:247
-#: company/templates/company/supplier_part.html:388
-#: part/templates/part/prices.html:276 templates/js/translated/part.js:2297
+#: company/templates/company/supplier_part.html:317
+#: templates/js/translated/pricing.js:413
msgid "Add Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:282
+#: company/templates/company/supplier_part.html:285
msgid "Link Barcode to Supplier Part"
msgstr ""
-#: company/templates/company/supplier_part.html:300
-msgid "No price break information found"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:314
-#: templates/js/translated/part.js:2307
-msgid "Delete Price Break"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:328
-#: templates/js/translated/part.js:2321
-msgid "Edit Price Break"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:353
-msgid "Edit price break"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:354
-msgid "Delete price break"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:363
-msgid "Last updated"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:444
+#: company/templates/company/supplier_part.html:375
msgid "Update Part Availability"
msgstr ""
@@ -3542,9 +3571,9 @@ msgstr ""
#: stock/templates/stock/stock_app_base.html:10
#: templates/InvenTree/search.html:153
#: templates/InvenTree/settings/sidebar.html:45
-#: templates/js/translated/part.js:749 templates/js/translated/part.js:1335
-#: templates/js/translated/part.js:1501 templates/js/translated/stock.js:959
-#: templates/js/translated/stock.js:1760 templates/navbar.html:31
+#: templates/js/translated/part.js:763 templates/js/translated/part.js:1356
+#: templates/js/translated/part.js:1512 templates/js/translated/stock.js:978
+#: templates/js/translated/stock.js:1779 templates/navbar.html:31
msgid "Stock"
msgstr ""
@@ -3558,19 +3587,20 @@ msgid "Supplier Part Pricing"
msgstr ""
#: company/templates/company/supplier_part_navbar.html:29
-#: part/templates/part/part_sidebar.html:31
+#: part/templates/part/part_sidebar.html:30
+#: templates/InvenTree/settings/sidebar.html:35
msgid "Pricing"
msgstr ""
#: company/templates/company/supplier_part_sidebar.html:5
#: part/templates/part/category.html:198
-#: part/templates/part/category_sidebar.html:17
+#: part/templates/part/category_sidebar.html:17 stock/admin.py:31
#: stock/templates/stock/location.html:168
#: stock/templates/stock/location.html:182
#: stock/templates/stock/location.html:194
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:155 templates/js/translated/search.js:225
-#: templates/js/translated/stock.js:2446 users/models.py:40
+#: templates/js/translated/stock.js:2464 users/models.py:40
msgid "Stock Items"
msgstr ""
@@ -3672,438 +3702,439 @@ msgstr ""
msgid "No matching purchase order found"
msgstr ""
-#: order/models.py:82
+#: order/models.py:83
msgid "Order description"
msgstr ""
-#: order/models.py:84 order/models.py:1260
+#: order/models.py:85 order/models.py:1283
msgid "Link to external page"
msgstr ""
-#: order/models.py:92
+#: order/models.py:93
msgid "Created By"
msgstr ""
-#: order/models.py:99
+#: order/models.py:100
msgid "User or group responsible for this order"
msgstr ""
-#: order/models.py:104
+#: order/models.py:105
msgid "Order notes"
msgstr ""
-#: order/models.py:241 order/models.py:633
+#: order/models.py:242 order/models.py:652
msgid "Order reference"
msgstr ""
-#: order/models.py:249 order/models.py:651
+#: order/models.py:250 order/models.py:670
msgid "Purchase order status"
msgstr ""
-#: order/models.py:264
+#: order/models.py:265
msgid "Company from which the items are being ordered"
msgstr ""
-#: order/models.py:267 order/templates/order/order_base.html:133
-#: templates/js/translated/order.js:1984
+#: order/models.py:268 order/templates/order/order_base.html:133
+#: templates/js/translated/order.js:2018
msgid "Supplier Reference"
msgstr ""
-#: order/models.py:267
+#: order/models.py:268
msgid "Supplier order reference code"
msgstr ""
-#: order/models.py:274
+#: order/models.py:275
msgid "received by"
msgstr ""
-#: order/models.py:279
+#: order/models.py:280
msgid "Issue Date"
msgstr ""
-#: order/models.py:280
+#: order/models.py:281
msgid "Date order was issued"
msgstr ""
-#: order/models.py:285
+#: order/models.py:286
msgid "Target Delivery Date"
msgstr ""
-#: order/models.py:286
+#: order/models.py:287
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr ""
-#: order/models.py:292
+#: order/models.py:293
msgid "Date order was completed"
msgstr ""
-#: order/models.py:328
+#: order/models.py:332
msgid "Part supplier must match PO supplier"
msgstr ""
-#: order/models.py:472
+#: order/models.py:491
msgid "Quantity must be a positive number"
msgstr ""
-#: order/models.py:647
+#: order/models.py:666
msgid "Company to which the items are being sold"
msgstr ""
-#: order/models.py:658
+#: order/models.py:677
msgid "Customer Reference "
msgstr ""
-#: order/models.py:658
+#: order/models.py:677
msgid "Customer order reference code"
msgstr ""
-#: order/models.py:663
+#: order/models.py:682
msgid "Target date for order completion. Order will be overdue after this date."
msgstr ""
-#: order/models.py:666 order/models.py:1218
-#: templates/js/translated/order.js:2855 templates/js/translated/order.js:3017
+#: order/models.py:685 order/models.py:1241
+#: templates/js/translated/order.js:2866 templates/js/translated/order.js:3028
msgid "Shipment Date"
msgstr ""
-#: order/models.py:673
+#: order/models.py:692
msgid "shipped by"
msgstr ""
-#: order/models.py:728
+#: order/models.py:747
msgid "Order cannot be completed as no parts have been assigned"
msgstr ""
-#: order/models.py:732
+#: order/models.py:751
msgid "Only a pending order can be marked as complete"
msgstr ""
-#: order/models.py:735 templates/js/translated/order.js:419
+#: order/models.py:754 templates/js/translated/order.js:419
msgid "Order cannot be completed as there are incomplete shipments"
msgstr ""
-#: order/models.py:738
+#: order/models.py:757
msgid "Order cannot be completed as there are incomplete line items"
msgstr ""
-#: order/models.py:912
+#: order/models.py:935
msgid "Item quantity"
msgstr ""
-#: order/models.py:918
+#: order/models.py:941
msgid "Line item reference"
msgstr ""
-#: order/models.py:920
+#: order/models.py:943
msgid "Line item notes"
msgstr ""
-#: order/models.py:925
+#: order/models.py:948
msgid "Target shipping date for this line item"
msgstr ""
-#: order/models.py:943
+#: order/models.py:966
msgid "Context"
msgstr ""
-#: order/models.py:944
+#: order/models.py:967
msgid "Additional context for this line"
msgstr ""
-#: order/models.py:953
+#: order/models.py:976
msgid "Unit price"
msgstr ""
-#: order/models.py:983
+#: order/models.py:1006
msgid "Supplier part must match supplier"
msgstr ""
-#: order/models.py:991
+#: order/models.py:1014
msgid "deleted"
msgstr ""
-#: order/models.py:997 order/models.py:1077 order/models.py:1118
-#: order/models.py:1212 order/models.py:1344
-#: templates/js/translated/order.js:3473
+#: order/models.py:1020 order/models.py:1100 order/models.py:1141
+#: order/models.py:1235 order/models.py:1367
+#: templates/js/translated/order.js:3484
msgid "Order"
msgstr ""
-#: order/models.py:998 order/models.py:1077
+#: order/models.py:1021 order/models.py:1100
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report.html:76
#: stock/templates/stock/item_base.html:182
#: templates/email/overdue_purchase_order.html:15
-#: templates/js/translated/order.js:619 templates/js/translated/order.js:1136
-#: templates/js/translated/order.js:1959 templates/js/translated/part.js:970
-#: templates/js/translated/stock.js:1915 templates/js/translated/stock.js:2550
+#: templates/js/translated/order.js:619 templates/js/translated/order.js:1170
+#: templates/js/translated/order.js:1993 templates/js/translated/part.js:997
+#: templates/js/translated/pricing.js:515 templates/js/translated/stock.js:1934
+#: templates/js/translated/stock.js:2568
msgid "Purchase Order"
msgstr ""
-#: order/models.py:1016
+#: order/models.py:1039
msgid "Supplier part"
msgstr ""
-#: order/models.py:1023 order/templates/order/order_base.html:178
-#: templates/js/translated/order.js:1641 templates/js/translated/order.js:2373
-#: templates/js/translated/part.js:1087 templates/js/translated/part.js:1125
-#: templates/js/translated/table_filters.js:346
+#: order/models.py:1046 order/templates/order/order_base.html:178
+#: templates/js/translated/order.js:1675 templates/js/translated/order.js:2396
+#: templates/js/translated/part.js:1114 templates/js/translated/part.js:1146
+#: templates/js/translated/table_filters.js:350
msgid "Received"
msgstr ""
-#: order/models.py:1024
+#: order/models.py:1047
msgid "Number of items received"
msgstr ""
-#: order/models.py:1031 part/templates/part/prices.html:181 stock/models.py:741
-#: stock/serializers.py:169 stock/templates/stock/item_base.html:189
-#: templates/js/translated/stock.js:1966
+#: order/models.py:1054 stock/models.py:757 stock/serializers.py:173
+#: stock/templates/stock/item_base.html:189
+#: templates/js/translated/stock.js:1985
msgid "Purchase Price"
msgstr ""
-#: order/models.py:1032
+#: order/models.py:1055
msgid "Unit purchase price"
msgstr ""
-#: order/models.py:1040
+#: order/models.py:1063
msgid "Where does the Purchaser want this item to be stored?"
msgstr ""
-#: order/models.py:1106
+#: order/models.py:1129
msgid "Virtual part cannot be assigned to a sales order"
msgstr ""
-#: order/models.py:1111
+#: order/models.py:1134
msgid "Only salable parts can be assigned to a sales order"
msgstr ""
-#: order/models.py:1137 part/templates/part/part_pricing.html:115
-#: part/templates/part/prices.html:121 part/templates/part/prices.html:290
+#: order/models.py:1160 part/templates/part/part_pricing.html:107
+#: part/templates/part/prices.html:139 templates/js/translated/pricing.js:665
msgid "Sale Price"
msgstr ""
-#: order/models.py:1138
+#: order/models.py:1161
msgid "Unit sale price"
msgstr ""
-#: order/models.py:1143
+#: order/models.py:1166
msgid "Shipped quantity"
msgstr ""
-#: order/models.py:1219
+#: order/models.py:1242
msgid "Date of shipment"
msgstr ""
-#: order/models.py:1226
+#: order/models.py:1249
msgid "Checked By"
msgstr ""
-#: order/models.py:1227
+#: order/models.py:1250
msgid "User who checked this shipment"
msgstr ""
-#: order/models.py:1234 order/models.py:1419 order/serializers.py:1228
-#: order/serializers.py:1356 templates/js/translated/model_renderers.js:314
+#: order/models.py:1257 order/models.py:1442 order/serializers.py:1221
+#: order/serializers.py:1349 templates/js/translated/model_renderers.js:314
msgid "Shipment"
msgstr ""
-#: order/models.py:1235
+#: order/models.py:1258
msgid "Shipment number"
msgstr ""
-#: order/models.py:1239
+#: order/models.py:1262
msgid "Shipment notes"
msgstr ""
-#: order/models.py:1245
+#: order/models.py:1268
msgid "Tracking Number"
msgstr ""
-#: order/models.py:1246
+#: order/models.py:1269
msgid "Shipment tracking information"
msgstr ""
-#: order/models.py:1253
+#: order/models.py:1276
msgid "Invoice Number"
msgstr ""
-#: order/models.py:1254
+#: order/models.py:1277
msgid "Reference number for associated invoice"
msgstr ""
-#: order/models.py:1272
+#: order/models.py:1295
msgid "Shipment has already been sent"
msgstr ""
-#: order/models.py:1275
+#: order/models.py:1298
msgid "Shipment has no allocated stock items"
msgstr ""
-#: order/models.py:1378 order/models.py:1380
+#: order/models.py:1401 order/models.py:1403
msgid "Stock item has not been assigned"
msgstr ""
-#: order/models.py:1384
+#: order/models.py:1407
msgid "Cannot allocate stock item to a line with a different part"
msgstr ""
-#: order/models.py:1386
+#: order/models.py:1409
msgid "Cannot allocate stock to a line without a part"
msgstr ""
-#: order/models.py:1389
+#: order/models.py:1412
msgid "Allocation quantity cannot exceed stock quantity"
msgstr ""
-#: order/models.py:1399 order/serializers.py:1090
+#: order/models.py:1422 order/serializers.py:1083
msgid "Quantity must be 1 for serialized stock item"
msgstr ""
-#: order/models.py:1402
+#: order/models.py:1425
msgid "Sales order does not match shipment"
msgstr ""
-#: order/models.py:1403
+#: order/models.py:1426
msgid "Shipment does not match sales order"
msgstr ""
-#: order/models.py:1411
+#: order/models.py:1434
msgid "Line"
msgstr ""
-#: order/models.py:1420
+#: order/models.py:1443
msgid "Sales order shipment reference"
msgstr ""
-#: order/models.py:1433 templates/js/translated/notification.js:55
+#: order/models.py:1456 templates/js/translated/notification.js:55
msgid "Item"
msgstr ""
-#: order/models.py:1434
+#: order/models.py:1457
msgid "Select stock item to allocate"
msgstr ""
-#: order/models.py:1437
+#: order/models.py:1460
msgid "Enter stock allocation quantity"
msgstr ""
-#: order/serializers.py:67
+#: order/serializers.py:63
msgid "Price currency"
msgstr ""
-#: order/serializers.py:199
+#: order/serializers.py:193
msgid "Order cannot be cancelled"
msgstr ""
-#: order/serializers.py:209 order/serializers.py:1108
+#: order/serializers.py:203 order/serializers.py:1101
msgid "Allow order to be closed with incomplete line items"
msgstr ""
-#: order/serializers.py:220 order/serializers.py:1119
+#: order/serializers.py:214 order/serializers.py:1112
msgid "Order has incomplete line items"
msgstr ""
-#: order/serializers.py:311
+#: order/serializers.py:305
msgid "Order is not open"
msgstr ""
-#: order/serializers.py:335
+#: order/serializers.py:327
msgid "Purchase price currency"
msgstr ""
-#: order/serializers.py:354
+#: order/serializers.py:346
msgid "Supplier part must be specified"
msgstr ""
-#: order/serializers.py:359
+#: order/serializers.py:351
msgid "Purchase order must be specified"
msgstr ""
-#: order/serializers.py:365
+#: order/serializers.py:357
msgid "Supplier must match purchase order"
msgstr ""
-#: order/serializers.py:366
+#: order/serializers.py:358
msgid "Purchase order must match supplier"
msgstr ""
-#: order/serializers.py:430 order/serializers.py:1196
+#: order/serializers.py:421 order/serializers.py:1189
msgid "Line Item"
msgstr ""
-#: order/serializers.py:436
+#: order/serializers.py:427
msgid "Line item does not match purchase order"
msgstr ""
-#: order/serializers.py:446 order/serializers.py:557
+#: order/serializers.py:437 order/serializers.py:548
msgid "Select destination location for received items"
msgstr ""
-#: order/serializers.py:465 templates/js/translated/order.js:1497
+#: order/serializers.py:456 templates/js/translated/order.js:1531
msgid "Enter batch code for incoming stock items"
msgstr ""
-#: order/serializers.py:473 templates/js/translated/order.js:1508
+#: order/serializers.py:464 templates/js/translated/order.js:1542
msgid "Enter serial numbers for incoming stock items"
msgstr ""
-#: order/serializers.py:487
+#: order/serializers.py:478
msgid "Unique identifier field"
msgstr ""
-#: order/serializers.py:501
+#: order/serializers.py:492
msgid "Barcode is already in use"
msgstr ""
-#: order/serializers.py:527
+#: order/serializers.py:518
msgid "An integer quantity must be provided for trackable parts"
msgstr ""
-#: order/serializers.py:573
+#: order/serializers.py:564
msgid "Line items must be provided"
msgstr ""
-#: order/serializers.py:590
+#: order/serializers.py:581
msgid "Destination location must be specified"
msgstr ""
-#: order/serializers.py:601
+#: order/serializers.py:592
msgid "Supplied barcode values must be unique"
msgstr ""
-#: order/serializers.py:907
+#: order/serializers.py:900
msgid "Sale price currency"
msgstr ""
-#: order/serializers.py:988
+#: order/serializers.py:981
msgid "No shipment details provided"
msgstr ""
-#: order/serializers.py:1051 order/serializers.py:1205
+#: order/serializers.py:1044 order/serializers.py:1198
msgid "Line item is not associated with this order"
msgstr ""
-#: order/serializers.py:1073
+#: order/serializers.py:1066
msgid "Quantity must be positive"
msgstr ""
-#: order/serializers.py:1218
+#: order/serializers.py:1211
msgid "Enter serial numbers to allocate"
msgstr ""
-#: order/serializers.py:1240 order/serializers.py:1364
+#: order/serializers.py:1233 order/serializers.py:1357
msgid "Shipment has already been shipped"
msgstr ""
-#: order/serializers.py:1243 order/serializers.py:1367
+#: order/serializers.py:1236 order/serializers.py:1360
msgid "Shipment is not associated with this order"
msgstr ""
-#: order/serializers.py:1297
+#: order/serializers.py:1290
msgid "No match found for the following serial numbers"
msgstr ""
-#: order/serializers.py:1307
+#: order/serializers.py:1300
msgid "The following serial numbers are already allocated"
msgstr ""
@@ -4154,7 +4185,8 @@ msgid "Duplicate order"
msgstr ""
#: order/templates/order/order_base.html:61
-msgid "Place order"
+#: order/templates/order/order_base.html:62
+msgid "Submit Order"
msgstr ""
#: order/templates/order/order_base.html:65
@@ -4162,7 +4194,7 @@ msgid "Receive items"
msgstr ""
#: order/templates/order/order_base.html:67
-#: order/templates/order/purchase_order_detail.html:30
+#: order/templates/order/purchase_order_detail.html:32
msgid "Receive Items"
msgstr ""
@@ -4248,9 +4280,9 @@ msgstr ""
#: part/templates/part/import_wizard/match_references.html:49
#: templates/js/translated/bom.js:102 templates/js/translated/build.js:479
#: templates/js/translated/build.js:631 templates/js/translated/build.js:2078
-#: templates/js/translated/order.js:1084 templates/js/translated/order.js:1586
-#: templates/js/translated/order.js:3092 templates/js/translated/stock.js:625
-#: templates/js/translated/stock.js:793
+#: templates/js/translated/order.js:1118 templates/js/translated/order.js:1620
+#: templates/js/translated/order.js:3103 templates/js/translated/stock.js:644
+#: templates/js/translated/stock.js:812
#: templates/patterns/wizard/match_fields.html:70
msgid "Remove row"
msgstr ""
@@ -4278,42 +4310,42 @@ msgstr ""
msgid "Received Stock"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:17
+#: order/templates/order/purchase_order_detail.html:19
msgid "Purchase Order Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:26
-#: order/templates/order/sales_order_detail.html:22
-#: order/templates/order/sales_order_detail.html:255
+#: order/templates/order/purchase_order_detail.html:28
+#: order/templates/order/sales_order_detail.html:24
+#: order/templates/order/sales_order_detail.html:260
#: templates/js/translated/order.js:728
msgid "Add Line Item"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:29
+#: order/templates/order/purchase_order_detail.html:31
msgid "Receive selected items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:48
-#: order/templates/order/sales_order_detail.html:42
+#: order/templates/order/purchase_order_detail.html:50
+#: order/templates/order/sales_order_detail.html:45
msgid "Extra Lines"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:53
-#: order/templates/order/sales_order_detail.html:47
-#: order/templates/order/sales_order_detail.html:280
+#: order/templates/order/purchase_order_detail.html:56
+#: order/templates/order/sales_order_detail.html:51
+#: order/templates/order/sales_order_detail.html:291
msgid "Add Extra Line"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:72
+#: order/templates/order/purchase_order_detail.html:76
msgid "Received Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:97
-#: order/templates/order/sales_order_detail.html:150
+#: order/templates/order/purchase_order_detail.html:101
+#: order/templates/order/sales_order_detail.html:155
msgid "Order Notes"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:232
+#: order/templates/order/purchase_order_detail.html:239
msgid "Add Order Line"
msgstr ""
@@ -4345,12 +4377,12 @@ msgid "This Sales Order has not been fully allocated"
msgstr ""
#: order/templates/order/sales_order_base.html:123
-#: templates/js/translated/order.js:2821
+#: templates/js/translated/order.js:2832
msgid "Customer Reference"
msgstr ""
#: order/templates/order/sales_order_base.html:141
-#: order/templates/order/sales_order_detail.html:104
+#: order/templates/order/sales_order_detail.html:109
#: order/templates/order/so_sidebar.html:11
msgid "Completed Shipments"
msgstr ""
@@ -4359,22 +4391,22 @@ msgstr ""
msgid "Edit Sales Order"
msgstr ""
-#: order/templates/order/sales_order_detail.html:17
+#: order/templates/order/sales_order_detail.html:18
msgid "Sales Order Items"
msgstr ""
-#: order/templates/order/sales_order_detail.html:68
+#: order/templates/order/sales_order_detail.html:73
#: order/templates/order/so_sidebar.html:8
msgid "Pending Shipments"
msgstr ""
-#: order/templates/order/sales_order_detail.html:72
-#: templates/attachment_table.html:6 templates/js/translated/bom.js:1158
+#: order/templates/order/sales_order_detail.html:77
+#: templates/attachment_table.html:6 templates/js/translated/bom.js:1223
#: templates/js/translated/build.js:1979
msgid "Actions"
msgstr ""
-#: order/templates/order/sales_order_detail.html:81
+#: order/templates/order/sales_order_detail.html:86
msgid "New Shipment"
msgstr ""
@@ -4400,617 +4432,844 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/api.py:516
+#: part/admin.py:19 part/admin.py:219 part/models.py:3181 stock/admin.py:84
+#: templates/js/translated/model_renderers.js:212
+msgid "Part ID"
+msgstr ""
+
+#: part/admin.py:20 part/admin.py:221 part/models.py:3185 stock/admin.py:85
+msgid "Part Name"
+msgstr ""
+
+#: part/admin.py:21
+msgid "Part Description"
+msgstr ""
+
+#: part/admin.py:22 part/models.py:822 part/templates/part/part_base.html:272
+#: templates/js/translated/part.js:751 templates/js/translated/part.js:1469
+#: templates/js/translated/stock.js:1745
+msgid "IPN"
+msgstr ""
+
+#: part/admin.py:23 part/models.py:830 part/templates/part/part_base.html:279
+#: report/models.py:171 templates/js/translated/part.js:755
+msgid "Revision"
+msgstr ""
+
+#: part/admin.py:24 part/admin.py:145 part/models.py:808
+#: part/templates/part/category.html:87 part/templates/part/part_base.html:300
+msgid "Keywords"
+msgstr ""
+
+#: part/admin.py:28 part/admin.py:139
+#: templates/js/translated/model_renderers.js:338
+msgid "Category ID"
+msgstr ""
+
+#: part/admin.py:29 part/admin.py:140
+msgid "Category Name"
+msgstr ""
+
+#: part/admin.py:30 part/admin.py:144
+msgid "Default Location ID"
+msgstr ""
+
+#: part/admin.py:31
+msgid "Default Supplier ID"
+msgstr ""
+
+#: part/admin.py:33 part/models.py:914 part/templates/part/part_base.html:206
+msgid "Minimum Stock"
+msgstr ""
+
+#: part/admin.py:47 part/templates/part/part_base.html:200
+#: templates/js/translated/company.js:1028
+#: templates/js/translated/table_filters.js:213
+msgid "In Stock"
+msgstr ""
+
+#: part/admin.py:48 part/bom.py:145 part/templates/part/part_base.html:213
+#: templates/js/translated/bom.js:1155 templates/js/translated/build.js:1925
+#: templates/js/translated/part.js:602 templates/js/translated/part.js:622
+#: templates/js/translated/part.js:1359 templates/js/translated/part.js:1537
+#: templates/js/translated/table_filters.js:68
+msgid "On Order"
+msgstr ""
+
+#: part/admin.py:49 part/templates/part/part_sidebar.html:27
+msgid "Used In"
+msgstr ""
+
+#: part/admin.py:50 templates/js/translated/build.js:1937
+#: templates/js/translated/build.js:2195 templates/js/translated/build.js:2761
+#: templates/js/translated/order.js:3943
+msgid "Allocated"
+msgstr ""
+
+#: part/admin.py:51 part/templates/part/part_base.html:244
+#: templates/js/translated/part.js:605 templates/js/translated/part.js:625
+#: templates/js/translated/part.js:1363 templates/js/translated/part.js:1544
+msgid "Building"
+msgstr ""
+
+#: part/admin.py:52 part/models.py:2765
+msgid "Minimum Cost"
+msgstr ""
+
+#: part/admin.py:53 part/models.py:2771
+msgid "Maximum Cost"
+msgstr ""
+
+#: part/admin.py:142 part/admin.py:216 stock/admin.py:26 stock/admin.py:98
+msgid "Parent ID"
+msgstr ""
+
+#: part/admin.py:143 part/admin.py:218 stock/admin.py:27
+msgid "Parent Name"
+msgstr ""
+
+#: part/admin.py:146 part/templates/part/category.html:81
+#: part/templates/part/category.html:94
+msgid "Category Path"
+msgstr ""
+
+#: part/admin.py:149 part/models.py:363 part/templates/part/cat_link.html:3
+#: part/templates/part/category.html:23 part/templates/part/category.html:134
+#: part/templates/part/category.html:154
+#: part/templates/part/category_sidebar.html:9
+#: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84
+#: templates/InvenTree/settings/sidebar.html:41
+#: templates/js/translated/part.js:2043 templates/js/translated/search.js:146
+#: templates/navbar.html:24 users/models.py:38
+msgid "Parts"
+msgstr ""
+
+#: part/admin.py:211
+msgid "BOM Level"
+msgstr ""
+
+#: part/admin.py:213
+msgid "BOM Item ID"
+msgstr ""
+
+#: part/admin.py:217
+msgid "Parent IPN"
+msgstr ""
+
+#: part/admin.py:220 part/models.py:3189
+msgid "Part IPN"
+msgstr ""
+
+#: part/admin.py:226 templates/js/translated/pricing.js:91
+#: templates/js/translated/pricing.js:727
+msgid "Minimum Price"
+msgstr ""
+
+#: part/admin.py:227 templates/js/translated/pricing.js:86
+#: templates/js/translated/pricing.js:735
+msgid "Maximum Price"
+msgstr ""
+
+#: part/api.py:532
msgid "Incoming Purchase Order"
msgstr ""
-#: part/api.py:536
+#: part/api.py:552
msgid "Outgoing Sales Order"
msgstr ""
-#: part/api.py:554
+#: part/api.py:570
msgid "Stock produced by Build Order"
msgstr ""
-#: part/api.py:640
+#: part/api.py:656
msgid "Stock required for Build Order"
msgstr ""
-#: part/api.py:777
+#: part/api.py:814
msgid "Valid"
msgstr ""
-#: part/api.py:778
+#: part/api.py:815
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/api.py:784
+#: part/api.py:821
msgid "This option must be selected"
msgstr ""
-#: part/api.py:1207
+#: part/api.py:1261
msgid "Must be greater than zero"
msgstr ""
-#: part/api.py:1211
+#: part/api.py:1265
msgid "Must be a valid quantity"
msgstr ""
-#: part/api.py:1226
+#: part/api.py:1280
msgid "Specify location for initial part stock"
msgstr ""
-#: part/api.py:1257 part/api.py:1261 part/api.py:1276 part/api.py:1280
+#: part/api.py:1311 part/api.py:1315 part/api.py:1330 part/api.py:1334
msgid "This field is required"
msgstr ""
-#: part/bom.py:127 part/models.py:98 part/models.py:838
-#: part/templates/part/category.html:109 part/templates/part/part_base.html:345
+#: part/bom.py:142 part/models.py:116 part/models.py:857
+#: part/templates/part/category.html:109 part/templates/part/part_base.html:360
msgid "Default Location"
msgstr ""
-#: part/bom.py:128 templates/email/low_stock_notification.html:17
+#: part/bom.py:143 templates/email/low_stock_notification.html:17
msgid "Total Stock"
msgstr ""
-#: part/bom.py:129 part/templates/part/part_base.html:195
-#: templates/js/translated/order.js:3913
+#: part/bom.py:144 part/templates/part/part_base.html:195
+#: templates/js/translated/order.js:3910
msgid "Available Stock"
msgstr ""
-#: part/bom.py:130 part/templates/part/part_base.html:213
-#: templates/js/translated/bom.js:1001 templates/js/translated/build.js:1925
-#: templates/js/translated/part.js:588 templates/js/translated/part.js:608
-#: templates/js/translated/part.js:1338 templates/js/translated/part.js:1526
-#: templates/js/translated/table_filters.js:68
-msgid "On Order"
-msgstr ""
-
#: part/forms.py:41
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:99
+#: part/models.py:117
msgid "Default location for parts in this category"
msgstr ""
-#: part/models.py:102
+#: part/models.py:120
msgid "Default keywords"
msgstr ""
-#: part/models.py:102
+#: part/models.py:120
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:107 stock/models.py:85
+#: part/models.py:125 stock/models.py:101
msgid "Icon"
msgstr ""
-#: part/models.py:108 stock/models.py:86
+#: part/models.py:126 stock/models.py:102
msgid "Icon (optional)"
msgstr ""
-#: part/models.py:122 part/models.py:2517 part/templates/part/category.html:16
+#: part/models.py:140 part/models.py:3130 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
-#: part/models.py:123 part/templates/part/category.html:129
+#: part/models.py:141 part/templates/part/category.html:129
#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200
#: users/models.py:37
msgid "Part Categories"
msgstr ""
-#: part/models.py:344 part/templates/part/cat_link.html:3
-#: part/templates/part/category.html:23 part/templates/part/category.html:134
-#: part/templates/part/category.html:154
-#: part/templates/part/category_sidebar.html:9
-#: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84
-#: templates/InvenTree/settings/sidebar.html:41
-#: templates/js/translated/part.js:2019 templates/js/translated/search.js:146
-#: templates/navbar.html:24 users/models.py:38
-msgid "Parts"
-msgstr ""
-
-#: part/models.py:429
+#: part/models.py:448
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:499 part/models.py:511
+#: part/models.py:518 part/models.py:530
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:601
+#: part/models.py:620
msgid "Stock item with this serial number already exists"
msgstr ""
-#: part/models.py:732
+#: part/models.py:751
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:759 part/models.py:2573
+#: part/models.py:778 part/models.py:3186
msgid "Part name"
msgstr ""
-#: part/models.py:766
+#: part/models.py:785
msgid "Is Template"
msgstr ""
-#: part/models.py:767
+#: part/models.py:786
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:777
+#: part/models.py:796
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:778
+#: part/models.py:797
msgid "Variant Of"
msgstr ""
-#: part/models.py:784
+#: part/models.py:803
msgid "Part description"
msgstr ""
-#: part/models.py:789 part/templates/part/category.html:87
-#: part/templates/part/part_base.html:300
-msgid "Keywords"
-msgstr ""
-
-#: part/models.py:790
+#: part/models.py:809
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:797 part/models.py:2272 part/models.py:2516
+#: part/models.py:816 part/models.py:2885 part/models.py:3129
#: part/templates/part/part_base.html:263
#: templates/InvenTree/settings/settings.html:229
#: templates/js/translated/notification.js:50
-#: templates/js/translated/part.js:1480 templates/js/translated/part.js:1724
+#: templates/js/translated/part.js:1491 templates/js/translated/part.js:1748
msgid "Category"
msgstr ""
-#: part/models.py:798
+#: part/models.py:817
msgid "Part category"
msgstr ""
-#: part/models.py:803 part/templates/part/part_base.html:272
-#: templates/js/translated/part.js:737 templates/js/translated/part.js:1431
-#: templates/js/translated/stock.js:1726
-msgid "IPN"
-msgstr ""
-
-#: part/models.py:804
+#: part/models.py:823
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:810
+#: part/models.py:829
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:811 part/templates/part/part_base.html:279
-#: report/models.py:171 templates/js/translated/part.js:741
-msgid "Revision"
-msgstr ""
-
-#: part/models.py:836
+#: part/models.py:855
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:881 part/templates/part/part_base.html:354
+#: part/models.py:900 part/templates/part/part_base.html:369
msgid "Default Supplier"
msgstr ""
-#: part/models.py:882
+#: part/models.py:901
msgid "Default supplier part"
msgstr ""
-#: part/models.py:889
+#: part/models.py:908
msgid "Default Expiry"
msgstr ""
-#: part/models.py:890
+#: part/models.py:909
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:895 part/templates/part/part_base.html:206
-msgid "Minimum Stock"
-msgstr ""
-
-#: part/models.py:896
+#: part/models.py:915
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:903
+#: part/models.py:922
msgid "Stock keeping units for this part"
msgstr ""
-#: part/models.py:909
+#: part/models.py:928
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:915
+#: part/models.py:934
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:921
+#: part/models.py:940
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:926
+#: part/models.py:945
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:931
+#: part/models.py:950
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:936
+#: part/models.py:955
msgid "Is this part active?"
msgstr ""
-#: part/models.py:941
+#: part/models.py:960
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:943
+#: part/models.py:962
msgid "Part notes"
msgstr ""
-#: part/models.py:945
+#: part/models.py:964
msgid "BOM checksum"
msgstr ""
-#: part/models.py:945
+#: part/models.py:964
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:948
+#: part/models.py:967
msgid "BOM checked by"
msgstr ""
-#: part/models.py:950
+#: part/models.py:969
msgid "BOM checked date"
msgstr ""
-#: part/models.py:954
+#: part/models.py:973
msgid "Creation User"
msgstr ""
-#: part/models.py:1790
+#: part/models.py:1819
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2319
+#: part/models.py:2682
+msgid "Currency used to cache pricing calculations"
+msgstr ""
+
+#: part/models.py:2687
+msgid "Updated"
+msgstr ""
+
+#: part/models.py:2688
+msgid "Timestamp of last pricing update"
+msgstr ""
+
+#: part/models.py:2705
+msgid "Minimum BOM Cost"
+msgstr ""
+
+#: part/models.py:2706
+msgid "Minimum cost of component parts"
+msgstr ""
+
+#: part/models.py:2711
+msgid "Maximum BOM Cost"
+msgstr ""
+
+#: part/models.py:2712
+msgid "Maximum cost of component parts"
+msgstr ""
+
+#: part/models.py:2717
+msgid "Minimum Purchase Cost"
+msgstr ""
+
+#: part/models.py:2718
+msgid "Minimum historical purchase cost"
+msgstr ""
+
+#: part/models.py:2723
+msgid "Maximum Purchase Cost"
+msgstr ""
+
+#: part/models.py:2724
+msgid "Maximum historical purchase cost"
+msgstr ""
+
+#: part/models.py:2729
+msgid "Minimum Internal Price"
+msgstr ""
+
+#: part/models.py:2730
+msgid "Minimum cost based on internal price breaks"
+msgstr ""
+
+#: part/models.py:2735
+msgid "Maximum Internal Price"
+msgstr ""
+
+#: part/models.py:2736
+msgid "Maximum cost based on internal price breaks"
+msgstr ""
+
+#: part/models.py:2741
+msgid "Minimum Supplier Price"
+msgstr ""
+
+#: part/models.py:2742
+msgid "Minimum price of part from external suppliers"
+msgstr ""
+
+#: part/models.py:2747
+msgid "Maximum Supplier Price"
+msgstr ""
+
+#: part/models.py:2748
+msgid "Maximum price of part from external suppliers"
+msgstr ""
+
+#: part/models.py:2753
+msgid "Minimum Variant Cost"
+msgstr ""
+
+#: part/models.py:2754
+msgid "Calculated minimum cost of variant parts"
+msgstr ""
+
+#: part/models.py:2759
+msgid "Maximum Variant Cost"
+msgstr ""
+
+#: part/models.py:2760
+msgid "Calculated maximum cost of variant parts"
+msgstr ""
+
+#: part/models.py:2766
+msgid "Calculated overall minimum cost"
+msgstr ""
+
+#: part/models.py:2772
+msgid "Calculated overall maximum cost"
+msgstr ""
+
+#: part/models.py:2777
+msgid "Minimum Sale Price"
+msgstr ""
+
+#: part/models.py:2778
+msgid "Minimum sale price based on price breaks"
+msgstr ""
+
+#: part/models.py:2783
+msgid "Maximum Sale Price"
+msgstr ""
+
+#: part/models.py:2784
+msgid "Maximum sale price based on price breaks"
+msgstr ""
+
+#: part/models.py:2789
+msgid "Minimum Sale Cost"
+msgstr ""
+
+#: part/models.py:2790
+msgid "Minimum historical sale price"
+msgstr ""
+
+#: part/models.py:2795
+msgid "Maximum Sale Cost"
+msgstr ""
+
+#: part/models.py:2796
+msgid "Maximum historical sale price"
+msgstr ""
+
+#: part/models.py:2932
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:2336
+#: part/models.py:2949
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2356 templates/js/translated/part.js:2070
-#: templates/js/translated/stock.js:1340
+#: part/models.py:2969 templates/js/translated/part.js:2094
+#: templates/js/translated/stock.js:1359
msgid "Test Name"
msgstr ""
-#: part/models.py:2357
+#: part/models.py:2970
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2362
+#: part/models.py:2975
msgid "Test Description"
msgstr ""
-#: part/models.py:2363
+#: part/models.py:2976
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2368 templates/js/translated/part.js:2079
-#: templates/js/translated/table_filters.js:310
+#: part/models.py:2981 templates/js/translated/part.js:2103
+#: templates/js/translated/table_filters.js:314
msgid "Required"
msgstr ""
-#: part/models.py:2369
+#: part/models.py:2982
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2374 templates/js/translated/part.js:2087
+#: part/models.py:2987 templates/js/translated/part.js:2111
msgid "Requires Value"
msgstr ""
-#: part/models.py:2375
+#: part/models.py:2988
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2380 templates/js/translated/part.js:2094
+#: part/models.py:2993 templates/js/translated/part.js:2118
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2381
+#: part/models.py:2994
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:2422
+#: part/models.py:3035
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:2430
+#: part/models.py:3043
msgid "Parameter Name"
msgstr ""
-#: part/models.py:2434
+#: part/models.py:3047
msgid "Parameter Units"
msgstr ""
-#: part/models.py:2439
+#: part/models.py:3052
msgid "Parameter description"
msgstr ""
-#: part/models.py:2472
+#: part/models.py:3085
msgid "Parent Part"
msgstr ""
-#: part/models.py:2474 part/models.py:2522 part/models.py:2523
+#: part/models.py:3087 part/models.py:3135 part/models.py:3136
#: templates/InvenTree/settings/settings.html:224
msgid "Parameter Template"
msgstr ""
-#: part/models.py:2476
+#: part/models.py:3089
msgid "Data"
msgstr ""
-#: part/models.py:2476
+#: part/models.py:3089
msgid "Parameter Value"
msgstr ""
-#: part/models.py:2527 templates/InvenTree/settings/settings.html:233
+#: part/models.py:3140 templates/InvenTree/settings/settings.html:233
msgid "Default Value"
msgstr ""
-#: part/models.py:2528
+#: part/models.py:3141
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:2565
+#: part/models.py:3178
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:2568 templates/js/translated/model_renderers.js:212
-msgid "Part ID"
-msgstr ""
-
-#: part/models.py:2569
+#: part/models.py:3182
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:2572
-msgid "Part Name"
-msgstr ""
-
-#: part/models.py:2576
-msgid "Part IPN"
-msgstr ""
-
-#: part/models.py:2577
+#: part/models.py:3190
msgid "Part IPN value"
msgstr ""
-#: part/models.py:2580
+#: part/models.py:3193
msgid "Level"
msgstr ""
-#: part/models.py:2581
+#: part/models.py:3194
msgid "BOM level"
msgstr ""
-#: part/models.py:2650
+#: part/models.py:3263
msgid "Select parent part"
msgstr ""
-#: part/models.py:2658
+#: part/models.py:3271
msgid "Sub part"
msgstr ""
-#: part/models.py:2659
+#: part/models.py:3272
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:2665
+#: part/models.py:3278
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:2669 part/templates/part/upload_bom.html:58
-#: templates/js/translated/bom.js:924 templates/js/translated/bom.js:1024
+#: part/models.py:3282 part/templates/part/upload_bom.html:58
+#: templates/js/translated/bom.js:933 templates/js/translated/bom.js:986
#: templates/js/translated/build.js:1858
#: templates/js/translated/table_filters.js:84
-#: templates/js/translated/table_filters.js:108
+#: templates/js/translated/table_filters.js:112
msgid "Optional"
msgstr ""
-#: part/models.py:2670
+#: part/models.py:3283
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:2675 templates/js/translated/bom.js:920
-#: templates/js/translated/bom.js:1033 templates/js/translated/build.js:1849
+#: part/models.py:3288 templates/js/translated/bom.js:929
+#: templates/js/translated/bom.js:995 templates/js/translated/build.js:1849
#: templates/js/translated/table_filters.js:88
msgid "Consumable"
msgstr ""
-#: part/models.py:2676
+#: part/models.py:3289
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:2680 part/templates/part/upload_bom.html:55
+#: part/models.py:3293 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:2681
+#: part/models.py:3294
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:2684
+#: part/models.py:3297
msgid "BOM item reference"
msgstr ""
-#: part/models.py:2687
+#: part/models.py:3300
msgid "BOM item notes"
msgstr ""
-#: part/models.py:2689
+#: part/models.py:3302
msgid "Checksum"
msgstr ""
-#: part/models.py:2689
+#: part/models.py:3302
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:2693 part/templates/part/upload_bom.html:57
-#: templates/js/translated/bom.js:1050
+#: part/models.py:3306 part/templates/part/upload_bom.html:57
+#: templates/js/translated/bom.js:1012
#: templates/js/translated/table_filters.js:76
-#: templates/js/translated/table_filters.js:104
+#: templates/js/translated/table_filters.js:108
msgid "Inherited"
msgstr ""
-#: part/models.py:2694
+#: part/models.py:3307
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:2699 part/templates/part/upload_bom.html:56
-#: templates/js/translated/bom.js:1042
+#: part/models.py:3312 part/templates/part/upload_bom.html:56
+#: templates/js/translated/bom.js:1004
msgid "Allow Variants"
msgstr ""
-#: part/models.py:2700
+#: part/models.py:3313
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:2786 stock/models.py:502
+#: part/models.py:3399 stock/models.py:518
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:2795 part/models.py:2797
+#: part/models.py:3408 part/models.py:3410
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:2902
+#: part/models.py:3537
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:2923
+#: part/models.py:3558
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:2936
+#: part/models.py:3571
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:2944
+#: part/models.py:3579
msgid "Substitute part"
msgstr ""
-#: part/models.py:2959
+#: part/models.py:3594
msgid "Part 1"
msgstr ""
-#: part/models.py:2963
+#: part/models.py:3598
msgid "Part 2"
msgstr ""
-#: part/models.py:2963
+#: part/models.py:3598
msgid "Select Related Part"
msgstr ""
-#: part/models.py:2981
+#: part/models.py:3616
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:2985
+#: part/models.py:3620
msgid "Duplicate relationship already exists"
msgstr ""
-#: part/serializers.py:154 part/serializers.py:185 stock/serializers.py:179
+#: part/serializers.py:154 part/serializers.py:182 stock/serializers.py:183
msgid "Purchase currency of this stock item"
msgstr ""
-#: part/serializers.py:829
+#: part/serializers.py:542
+msgid "Update"
+msgstr ""
+
+#: part/serializers.py:543
+msgid "Update pricing for this part"
+msgstr ""
+
+#: part/serializers.py:853
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:837
+#: part/serializers.py:861
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:838
+#: part/serializers.py:862
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:843
+#: part/serializers.py:867
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:844
+#: part/serializers.py:868
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:849
+#: part/serializers.py:873
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:850
+#: part/serializers.py:874
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:855
+#: part/serializers.py:879
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:856
+#: part/serializers.py:880
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/serializers.py:896
+#: part/serializers.py:920
msgid "Clear Existing BOM"
msgstr ""
-#: part/serializers.py:897
+#: part/serializers.py:921
msgid "Delete existing BOM items before uploading"
msgstr ""
-#: part/serializers.py:927
+#: part/serializers.py:951
msgid "No part column specified"
msgstr ""
-#: part/serializers.py:970
+#: part/serializers.py:994
msgid "Multiple matching parts found"
msgstr ""
-#: part/serializers.py:973
+#: part/serializers.py:997
msgid "No matching part found"
msgstr ""
-#: part/serializers.py:976
+#: part/serializers.py:1000
msgid "Part is not designated as a component"
msgstr ""
-#: part/serializers.py:985
+#: part/serializers.py:1009
msgid "Quantity not provided"
msgstr ""
-#: part/serializers.py:993
+#: part/serializers.py:1017
msgid "Invalid quantity"
msgstr ""
-#: part/serializers.py:1014
+#: part/serializers.py:1038
msgid "At least one BOM item is required"
msgstr ""
-#: part/tasks.py:21
+#: part/tasks.py:25
msgid "Low stock notification"
msgstr ""
-#: part/tasks.py:22
+#: part/tasks.py:26
#, python-brace-format
msgid "The available stock for {part.name} has fallen below the configured minimum level"
msgstr ""
@@ -5034,7 +5293,7 @@ msgstr ""
msgid "The BOM for %(part)s has not been validated."
msgstr ""
-#: part/templates/part/bom.html:30 part/templates/part/detail.html:269
+#: part/templates/part/bom.html:30 part/templates/part/detail.html:267
msgid "BOM actions"
msgstr ""
@@ -5070,10 +5329,6 @@ msgstr ""
msgid "Delete Category"
msgstr ""
-#: part/templates/part/category.html:81 part/templates/part/category.html:94
-msgid "Category Path"
-msgstr ""
-
#: part/templates/part/category.html:95
msgid "Top level part category"
msgstr ""
@@ -5091,12 +5346,12 @@ msgstr ""
msgid "Create new part"
msgstr ""
-#: part/templates/part/category.html:159 templates/js/translated/bom.js:392
+#: part/templates/part/category.html:159 templates/js/translated/bom.js:405
msgid "New Part"
msgstr ""
-#: part/templates/part/category.html:169 part/templates/part/detail.html:368
-#: part/templates/part/detail.html:399
+#: part/templates/part/category.html:169 part/templates/part/detail.html:366
+#: part/templates/part/detail.html:397
msgid "Options"
msgstr ""
@@ -5144,7 +5399,7 @@ msgstr ""
msgid "Import Parts"
msgstr ""
-#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:379
+#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:393
msgid "Duplicate Part"
msgstr ""
@@ -5176,7 +5431,8 @@ msgstr ""
msgid "Refresh scheduling data"
msgstr ""
-#: part/templates/part/detail.html:45 templates/js/translated/tables.js:524
+#: part/templates/part/detail.html:45 part/templates/part/prices.html:15
+#: templates/js/translated/tables.js:524
msgid "Refresh"
msgstr ""
@@ -5192,123 +5448,103 @@ msgstr ""
msgid "Sales Order Allocations"
msgstr ""
-#: part/templates/part/detail.html:143
+#: part/templates/part/detail.html:141
msgid "Part Notes"
msgstr ""
-#: part/templates/part/detail.html:158
+#: part/templates/part/detail.html:156
msgid "Part Variants"
msgstr ""
-#: part/templates/part/detail.html:162
+#: part/templates/part/detail.html:160
msgid "Create new variant"
msgstr ""
-#: part/templates/part/detail.html:163
+#: part/templates/part/detail.html:161
msgid "New Variant"
msgstr ""
-#: part/templates/part/detail.html:190
+#: part/templates/part/detail.html:188
msgid "Add new parameter"
msgstr ""
-#: part/templates/part/detail.html:227 part/templates/part/part_sidebar.html:54
+#: part/templates/part/detail.html:225 part/templates/part/part_sidebar.html:52
msgid "Related Parts"
msgstr ""
-#: part/templates/part/detail.html:231 part/templates/part/detail.html:232
+#: part/templates/part/detail.html:229 part/templates/part/detail.html:230
msgid "Add Related"
msgstr ""
-#: part/templates/part/detail.html:252 part/templates/part/part_sidebar.html:17
+#: part/templates/part/detail.html:250 part/templates/part/part_sidebar.html:17
msgid "Bill of Materials"
msgstr ""
-#: part/templates/part/detail.html:257
+#: part/templates/part/detail.html:255
msgid "Export actions"
msgstr ""
-#: part/templates/part/detail.html:261 templates/js/translated/bom.js:309
+#: part/templates/part/detail.html:259 templates/js/translated/bom.js:309
msgid "Export BOM"
msgstr ""
-#: part/templates/part/detail.html:263
+#: part/templates/part/detail.html:261
msgid "Print BOM Report"
msgstr ""
-#: part/templates/part/detail.html:273
+#: part/templates/part/detail.html:271
msgid "Upload BOM"
msgstr ""
-#: part/templates/part/detail.html:274 templates/js/translated/part.js:274
+#: part/templates/part/detail.html:272 templates/js/translated/part.js:270
msgid "Copy BOM"
msgstr ""
-#: part/templates/part/detail.html:275
+#: part/templates/part/detail.html:273
msgid "Validate BOM"
msgstr ""
-#: part/templates/part/detail.html:280 part/templates/part/detail.html:281
-#: templates/js/translated/bom.js:1202 templates/js/translated/bom.js:1203
+#: part/templates/part/detail.html:278 part/templates/part/detail.html:279
+#: templates/js/translated/bom.js:1267 templates/js/translated/bom.js:1268
msgid "Add BOM Item"
msgstr ""
-#: part/templates/part/detail.html:294
+#: part/templates/part/detail.html:292
msgid "Assemblies"
msgstr ""
-#: part/templates/part/detail.html:312
+#: part/templates/part/detail.html:310
msgid "Part Builds"
msgstr ""
-#: part/templates/part/detail.html:339 stock/templates/stock/item.html:38
+#: part/templates/part/detail.html:337 stock/templates/stock/item.html:38
msgid "Build Order Allocations"
msgstr ""
-#: part/templates/part/detail.html:355
+#: part/templates/part/detail.html:353
msgid "Part Suppliers"
msgstr ""
-#: part/templates/part/detail.html:385
+#: part/templates/part/detail.html:383
msgid "Part Manufacturers"
msgstr ""
-#: part/templates/part/detail.html:401
+#: part/templates/part/detail.html:399
msgid "Delete manufacturer parts"
msgstr ""
-#: part/templates/part/detail.html:658
+#: part/templates/part/detail.html:656
msgid "Related Part"
msgstr ""
-#: part/templates/part/detail.html:666
+#: part/templates/part/detail.html:664
msgid "Add Related Part"
msgstr ""
-#: part/templates/part/detail.html:758
+#: part/templates/part/detail.html:756
msgid "Add Test Result Template"
msgstr ""
-#: part/templates/part/detail.html:901
-#, python-format
-msgid "Purchase Unit Price - %(currency)s"
-msgstr ""
-
-#: part/templates/part/detail.html:913
-#, python-format
-msgid "Unit Price-Cost Difference - %(currency)s"
-msgstr ""
-
-#: part/templates/part/detail.html:925
-#, python-format
-msgid "Supplier Unit Cost - %(currency)s"
-msgstr ""
-
-#: part/templates/part/detail.html:1014
-#, python-format
-msgid "Unit Price - %(currency)s"
-msgstr ""
-
#: part/templates/part/import_wizard/ajax_match_fields.html:9
#: templates/patterns/wizard/match_fields.html:8
msgid "Missing selections for the following required columns"
@@ -5439,15 +5675,15 @@ msgid "Part is virtual (not a physical part)"
msgstr ""
#: part/templates/part/part_base.html:148
-#: templates/js/translated/company.js:659
-#: templates/js/translated/company.js:920
+#: templates/js/translated/company.js:660
+#: templates/js/translated/company.js:921
#: templates/js/translated/model_renderers.js:204
-#: templates/js/translated/part.js:652 templates/js/translated/part.js:729
+#: templates/js/translated/part.js:666 templates/js/translated/part.js:743
msgid "Inactive"
msgstr ""
#: part/templates/part/part_base.html:165
-#: part/templates/part/part_base.html:620
+#: part/templates/part/part_base.html:635
msgid "Show Part Details"
msgstr ""
@@ -5456,12 +5692,6 @@ msgstr ""
msgid "This part is a variant of %(link)s"
msgstr ""
-#: part/templates/part/part_base.html:200
-#: templates/js/translated/company.js:1027
-#: templates/js/translated/table_filters.js:209
-msgid "In Stock"
-msgstr ""
-
#: part/templates/part/part_base.html:221
#: stock/templates/stock/item_base.html:382
msgid "Allocated to Build Orders"
@@ -5472,100 +5702,91 @@ msgstr ""
msgid "Allocated to Sales Orders"
msgstr ""
-#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1100
+#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1165
msgid "Can Build"
msgstr ""
-#: part/templates/part/part_base.html:244 templates/js/translated/part.js:591
-#: templates/js/translated/part.js:611 templates/js/translated/part.js:1342
-#: templates/js/translated/part.js:1533
-msgid "Building"
-msgstr ""
-
#: part/templates/part/part_base.html:293
msgid "Minimum stock level"
msgstr ""
-#: part/templates/part/part_base.html:330
+#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1032
+#: templates/js/translated/part.js:783 templates/js/translated/part.js:1582
+#: templates/js/translated/pricing.js:124
+#: templates/js/translated/pricing.js:757
+msgid "Price Range"
+msgstr ""
+
+#: part/templates/part/part_base.html:345
msgid "Latest Serial Number"
msgstr ""
-#: part/templates/part/part_base.html:334
+#: part/templates/part/part_base.html:349
#: stock/templates/stock/item_base.html:331
msgid "Search for serial number"
msgstr ""
-#: part/templates/part/part_base.html:431
+#: part/templates/part/part_base.html:446
msgid "Link Barcode to Part"
msgstr ""
-#: part/templates/part/part_base.html:477 part/templates/part/prices.html:149
+#: part/templates/part/part_base.html:492
msgid "Calculate"
msgstr ""
-#: part/templates/part/part_base.html:520
+#: part/templates/part/part_base.html:535
msgid "No matching images found"
msgstr ""
-#: part/templates/part/part_base.html:614
+#: part/templates/part/part_base.html:629
msgid "Hide Part Details"
msgstr ""
-#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:24
+#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:78
+#: part/templates/part/prices.html:238 templates/js/translated/pricing.js:218
msgid "Supplier Pricing"
msgstr ""
#: part/templates/part/part_pricing.html:26
#: part/templates/part/part_pricing.html:52
-#: part/templates/part/part_pricing.html:103
-#: part/templates/part/part_pricing.html:118 part/templates/part/prices.html:28
-#: part/templates/part/prices.html:55 part/templates/part/prices.html:108
-#: part/templates/part/prices.html:125
+#: part/templates/part/part_pricing.html:95
+#: part/templates/part/part_pricing.html:110
msgid "Unit Cost"
msgstr ""
#: part/templates/part/part_pricing.html:32
#: part/templates/part/part_pricing.html:58
-#: part/templates/part/part_pricing.html:107
-#: part/templates/part/part_pricing.html:122 part/templates/part/prices.html:35
-#: part/templates/part/prices.html:62 part/templates/part/prices.html:113
-#: part/templates/part/prices.html:130
+#: part/templates/part/part_pricing.html:99
+#: part/templates/part/part_pricing.html:114
msgid "Total Cost"
msgstr ""
-#: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:43
-#: templates/js/translated/bom.js:1091
+#: part/templates/part/part_pricing.html:40
msgid "No supplier pricing available"
msgstr ""
-#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:52
-#: part/templates/part/prices.html:248
+#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:94
+#: part/templates/part/prices.html:262
msgid "BOM Pricing"
msgstr ""
-#: part/templates/part/part_pricing.html:66 part/templates/part/prices.html:72
+#: part/templates/part/part_pricing.html:66
msgid "Unit Purchase Price"
msgstr ""
-#: part/templates/part/part_pricing.html:72 part/templates/part/prices.html:79
+#: part/templates/part/part_pricing.html:72
msgid "Total Purchase Price"
msgstr ""
-#: part/templates/part/part_pricing.html:82 part/templates/part/prices.html:89
-msgid "Note: BOM pricing is incomplete for this part"
-msgstr ""
-
-#: part/templates/part/part_pricing.html:91 part/templates/part/prices.html:98
+#: part/templates/part/part_pricing.html:83
msgid "No BOM pricing available"
msgstr ""
-#: part/templates/part/part_pricing.html:100
-#: part/templates/part/prices.html:107
+#: part/templates/part/part_pricing.html:92
msgid "Internal Price"
msgstr ""
-#: part/templates/part/part_pricing.html:131
-#: part/templates/part/prices.html:139
+#: part/templates/part/part_pricing.html:123
msgid "No pricing information is available for this part."
msgstr ""
@@ -5573,7 +5794,8 @@ msgstr ""
#: report/templates/report/inventree_test_report_base.html:97
#: templates/InvenTree/settings/plugin.html:63
#: templates/InvenTree/settings/plugin_settings.html:38
-#: templates/js/translated/order.js:2001 templates/js/translated/stock.js:2478
+#: templates/js/translated/order.js:2035 templates/js/translated/pricing.js:537
+#: templates/js/translated/pricing.js:658 templates/js/translated/stock.js:2496
msgid "Date"
msgstr ""
@@ -5585,15 +5807,11 @@ msgstr ""
msgid "Variants"
msgstr ""
-#: part/templates/part/part_sidebar.html:27
-msgid "Used In"
-msgstr ""
-
-#: part/templates/part/part_sidebar.html:46
+#: part/templates/part/part_sidebar.html:44
msgid "Scheduling"
msgstr ""
-#: part/templates/part/part_sidebar.html:50
+#: part/templates/part/part_sidebar.html:48
msgid "Test Templates"
msgstr ""
@@ -5601,74 +5819,82 @@ msgstr ""
msgid "Select from existing images"
msgstr ""
-#: part/templates/part/prices.html:19
-msgid "Pricing ranges"
+#: part/templates/part/prices.html:11
+msgid "Pricing Overview"
msgstr ""
-#: part/templates/part/prices.html:25
-msgid "Show supplier cost"
+#: part/templates/part/prices.html:14
+msgid "Refresh Part Pricing"
msgstr ""
-#: part/templates/part/prices.html:26
-msgid "Show purchase price"
+#: part/templates/part/prices.html:25 stock/admin.py:106
+#: stock/templates/stock/item_base.html:440
+#: templates/js/translated/company.js:1039
+#: templates/js/translated/stock.js:1920
+msgid "Last Updated"
msgstr ""
-#: part/templates/part/prices.html:53
-msgid "Show BOM cost"
+#: part/templates/part/prices.html:34 part/templates/part/prices.html:126
+msgid "Price Category"
msgstr ""
-#: part/templates/part/prices.html:122
-msgid "Show sale cost"
+#: part/templates/part/prices.html:35 part/templates/part/prices.html:127
+msgid "Minimum"
msgstr ""
-#: part/templates/part/prices.html:123
-msgid "Show sale price"
+#: part/templates/part/prices.html:36 part/templates/part/prices.html:128
+msgid "Maximum"
msgstr ""
-#: part/templates/part/prices.html:145
-msgid "Calculation parameters"
+#: part/templates/part/prices.html:49 part/templates/part/prices.html:185
+msgid "Internal Pricing"
msgstr ""
-#: part/templates/part/prices.html:160 templates/js/translated/bom.js:1085
-msgid "Supplier Cost"
+#: part/templates/part/prices.html:64 part/templates/part/prices.html:217
+msgid "Purchase History"
msgstr ""
-#: part/templates/part/prices.html:161 part/templates/part/prices.html:182
-#: part/templates/part/prices.html:206 part/templates/part/prices.html:236
-#: part/templates/part/prices.html:262 part/templates/part/prices.html:291
+#: part/templates/part/prices.html:103 part/templates/part/prices.html:286
+msgid "Variant Pricing"
+msgstr ""
+
+#: part/templates/part/prices.html:111
+msgid "Overall Pricing"
+msgstr ""
+
+#: part/templates/part/prices.html:155 part/templates/part/prices.html:338
+msgid "Sale History"
+msgstr ""
+
+#: part/templates/part/prices.html:168
+msgid "Sale price data is not available for this part"
+msgstr ""
+
+#: part/templates/part/prices.html:175
+msgid "Price range data is not available for this part."
+msgstr ""
+
+#: part/templates/part/prices.html:186 part/templates/part/prices.html:218
+#: part/templates/part/prices.html:239 part/templates/part/prices.html:263
+#: part/templates/part/prices.html:287 part/templates/part/prices.html:310
+#: part/templates/part/prices.html:339
msgid "Jump to overview"
msgstr ""
-#: part/templates/part/prices.html:186
-msgid "Stock Pricing"
-msgstr ""
-
-#: part/templates/part/prices.html:195
-msgid "No stock pricing history is available for this part."
-msgstr ""
-
-#: part/templates/part/prices.html:205
-msgid "Internal Cost"
-msgstr ""
-
-#: part/templates/part/prices.html:220
+#: part/templates/part/prices.html:191
msgid "Add Internal Price Break"
msgstr ""
-#: part/templates/part/prices.html:235
-msgid "BOM Cost"
+#: part/templates/part/prices.html:309
+msgid "Sale Pricing"
msgstr ""
-#: part/templates/part/prices.html:261
-msgid "Sale Cost"
+#: part/templates/part/prices.html:315
+msgid "Add Sell Price Break"
msgstr ""
-#: part/templates/part/prices.html:302
-msgid "No sale pice history available for this part."
-msgstr ""
-
-#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:614
-#: templates/js/translated/part.js:1330 templates/js/translated/part.js:1332
+#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:628
+#: templates/js/translated/part.js:1351 templates/js/translated/part.js:1353
msgid "No Stock"
msgstr ""
@@ -5722,40 +5948,36 @@ msgstr ""
msgid "Create a new variant of template '%(full_name)s'."
msgstr ""
-#: part/templatetags/inventree_extras.py:177
+#: part/templatetags/inventree_extras.py:210
msgid "Unknown database"
msgstr ""
-#: part/templatetags/inventree_extras.py:229
+#: part/templatetags/inventree_extras.py:262
#, python-brace-format
msgid "{title} v{version}"
msgstr ""
-#: part/views.py:114
+#: part/views.py:109
msgid "Match References"
msgstr ""
-#: part/views.py:415
-msgid "None"
-msgstr ""
-
-#: part/views.py:477
+#: part/views.py:354
msgid "Part QR Code"
msgstr ""
-#: part/views.py:495
+#: part/views.py:372
msgid "Select Part Image"
msgstr ""
-#: part/views.py:521
+#: part/views.py:398
msgid "Updated part image"
msgstr ""
-#: part/views.py:524
+#: part/views.py:401
msgid "Part image not found"
msgstr ""
-#: part/views.py:613
+#: part/views.py:493
msgid "Part Pricing"
msgstr ""
@@ -6070,12 +6292,12 @@ msgid "Stock Item Test Report"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:79
-#: stock/models.py:650 stock/templates/stock/item_base.html:320
+#: stock/models.py:666 stock/templates/stock/item_base.html:320
#: templates/js/translated/build.js:472 templates/js/translated/build.js:624
#: templates/js/translated/build.js:1234 templates/js/translated/build.js:1735
#: templates/js/translated/model_renderers.js:118
-#: templates/js/translated/order.js:121 templates/js/translated/order.js:3592
-#: templates/js/translated/order.js:3679 templates/js/translated/stock.js:490
+#: templates/js/translated/order.js:121 templates/js/translated/order.js:3603
+#: templates/js/translated/order.js:3690 templates/js/translated/stock.js:509
msgid "Serial Number"
msgstr ""
@@ -6084,12 +6306,12 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:93
-#: stock/models.py:2085
+#: stock/models.py:2101
msgid "Test"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:94
-#: stock/models.py:2091
+#: stock/models.py:2107
msgid "Result"
msgstr ""
@@ -6107,383 +6329,435 @@ msgid "Installed Items"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:137
-#: templates/js/translated/stock.js:610 templates/js/translated/stock.js:780
-#: templates/js/translated/stock.js:2727
+#: stock/admin.py:87 templates/js/translated/stock.js:629
+#: templates/js/translated/stock.js:799 templates/js/translated/stock.js:2745
msgid "Serial"
msgstr ""
-#: stock/api.py:529
+#: stock/admin.py:23 stock/admin.py:90
+#: templates/js/translated/model_renderers.js:159
+msgid "Location ID"
+msgstr ""
+
+#: stock/admin.py:24 stock/admin.py:91
+msgid "Location Name"
+msgstr ""
+
+#: stock/admin.py:28 stock/templates/stock/location.html:123
+#: stock/templates/stock/location.html:129
+msgid "Location Path"
+msgstr ""
+
+#: stock/admin.py:83
+msgid "Stock Item ID"
+msgstr ""
+
+#: stock/admin.py:92 templates/js/translated/model_renderers.js:418
+msgid "Supplier Part ID"
+msgstr ""
+
+#: stock/admin.py:93
+msgid "Supplier ID"
+msgstr ""
+
+#: stock/admin.py:94
+msgid "Supplier Name"
+msgstr ""
+
+#: stock/admin.py:95
+msgid "Customer ID"
+msgstr ""
+
+#: stock/admin.py:96 stock/models.py:649
+#: stock/templates/stock/item_base.html:359
+msgid "Installed In"
+msgstr ""
+
+#: stock/admin.py:97 templates/js/translated/model_renderers.js:177
+msgid "Build ID"
+msgstr ""
+
+#: stock/admin.py:99
+msgid "Sales Order ID"
+msgstr ""
+
+#: stock/admin.py:100
+msgid "Purchase Order ID"
+msgstr ""
+
+#: stock/admin.py:107 templates/js/translated/stock.js:1890
+msgid "Stocktake"
+msgstr ""
+
+#: stock/admin.py:108 stock/models.py:724
+#: stock/templates/stock/item_base.html:427
+#: templates/js/translated/stock.js:1904
+msgid "Expiry Date"
+msgstr ""
+
+#: stock/api.py:539
msgid "Quantity is required"
msgstr ""
-#: stock/api.py:536
+#: stock/api.py:546
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:561
+#: stock/api.py:571
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/models.py:90 stock/models.py:746
+#: stock/models.py:106 stock/models.py:762
#: stock/templates/stock/item_base.html:250
msgid "Owner"
msgstr ""
-#: stock/models.py:91 stock/models.py:747
+#: stock/models.py:107 stock/models.py:763
msgid "Select Owner"
msgstr ""
-#: stock/models.py:508 stock/serializers.py:93
+#: stock/models.py:524 stock/serializers.py:97
msgid "Stock item cannot be created for virtual parts"
msgstr ""
-#: stock/models.py:525
+#: stock/models.py:541
#, python-brace-format
msgid "Part type ('{pf}') must be {pe}"
msgstr ""
-#: stock/models.py:535 stock/models.py:544
+#: stock/models.py:551 stock/models.py:560
msgid "Quantity must be 1 for item with a serial number"
msgstr ""
-#: stock/models.py:536
+#: stock/models.py:552
msgid "Serial number cannot be set if quantity greater than 1"
msgstr ""
-#: stock/models.py:558
+#: stock/models.py:574
msgid "Item cannot belong to itself"
msgstr ""
-#: stock/models.py:564
+#: stock/models.py:580
msgid "Item must have a build reference if is_building=True"
msgstr ""
-#: stock/models.py:578
+#: stock/models.py:594
msgid "Build reference does not point to the same part object"
msgstr ""
-#: stock/models.py:592
+#: stock/models.py:608
msgid "Parent Stock Item"
msgstr ""
-#: stock/models.py:602
+#: stock/models.py:618
msgid "Base part"
msgstr ""
-#: stock/models.py:610
+#: stock/models.py:626
msgid "Select a matching supplier part for this stock item"
msgstr ""
-#: stock/models.py:617 stock/templates/stock/location.html:17
+#: stock/models.py:633 stock/templates/stock/location.html:17
#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
msgstr ""
-#: stock/models.py:620
+#: stock/models.py:636
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:627
+#: stock/models.py:643
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:633 stock/templates/stock/item_base.html:359
-msgid "Installed In"
-msgstr ""
-
-#: stock/models.py:636
+#: stock/models.py:652
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:652
+#: stock/models.py:668
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:666
+#: stock/models.py:682
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:671
+#: stock/models.py:687
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:680
+#: stock/models.py:696
msgid "Source Build"
msgstr ""
-#: stock/models.py:682
+#: stock/models.py:698
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:693
+#: stock/models.py:709
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:696
+#: stock/models.py:712
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:702
+#: stock/models.py:718
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:708 stock/templates/stock/item_base.html:427
-#: templates/js/translated/stock.js:1885
-msgid "Expiry Date"
-msgstr ""
-
-#: stock/models.py:709
+#: stock/models.py:725
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:722
+#: stock/models.py:738
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:722
+#: stock/models.py:738
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:734 stock/templates/stock/item.html:132
+#: stock/models.py:750 stock/templates/stock/item.html:132
msgid "Stock Item Notes"
msgstr ""
-#: stock/models.py:742
+#: stock/models.py:758
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:770
+#: stock/models.py:786
msgid "Converted to part"
msgstr ""
-#: stock/models.py:1244
+#: stock/models.py:1260
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1250
+#: stock/models.py:1266
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1256
+#: stock/models.py:1272
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr ""
-#: stock/models.py:1259
+#: stock/models.py:1275
msgid "Serial numbers must be a list of integers"
msgstr ""
-#: stock/models.py:1262
+#: stock/models.py:1278
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1269
+#: stock/models.py:1285
#, python-brace-format
msgid "Serial numbers already exist: {exists}"
msgstr ""
-#: stock/models.py:1339
+#: stock/models.py:1355
msgid "Stock item has been assigned to a sales order"
msgstr ""
-#: stock/models.py:1342
+#: stock/models.py:1358
msgid "Stock item is installed in another item"
msgstr ""
-#: stock/models.py:1345
+#: stock/models.py:1361
msgid "Stock item contains other items"
msgstr ""
-#: stock/models.py:1348
+#: stock/models.py:1364
msgid "Stock item has been assigned to a customer"
msgstr ""
-#: stock/models.py:1351
+#: stock/models.py:1367
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:1354
+#: stock/models.py:1370
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1361 stock/serializers.py:963
+#: stock/models.py:1377 stock/serializers.py:962
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:1365
+#: stock/models.py:1381
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:1369
+#: stock/models.py:1385
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:1373
+#: stock/models.py:1389
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:1542
+#: stock/models.py:1558
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:2003
+#: stock/models.py:2019
msgid "Entry notes"
msgstr ""
-#: stock/models.py:2061
+#: stock/models.py:2077
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:2067
+#: stock/models.py:2083
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:2086
+#: stock/models.py:2102
msgid "Test name"
msgstr ""
-#: stock/models.py:2092
+#: stock/models.py:2108
msgid "Test result"
msgstr ""
-#: stock/models.py:2098
+#: stock/models.py:2114
msgid "Test output value"
msgstr ""
-#: stock/models.py:2105
+#: stock/models.py:2121
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2111
+#: stock/models.py:2127
msgid "Test notes"
msgstr ""
-#: stock/serializers.py:71
+#: stock/serializers.py:75
msgid "Serial number is too large"
msgstr ""
-#: stock/serializers.py:172
+#: stock/serializers.py:176
msgid "Purchase price of this stock item"
msgstr ""
-#: stock/serializers.py:292
+#: stock/serializers.py:286
msgid "Enter number of stock items to serialize"
msgstr ""
-#: stock/serializers.py:304
+#: stock/serializers.py:298
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({q})"
msgstr ""
-#: stock/serializers.py:310
+#: stock/serializers.py:304
msgid "Enter serial numbers for new items"
msgstr ""
-#: stock/serializers.py:321 stock/serializers.py:920 stock/serializers.py:1153
+#: stock/serializers.py:315 stock/serializers.py:919 stock/serializers.py:1152
msgid "Destination stock location"
msgstr ""
-#: stock/serializers.py:328
+#: stock/serializers.py:322
msgid "Optional note field"
msgstr ""
-#: stock/serializers.py:338
+#: stock/serializers.py:332
msgid "Serial numbers cannot be assigned to this part"
msgstr ""
-#: stock/serializers.py:359
+#: stock/serializers.py:353
msgid "Serial numbers already exist"
msgstr ""
-#: stock/serializers.py:399
+#: stock/serializers.py:393
msgid "Select stock item to install"
msgstr ""
-#: stock/serializers.py:412
+#: stock/serializers.py:406
msgid "Stock item is unavailable"
msgstr ""
-#: stock/serializers.py:419
+#: stock/serializers.py:413
msgid "Selected part is not in the Bill of Materials"
msgstr ""
-#: stock/serializers.py:456
+#: stock/serializers.py:450
msgid "Destination location for uninstalled item"
msgstr ""
-#: stock/serializers.py:461 stock/serializers.py:542
+#: stock/serializers.py:455 stock/serializers.py:536
msgid "Add transaction note (optional)"
msgstr ""
-#: stock/serializers.py:495
+#: stock/serializers.py:489
msgid "Select part to convert stock item into"
msgstr ""
-#: stock/serializers.py:506
+#: stock/serializers.py:500
msgid "Selected part is not a valid option for conversion"
msgstr ""
-#: stock/serializers.py:537
+#: stock/serializers.py:531
msgid "Destination location for returned item"
msgstr ""
-#: stock/serializers.py:775
+#: stock/serializers.py:774
msgid "Part must be salable"
msgstr ""
-#: stock/serializers.py:779
+#: stock/serializers.py:778
msgid "Item is allocated to a sales order"
msgstr ""
-#: stock/serializers.py:783
+#: stock/serializers.py:782
msgid "Item is allocated to a build order"
msgstr ""
-#: stock/serializers.py:814
+#: stock/serializers.py:813
msgid "Customer to assign stock items"
msgstr ""
-#: stock/serializers.py:820
+#: stock/serializers.py:819
msgid "Selected company is not a customer"
msgstr ""
-#: stock/serializers.py:828
+#: stock/serializers.py:827
msgid "Stock assignment notes"
msgstr ""
-#: stock/serializers.py:838 stock/serializers.py:1069
+#: stock/serializers.py:837 stock/serializers.py:1068
msgid "A list of stock items must be provided"
msgstr ""
-#: stock/serializers.py:927
+#: stock/serializers.py:926
msgid "Stock merging notes"
msgstr ""
-#: stock/serializers.py:932
+#: stock/serializers.py:931
msgid "Allow mismatched suppliers"
msgstr ""
-#: stock/serializers.py:933
+#: stock/serializers.py:932
msgid "Allow stock items with different supplier parts to be merged"
msgstr ""
-#: stock/serializers.py:938
+#: stock/serializers.py:937
msgid "Allow mismatched status"
msgstr ""
-#: stock/serializers.py:939
+#: stock/serializers.py:938
msgid "Allow stock items with different status codes to be merged"
msgstr ""
-#: stock/serializers.py:949
+#: stock/serializers.py:948
msgid "At least two stock items must be provided"
msgstr ""
-#: stock/serializers.py:1031
+#: stock/serializers.py:1030
msgid "StockItem primary key value"
msgstr ""
-#: stock/serializers.py:1059
+#: stock/serializers.py:1058
msgid "Stock transaction notes"
msgstr ""
@@ -6520,7 +6794,7 @@ msgstr ""
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2871
+#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2889
msgid "Install Stock Item"
msgstr ""
@@ -6528,7 +6802,7 @@ msgstr ""
msgid "Delete all test results for this stock item"
msgstr ""
-#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1522
+#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1541
msgid "Add Test Result"
msgstr ""
@@ -6687,7 +6961,7 @@ msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:431
-#: templates/js/translated/table_filters.js:277
+#: templates/js/translated/table_filters.js:281
msgid "Expired"
msgstr ""
@@ -6697,16 +6971,10 @@ msgid "This StockItem expires on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/table_filters.js:283
+#: templates/js/translated/table_filters.js:287
msgid "Stale"
msgstr ""
-#: stock/templates/stock/item_base.html:440
-#: templates/js/translated/company.js:1038
-#: templates/js/translated/stock.js:1901
-msgid "Last Updated"
-msgstr ""
-
#: stock/templates/stock/item_base.html:445
msgid "Last Stocktake"
msgstr ""
@@ -6783,11 +7051,6 @@ msgstr ""
msgid "Delete location"
msgstr ""
-#: stock/templates/stock/location.html:123
-#: stock/templates/stock/location.html:129
-msgid "Location Path"
-msgstr ""
-
#: stock/templates/stock/location.html:130
msgid "Top level stock location"
msgstr ""
@@ -6960,6 +7223,14 @@ msgstr ""
msgid "Overdue Sales Orders"
msgstr ""
+#: templates/InvenTree/index.html:312
+msgid "InvenTree News"
+msgstr ""
+
+#: templates/InvenTree/index.html:314
+msgid "Current News"
+msgstr ""
+
#: templates/InvenTree/notifications/history.html:9
msgid "Notification History"
msgstr ""
@@ -7026,30 +7297,6 @@ msgstr ""
msgid "Category Settings"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:8
-msgid "Currency Settings"
-msgstr ""
-
-#: templates/InvenTree/settings/currencies.html:19
-msgid "Base Currency"
-msgstr ""
-
-#: templates/InvenTree/settings/currencies.html:24
-msgid "Exchange Rates"
-msgstr ""
-
-#: templates/InvenTree/settings/currencies.html:38
-msgid "Last Update"
-msgstr ""
-
-#: templates/InvenTree/settings/currencies.html:44
-msgid "Never"
-msgstr ""
-
-#: templates/InvenTree/settings/currencies.html:49
-msgid "Update Now"
-msgstr ""
-
#: templates/InvenTree/settings/global.html:9
msgid "Server Settings"
msgstr ""
@@ -7090,15 +7337,15 @@ msgstr ""
msgid "Part Settings"
msgstr ""
-#: templates/InvenTree/settings/part.html:46
+#: templates/InvenTree/settings/part.html:40
msgid "Part Import"
msgstr ""
-#: templates/InvenTree/settings/part.html:50
+#: templates/InvenTree/settings/part.html:44
msgid "Import Part"
msgstr ""
-#: templates/InvenTree/settings/part.html:64
+#: templates/InvenTree/settings/part.html:58
msgid "Part Parameter Templates"
msgstr ""
@@ -7125,11 +7372,6 @@ msgstr ""
msgid "External plugins are not enabled for this InvenTree installation"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:62
-#: templates/InvenTree/settings/plugin_settings.html:33
-msgid "Author"
-msgstr ""
-
#: templates/InvenTree/settings/plugin.html:64
#: templates/InvenTree/settings/plugin_settings.html:43
msgid "Version"
@@ -7239,6 +7481,39 @@ msgstr ""
msgid "Purchase Order Settings"
msgstr ""
+#: templates/InvenTree/settings/pricing.html:7
+msgid "Pricing Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:24
+msgid "Currency Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:30
+msgid "Update Now"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:39
+#: templates/InvenTree/settings/pricing.html:43
+msgid "Last Update"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:43
+msgid "Never"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:53
+msgid "Base Currency"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:58
+msgid "Exchange Rates"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:60
+msgid "Rate"
+msgstr ""
+
#: templates/InvenTree/settings/report.html:8
#: templates/InvenTree/settings/user_reports.html:9
msgid "Report Settings"
@@ -7295,6 +7570,7 @@ msgid "No part parameter templates found"
msgstr ""
#: templates/InvenTree/settings/settings.html:338
+#: templates/js/translated/news.js:28
#: templates/js/translated/notification.js:36
msgid "ID"
msgstr ""
@@ -7357,10 +7633,6 @@ msgstr ""
msgid "Server Configuration"
msgstr ""
-#: templates/InvenTree/settings/sidebar.html:35
-msgid "Currencies"
-msgstr ""
-
#: templates/InvenTree/settings/sidebar.html:43
msgid "Categories"
msgstr ""
@@ -7380,7 +7652,7 @@ msgid "Change Password"
msgstr ""
#: templates/InvenTree/settings/user.html:23
-#: templates/js/translated/helpers.js:31 templates/notes_buttons.html:3
+#: templates/js/translated/helpers.js:33 templates/notes_buttons.html:3
#: templates/notes_buttons.html:4
msgid "Edit"
msgstr ""
@@ -7890,7 +8162,7 @@ msgid "The following parts are low on required stock"
msgstr ""
#: templates/email/build_order_required_stock.html:18
-#: templates/js/translated/bom.js:1566
+#: templates/js/translated/bom.js:1629
msgid "Required Quantity"
msgstr ""
@@ -7904,7 +8176,7 @@ msgid "Click on the following link to view this part"
msgstr ""
#: templates/email/low_stock_notification.html:19
-#: templates/js/translated/part.js:2566
+#: templates/js/translated/part.js:2423
msgid "Minimum Quantity"
msgstr ""
@@ -8057,7 +8329,7 @@ msgstr ""
msgid "Unlink"
msgstr ""
-#: templates/js/translated/barcode.js:500 templates/js/translated/stock.js:1054
+#: templates/js/translated/barcode.js:500 templates/js/translated/stock.js:1073
msgid "Remove stock item"
msgstr ""
@@ -8127,10 +8399,10 @@ msgstr ""
msgid "Row Data"
msgstr ""
-#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:646
+#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:659
#: templates/js/translated/modals.js:56 templates/js/translated/modals.js:601
#: templates/js/translated/modals.js:695 templates/js/translated/modals.js:1003
-#: templates/js/translated/order.js:1179 templates/modals.html:15
+#: templates/js/translated/order.js:1213 templates/modals.html:15
#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50
msgid "Close"
msgstr ""
@@ -8140,12 +8412,12 @@ msgid "Download BOM Template"
msgstr ""
#: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312
-#: templates/js/translated/order.js:960 templates/js/translated/tables.js:145
+#: templates/js/translated/order.js:994 templates/js/translated/tables.js:145
msgid "Format"
msgstr ""
#: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313
-#: templates/js/translated/order.js:961
+#: templates/js/translated/order.js:995
msgid "Select file format"
msgstr ""
@@ -8197,118 +8469,130 @@ msgstr ""
msgid "Include part supplier data in exported BOM"
msgstr ""
-#: templates/js/translated/bom.js:537
+#: templates/js/translated/bom.js:358
+msgid "Include Pricing Data"
+msgstr ""
+
+#: templates/js/translated/bom.js:359
+msgid "Include part pricing data in exported BOM"
+msgstr ""
+
+#: templates/js/translated/bom.js:550
msgid "Remove substitute part"
msgstr ""
-#: templates/js/translated/bom.js:591
+#: templates/js/translated/bom.js:604
msgid "Select and add a new substitute part using the input below"
msgstr ""
-#: templates/js/translated/bom.js:602
+#: templates/js/translated/bom.js:615
msgid "Are you sure you wish to remove this substitute part link?"
msgstr ""
-#: templates/js/translated/bom.js:608
+#: templates/js/translated/bom.js:621
msgid "Remove Substitute Part"
msgstr ""
-#: templates/js/translated/bom.js:647
+#: templates/js/translated/bom.js:660
msgid "Add Substitute"
msgstr ""
-#: templates/js/translated/bom.js:648
+#: templates/js/translated/bom.js:661
msgid "Edit BOM Item Substitutes"
msgstr ""
-#: templates/js/translated/bom.js:710
+#: templates/js/translated/bom.js:723
msgid "All selected BOM items will be deleted"
msgstr ""
-#: templates/js/translated/bom.js:726
+#: templates/js/translated/bom.js:739
msgid "Delete selected BOM items?"
msgstr ""
-#: templates/js/translated/bom.js:860
+#: templates/js/translated/bom.js:868
msgid "Load BOM for subassembly"
msgstr ""
-#: templates/js/translated/bom.js:870
+#: templates/js/translated/bom.js:878
msgid "Substitutes Available"
msgstr ""
-#: templates/js/translated/bom.js:874 templates/js/translated/build.js:1835
+#: templates/js/translated/bom.js:882 templates/js/translated/build.js:1835
msgid "Variant stock allowed"
msgstr ""
-#: templates/js/translated/bom.js:983 templates/js/translated/build.js:1907
-#: templates/js/translated/order.js:3927
-msgid "No Stock Available"
-msgstr ""
-
-#: templates/js/translated/bom.js:988 templates/js/translated/build.js:1911
-msgid "Includes variant and substitute stock"
-msgstr ""
-
-#: templates/js/translated/bom.js:990 templates/js/translated/build.js:1913
-#: templates/js/translated/part.js:761 templates/js/translated/part.js:1539
-msgid "Includes variant stock"
-msgstr ""
-
-#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1915
-msgid "Includes substitute stock"
-msgstr ""
-
-#: templates/js/translated/bom.js:1010
+#: templates/js/translated/bom.js:972
msgid "Substitutes"
msgstr ""
-#: templates/js/translated/bom.js:1061 templates/js/translated/bom.js:1195
+#: templates/js/translated/bom.js:1023 templates/js/translated/bom.js:1260
msgid "View BOM"
msgstr ""
-#: templates/js/translated/bom.js:1071
-msgid "Purchase Price Range"
+#: templates/js/translated/bom.js:1094
+msgid "BOM pricing is complete"
msgstr ""
-#: templates/js/translated/bom.js:1078
-msgid "Purchase Price Average"
+#: templates/js/translated/bom.js:1099
+msgid "BOM pricing is incomplete"
msgstr ""
-#: templates/js/translated/bom.js:1106 templates/js/translated/build.js:1898
+#: templates/js/translated/bom.js:1106
+msgid "No pricing available"
+msgstr ""
+
+#: templates/js/translated/bom.js:1137 templates/js/translated/build.js:1907
+#: templates/js/translated/order.js:3924
+msgid "No Stock Available"
+msgstr ""
+
+#: templates/js/translated/bom.js:1142 templates/js/translated/build.js:1911
+msgid "Includes variant and substitute stock"
+msgstr ""
+
+#: templates/js/translated/bom.js:1144 templates/js/translated/build.js:1913
+#: templates/js/translated/part.js:775 templates/js/translated/part.js:1550
+msgid "Includes variant stock"
+msgstr ""
+
+#: templates/js/translated/bom.js:1146 templates/js/translated/build.js:1915
+msgid "Includes substitute stock"
+msgstr ""
+
+#: templates/js/translated/bom.js:1171 templates/js/translated/build.js:1898
#: templates/js/translated/build.js:1985
msgid "Consumable item"
msgstr ""
-#: templates/js/translated/bom.js:1166
+#: templates/js/translated/bom.js:1231
msgid "Validate BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1168
+#: templates/js/translated/bom.js:1233
msgid "This line has been validated"
msgstr ""
-#: templates/js/translated/bom.js:1170
+#: templates/js/translated/bom.js:1235
msgid "Edit substitute parts"
msgstr ""
-#: templates/js/translated/bom.js:1172 templates/js/translated/bom.js:1369
+#: templates/js/translated/bom.js:1237 templates/js/translated/bom.js:1433
msgid "Edit BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1174
+#: templates/js/translated/bom.js:1239
msgid "Delete BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1280 templates/js/translated/build.js:1679
+#: templates/js/translated/bom.js:1344 templates/js/translated/build.js:1679
msgid "No BOM items found"
msgstr ""
-#: templates/js/translated/bom.js:1549 templates/js/translated/build.js:1818
+#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1818
msgid "Required Part"
msgstr ""
-#: templates/js/translated/bom.js:1575
+#: templates/js/translated/bom.js:1638
msgid "Inherited from parent BOM"
msgstr ""
@@ -8353,12 +8637,12 @@ msgid "Complete Build Order"
msgstr ""
#: templates/js/translated/build.js:311 templates/js/translated/stock.js:92
-#: templates/js/translated/stock.js:214
+#: templates/js/translated/stock.js:233
msgid "Next available serial number"
msgstr ""
#: templates/js/translated/build.js:313 templates/js/translated/stock.js:94
-#: templates/js/translated/stock.js:216
+#: templates/js/translated/stock.js:235
msgid "Latest serial number"
msgstr ""
@@ -8455,12 +8739,12 @@ msgid "No required tests for this build"
msgstr ""
#: templates/js/translated/build.js:1775 templates/js/translated/build.js:2765
-#: templates/js/translated/order.js:3627
+#: templates/js/translated/order.js:3638
msgid "Edit stock allocation"
msgstr ""
#: templates/js/translated/build.js:1777 templates/js/translated/build.js:2766
-#: templates/js/translated/order.js:3628
+#: templates/js/translated/order.js:3639
msgid "Delete stock allocation"
msgstr ""
@@ -8480,20 +8764,15 @@ msgstr ""
msgid "Quantity Per"
msgstr ""
-#: templates/js/translated/build.js:1901 templates/js/translated/order.js:3934
+#: templates/js/translated/build.js:1901 templates/js/translated/order.js:3931
msgid "Insufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3932
+#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3929
msgid "Sufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1937 templates/js/translated/build.js:2195
-#: templates/js/translated/build.js:2761 templates/js/translated/order.js:3946
-msgid "Allocated"
-msgstr ""
-
-#: templates/js/translated/build.js:1993 templates/js/translated/order.js:4026
+#: templates/js/translated/build.js:1993 templates/js/translated/order.js:4023
msgid "Build stock"
msgstr ""
@@ -8501,21 +8780,21 @@ msgstr ""
msgid "Order stock"
msgstr ""
-#: templates/js/translated/build.js:2000 templates/js/translated/order.js:4019
+#: templates/js/translated/build.js:2000 templates/js/translated/order.js:4016
msgid "Allocate stock"
msgstr ""
#: templates/js/translated/build.js:2039 templates/js/translated/label.js:172
-#: templates/js/translated/order.js:1007 templates/js/translated/order.js:3154
+#: templates/js/translated/order.js:1041 templates/js/translated/order.js:3165
#: templates/js/translated/report.js:225
msgid "Select Parts"
msgstr ""
-#: templates/js/translated/build.js:2040 templates/js/translated/order.js:3155
+#: templates/js/translated/build.js:2040 templates/js/translated/order.js:3166
msgid "You must select at least one part to allocate"
msgstr ""
-#: templates/js/translated/build.js:2089 templates/js/translated/order.js:3103
+#: templates/js/translated/build.js:2089 templates/js/translated/order.js:3114
msgid "Specify stock allocation quantity"
msgstr ""
@@ -8527,7 +8806,7 @@ msgstr ""
msgid "All selected parts have been fully allocated"
msgstr ""
-#: templates/js/translated/build.js:2183 templates/js/translated/order.js:3169
+#: templates/js/translated/build.js:2183 templates/js/translated/order.js:3180
msgid "Select source location (leave blank to take from all locations)"
msgstr ""
@@ -8535,11 +8814,11 @@ msgstr ""
msgid "Allocate Stock Items to Build Order"
msgstr ""
-#: templates/js/translated/build.js:2222 templates/js/translated/order.js:3266
+#: templates/js/translated/build.js:2222 templates/js/translated/order.js:3277
msgid "No matching stock locations"
msgstr ""
-#: templates/js/translated/build.js:2294 templates/js/translated/order.js:3343
+#: templates/js/translated/build.js:2294 templates/js/translated/order.js:3354
msgid "No matching stock items"
msgstr ""
@@ -8571,9 +8850,9 @@ msgstr ""
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:2558 templates/js/translated/part.js:1423
-#: templates/js/translated/part.js:1957 templates/js/translated/stock.js:1686
-#: templates/js/translated/stock.js:2390
+#: templates/js/translated/build.js:2558 templates/js/translated/part.js:1444
+#: templates/js/translated/part.js:1981 templates/js/translated/stock.js:1705
+#: templates/js/translated/stock.js:2408
msgid "Select"
msgstr ""
@@ -8585,7 +8864,7 @@ msgstr ""
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2636 templates/js/translated/stock.js:2657
+#: templates/js/translated/build.js:2636 templates/js/translated/stock.js:2675
msgid "No user information"
msgstr ""
@@ -8593,118 +8872,144 @@ msgstr ""
msgid "No parts allocated for"
msgstr ""
-#: templates/js/translated/company.js:66
+#: templates/js/translated/company.js:67
msgid "Add Manufacturer"
msgstr ""
-#: templates/js/translated/company.js:79 templates/js/translated/company.js:181
+#: templates/js/translated/company.js:80 templates/js/translated/company.js:182
msgid "Add Manufacturer Part"
msgstr ""
-#: templates/js/translated/company.js:100
+#: templates/js/translated/company.js:101
msgid "Edit Manufacturer Part"
msgstr ""
-#: templates/js/translated/company.js:169 templates/js/translated/order.js:576
+#: templates/js/translated/company.js:170 templates/js/translated/order.js:576
msgid "Add Supplier"
msgstr ""
-#: templates/js/translated/company.js:197 templates/js/translated/order.js:828
+#: templates/js/translated/company.js:198 templates/js/translated/order.js:862
msgid "Add Supplier Part"
msgstr ""
-#: templates/js/translated/company.js:297
+#: templates/js/translated/company.js:298
msgid "All selected supplier parts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:313
+#: templates/js/translated/company.js:314
msgid "Delete Supplier Parts"
msgstr ""
-#: templates/js/translated/company.js:385
+#: templates/js/translated/company.js:386
msgid "Add new Company"
msgstr ""
-#: templates/js/translated/company.js:462
+#: templates/js/translated/company.js:463
msgid "Parts Supplied"
msgstr ""
-#: templates/js/translated/company.js:471
+#: templates/js/translated/company.js:472
msgid "Parts Manufactured"
msgstr ""
-#: templates/js/translated/company.js:486
+#: templates/js/translated/company.js:487
msgid "No company information found"
msgstr ""
-#: templates/js/translated/company.js:527
+#: templates/js/translated/company.js:528
msgid "All selected manufacturer parts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:542
+#: templates/js/translated/company.js:543
msgid "Delete Manufacturer Parts"
msgstr ""
-#: templates/js/translated/company.js:576
+#: templates/js/translated/company.js:577
msgid "All selected parameters will be deleted"
msgstr ""
-#: templates/js/translated/company.js:590
+#: templates/js/translated/company.js:591
msgid "Delete Parameters"
msgstr ""
-#: templates/js/translated/company.js:631
+#: templates/js/translated/company.js:632
msgid "No manufacturer parts found"
msgstr ""
-#: templates/js/translated/company.js:651
-#: templates/js/translated/company.js:912 templates/js/translated/part.js:636
-#: templates/js/translated/part.js:721
+#: templates/js/translated/company.js:652
+#: templates/js/translated/company.js:913 templates/js/translated/part.js:650
+#: templates/js/translated/part.js:735
msgid "Template part"
msgstr ""
-#: templates/js/translated/company.js:655
-#: templates/js/translated/company.js:916 templates/js/translated/part.js:640
-#: templates/js/translated/part.js:725
+#: templates/js/translated/company.js:656
+#: templates/js/translated/company.js:917 templates/js/translated/part.js:654
+#: templates/js/translated/part.js:739
msgid "Assembled part"
msgstr ""
-#: templates/js/translated/company.js:783 templates/js/translated/part.js:828
+#: templates/js/translated/company.js:784 templates/js/translated/part.js:855
msgid "No parameters found"
msgstr ""
-#: templates/js/translated/company.js:820 templates/js/translated/part.js:870
+#: templates/js/translated/company.js:821 templates/js/translated/part.js:897
msgid "Edit parameter"
msgstr ""
-#: templates/js/translated/company.js:821 templates/js/translated/part.js:871
+#: templates/js/translated/company.js:822 templates/js/translated/part.js:898
msgid "Delete parameter"
msgstr ""
-#: templates/js/translated/company.js:840 templates/js/translated/part.js:888
+#: templates/js/translated/company.js:841 templates/js/translated/part.js:915
msgid "Edit Parameter"
msgstr ""
-#: templates/js/translated/company.js:851 templates/js/translated/part.js:900
+#: templates/js/translated/company.js:852 templates/js/translated/part.js:927
msgid "Delete Parameter"
msgstr ""
-#: templates/js/translated/company.js:891
+#: templates/js/translated/company.js:892
msgid "No supplier parts found"
msgstr ""
-#: templates/js/translated/company.js:1032
+#: templates/js/translated/company.js:1033
msgid "Availability"
msgstr ""
-#: templates/js/translated/company.js:1055
+#: templates/js/translated/company.js:1056
msgid "Edit supplier part"
msgstr ""
-#: templates/js/translated/company.js:1056
+#: templates/js/translated/company.js:1057
msgid "Delete supplier part"
msgstr ""
+#: templates/js/translated/company.js:1112
+#: templates/js/translated/pricing.js:423
+msgid "Delete Price Break"
+msgstr ""
+
+#: templates/js/translated/company.js:1128
+#: templates/js/translated/pricing.js:437
+msgid "Edit Price Break"
+msgstr ""
+
+#: templates/js/translated/company.js:1145
+msgid "No price break information found"
+msgstr ""
+
+#: templates/js/translated/company.js:1174
+msgid "Last updated"
+msgstr ""
+
+#: templates/js/translated/company.js:1180
+msgid "Edit price break"
+msgstr ""
+
+#: templates/js/translated/company.js:1181
+msgid "Delete price break"
+msgstr ""
+
#: templates/js/translated/filters.js:178
#: templates/js/translated/filters.js:441
msgid "true"
@@ -8785,27 +9090,27 @@ msgstr ""
msgid "Clear input"
msgstr ""
-#: templates/js/translated/forms.js:2638
+#: templates/js/translated/forms.js:2628
msgid "File Column"
msgstr ""
-#: templates/js/translated/forms.js:2638
+#: templates/js/translated/forms.js:2628
msgid "Field Name"
msgstr ""
-#: templates/js/translated/forms.js:2650
+#: templates/js/translated/forms.js:2640
msgid "Select Columns"
msgstr ""
-#: templates/js/translated/helpers.js:24
+#: templates/js/translated/helpers.js:26
msgid "YES"
msgstr ""
-#: templates/js/translated/helpers.js:26
+#: templates/js/translated/helpers.js:28
msgid "NO"
msgstr ""
-#: templates/js/translated/helpers.js:363
+#: templates/js/translated/helpers.js:434
msgid "Notes updated"
msgstr ""
@@ -8814,7 +9119,7 @@ msgid "Labels sent to printer"
msgstr ""
#: templates/js/translated/label.js:60 templates/js/translated/report.js:118
-#: templates/js/translated/stock.js:1078
+#: templates/js/translated/stock.js:1097
msgid "Select Stock Items"
msgstr ""
@@ -8934,14 +9239,6 @@ msgstr ""
msgid "Stock ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:159
-msgid "Location ID"
-msgstr ""
-
-#: templates/js/translated/model_renderers.js:177
-msgid "Build ID"
-msgstr ""
-
#: templates/js/translated/model_renderers.js:278
#: templates/js/translated/model_renderers.js:303
msgid "Order ID"
@@ -8952,16 +9249,12 @@ msgstr ""
msgid "Shipment ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:338
-msgid "Category ID"
-msgstr ""
-
#: templates/js/translated/model_renderers.js:381
msgid "Manufacturer Part ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:418
-msgid "Supplier Part ID"
+#: templates/js/translated/news.js:23
+msgid "No news found"
msgstr ""
#: templates/js/translated/notification.js:42
@@ -9104,659 +9397,688 @@ msgstr ""
msgid "Duplication Options"
msgstr ""
-#: templates/js/translated/order.js:957
+#: templates/js/translated/order.js:991
msgid "Export Order"
msgstr ""
-#: templates/js/translated/order.js:1008
+#: templates/js/translated/order.js:1042
msgid "At least one purchaseable part must be selected"
msgstr ""
-#: templates/js/translated/order.js:1033
+#: templates/js/translated/order.js:1067
msgid "Quantity to order"
msgstr ""
-#: templates/js/translated/order.js:1042
+#: templates/js/translated/order.js:1076
msgid "New supplier part"
msgstr ""
-#: templates/js/translated/order.js:1060
+#: templates/js/translated/order.js:1094
msgid "New purchase order"
msgstr ""
-#: templates/js/translated/order.js:1093
+#: templates/js/translated/order.js:1127
msgid "Add to purchase order"
msgstr ""
-#: templates/js/translated/order.js:1233
+#: templates/js/translated/order.js:1267
msgid "No matching supplier parts"
msgstr ""
-#: templates/js/translated/order.js:1252
+#: templates/js/translated/order.js:1286
msgid "No matching purchase orders"
msgstr ""
-#: templates/js/translated/order.js:1429
+#: templates/js/translated/order.js:1463
msgid "Select Line Items"
msgstr ""
-#: templates/js/translated/order.js:1430
+#: templates/js/translated/order.js:1464
msgid "At least one line item must be selected"
msgstr ""
-#: templates/js/translated/order.js:1450 templates/js/translated/order.js:1563
+#: templates/js/translated/order.js:1484 templates/js/translated/order.js:1597
msgid "Add batch code"
msgstr ""
-#: templates/js/translated/order.js:1456 templates/js/translated/order.js:1574
+#: templates/js/translated/order.js:1490 templates/js/translated/order.js:1608
msgid "Add serial numbers"
msgstr ""
-#: templates/js/translated/order.js:1471
+#: templates/js/translated/order.js:1505
msgid "Received Quantity"
msgstr ""
-#: templates/js/translated/order.js:1482
+#: templates/js/translated/order.js:1516
msgid "Quantity to receive"
msgstr ""
-#: templates/js/translated/order.js:1546 templates/js/translated/stock.js:2146
+#: templates/js/translated/order.js:1580 templates/js/translated/stock.js:2164
msgid "Stock Status"
msgstr ""
-#: templates/js/translated/order.js:1639
+#: templates/js/translated/order.js:1673
msgid "Order Code"
msgstr ""
-#: templates/js/translated/order.js:1640
+#: templates/js/translated/order.js:1674
msgid "Ordered"
msgstr ""
-#: templates/js/translated/order.js:1642
+#: templates/js/translated/order.js:1676
msgid "Quantity to Receive"
msgstr ""
-#: templates/js/translated/order.js:1661
+#: templates/js/translated/order.js:1695
msgid "Confirm receipt of items"
msgstr ""
-#: templates/js/translated/order.js:1662
+#: templates/js/translated/order.js:1696
msgid "Receive Purchase Order Items"
msgstr ""
-#: templates/js/translated/order.js:1940 templates/js/translated/part.js:941
+#: templates/js/translated/order.js:1974 templates/js/translated/part.js:968
msgid "No purchase orders found"
msgstr ""
-#: templates/js/translated/order.js:1967 templates/js/translated/order.js:2798
+#: templates/js/translated/order.js:2001 templates/js/translated/order.js:2809
msgid "Order is overdue"
msgstr ""
-#: templates/js/translated/order.js:2017 templates/js/translated/order.js:2863
-#: templates/js/translated/order.js:3004
+#: templates/js/translated/order.js:2051 templates/js/translated/order.js:2874
+#: templates/js/translated/order.js:3015
msgid "Items"
msgstr ""
-#: templates/js/translated/order.js:2115 templates/js/translated/order.js:4078
+#: templates/js/translated/order.js:2154 templates/js/translated/order.js:4075
msgid "Duplicate Line Item"
msgstr ""
-#: templates/js/translated/order.js:2132 templates/js/translated/order.js:4100
+#: templates/js/translated/order.js:2171 templates/js/translated/order.js:4097
msgid "Edit Line Item"
msgstr ""
-#: templates/js/translated/order.js:2145 templates/js/translated/order.js:4111
+#: templates/js/translated/order.js:2184 templates/js/translated/order.js:4108
msgid "Delete Line Item"
msgstr ""
-#: templates/js/translated/order.js:2188
+#: templates/js/translated/order.js:2227
msgid "No line items found"
msgstr ""
-#: templates/js/translated/order.js:2215 templates/js/translated/order.js:3812
+#: templates/js/translated/order.js:2254 templates/js/translated/order.js:3827
msgid "Total"
msgstr ""
-#: templates/js/translated/order.js:2270 templates/js/translated/part.js:1043
-#: templates/js/translated/part.js:1095
+#: templates/js/translated/order.js:2309 templates/js/translated/part.js:1070
+#: templates/js/translated/part.js:1122
msgid "Total Quantity"
msgstr ""
-#: templates/js/translated/order.js:2301 templates/js/translated/order.js:2500
-#: templates/js/translated/order.js:3837 templates/js/translated/order.js:4342
-#: templates/js/translated/part.js:2199 templates/js/translated/part.js:2797
+#: templates/js/translated/order.js:2340 templates/js/translated/order.js:2527
+#: templates/js/translated/order.js:3852 templates/js/translated/order.js:4343
+#: templates/js/translated/pricing.js:260
+#: templates/js/translated/pricing.js:329
+#: templates/js/translated/pricing.js:545
msgid "Unit Price"
msgstr ""
-#: templates/js/translated/order.js:2316 templates/js/translated/order.js:2516
-#: templates/js/translated/order.js:3853 templates/js/translated/order.js:4358
+#: templates/js/translated/order.js:2350 templates/js/translated/order.js:2537
+#: templates/js/translated/order.js:3862 templates/js/translated/order.js:4353
msgid "Total Price"
msgstr ""
-#: templates/js/translated/order.js:2357 templates/js/translated/order.js:3895
-#: templates/js/translated/part.js:1079
+#: templates/js/translated/order.js:2380 templates/js/translated/order.js:3892
+#: templates/js/translated/part.js:1106
msgid "This line item is overdue"
msgstr ""
-#: templates/js/translated/order.js:2416 templates/js/translated/part.js:1130
+#: templates/js/translated/order.js:2439 templates/js/translated/part.js:1151
msgid "Receive line item"
msgstr ""
-#: templates/js/translated/order.js:2420 templates/js/translated/order.js:4032
+#: templates/js/translated/order.js:2443 templates/js/translated/order.js:4029
msgid "Duplicate line item"
msgstr ""
-#: templates/js/translated/order.js:2421 templates/js/translated/order.js:4033
+#: templates/js/translated/order.js:2444 templates/js/translated/order.js:4030
msgid "Edit line item"
msgstr ""
-#: templates/js/translated/order.js:2422 templates/js/translated/order.js:4037
+#: templates/js/translated/order.js:2445 templates/js/translated/order.js:4034
msgid "Delete line item"
msgstr ""
-#: templates/js/translated/order.js:2564 templates/js/translated/order.js:4406
+#: templates/js/translated/order.js:2574 templates/js/translated/order.js:4389
msgid "Duplicate line"
msgstr ""
-#: templates/js/translated/order.js:2565 templates/js/translated/order.js:4407
+#: templates/js/translated/order.js:2575 templates/js/translated/order.js:4390
msgid "Edit line"
msgstr ""
-#: templates/js/translated/order.js:2566 templates/js/translated/order.js:4408
+#: templates/js/translated/order.js:2576 templates/js/translated/order.js:4391
msgid "Delete line"
msgstr ""
-#: templates/js/translated/order.js:2595 templates/js/translated/order.js:4437
+#: templates/js/translated/order.js:2606 templates/js/translated/order.js:4420
msgid "Duplicate Line"
msgstr ""
-#: templates/js/translated/order.js:2616 templates/js/translated/order.js:4458
+#: templates/js/translated/order.js:2627 templates/js/translated/order.js:4441
msgid "Edit Line"
msgstr ""
-#: templates/js/translated/order.js:2627 templates/js/translated/order.js:4469
+#: templates/js/translated/order.js:2638 templates/js/translated/order.js:4452
msgid "Delete Line"
msgstr ""
-#: templates/js/translated/order.js:2638
+#: templates/js/translated/order.js:2649
msgid "No matching line"
msgstr ""
-#: templates/js/translated/order.js:2749
+#: templates/js/translated/order.js:2760
msgid "No sales orders found"
msgstr ""
-#: templates/js/translated/order.js:2812
+#: templates/js/translated/order.js:2823
msgid "Invalid Customer"
msgstr ""
-#: templates/js/translated/order.js:2910
+#: templates/js/translated/order.js:2921
msgid "Edit shipment"
msgstr ""
-#: templates/js/translated/order.js:2913
+#: templates/js/translated/order.js:2924
msgid "Complete shipment"
msgstr ""
-#: templates/js/translated/order.js:2918
+#: templates/js/translated/order.js:2929
msgid "Delete shipment"
msgstr ""
-#: templates/js/translated/order.js:2938
+#: templates/js/translated/order.js:2949
msgid "Edit Shipment"
msgstr ""
-#: templates/js/translated/order.js:2955
+#: templates/js/translated/order.js:2966
msgid "Delete Shipment"
msgstr ""
-#: templates/js/translated/order.js:2989
+#: templates/js/translated/order.js:3000
msgid "No matching shipments found"
msgstr ""
-#: templates/js/translated/order.js:2999
+#: templates/js/translated/order.js:3010
msgid "Shipment Reference"
msgstr ""
-#: templates/js/translated/order.js:3023
+#: templates/js/translated/order.js:3034
msgid "Not shipped"
msgstr ""
-#: templates/js/translated/order.js:3029
+#: templates/js/translated/order.js:3040
msgid "Tracking"
msgstr ""
-#: templates/js/translated/order.js:3033
+#: templates/js/translated/order.js:3044
msgid "Invoice"
msgstr ""
-#: templates/js/translated/order.js:3202
+#: templates/js/translated/order.js:3213
msgid "Add Shipment"
msgstr ""
-#: templates/js/translated/order.js:3253
+#: templates/js/translated/order.js:3264
msgid "Confirm stock allocation"
msgstr ""
-#: templates/js/translated/order.js:3254
+#: templates/js/translated/order.js:3265
msgid "Allocate Stock Items to Sales Order"
msgstr ""
-#: templates/js/translated/order.js:3462
+#: templates/js/translated/order.js:3473
msgid "No sales order allocations found"
msgstr ""
-#: templates/js/translated/order.js:3541
+#: templates/js/translated/order.js:3552
msgid "Edit Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:3558
+#: templates/js/translated/order.js:3569
msgid "Confirm Delete Operation"
msgstr ""
-#: templates/js/translated/order.js:3559
+#: templates/js/translated/order.js:3570
msgid "Delete Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:3604 templates/js/translated/order.js:3693
-#: templates/js/translated/stock.js:1602
+#: templates/js/translated/order.js:3615 templates/js/translated/order.js:3704
+#: templates/js/translated/stock.js:1621
msgid "Shipped to customer"
msgstr ""
-#: templates/js/translated/order.js:3612 templates/js/translated/order.js:3702
+#: templates/js/translated/order.js:3623 templates/js/translated/order.js:3713
msgid "Stock location not specified"
msgstr ""
-#: templates/js/translated/order.js:4016
+#: templates/js/translated/order.js:4013
msgid "Allocate serial numbers"
msgstr ""
-#: templates/js/translated/order.js:4022
+#: templates/js/translated/order.js:4019
msgid "Purchase stock"
msgstr ""
-#: templates/js/translated/order.js:4029 templates/js/translated/order.js:4227
+#: templates/js/translated/order.js:4026 templates/js/translated/order.js:4224
msgid "Calculate price"
msgstr ""
-#: templates/js/translated/order.js:4041
+#: templates/js/translated/order.js:4038
msgid "Cannot be deleted as items have been shipped"
msgstr ""
-#: templates/js/translated/order.js:4044
+#: templates/js/translated/order.js:4041
msgid "Cannot be deleted as items have been allocated"
msgstr ""
-#: templates/js/translated/order.js:4126
+#: templates/js/translated/order.js:4123
msgid "Allocate Serial Numbers"
msgstr ""
-#: templates/js/translated/order.js:4235
+#: templates/js/translated/order.js:4232
msgid "Update Unit Price"
msgstr ""
-#: templates/js/translated/order.js:4249
+#: templates/js/translated/order.js:4246
msgid "No matching line items"
msgstr ""
-#: templates/js/translated/order.js:4480
+#: templates/js/translated/order.js:4463
msgid "No matching lines"
msgstr ""
-#: templates/js/translated/part.js:56
+#: templates/js/translated/part.js:52
msgid "Part Attributes"
msgstr ""
-#: templates/js/translated/part.js:60
+#: templates/js/translated/part.js:56
msgid "Part Creation Options"
msgstr ""
-#: templates/js/translated/part.js:64
+#: templates/js/translated/part.js:60
msgid "Part Duplication Options"
msgstr ""
-#: templates/js/translated/part.js:68
+#: templates/js/translated/part.js:64
msgid "Supplier Options"
msgstr ""
-#: templates/js/translated/part.js:82
+#: templates/js/translated/part.js:78
msgid "Add Part Category"
msgstr ""
-#: templates/js/translated/part.js:166
+#: templates/js/translated/part.js:162
msgid "Create Initial Stock"
msgstr ""
-#: templates/js/translated/part.js:167
+#: templates/js/translated/part.js:163
msgid "Create an initial stock item for this part"
msgstr ""
-#: templates/js/translated/part.js:174
+#: templates/js/translated/part.js:170
msgid "Initial Stock Quantity"
msgstr ""
-#: templates/js/translated/part.js:175
+#: templates/js/translated/part.js:171
msgid "Specify initial stock quantity for this part"
msgstr ""
-#: templates/js/translated/part.js:182
+#: templates/js/translated/part.js:178
msgid "Select destination stock location"
msgstr ""
-#: templates/js/translated/part.js:200
+#: templates/js/translated/part.js:196
msgid "Copy Category Parameters"
msgstr ""
-#: templates/js/translated/part.js:201
+#: templates/js/translated/part.js:197
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: templates/js/translated/part.js:209
+#: templates/js/translated/part.js:205
msgid "Add Supplier Data"
msgstr ""
-#: templates/js/translated/part.js:210
+#: templates/js/translated/part.js:206
msgid "Create initial supplier data for this part"
msgstr ""
-#: templates/js/translated/part.js:266
+#: templates/js/translated/part.js:262
msgid "Copy Image"
msgstr ""
-#: templates/js/translated/part.js:267
+#: templates/js/translated/part.js:263
msgid "Copy image from original part"
msgstr ""
-#: templates/js/translated/part.js:275
+#: templates/js/translated/part.js:271
msgid "Copy bill of materials from original part"
msgstr ""
-#: templates/js/translated/part.js:282
+#: templates/js/translated/part.js:278
msgid "Copy Parameters"
msgstr ""
-#: templates/js/translated/part.js:283
+#: templates/js/translated/part.js:279
msgid "Copy parameter data from original part"
msgstr ""
-#: templates/js/translated/part.js:296
+#: templates/js/translated/part.js:292
msgid "Parent part category"
msgstr ""
-#: templates/js/translated/part.js:306 templates/js/translated/stock.js:118
+#: templates/js/translated/part.js:302 templates/js/translated/stock.js:118
msgid "Icon (optional) - Explore all available icons on"
msgstr ""
-#: templates/js/translated/part.js:322
+#: templates/js/translated/part.js:318
msgid "Edit Part Category"
msgstr ""
-#: templates/js/translated/part.js:335
+#: templates/js/translated/part.js:331
msgid "Are you sure you want to delete this part category?"
msgstr ""
-#: templates/js/translated/part.js:337
-msgid "Any child categories will be moved to the parent of this category"
+#: templates/js/translated/part.js:336
+msgid "Move to parent category"
msgstr ""
-#: templates/js/translated/part.js:338
-msgid "Any parts in this category will be moved to the parent of this category"
-msgstr ""
-
-#: templates/js/translated/part.js:343
+#: templates/js/translated/part.js:345
msgid "Delete Part Category"
msgstr ""
-#: templates/js/translated/part.js:369
+#: templates/js/translated/part.js:349
+msgid "Action for parts in this category"
+msgstr ""
+
+#: templates/js/translated/part.js:354
+msgid "Action for child categories"
+msgstr ""
+
+#: templates/js/translated/part.js:383
msgid "Edit Part"
msgstr ""
-#: templates/js/translated/part.js:371
+#: templates/js/translated/part.js:385
msgid "Part edited"
msgstr ""
-#: templates/js/translated/part.js:382
+#: templates/js/translated/part.js:396
msgid "Create Part Variant"
msgstr ""
-#: templates/js/translated/part.js:434
+#: templates/js/translated/part.js:448
msgid "Active Part"
msgstr ""
-#: templates/js/translated/part.js:435
+#: templates/js/translated/part.js:449
msgid "Part cannot be deleted as it is currently active"
msgstr ""
-#: templates/js/translated/part.js:449
+#: templates/js/translated/part.js:463
msgid "Deleting this part cannot be reversed"
msgstr ""
-#: templates/js/translated/part.js:451
+#: templates/js/translated/part.js:465
msgid "Any stock items for this part will be deleted"
msgstr ""
-#: templates/js/translated/part.js:452
+#: templates/js/translated/part.js:466
msgid "This part will be removed from any Bills of Material"
msgstr ""
-#: templates/js/translated/part.js:453
+#: templates/js/translated/part.js:467
msgid "All manufacturer and supplier information for this part will be deleted"
msgstr ""
-#: templates/js/translated/part.js:460
+#: templates/js/translated/part.js:474
msgid "Delete Part"
msgstr ""
-#: templates/js/translated/part.js:496
+#: templates/js/translated/part.js:510
msgid "You are subscribed to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:498
+#: templates/js/translated/part.js:512
msgid "You have subscribed to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:503
+#: templates/js/translated/part.js:517
msgid "Subscribe to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:505
+#: templates/js/translated/part.js:519
msgid "You have unsubscribed to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:522
+#: templates/js/translated/part.js:536
msgid "Validating the BOM will mark each line item as valid"
msgstr ""
-#: templates/js/translated/part.js:532
+#: templates/js/translated/part.js:546
msgid "Validate Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:535
+#: templates/js/translated/part.js:549
msgid "Validated Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:560
+#: templates/js/translated/part.js:574
msgid "Copy Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:584 templates/js/translated/part.js:1521
-#: templates/js/translated/table_filters.js:476
+#: templates/js/translated/part.js:598 templates/js/translated/part.js:1532
+#: templates/js/translated/table_filters.js:480
msgid "Low stock"
msgstr ""
-#: templates/js/translated/part.js:594
+#: templates/js/translated/part.js:608
msgid "No stock available"
msgstr ""
-#: templates/js/translated/part.js:628 templates/js/translated/part.js:713
+#: templates/js/translated/part.js:642 templates/js/translated/part.js:727
msgid "Trackable part"
msgstr ""
-#: templates/js/translated/part.js:632 templates/js/translated/part.js:717
+#: templates/js/translated/part.js:646 templates/js/translated/part.js:731
msgid "Virtual part"
msgstr ""
-#: templates/js/translated/part.js:644
+#: templates/js/translated/part.js:658
msgid "Subscribed part"
msgstr ""
-#: templates/js/translated/part.js:648
+#: templates/js/translated/part.js:662
msgid "Salable part"
msgstr ""
-#: templates/js/translated/part.js:776
+#: templates/js/translated/part.js:800
msgid "No variants found"
msgstr ""
-#: templates/js/translated/part.js:1200
+#: templates/js/translated/part.js:1221
msgid "Delete part relationship"
msgstr ""
-#: templates/js/translated/part.js:1224
+#: templates/js/translated/part.js:1245
msgid "Delete Part Relationship"
msgstr ""
-#: templates/js/translated/part.js:1291 templates/js/translated/part.js:1609
+#: templates/js/translated/part.js:1312 templates/js/translated/part.js:1633
msgid "No parts found"
msgstr ""
-#: templates/js/translated/part.js:1488
+#: templates/js/translated/part.js:1499
msgid "No category"
msgstr ""
-#: templates/js/translated/part.js:1519
+#: templates/js/translated/part.js:1530
msgid "No stock"
msgstr ""
-#: templates/js/translated/part.js:1543
+#: templates/js/translated/part.js:1554
msgid "Allocated to build orders"
msgstr ""
-#: templates/js/translated/part.js:1547
+#: templates/js/translated/part.js:1558
msgid "Allocated to sales orders"
msgstr ""
-#: templates/js/translated/part.js:1633 templates/js/translated/part.js:1876
-#: templates/js/translated/stock.js:2349
+#: templates/js/translated/part.js:1657 templates/js/translated/part.js:1900
+#: templates/js/translated/stock.js:2367
msgid "Display as list"
msgstr ""
-#: templates/js/translated/part.js:1649
+#: templates/js/translated/part.js:1673
msgid "Display as grid"
msgstr ""
-#: templates/js/translated/part.js:1715
+#: templates/js/translated/part.js:1739
msgid "Set the part category for the selected parts"
msgstr ""
-#: templates/js/translated/part.js:1720
+#: templates/js/translated/part.js:1744
msgid "Set Part Category"
msgstr ""
-#: templates/js/translated/part.js:1725
+#: templates/js/translated/part.js:1749
msgid "Select Part Category"
msgstr ""
-#: templates/js/translated/part.js:1738
+#: templates/js/translated/part.js:1762
msgid "Category is required"
msgstr ""
-#: templates/js/translated/part.js:1896 templates/js/translated/stock.js:2369
+#: templates/js/translated/part.js:1920 templates/js/translated/stock.js:2387
msgid "Display as tree"
msgstr ""
-#: templates/js/translated/part.js:1976
+#: templates/js/translated/part.js:2000
msgid "Load Subcategories"
msgstr ""
-#: templates/js/translated/part.js:1992
+#: templates/js/translated/part.js:2016
msgid "Subscribed category"
msgstr ""
-#: templates/js/translated/part.js:2056
+#: templates/js/translated/part.js:2080
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:2107 templates/js/translated/stock.js:1299
+#: templates/js/translated/part.js:2131 templates/js/translated/stock.js:1318
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:2108 templates/js/translated/stock.js:1300
-#: templates/js/translated/stock.js:1560
+#: templates/js/translated/part.js:2132 templates/js/translated/stock.js:1319
+#: templates/js/translated/stock.js:1579
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:2114
+#: templates/js/translated/part.js:2138
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:2136
+#: templates/js/translated/part.js:2160
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2150
+#: templates/js/translated/part.js:2174
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2175
-#, python-brace-format
-msgid "No ${human_name} information found"
-msgstr ""
-
-#: templates/js/translated/part.js:2232
-#, python-brace-format
-msgid "Edit ${human_name}"
-msgstr ""
-
-#: templates/js/translated/part.js:2233
-#, python-brace-format
-msgid "Delete ${human_name}"
-msgstr ""
-
-#: templates/js/translated/part.js:2398 templates/js/translated/part.js:2399
+#: templates/js/translated/part.js:2255 templates/js/translated/part.js:2256
msgid "No date specified"
msgstr ""
-#: templates/js/translated/part.js:2401
+#: templates/js/translated/part.js:2258
msgid "Specified date is in the past"
msgstr ""
-#: templates/js/translated/part.js:2407
+#: templates/js/translated/part.js:2264
msgid "Speculative"
msgstr ""
-#: templates/js/translated/part.js:2457
+#: templates/js/translated/part.js:2314
msgid "No scheduling information available for this part"
msgstr ""
-#: templates/js/translated/part.js:2463
+#: templates/js/translated/part.js:2320
msgid "Error fetching scheduling information for this part"
msgstr ""
-#: templates/js/translated/part.js:2559
+#: templates/js/translated/part.js:2416
msgid "Scheduled Stock Quantities"
msgstr ""
-#: templates/js/translated/part.js:2575
+#: templates/js/translated/part.js:2432
msgid "Maximum Quantity"
msgstr ""
-#: templates/js/translated/part.js:2620
+#: templates/js/translated/part.js:2477
msgid "Minimum Stock Level"
msgstr ""
-#: templates/js/translated/part.js:2721
-msgid "Single Price"
-msgstr ""
-
-#: templates/js/translated/part.js:2740
-msgid "Single Price Difference"
-msgstr ""
-
#: templates/js/translated/plugin.js:23
msgid "The Plugin was installed"
msgstr ""
+#: templates/js/translated/pricing.js:54
+msgid "No BOM data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:196
+msgid "No supplier pricing data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:305
+msgid "No price break data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:361
+#, python-brace-format
+msgid "Edit ${human_name}"
+msgstr ""
+
+#: templates/js/translated/pricing.js:362
+#, python-brace-format
+msgid "Delete ${human_name}"
+msgstr ""
+
+#: templates/js/translated/pricing.js:480
+msgid "No purchase history data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:502
+msgid "Purchase Price History"
+msgstr ""
+
+#: templates/js/translated/pricing.js:602
+msgid "No sales history data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:624
+msgid "Sale Price History"
+msgstr ""
+
+#: templates/js/translated/pricing.js:708
+msgid "No variant data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:748
+msgid "Variant Part"
+msgstr ""
+
#: templates/js/translated/report.js:67
msgid "items selected"
msgstr ""
@@ -9855,364 +10177,364 @@ msgstr ""
msgid "Are you sure you want to delete this stock location?"
msgstr ""
-#: templates/js/translated/stock.js:175
-msgid "Any child locations will be moved to the parent of this location"
+#: templates/js/translated/stock.js:180
+msgid "Move to parent stock location"
msgstr ""
-#: templates/js/translated/stock.js:176
-msgid "Any stock items in this location will be moved to the parent of this location"
-msgstr ""
-
-#: templates/js/translated/stock.js:182
+#: templates/js/translated/stock.js:189
msgid "Delete Stock Location"
msgstr ""
-#: templates/js/translated/stock.js:227
+#: templates/js/translated/stock.js:193
+msgid "Action for stock items in this stock location"
+msgstr ""
+
+#: templates/js/translated/stock.js:198
+msgid "Action for sub-locations"
+msgstr ""
+
+#: templates/js/translated/stock.js:246
msgid "This part cannot be serialized"
msgstr ""
-#: templates/js/translated/stock.js:266
+#: templates/js/translated/stock.js:285
msgid "Enter initial quantity for this stock item"
msgstr ""
-#: templates/js/translated/stock.js:272
+#: templates/js/translated/stock.js:291
msgid "Enter serial numbers for new stock (or leave blank)"
msgstr ""
-#: templates/js/translated/stock.js:337
+#: templates/js/translated/stock.js:356
msgid "Stock item duplicated"
msgstr ""
-#: templates/js/translated/stock.js:357
+#: templates/js/translated/stock.js:376
msgid "Duplicate Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:373
+#: templates/js/translated/stock.js:392
msgid "Are you sure you want to delete this stock item?"
msgstr ""
-#: templates/js/translated/stock.js:378
+#: templates/js/translated/stock.js:397
msgid "Delete Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:399
+#: templates/js/translated/stock.js:418
msgid "Edit Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:449
+#: templates/js/translated/stock.js:468
msgid "Created new stock item"
msgstr ""
-#: templates/js/translated/stock.js:462
+#: templates/js/translated/stock.js:481
msgid "Created multiple stock items"
msgstr ""
-#: templates/js/translated/stock.js:487
+#: templates/js/translated/stock.js:506
msgid "Find Serial Number"
msgstr ""
-#: templates/js/translated/stock.js:491 templates/js/translated/stock.js:492
+#: templates/js/translated/stock.js:510 templates/js/translated/stock.js:511
msgid "Enter serial number"
msgstr ""
-#: templates/js/translated/stock.js:508
+#: templates/js/translated/stock.js:527
msgid "Enter a serial number"
msgstr ""
-#: templates/js/translated/stock.js:528
+#: templates/js/translated/stock.js:547
msgid "No matching serial number"
msgstr ""
-#: templates/js/translated/stock.js:537
+#: templates/js/translated/stock.js:556
msgid "More than one matching result found"
msgstr ""
-#: templates/js/translated/stock.js:660
+#: templates/js/translated/stock.js:679
msgid "Confirm stock assignment"
msgstr ""
-#: templates/js/translated/stock.js:661
+#: templates/js/translated/stock.js:680
msgid "Assign Stock to Customer"
msgstr ""
-#: templates/js/translated/stock.js:738
+#: templates/js/translated/stock.js:757
msgid "Warning: Merge operation cannot be reversed"
msgstr ""
-#: templates/js/translated/stock.js:739
+#: templates/js/translated/stock.js:758
msgid "Some information will be lost when merging stock items"
msgstr ""
-#: templates/js/translated/stock.js:741
+#: templates/js/translated/stock.js:760
msgid "Stock transaction history will be deleted for merged items"
msgstr ""
-#: templates/js/translated/stock.js:742
+#: templates/js/translated/stock.js:761
msgid "Supplier part information will be deleted for merged items"
msgstr ""
-#: templates/js/translated/stock.js:828
+#: templates/js/translated/stock.js:847
msgid "Confirm stock item merge"
msgstr ""
-#: templates/js/translated/stock.js:829
+#: templates/js/translated/stock.js:848
msgid "Merge Stock Items"
msgstr ""
-#: templates/js/translated/stock.js:924
+#: templates/js/translated/stock.js:943
msgid "Transfer Stock"
msgstr ""
-#: templates/js/translated/stock.js:925
+#: templates/js/translated/stock.js:944
msgid "Move"
msgstr ""
-#: templates/js/translated/stock.js:931
+#: templates/js/translated/stock.js:950
msgid "Count Stock"
msgstr ""
-#: templates/js/translated/stock.js:932
+#: templates/js/translated/stock.js:951
msgid "Count"
msgstr ""
-#: templates/js/translated/stock.js:936
+#: templates/js/translated/stock.js:955
msgid "Remove Stock"
msgstr ""
-#: templates/js/translated/stock.js:937
+#: templates/js/translated/stock.js:956
msgid "Take"
msgstr ""
-#: templates/js/translated/stock.js:941
+#: templates/js/translated/stock.js:960
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:942 users/models.py:218
+#: templates/js/translated/stock.js:961 users/models.py:220
msgid "Add"
msgstr ""
-#: templates/js/translated/stock.js:946
+#: templates/js/translated/stock.js:965
msgid "Delete Stock"
msgstr ""
-#: templates/js/translated/stock.js:1039
+#: templates/js/translated/stock.js:1058
msgid "Quantity cannot be adjusted for serialized stock"
msgstr ""
-#: templates/js/translated/stock.js:1039
+#: templates/js/translated/stock.js:1058
msgid "Specify stock quantity"
msgstr ""
-#: templates/js/translated/stock.js:1079
+#: templates/js/translated/stock.js:1098
msgid "You must select at least one available stock item"
msgstr ""
-#: templates/js/translated/stock.js:1102
+#: templates/js/translated/stock.js:1121
msgid "Confirm stock adjustment"
msgstr ""
-#: templates/js/translated/stock.js:1238
+#: templates/js/translated/stock.js:1257
msgid "PASS"
msgstr ""
-#: templates/js/translated/stock.js:1240
+#: templates/js/translated/stock.js:1259
msgid "FAIL"
msgstr ""
-#: templates/js/translated/stock.js:1245
+#: templates/js/translated/stock.js:1264
msgid "NO RESULT"
msgstr ""
-#: templates/js/translated/stock.js:1292
+#: templates/js/translated/stock.js:1311
msgid "Pass test"
msgstr ""
-#: templates/js/translated/stock.js:1295
+#: templates/js/translated/stock.js:1314
msgid "Add test result"
msgstr ""
-#: templates/js/translated/stock.js:1321
+#: templates/js/translated/stock.js:1340
msgid "No test results found"
msgstr ""
-#: templates/js/translated/stock.js:1378
+#: templates/js/translated/stock.js:1397
msgid "Test Date"
msgstr ""
-#: templates/js/translated/stock.js:1543
+#: templates/js/translated/stock.js:1562
msgid "Edit Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1565
+#: templates/js/translated/stock.js:1584
msgid "Delete Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1594
+#: templates/js/translated/stock.js:1613
msgid "In production"
msgstr ""
-#: templates/js/translated/stock.js:1598
+#: templates/js/translated/stock.js:1617
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:1606
+#: templates/js/translated/stock.js:1625
msgid "Assigned to Sales Order"
msgstr ""
-#: templates/js/translated/stock.js:1612
+#: templates/js/translated/stock.js:1631
msgid "No stock location set"
msgstr ""
-#: templates/js/translated/stock.js:1781
+#: templates/js/translated/stock.js:1800
msgid "Stock item is in production"
msgstr ""
-#: templates/js/translated/stock.js:1786
+#: templates/js/translated/stock.js:1805
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/translated/stock.js:1789
+#: templates/js/translated/stock.js:1808
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/translated/stock.js:1792
+#: templates/js/translated/stock.js:1811
msgid "Serialized stock item has been allocated"
msgstr ""
-#: templates/js/translated/stock.js:1794
+#: templates/js/translated/stock.js:1813
msgid "Stock item has been fully allocated"
msgstr ""
-#: templates/js/translated/stock.js:1796
+#: templates/js/translated/stock.js:1815
msgid "Stock item has been partially allocated"
msgstr ""
-#: templates/js/translated/stock.js:1799
+#: templates/js/translated/stock.js:1818
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:1803
+#: templates/js/translated/stock.js:1822
msgid "Stock item has expired"
msgstr ""
-#: templates/js/translated/stock.js:1805
+#: templates/js/translated/stock.js:1824
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/translated/stock.js:1812
+#: templates/js/translated/stock.js:1831
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/translated/stock.js:1814
+#: templates/js/translated/stock.js:1833
msgid "Stock item is lost"
msgstr ""
-#: templates/js/translated/stock.js:1816
+#: templates/js/translated/stock.js:1835
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/translated/stock.js:1820
-#: templates/js/translated/table_filters.js:204
+#: templates/js/translated/stock.js:1839
+#: templates/js/translated/table_filters.js:208
msgid "Depleted"
msgstr ""
-#: templates/js/translated/stock.js:1871
-msgid "Stocktake"
-msgstr ""
-
-#: templates/js/translated/stock.js:1950
+#: templates/js/translated/stock.js:1969
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/translated/stock.js:1988
+#: templates/js/translated/stock.js:2006
msgid "No stock items matching query"
msgstr ""
-#: templates/js/translated/stock.js:2161
+#: templates/js/translated/stock.js:2179
msgid "Set Stock Status"
msgstr ""
-#: templates/js/translated/stock.js:2175
+#: templates/js/translated/stock.js:2193
msgid "Select Status Code"
msgstr ""
-#: templates/js/translated/stock.js:2176
+#: templates/js/translated/stock.js:2194
msgid "Status code must be selected"
msgstr ""
-#: templates/js/translated/stock.js:2408
+#: templates/js/translated/stock.js:2426
msgid "Load Subloactions"
msgstr ""
-#: templates/js/translated/stock.js:2503
+#: templates/js/translated/stock.js:2521
msgid "Details"
msgstr ""
-#: templates/js/translated/stock.js:2519
+#: templates/js/translated/stock.js:2537
msgid "Part information unavailable"
msgstr ""
-#: templates/js/translated/stock.js:2541
+#: templates/js/translated/stock.js:2559
msgid "Location no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2560
+#: templates/js/translated/stock.js:2578
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2579
+#: templates/js/translated/stock.js:2597
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2597
+#: templates/js/translated/stock.js:2615
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2620
+#: templates/js/translated/stock.js:2638
msgid "Added"
msgstr ""
-#: templates/js/translated/stock.js:2628
+#: templates/js/translated/stock.js:2646
msgid "Removed"
msgstr ""
-#: templates/js/translated/stock.js:2704
+#: templates/js/translated/stock.js:2722
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:2755 templates/js/translated/stock.js:2791
+#: templates/js/translated/stock.js:2773 templates/js/translated/stock.js:2809
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2804
+#: templates/js/translated/stock.js:2822
msgid "Select stock item to uninstall"
msgstr ""
-#: templates/js/translated/stock.js:2825
+#: templates/js/translated/stock.js:2843
msgid "Install another stock item into this item"
msgstr ""
-#: templates/js/translated/stock.js:2826
+#: templates/js/translated/stock.js:2844
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: templates/js/translated/stock.js:2828
+#: templates/js/translated/stock.js:2846
msgid "The Stock Item links to a Part which is the BOM for this Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2829
+#: templates/js/translated/stock.js:2847
msgid "The Stock Item is currently available in stock"
msgstr ""
-#: templates/js/translated/stock.js:2830
+#: templates/js/translated/stock.js:2848
msgid "The Stock Item is not already installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:2831
+#: templates/js/translated/stock.js:2849
msgid "The Stock Item is tracked by either a batch code or serial number"
msgstr ""
-#: templates/js/translated/stock.js:2844
+#: templates/js/translated/stock.js:2862
msgid "Select part to install"
msgstr ""
@@ -10236,215 +10558,220 @@ msgstr ""
msgid "Allow Variant Stock"
msgstr ""
-#: templates/js/translated/table_filters.js:126
-#: templates/js/translated/table_filters.js:199
+#: templates/js/translated/table_filters.js:92
+#: templates/js/translated/table_filters.js:508
+msgid "Has Pricing"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:130
+#: templates/js/translated/table_filters.js:203
msgid "Include sublocations"
msgstr ""
-#: templates/js/translated/table_filters.js:127
+#: templates/js/translated/table_filters.js:131
msgid "Include locations"
msgstr ""
-#: templates/js/translated/table_filters.js:137
-#: templates/js/translated/table_filters.js:138
-#: templates/js/translated/table_filters.js:445
+#: templates/js/translated/table_filters.js:141
+#: templates/js/translated/table_filters.js:142
+#: templates/js/translated/table_filters.js:449
msgid "Include subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:142
-#: templates/js/translated/table_filters.js:488
+#: templates/js/translated/table_filters.js:146
+#: templates/js/translated/table_filters.js:492
msgid "Subscribed"
msgstr ""
-#: templates/js/translated/table_filters.js:152
-#: templates/js/translated/table_filters.js:234
-msgid "Is Serialized"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:155
-#: templates/js/translated/table_filters.js:241
-msgid "Serial number GTE"
-msgstr ""
-
#: templates/js/translated/table_filters.js:156
-#: templates/js/translated/table_filters.js:242
-msgid "Serial number greater than or equal to"
+#: templates/js/translated/table_filters.js:238
+msgid "Is Serialized"
msgstr ""
#: templates/js/translated/table_filters.js:159
#: templates/js/translated/table_filters.js:245
-msgid "Serial number LTE"
+msgid "Serial number GTE"
msgstr ""
#: templates/js/translated/table_filters.js:160
#: templates/js/translated/table_filters.js:246
-msgid "Serial number less than or equal to"
+msgid "Serial number greater than or equal to"
msgstr ""
#: templates/js/translated/table_filters.js:163
+#: templates/js/translated/table_filters.js:249
+msgid "Serial number LTE"
+msgstr ""
+
#: templates/js/translated/table_filters.js:164
-#: templates/js/translated/table_filters.js:237
-#: templates/js/translated/table_filters.js:238
+#: templates/js/translated/table_filters.js:250
+msgid "Serial number less than or equal to"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:167
+#: templates/js/translated/table_filters.js:168
+#: templates/js/translated/table_filters.js:241
+#: templates/js/translated/table_filters.js:242
msgid "Serial number"
msgstr ""
-#: templates/js/translated/table_filters.js:168
-#: templates/js/translated/table_filters.js:259
+#: templates/js/translated/table_filters.js:172
+#: templates/js/translated/table_filters.js:263
msgid "Batch code"
msgstr ""
-#: templates/js/translated/table_filters.js:179
-#: templates/js/translated/table_filters.js:417
+#: templates/js/translated/table_filters.js:183
+#: templates/js/translated/table_filters.js:421
msgid "Active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:180
+#: templates/js/translated/table_filters.js:184
msgid "Show stock for active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:185
+#: templates/js/translated/table_filters.js:189
msgid "Part is an assembly"
msgstr ""
-#: templates/js/translated/table_filters.js:189
+#: templates/js/translated/table_filters.js:193
msgid "Is allocated"
msgstr ""
-#: templates/js/translated/table_filters.js:190
+#: templates/js/translated/table_filters.js:194
msgid "Item has been allocated"
msgstr ""
-#: templates/js/translated/table_filters.js:195
+#: templates/js/translated/table_filters.js:199
msgid "Stock is available for use"
msgstr ""
-#: templates/js/translated/table_filters.js:200
+#: templates/js/translated/table_filters.js:204
msgid "Include stock in sublocations"
msgstr ""
-#: templates/js/translated/table_filters.js:205
+#: templates/js/translated/table_filters.js:209
msgid "Show stock items which are depleted"
msgstr ""
-#: templates/js/translated/table_filters.js:210
+#: templates/js/translated/table_filters.js:214
msgid "Show items which are in stock"
msgstr ""
-#: templates/js/translated/table_filters.js:214
+#: templates/js/translated/table_filters.js:218
msgid "In Production"
msgstr ""
-#: templates/js/translated/table_filters.js:215
+#: templates/js/translated/table_filters.js:219
msgid "Show items which are in production"
msgstr ""
-#: templates/js/translated/table_filters.js:219
+#: templates/js/translated/table_filters.js:223
msgid "Include Variants"
msgstr ""
-#: templates/js/translated/table_filters.js:220
+#: templates/js/translated/table_filters.js:224
msgid "Include stock items for variant parts"
msgstr ""
-#: templates/js/translated/table_filters.js:224
+#: templates/js/translated/table_filters.js:228
msgid "Installed"
msgstr ""
-#: templates/js/translated/table_filters.js:225
+#: templates/js/translated/table_filters.js:229
msgid "Show stock items which are installed in another item"
msgstr ""
-#: templates/js/translated/table_filters.js:230
+#: templates/js/translated/table_filters.js:234
msgid "Show items which have been assigned to a customer"
msgstr ""
-#: templates/js/translated/table_filters.js:250
-#: templates/js/translated/table_filters.js:251
+#: templates/js/translated/table_filters.js:254
+#: templates/js/translated/table_filters.js:255
msgid "Stock status"
msgstr ""
-#: templates/js/translated/table_filters.js:254
+#: templates/js/translated/table_filters.js:258
msgid "Has batch code"
msgstr ""
-#: templates/js/translated/table_filters.js:262
+#: templates/js/translated/table_filters.js:266
msgid "Tracked"
msgstr ""
-#: templates/js/translated/table_filters.js:263
+#: templates/js/translated/table_filters.js:267
msgid "Stock item is tracked by either batch code or serial number"
msgstr ""
-#: templates/js/translated/table_filters.js:268
+#: templates/js/translated/table_filters.js:272
msgid "Has purchase price"
msgstr ""
-#: templates/js/translated/table_filters.js:269
+#: templates/js/translated/table_filters.js:273
msgid "Show stock items which have a purchase price set"
msgstr ""
-#: templates/js/translated/table_filters.js:278
+#: templates/js/translated/table_filters.js:282
msgid "Show stock items which have expired"
msgstr ""
-#: templates/js/translated/table_filters.js:284
+#: templates/js/translated/table_filters.js:288
msgid "Show stock which is close to expiring"
msgstr ""
-#: templates/js/translated/table_filters.js:296
+#: templates/js/translated/table_filters.js:300
msgid "Test Passed"
msgstr ""
-#: templates/js/translated/table_filters.js:300
+#: templates/js/translated/table_filters.js:304
msgid "Include Installed Items"
msgstr ""
-#: templates/js/translated/table_filters.js:319
+#: templates/js/translated/table_filters.js:323
msgid "Build status"
msgstr ""
-#: templates/js/translated/table_filters.js:332
-#: templates/js/translated/table_filters.js:373
+#: templates/js/translated/table_filters.js:336
+#: templates/js/translated/table_filters.js:377
msgid "Assigned to me"
msgstr ""
-#: templates/js/translated/table_filters.js:349
-#: templates/js/translated/table_filters.js:360
-#: templates/js/translated/table_filters.js:390
+#: templates/js/translated/table_filters.js:353
+#: templates/js/translated/table_filters.js:364
+#: templates/js/translated/table_filters.js:394
msgid "Order status"
msgstr ""
-#: templates/js/translated/table_filters.js:365
-#: templates/js/translated/table_filters.js:382
-#: templates/js/translated/table_filters.js:395
+#: templates/js/translated/table_filters.js:369
+#: templates/js/translated/table_filters.js:386
+#: templates/js/translated/table_filters.js:399
msgid "Outstanding"
msgstr ""
-#: templates/js/translated/table_filters.js:446
+#: templates/js/translated/table_filters.js:450
msgid "Include parts in subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:451
+#: templates/js/translated/table_filters.js:455
msgid "Show active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:459
+#: templates/js/translated/table_filters.js:463
msgid "Available stock"
msgstr ""
-#: templates/js/translated/table_filters.js:467
+#: templates/js/translated/table_filters.js:471
msgid "Has IPN"
msgstr ""
-#: templates/js/translated/table_filters.js:468
+#: templates/js/translated/table_filters.js:472
msgid "Part has internal part number"
msgstr ""
-#: templates/js/translated/table_filters.js:472
+#: templates/js/translated/table_filters.js:476
msgid "In stock"
msgstr ""
-#: templates/js/translated/table_filters.js:480
+#: templates/js/translated/table_filters.js:484
msgid "Purchasable"
msgstr ""
@@ -10554,6 +10881,10 @@ msgstr ""
msgid "Show all notifications and history"
msgstr ""
+#: templates/price_data.html:7
+msgid "No data"
+msgstr ""
+
#: templates/qr_code.html:11
msgid "QR data not provided"
msgstr ""
@@ -10738,35 +11069,35 @@ msgstr ""
msgid "Important dates"
msgstr ""
-#: users/models.py:205
+#: users/models.py:207
msgid "Permission set"
msgstr ""
-#: users/models.py:213
+#: users/models.py:215
msgid "Group"
msgstr ""
-#: users/models.py:216
+#: users/models.py:218
msgid "View"
msgstr ""
-#: users/models.py:216
+#: users/models.py:218
msgid "Permission to view items"
msgstr ""
-#: users/models.py:218
+#: users/models.py:220
msgid "Permission to add items"
msgstr ""
-#: users/models.py:220
+#: users/models.py:222
msgid "Change"
msgstr ""
-#: users/models.py:220
+#: users/models.py:222
msgid "Permissions to edit items"
msgstr ""
-#: users/models.py:222
+#: users/models.py:224
msgid "Permission to delete items"
msgstr ""
diff --git a/InvenTree/locale/hu/LC_MESSAGES/django.po b/InvenTree/locale/hu/LC_MESSAGES/django.po
index 1b2fc92306..5b77b0de20 100644
--- a/InvenTree/locale/hu/LC_MESSAGES/django.po
+++ b/InvenTree/locale/hu/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-11-04 14:07+0000\n"
-"PO-Revision-Date: 2022-11-04 19:03\n"
+"POT-Creation-Date: 2022-11-14 04:59+0000\n"
+"PO-Revision-Date: 2022-11-14 14:51\n"
"Last-Translator: \n"
"Language-Team: Hungarian\n"
"Language: hu_HU\n"
@@ -17,7 +17,7 @@ msgstr ""
"X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n"
"X-Crowdin-File-ID: 154\n"
-#: InvenTree/api.py:54
+#: InvenTree/api.py:61
msgid "API endpoint not found"
msgstr "API funkciót nem találom"
@@ -25,27 +25,27 @@ msgstr "API funkciót nem találom"
msgid "Error details can be found in the admin panel"
msgstr "A hiba részleteit megtalálod az admin panelen"
-#: InvenTree/fields.py:120
+#: InvenTree/fields.py:129
msgid "Enter date"
msgstr "Dátum megadása"
-#: InvenTree/fields.py:195 build/serializers.py:387
-#: build/templates/build/sidebar.html:21 company/models.py:525
-#: company/templates/company/sidebar.html:25 order/models.py:920
+#: InvenTree/fields.py:204 build/serializers.py:387
+#: build/templates/build/sidebar.html:21 company/models.py:529
+#: company/templates/company/sidebar.html:25 order/models.py:943
#: order/templates/order/po_sidebar.html:11
-#: order/templates/order/so_sidebar.html:17
-#: part/templates/part/part_sidebar.html:59
+#: order/templates/order/so_sidebar.html:17 part/admin.py:27
+#: part/templates/part/part_sidebar.html:57
#: report/templates/report/inventree_build_order_base.html:172
-#: stock/models.py:2002 stock/models.py:2110 stock/serializers.py:327
-#: stock/serializers.py:460 stock/serializers.py:541 stock/serializers.py:827
-#: stock/serializers.py:926 stock/serializers.py:1058
+#: stock/admin.py:103 stock/models.py:2018 stock/models.py:2126
+#: stock/serializers.py:321 stock/serializers.py:454 stock/serializers.py:535
+#: stock/serializers.py:826 stock/serializers.py:925 stock/serializers.py:1057
#: stock/templates/stock/stock_sidebar.html:25
-#: templates/js/translated/barcode.js:108 templates/js/translated/bom.js:1146
-#: templates/js/translated/company.js:1022
-#: templates/js/translated/order.js:2404 templates/js/translated/order.js:2552
-#: templates/js/translated/order.js:3048 templates/js/translated/order.js:3999
-#: templates/js/translated/order.js:4394 templates/js/translated/stock.js:1374
-#: templates/js/translated/stock.js:1982
+#: templates/js/translated/barcode.js:108 templates/js/translated/bom.js:1211
+#: templates/js/translated/company.js:1023
+#: templates/js/translated/order.js:2427 templates/js/translated/order.js:2561
+#: templates/js/translated/order.js:3059 templates/js/translated/order.js:3996
+#: templates/js/translated/order.js:4377 templates/js/translated/stock.js:1393
+#: templates/js/translated/stock.js:2000
msgid "Notes"
msgstr "Megjegyzések"
@@ -122,43 +122,43 @@ msgstr "A kiszolgáló üres választ adott"
msgid "Supplied URL is not a valid image file"
msgstr "A megadott URL nem egy érvényes kép fájl"
-#: InvenTree/helpers.py:602 order/models.py:325 order/models.py:477
+#: InvenTree/helpers.py:589 order/models.py:329 order/models.py:496
msgid "Invalid quantity provided"
msgstr "Nem megfelelő mennyiség"
-#: InvenTree/helpers.py:610
+#: InvenTree/helpers.py:597
msgid "Empty serial number string"
msgstr "Üres sorozatszám"
-#: InvenTree/helpers.py:640
+#: InvenTree/helpers.py:627
msgid "Duplicate serial"
msgstr "Duplikált sorozatszám"
-#: InvenTree/helpers.py:673 InvenTree/helpers.py:708
+#: InvenTree/helpers.py:660 InvenTree/helpers.py:695
#, python-brace-format
msgid "Invalid group range: {g}"
msgstr "Érvénytelen csoport tartomány: {g}"
-#: InvenTree/helpers.py:702
+#: InvenTree/helpers.py:689
#, python-brace-format
msgid "Group range {g} exceeds allowed quantity ({q})"
msgstr "Több lett megadva {g} mint amennyi szükséges lenne ({q})"
-#: InvenTree/helpers.py:726 InvenTree/helpers.py:733 InvenTree/helpers.py:748
+#: InvenTree/helpers.py:713 InvenTree/helpers.py:720 InvenTree/helpers.py:735
#, python-brace-format
msgid "Invalid group sequence: {g}"
msgstr "Érvénytelen csoport szekvencia: {g}"
-#: InvenTree/helpers.py:758
+#: InvenTree/helpers.py:745
msgid "No serial numbers found"
msgstr "Nem található sorozatszám"
-#: InvenTree/helpers.py:761
+#: InvenTree/helpers.py:748
#, python-brace-format
msgid "Number of unique serial numbers ({s}) must match quantity ({q})"
msgstr "A megadott számú egyedi sorozatszám ({s}) meg kell egyezzen a darabszámmal ({q})"
-#: InvenTree/helpers.py:960
+#: InvenTree/helpers.py:947
msgid "Remove HTML tags from this value"
msgstr "HTML tag-ek eltávolítása ebből az értékből"
@@ -194,7 +194,7 @@ msgstr "Hiányzó fájl"
msgid "Missing external link"
msgstr "Hiányzó külső link"
-#: InvenTree/models.py:405 stock/models.py:2104
+#: InvenTree/models.py:405 stock/models.py:2120
#: templates/js/translated/attachment.js:103
#: templates/js/translated/attachment.js:241
msgid "Attachment"
@@ -204,18 +204,19 @@ msgstr "Melléklet"
msgid "Select file to attach"
msgstr "Válaszd ki a mellekelni kívánt fájlt"
-#: InvenTree/models.py:412 company/models.py:125 company/models.py:277
-#: company/models.py:512 order/models.py:84 order/models.py:1259
-#: part/models.py:816 part/templates/part/part_scheduling.html:11
+#: InvenTree/models.py:412 common/models.py:2313 company/models.py:129
+#: company/models.py:281 company/models.py:516 order/models.py:85
+#: order/models.py:1282 part/admin.py:25 part/models.py:835
+#: part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
-#: templates/js/translated/company.js:691
-#: templates/js/translated/company.js:1011
-#: templates/js/translated/order.js:3037 templates/js/translated/part.js:1569
+#: stock/admin.py:102 templates/js/translated/company.js:692
+#: templates/js/translated/company.js:1012
+#: templates/js/translated/order.js:3048 templates/js/translated/part.js:1593
msgid "Link"
msgstr "Link"
-#: InvenTree/models.py:413 build/models.py:290 part/models.py:817
-#: stock/models.py:660
+#: InvenTree/models.py:413 build/models.py:290 part/models.py:836
+#: stock/models.py:676
msgid "Link to external URL"
msgstr "Link külső URL-re"
@@ -228,12 +229,12 @@ msgstr "Megjegyzés"
msgid "File comment"
msgstr "Leírás, bővebb infó"
-#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1744
-#: common/models.py:1745 common/models.py:1968 common/models.py:1969
-#: common/models.py:2231 common/models.py:2232 part/models.py:2254
-#: part/models.py:2274 plugin/models.py:264 plugin/models.py:265
+#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1756
+#: common/models.py:1757 common/models.py:1980 common/models.py:1981
+#: common/models.py:2243 common/models.py:2244 part/models.py:2867
+#: part/models.py:2887 plugin/models.py:264 plugin/models.py:265
#: report/templates/report/inventree_test_report_base.html:96
-#: templates/js/translated/stock.js:2651
+#: templates/js/translated/stock.js:2669
msgid "User"
msgstr "Felhasználó"
@@ -270,44 +271,45 @@ msgstr "Hiba a fájl átnevezésekor"
msgid "Invalid choice"
msgstr "Érvénytelen választás"
-#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1954
-#: company/models.py:359 label/models.py:101 part/models.py:760
-#: part/models.py:2429 plugin/models.py:94 report/models.py:152
+#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1966
+#: company/models.py:363 label/models.py:101 part/models.py:779
+#: part/models.py:3042 plugin/models.py:94 report/models.py:152
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/plugin.html:60
#: templates/InvenTree/settings/plugin.html:104
#: templates/InvenTree/settings/plugin_settings.html:23
#: templates/InvenTree/settings/settings.html:344
-#: templates/js/translated/company.js:580
-#: templates/js/translated/company.js:793
+#: templates/js/translated/company.js:581
+#: templates/js/translated/company.js:794
#: templates/js/translated/notification.js:71
-#: templates/js/translated/part.js:686 templates/js/translated/part.js:838
-#: templates/js/translated/part.js:1964 templates/js/translated/stock.js:2396
+#: templates/js/translated/part.js:700 templates/js/translated/part.js:865
+#: templates/js/translated/part.js:1988 templates/js/translated/stock.js:2414
msgid "Name"
msgstr "Név"
#: InvenTree/models.py:564 build/models.py:163
-#: build/templates/build/detail.html:24 company/models.py:283
-#: company/models.py:518 company/templates/company/company_base.html:71
+#: build/templates/build/detail.html:24 company/models.py:287
+#: company/models.py:522 company/templates/company/company_base.html:71
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:108 label/models.py:108
-#: order/models.py:82 part/models.py:783 part/models.py:2438
-#: part/templates/part/category.html:75 part/templates/part/part_base.html:172
+#: order/models.py:83 part/admin.py:141 part/admin.py:222 part/models.py:802
+#: part/models.py:3051 part/templates/part/category.html:75
+#: part/templates/part/part_base.html:172
#: part/templates/part/part_scheduling.html:12 report/models.py:165
#: report/models.py:507 report/models.py:551
#: report/templates/report/inventree_build_order_base.html:117
-#: stock/templates/stock/location.html:117
+#: stock/admin.py:25 stock/templates/stock/location.html:117
#: templates/InvenTree/settings/plugin_settings.html:28
#: templates/InvenTree/settings/settings.html:355
-#: templates/js/translated/bom.js:579 templates/js/translated/bom.js:887
-#: templates/js/translated/build.js:2580 templates/js/translated/company.js:444
-#: templates/js/translated/company.js:702
-#: templates/js/translated/company.js:986 templates/js/translated/order.js:1988
-#: templates/js/translated/order.js:2220 templates/js/translated/order.js:2826
-#: templates/js/translated/part.js:745 templates/js/translated/part.js:1187
-#: templates/js/translated/part.js:1464 templates/js/translated/part.js:2000
-#: templates/js/translated/part.js:2075 templates/js/translated/stock.js:1748
-#: templates/js/translated/stock.js:2428 templates/js/translated/stock.js:2488
+#: templates/js/translated/bom.js:592 templates/js/translated/bom.js:895
+#: templates/js/translated/build.js:2580 templates/js/translated/company.js:445
+#: templates/js/translated/company.js:703
+#: templates/js/translated/company.js:987 templates/js/translated/order.js:2022
+#: templates/js/translated/order.js:2259 templates/js/translated/order.js:2837
+#: templates/js/translated/part.js:759 templates/js/translated/part.js:1208
+#: templates/js/translated/part.js:1475 templates/js/translated/part.js:2024
+#: templates/js/translated/part.js:2099 templates/js/translated/stock.js:1767
+#: templates/js/translated/stock.js:2446 templates/js/translated/stock.js:2506
msgid "Description"
msgstr "Leírás"
@@ -320,7 +322,7 @@ msgid "parent"
msgstr "szülő"
#: InvenTree/models.py:580 InvenTree/models.py:581
-#: templates/js/translated/part.js:2009 templates/js/translated/stock.js:2437
+#: templates/js/translated/part.js:2033 templates/js/translated/stock.js:2455
msgid "Path"
msgstr "Elérési út"
@@ -332,7 +334,7 @@ msgstr "Vonalkód adat"
msgid "Third party barcode data"
msgstr "Harmadik féltől származó vonalkód adat"
-#: InvenTree/models.py:688 order/serializers.py:486
+#: InvenTree/models.py:688 order/serializers.py:477
msgid "Barcode Hash"
msgstr "Vonalkód hash"
@@ -352,187 +354,187 @@ msgstr "Kiszolgálóhiba"
msgid "An error has been logged by the server."
msgstr "A kiszolgáló egy hibaüzenetet rögzített."
-#: InvenTree/serializers.py:58 part/models.py:2774
+#: InvenTree/serializers.py:58 part/models.py:3387
msgid "Must be a valid number"
msgstr "Érvényes számnak kell lennie"
-#: InvenTree/serializers.py:265
+#: InvenTree/serializers.py:266
msgid "Filename"
msgstr "Fájlnév"
-#: InvenTree/serializers.py:300
+#: InvenTree/serializers.py:301
msgid "Invalid value"
msgstr "Érvénytelen érték"
-#: InvenTree/serializers.py:322
+#: InvenTree/serializers.py:323
msgid "Data File"
msgstr "Adat fájl"
-#: InvenTree/serializers.py:323
+#: InvenTree/serializers.py:324
msgid "Select data file for upload"
msgstr "Fájl kiválasztása feltöltéshez"
-#: InvenTree/serializers.py:344
+#: InvenTree/serializers.py:345
msgid "Unsupported file type"
msgstr "Nem támogatott fájltípus"
-#: InvenTree/serializers.py:350
+#: InvenTree/serializers.py:351
msgid "File is too large"
msgstr "Fájl túl nagy"
-#: InvenTree/serializers.py:371
+#: InvenTree/serializers.py:372
msgid "No columns found in file"
msgstr "Nem találhatók oszlopok a fájlban"
-#: InvenTree/serializers.py:374
+#: InvenTree/serializers.py:375
msgid "No data rows found in file"
msgstr "Nincsenek adatsorok a fájlban"
-#: InvenTree/serializers.py:497
+#: InvenTree/serializers.py:498
msgid "No data rows provided"
msgstr "Nincs adatsor megadva"
-#: InvenTree/serializers.py:500
+#: InvenTree/serializers.py:501
msgid "No data columns supplied"
msgstr "Nincs adat oszlop megadva"
-#: InvenTree/serializers.py:577
+#: InvenTree/serializers.py:578
#, python-brace-format
msgid "Missing required column: '{name}'"
msgstr "Szükséges oszlop hiányzik: '{name}'"
-#: InvenTree/serializers.py:586
+#: InvenTree/serializers.py:587
#, python-brace-format
msgid "Duplicate column: '{col}'"
msgstr "Duplikált oszlop: '{col}'"
-#: InvenTree/serializers.py:605
+#: InvenTree/serializers.py:606
#: templates/InvenTree/settings/mixins/urls.html:14
msgid "URL"
msgstr "URL"
-#: InvenTree/serializers.py:606
+#: InvenTree/serializers.py:607
msgid "URL of remote image file"
msgstr "A távoli kép URL-je"
-#: InvenTree/serializers.py:620
+#: InvenTree/serializers.py:621
msgid "Downloading images from remote URL is not enabled"
msgstr "Képek letöltése távoli URL-ről nem engedélyezett"
-#: InvenTree/settings.py:621
+#: InvenTree/settings.py:627
msgid "Czech"
msgstr "Cseh"
-#: InvenTree/settings.py:622
+#: InvenTree/settings.py:628
msgid "Danish"
msgstr "Dán"
-#: InvenTree/settings.py:623
+#: InvenTree/settings.py:629
msgid "German"
msgstr "Német"
-#: InvenTree/settings.py:624
+#: InvenTree/settings.py:630
msgid "Greek"
msgstr "Görög"
-#: InvenTree/settings.py:625
+#: InvenTree/settings.py:631
msgid "English"
msgstr "Angol"
-#: InvenTree/settings.py:626
+#: InvenTree/settings.py:632
msgid "Spanish"
msgstr "Spanyol"
-#: InvenTree/settings.py:627
+#: InvenTree/settings.py:633
msgid "Spanish (Mexican)"
msgstr "Spanyol (Mexikói)"
-#: InvenTree/settings.py:628
+#: InvenTree/settings.py:634
msgid "Farsi / Persian"
msgstr "Fárszi/Perzsa"
-#: InvenTree/settings.py:629
+#: InvenTree/settings.py:635
msgid "French"
msgstr "Francia"
-#: InvenTree/settings.py:630
+#: InvenTree/settings.py:636
msgid "Hebrew"
msgstr "Héber"
-#: InvenTree/settings.py:631
+#: InvenTree/settings.py:637
msgid "Hungarian"
msgstr "Magyar"
-#: InvenTree/settings.py:632
+#: InvenTree/settings.py:638
msgid "Italian"
msgstr "Olasz"
-#: InvenTree/settings.py:633
+#: InvenTree/settings.py:639
msgid "Japanese"
msgstr "Japán"
-#: InvenTree/settings.py:634
+#: InvenTree/settings.py:640
msgid "Korean"
msgstr "Koreai"
-#: InvenTree/settings.py:635
+#: InvenTree/settings.py:641
msgid "Dutch"
msgstr "Holland"
-#: InvenTree/settings.py:636
+#: InvenTree/settings.py:642
msgid "Norwegian"
msgstr "Norvég"
-#: InvenTree/settings.py:637
+#: InvenTree/settings.py:643
msgid "Polish"
msgstr "Lengyel"
-#: InvenTree/settings.py:638
+#: InvenTree/settings.py:644
msgid "Portuguese"
msgstr "Portugál"
-#: InvenTree/settings.py:639
+#: InvenTree/settings.py:645
msgid "Portuguese (Brazilian)"
msgstr "Portugál (Brazíliai)"
-#: InvenTree/settings.py:640
+#: InvenTree/settings.py:646
msgid "Russian"
msgstr "Orosz"
-#: InvenTree/settings.py:641
+#: InvenTree/settings.py:647
msgid "Swedish"
msgstr "Svéd"
-#: InvenTree/settings.py:642
+#: InvenTree/settings.py:648
msgid "Thai"
msgstr "Tháj"
-#: InvenTree/settings.py:643
+#: InvenTree/settings.py:649
msgid "Turkish"
msgstr "Török"
-#: InvenTree/settings.py:644
+#: InvenTree/settings.py:650
msgid "Vietnamese"
msgstr "Vietnámi"
-#: InvenTree/settings.py:645
+#: InvenTree/settings.py:651
msgid "Chinese"
msgstr "Kínai"
-#: InvenTree/status.py:99
+#: InvenTree/status.py:98
msgid "Background worker check failed"
msgstr "Háttér folyamat ellenőrzés sikertelen"
-#: InvenTree/status.py:103
+#: InvenTree/status.py:102
msgid "Email backend not configured"
msgstr "Email backend nincs beállítva"
-#: InvenTree/status.py:106
+#: InvenTree/status.py:105
msgid "InvenTree system health checks failed"
msgstr "InvenTree rendszer állapotának ellenőrzése sikertelen"
#: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140
-#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:342
+#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:346
msgid "Pending"
msgstr "Függőben"
@@ -561,8 +563,8 @@ msgstr "Elveszett"
msgid "Returned"
msgstr "Visszaküldve"
-#: InvenTree/status_codes.py:141 order/models.py:1142
-#: templates/js/translated/order.js:3625 templates/js/translated/order.js:3974
+#: InvenTree/status_codes.py:141 order/models.py:1165
+#: templates/js/translated/order.js:3636 templates/js/translated/order.js:3971
msgid "Shipped"
msgstr "Kiszállítva"
@@ -646,7 +648,7 @@ msgstr "Szülő tételből szétválasztva"
msgid "Split child item"
msgstr "Szétválasztott gyermek tétel"
-#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2086
+#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2104
msgid "Merged stock items"
msgstr "Összevont készlet tétel"
@@ -654,7 +656,7 @@ msgstr "Összevont készlet tétel"
msgid "Converted to variant"
msgstr "Alkatrészváltozattá alakítva"
-#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:229
+#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:233
msgid "Sent to customer"
msgstr "Vevőnek elküldve"
@@ -746,7 +748,7 @@ msgstr "Gyártási utasítás"
#: build/models.py:111 build/templates/build/build_base.html:13
#: build/templates/build/index.html:8 build/templates/build/index.html:12
-#: order/templates/order/sales_order_detail.html:120
+#: order/templates/order/sales_order_detail.html:125
#: order/templates/order/so_sidebar.html:13
#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221
#: templates/InvenTree/search.html:141
@@ -759,15 +761,15 @@ msgstr "Gyártási utasítások"
msgid "Build Order Reference"
msgstr "Gyártási utasítás azonosító"
-#: build/models.py:155 order/models.py:240 order/models.py:632
-#: order/models.py:918 part/models.py:2684
+#: build/models.py:155 order/models.py:241 order/models.py:651
+#: order/models.py:941 part/admin.py:224 part/models.py:3297
#: part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:92
-#: templates/js/translated/bom.js:716 templates/js/translated/bom.js:897
-#: templates/js/translated/build.js:1843 templates/js/translated/order.js:2251
-#: templates/js/translated/order.js:2481 templates/js/translated/order.js:3818
-#: templates/js/translated/order.js:4323
+#: templates/js/translated/bom.js:729 templates/js/translated/bom.js:905
+#: templates/js/translated/build.js:1843 templates/js/translated/order.js:2290
+#: templates/js/translated/order.js:2508 templates/js/translated/order.js:3833
+#: templates/js/translated/order.js:4324 templates/js/translated/pricing.js:119
msgid "Reference"
msgstr "Azonosító"
@@ -785,39 +787,40 @@ msgid "BuildOrder to which this build is allocated"
msgstr "Gyártás, amihez ez a gyártás hozzá van rendelve"
#: build/models.py:180 build/templates/build/build_base.html:80
-#: build/templates/build/detail.html:29 company/models.py:680
-#: order/models.py:1015 order/models.py:1126 order/models.py:1127
-#: part/models.py:343 part/models.py:2200 part/models.py:2215
-#: part/models.py:2234 part/models.py:2252 part/models.py:2351
-#: part/models.py:2472 part/models.py:2564 part/models.py:2649
-#: part/models.py:2943 part/serializers.py:828
+#: build/templates/build/detail.html:29 company/models.py:684
+#: order/models.py:1038 order/models.py:1149 order/models.py:1150
+#: part/models.py:362 part/models.py:2700 part/models.py:2813
+#: part/models.py:2828 part/models.py:2847 part/models.py:2865
+#: part/models.py:2964 part/models.py:3085 part/models.py:3177
+#: part/models.py:3262 part/models.py:3578 part/serializers.py:852
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
#: report/templates/report/inventree_build_order_base.html:109
#: report/templates/report/inventree_po_report.html:89
-#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:86
-#: stock/serializers.py:494 templates/InvenTree/search.html:82
+#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:90
+#: stock/serializers.py:488 templates/InvenTree/search.html:82
#: templates/email/build_order_completed.html:17
#: templates/email/build_order_required_stock.html:17
#: templates/email/low_stock_notification.html:16
#: templates/email/overdue_build_order.html:16
-#: templates/js/translated/barcode.js:479 templates/js/translated/bom.js:578
-#: templates/js/translated/bom.js:715 templates/js/translated/bom.js:841
+#: templates/js/translated/barcode.js:479 templates/js/translated/bom.js:591
+#: templates/js/translated/bom.js:728 templates/js/translated/bom.js:849
#: templates/js/translated/build.js:1214 templates/js/translated/build.js:1711
#: templates/js/translated/build.js:2194 templates/js/translated/build.js:2585
-#: templates/js/translated/company.js:301
-#: templates/js/translated/company.js:531
-#: templates/js/translated/company.js:643
-#: templates/js/translated/company.js:904 templates/js/translated/order.js:106
-#: templates/js/translated/order.js:1134 templates/js/translated/order.js:1638
-#: templates/js/translated/order.js:2205 templates/js/translated/order.js:3180
-#: templates/js/translated/order.js:3576 templates/js/translated/order.js:3802
-#: templates/js/translated/part.js:1172 templates/js/translated/part.js:1244
-#: templates/js/translated/part.js:1442 templates/js/translated/stock.js:586
-#: templates/js/translated/stock.js:751 templates/js/translated/stock.js:958
-#: templates/js/translated/stock.js:1700 templates/js/translated/stock.js:2514
-#: templates/js/translated/stock.js:2709 templates/js/translated/stock.js:2843
+#: templates/js/translated/company.js:302
+#: templates/js/translated/company.js:532
+#: templates/js/translated/company.js:644
+#: templates/js/translated/company.js:905 templates/js/translated/order.js:106
+#: templates/js/translated/order.js:1168 templates/js/translated/order.js:1672
+#: templates/js/translated/order.js:2244 templates/js/translated/order.js:3191
+#: templates/js/translated/order.js:3587 templates/js/translated/order.js:3817
+#: templates/js/translated/part.js:1193 templates/js/translated/part.js:1265
+#: templates/js/translated/part.js:1452 templates/js/translated/pricing.js:102
+#: templates/js/translated/stock.js:605 templates/js/translated/stock.js:770
+#: templates/js/translated/stock.js:977 templates/js/translated/stock.js:1719
+#: templates/js/translated/stock.js:2532 templates/js/translated/stock.js:2727
+#: templates/js/translated/stock.js:2861
msgid "Part"
msgstr "Alkatrész"
@@ -834,7 +837,7 @@ msgid "SalesOrder to which this build is allocated"
msgstr "Vevői rendelés amihez ez a gyártás hozzá van rendelve"
#: build/models.py:202 build/serializers.py:822
-#: templates/js/translated/build.js:2182 templates/js/translated/order.js:3168
+#: templates/js/translated/build.js:2182 templates/js/translated/order.js:3179
msgid "Source Location"
msgstr "Forrás hely"
@@ -874,8 +877,8 @@ msgstr "Gyártási állapot"
msgid "Build status code"
msgstr "Gyártás státusz kód"
-#: build/models.py:245 build/serializers.py:224 order/serializers.py:464
-#: stock/models.py:664 templates/js/translated/order.js:1496
+#: build/models.py:245 build/serializers.py:224 order/serializers.py:455
+#: stock/models.py:680 templates/js/translated/order.js:1530
msgid "Batch Code"
msgstr "Batch kód"
@@ -883,12 +886,12 @@ msgstr "Batch kód"
msgid "Batch code for this build output"
msgstr "Batch kód a gyártás kimenetéhez"
-#: build/models.py:252 order/models.py:86 part/models.py:952
-#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2839
+#: build/models.py:252 order/models.py:87 part/models.py:971
+#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2850
msgid "Creation Date"
msgstr "Létrehozás dátuma"
-#: build/models.py:256 order/models.py:662
+#: build/models.py:256 order/models.py:681
msgid "Target completion date"
msgstr "Befejezés cél dátuma"
@@ -896,7 +899,7 @@ msgstr "Befejezés cél dátuma"
msgid "Target date for build completion. Build will be overdue after this date."
msgstr "Cél dátum a gyártás befejezéséhez. Ez után késettnek számít majd."
-#: build/models.py:260 order/models.py:291
+#: build/models.py:260 order/models.py:292
#: templates/js/translated/build.js:2662
msgid "Completion Date"
msgstr "Elkészítés dátuma"
@@ -914,11 +917,11 @@ msgid "User who issued this build order"
msgstr "Felhasználó aki ezt a gyártási utasítást kiállította"
#: build/models.py:283 build/templates/build/build_base.html:193
-#: build/templates/build/detail.html:115 order/models.py:100
+#: build/templates/build/detail.html:115 order/models.py:101
#: order/templates/order/order_base.html:185
-#: order/templates/order/sales_order_base.html:183 part/models.py:956
+#: order/templates/order/sales_order_base.html:183 part/models.py:975
#: report/templates/report/inventree_build_order_base.html:158
-#: templates/js/translated/build.js:2642 templates/js/translated/order.js:2022
+#: templates/js/translated/build.js:2642 templates/js/translated/order.js:2056
msgid "Responsible"
msgstr "Felelős"
@@ -929,7 +932,7 @@ msgstr "Felhasználó aki felelős ezért a gyártási utasításért"
#: build/models.py:289 build/templates/build/detail.html:101
#: company/templates/company/manufacturer_part.html:107
#: company/templates/company/supplier_part.html:188
-#: part/templates/part/part_base.html:361 stock/models.py:658
+#: part/templates/part/part_base.html:376 stock/models.py:674
#: stock/templates/stock/item_base.html:203
msgid "External Link"
msgstr "Külső link"
@@ -968,11 +971,11 @@ msgstr "Gyártási tételnek meg kell adnia a gyártási kimenetet, mivel a fő
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr "A lefoglalt mennyiség ({q}) nem lépheti túl a szabad készletet ({a})"
-#: build/models.py:1191 order/models.py:1393
+#: build/models.py:1191 order/models.py:1416
msgid "Stock item is over-allocated"
msgstr "Készlet túlfoglalva"
-#: build/models.py:1197 order/models.py:1396
+#: build/models.py:1197 order/models.py:1419
msgid "Allocation quantity must be greater than zero"
msgstr "Lefoglalt mennyiségnek nullánál többnek kell lennie"
@@ -994,18 +997,18 @@ msgstr "Gyártás"
msgid "Build to allocate parts"
msgstr "Gyártás amihez készletet foglaljunk"
-#: build/models.py:1346 build/serializers.py:663 order/serializers.py:1039
-#: order/serializers.py:1060 stock/serializers.py:398 stock/serializers.py:758
-#: stock/serializers.py:884 stock/templates/stock/item_base.html:10
+#: build/models.py:1346 build/serializers.py:663 order/serializers.py:1032
+#: order/serializers.py:1053 stock/serializers.py:392 stock/serializers.py:757
+#: stock/serializers.py:883 stock/templates/stock/item_base.html:10
#: stock/templates/stock/item_base.html:23
#: stock/templates/stock/item_base.html:197
#: templates/js/translated/build.js:790 templates/js/translated/build.js:795
#: templates/js/translated/build.js:2196 templates/js/translated/build.js:2747
-#: templates/js/translated/order.js:107 templates/js/translated/order.js:3181
-#: templates/js/translated/order.js:3483 templates/js/translated/order.js:3488
-#: templates/js/translated/order.js:3583 templates/js/translated/order.js:3675
-#: templates/js/translated/stock.js:587 templates/js/translated/stock.js:752
-#: templates/js/translated/stock.js:2587
+#: templates/js/translated/order.js:107 templates/js/translated/order.js:3192
+#: templates/js/translated/order.js:3494 templates/js/translated/order.js:3499
+#: templates/js/translated/order.js:3594 templates/js/translated/order.js:3686
+#: templates/js/translated/stock.js:606 templates/js/translated/stock.js:771
+#: templates/js/translated/stock.js:2605
msgid "Stock Item"
msgstr "Készlet tétel"
@@ -1015,12 +1018,10 @@ msgstr "Forrás készlet tétel"
#: build/models.py:1359 build/serializers.py:192
#: build/templates/build/build_base.html:85
-#: build/templates/build/detail.html:34 common/models.py:1776
-#: company/templates/company/supplier_part.html:341 order/models.py:911
-#: order/models.py:1437 order/serializers.py:1213
-#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:40
-#: part/models.py:2665 part/templates/part/detail.html:938
-#: part/templates/part/detail.html:1024
+#: build/templates/build/detail.html:34 common/models.py:1788
+#: order/models.py:934 order/models.py:1460 order/serializers.py:1206
+#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:223
+#: part/forms.py:40 part/models.py:3278
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_build_order_base.html:113
@@ -1028,25 +1029,29 @@ msgstr "Forrás készlet tétel"
#: report/templates/report/inventree_so_report.html:91
#: report/templates/report/inventree_test_report_base.html:81
#: report/templates/report/inventree_test_report_base.html:139
-#: stock/serializers.py:291 stock/templates/stock/item_base.html:290
+#: stock/admin.py:86 stock/serializers.py:285
+#: stock/templates/stock/item_base.html:290
#: stock/templates/stock/item_base.html:298
#: templates/email/build_order_completed.html:18
-#: templates/js/translated/barcode.js:481 templates/js/translated/bom.js:717
-#: templates/js/translated/bom.js:905 templates/js/translated/build.js:474
+#: templates/js/translated/barcode.js:481 templates/js/translated/bom.js:730
+#: templates/js/translated/bom.js:913 templates/js/translated/build.js:474
#: templates/js/translated/build.js:626 templates/js/translated/build.js:817
#: templates/js/translated/build.js:1236 templates/js/translated/build.js:1737
#: templates/js/translated/build.js:2197
+#: templates/js/translated/company.js:1159
#: templates/js/translated/model_renderers.js:120
-#: templates/js/translated/order.js:123 templates/js/translated/order.js:1137
-#: templates/js/translated/order.js:2257 templates/js/translated/order.js:2487
-#: templates/js/translated/order.js:3182 templates/js/translated/order.js:3502
-#: templates/js/translated/order.js:3589 templates/js/translated/order.js:3681
-#: templates/js/translated/order.js:3824 templates/js/translated/order.js:4329
-#: templates/js/translated/part.js:1036 templates/js/translated/part.js:2220
-#: templates/js/translated/part.js:2689 templates/js/translated/part.js:2730
-#: templates/js/translated/part.js:2808 templates/js/translated/stock.js:458
-#: templates/js/translated/stock.js:612 templates/js/translated/stock.js:782
-#: templates/js/translated/stock.js:2636 templates/js/translated/stock.js:2721
+#: templates/js/translated/order.js:123 templates/js/translated/order.js:1171
+#: templates/js/translated/order.js:2296 templates/js/translated/order.js:2514
+#: templates/js/translated/order.js:3193 templates/js/translated/order.js:3513
+#: templates/js/translated/order.js:3600 templates/js/translated/order.js:3692
+#: templates/js/translated/order.js:3839 templates/js/translated/order.js:4330
+#: templates/js/translated/part.js:1063 templates/js/translated/part.js:2546
+#: templates/js/translated/pricing.js:114
+#: templates/js/translated/pricing.js:207
+#: templates/js/translated/pricing.js:255
+#: templates/js/translated/pricing.js:349 templates/js/translated/stock.js:477
+#: templates/js/translated/stock.js:631 templates/js/translated/stock.js:801
+#: templates/js/translated/stock.js:2654 templates/js/translated/stock.js:2739
msgid "Quantity"
msgstr "Mennyiség"
@@ -1087,10 +1092,10 @@ msgstr "Ez a gyártási kimenet nincs teljesen lefoglalva"
msgid "Enter quantity for build output"
msgstr "Add meg a mennyiséget a gyártás kimenetéhez"
-#: build/serializers.py:207 build/serializers.py:683 order/models.py:323
-#: order/serializers.py:304 order/serializers.py:459 part/serializers.py:558
-#: part/serializers.py:991 stock/models.py:518 stock/models.py:1253
-#: stock/serializers.py:300
+#: build/serializers.py:207 build/serializers.py:683 order/models.py:327
+#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:644
+#: part/serializers.py:1015 stock/models.py:534 stock/models.py:1269
+#: stock/serializers.py:294
msgid "Quantity must be greater than zero"
msgstr "Mennyiségnek nullánál többnek kell lennie"
@@ -1102,9 +1107,9 @@ msgstr "Egész számú mennyiség szükséges az egyedi követésre kötelezett
msgid "Integer quantity required, as the bill of materials contains trackable parts"
msgstr "Egész számú mennyiség szükséges, mivel az alkatrészjegyzék egyedi követésre kötelezett alkatrészeket tartalmaz"
-#: build/serializers.py:231 order/serializers.py:472 order/serializers.py:1217
-#: stock/serializers.py:309 templates/js/translated/order.js:1507
-#: templates/js/translated/stock.js:271 templates/js/translated/stock.js:459
+#: build/serializers.py:231 order/serializers.py:463 order/serializers.py:1210
+#: stock/serializers.py:303 templates/js/translated/order.js:1541
+#: templates/js/translated/stock.js:290 templates/js/translated/stock.js:478
msgid "Serial Numbers"
msgstr "Sorozatszámok"
@@ -1120,7 +1125,7 @@ msgstr "Sorozatszámok automatikus hozzárendelése"
msgid "Automatically allocate required items with matching serial numbers"
msgstr "Szükséges tételek automatikus hozzárendelése a megfelelő sorozatszámokkal"
-#: build/serializers.py:281 stock/api.py:589
+#: build/serializers.py:281 stock/api.py:599
msgid "The following serial numbers already exist or are invalid"
msgstr "A következő sorozatszámok már léteznek vagy nem megfelelőek"
@@ -1128,18 +1133,18 @@ msgstr "A következő sorozatszámok már léteznek vagy nem megfelelőek"
msgid "A list of build outputs must be provided"
msgstr "A gyártási kimenetek listáját meg kell adni"
-#: build/serializers.py:369 order/serializers.py:445 order/serializers.py:556
-#: stock/serializers.py:320 stock/serializers.py:455 stock/serializers.py:536
-#: stock/serializers.py:919 stock/serializers.py:1152
+#: build/serializers.py:369 order/serializers.py:436 order/serializers.py:547
+#: stock/serializers.py:314 stock/serializers.py:449 stock/serializers.py:530
+#: stock/serializers.py:918 stock/serializers.py:1151
#: stock/templates/stock/item_base.html:388
#: templates/js/translated/barcode.js:480
#: templates/js/translated/barcode.js:724 templates/js/translated/build.js:802
-#: templates/js/translated/build.js:1749 templates/js/translated/order.js:1534
-#: templates/js/translated/order.js:3495 templates/js/translated/order.js:3600
-#: templates/js/translated/order.js:3608 templates/js/translated/order.js:3689
-#: templates/js/translated/part.js:181 templates/js/translated/stock.js:588
-#: templates/js/translated/stock.js:753 templates/js/translated/stock.js:960
-#: templates/js/translated/stock.js:1856 templates/js/translated/stock.js:2528
+#: templates/js/translated/build.js:1749 templates/js/translated/order.js:1568
+#: templates/js/translated/order.js:3506 templates/js/translated/order.js:3611
+#: templates/js/translated/order.js:3619 templates/js/translated/order.js:3700
+#: templates/js/translated/part.js:177 templates/js/translated/stock.js:607
+#: templates/js/translated/stock.js:772 templates/js/translated/stock.js:979
+#: templates/js/translated/stock.js:1875 templates/js/translated/stock.js:2546
msgid "Location"
msgstr "Hely"
@@ -1148,12 +1153,13 @@ msgid "Location for completed build outputs"
msgstr "A kész gyártási kimenetek helye"
#: build/serializers.py:376 build/templates/build/build_base.html:145
-#: build/templates/build/detail.html:62 order/models.py:651
-#: order/serializers.py:482 stock/templates/stock/item_base.html:421
+#: build/templates/build/detail.html:62 order/models.py:670
+#: order/serializers.py:473 stock/admin.py:89
+#: stock/templates/stock/item_base.html:421
#: templates/js/translated/barcode.js:214 templates/js/translated/build.js:2614
-#: templates/js/translated/order.js:1643 templates/js/translated/order.js:1992
-#: templates/js/translated/order.js:2831 templates/js/translated/stock.js:1831
-#: templates/js/translated/stock.js:2605 templates/js/translated/stock.js:2737
+#: templates/js/translated/order.js:1677 templates/js/translated/order.js:2026
+#: templates/js/translated/order.js:2842 templates/js/translated/stock.js:1850
+#: templates/js/translated/stock.js:2623 templates/js/translated/stock.js:2755
msgid "Status"
msgstr "Állapot"
@@ -1214,7 +1220,7 @@ msgstr "Fogadd el hogy a készlet tételek nincsenek teljesen lefoglalva ehhez a
msgid "Required stock has not been fully allocated"
msgstr "A szükséges készlet nem lett teljesen lefoglalva"
-#: build/serializers.py:545 order/serializers.py:208 order/serializers.py:1107
+#: build/serializers.py:545 order/serializers.py:202 order/serializers.py:1100
msgid "Accept Incomplete"
msgstr "Befejezetlenek elfogadása"
@@ -1230,8 +1236,8 @@ msgstr "Szükséges gyártási mennyiség nem lett elérve"
msgid "Build order has incomplete outputs"
msgstr "A gyártási utasítás befejezetlen kimeneteket tartalmaz"
-#: build/serializers.py:595 build/serializers.py:640 part/models.py:2801
-#: part/models.py:2935
+#: build/serializers.py:595 build/serializers.py:640 part/models.py:3414
+#: part/models.py:3570
msgid "BOM Item"
msgstr "Alkatrészjegyzék tétel"
@@ -1247,11 +1253,11 @@ msgstr "A gyártási kimenetnek ugyanarra a gyártásra kell mutatnia"
msgid "bom_item.part must point to the same part as the build order"
msgstr "bom_item.part ugyanarra az alkatrészre kell mutasson mint a gyártási utasítás"
-#: build/serializers.py:669 stock/serializers.py:771
+#: build/serializers.py:669 stock/serializers.py:770
msgid "Item must be in stock"
msgstr "A tételnek kell legyen készlete"
-#: build/serializers.py:727 order/serializers.py:1097
+#: build/serializers.py:727 order/serializers.py:1090
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr "Rendelkezésre álló mennyiség ({q}) túllépve"
@@ -1268,7 +1274,7 @@ msgstr "Gyártási kimenetet nem lehet megadni a követésre kötelezett alkatr
msgid "This stock item has already been allocated to this build output"
msgstr "Ez a készlet tétel már le lett foglalva ehhez a gyártási kimenethez"
-#: build/serializers.py:768 order/serializers.py:1381
+#: build/serializers.py:768 order/serializers.py:1374
msgid "Allocation items must be provided"
msgstr "A lefoglalandó tételeket meg kell adni"
@@ -1383,13 +1389,13 @@ msgid "Stock has not been fully allocated to this Build Order"
msgstr "Még nincs lefoglalva a szükséges készlet"
#: build/templates/build/build_base.html:154
-#: build/templates/build/detail.html:131 order/models.py:924
+#: build/templates/build/detail.html:131 order/models.py:947
#: order/templates/order/order_base.html:171
#: order/templates/order/sales_order_base.html:164
#: report/templates/report/inventree_build_order_base.html:125
-#: templates/js/translated/build.js:2654 templates/js/translated/order.js:2009
-#: templates/js/translated/order.js:2351 templates/js/translated/order.js:2847
-#: templates/js/translated/order.js:3887 templates/js/translated/part.js:1051
+#: templates/js/translated/build.js:2654 templates/js/translated/order.js:2043
+#: templates/js/translated/order.js:2374 templates/js/translated/order.js:2858
+#: templates/js/translated/order.js:3884 templates/js/translated/part.js:1078
msgid "Target Date"
msgstr "Cél dátum"
@@ -1402,29 +1408,29 @@ msgstr "Ez a gyártás %(target)s-n volt esedékes"
#: build/templates/build/build_base.html:204
#: order/templates/order/order_base.html:107
#: order/templates/order/sales_order_base.html:94
-#: templates/js/translated/table_filters.js:328
-#: templates/js/translated/table_filters.js:369
-#: templates/js/translated/table_filters.js:399
+#: templates/js/translated/table_filters.js:332
+#: templates/js/translated/table_filters.js:373
+#: templates/js/translated/table_filters.js:403
msgid "Overdue"
msgstr "Késésben"
#: build/templates/build/build_base.html:166
#: build/templates/build/detail.html:67 build/templates/build/detail.html:142
#: order/templates/order/sales_order_base.html:171
-#: templates/js/translated/table_filters.js:408
+#: templates/js/translated/table_filters.js:412
msgid "Completed"
msgstr "Kész"
#: build/templates/build/build_base.html:179
-#: build/templates/build/detail.html:94 order/models.py:1119
-#: order/models.py:1213 order/models.py:1344
+#: build/templates/build/detail.html:94 order/models.py:1142
+#: order/models.py:1236 order/models.py:1367
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
#: report/templates/report/inventree_build_order_base.html:135
#: report/templates/report/inventree_so_report.html:77
#: stock/templates/stock/item_base.html:368
#: templates/email/overdue_sales_order.html:15
-#: templates/js/translated/order.js:2793
+#: templates/js/translated/order.js:2804 templates/js/translated/pricing.js:637
msgid "Sales Order"
msgstr "Vevői rendelés"
@@ -1450,8 +1456,8 @@ msgstr "Készlet forrás"
msgid "Stock can be taken from any available location."
msgstr "Készlet bármely rendelkezésre álló helyről felhasználható."
-#: build/templates/build/detail.html:49 order/models.py:1037
-#: templates/js/translated/order.js:1644 templates/js/translated/order.js:2393
+#: build/templates/build/detail.html:49 order/models.py:1060
+#: templates/js/translated/order.js:1678 templates/js/translated/order.js:2416
msgid "Destination"
msgstr "Cél"
@@ -1463,14 +1469,14 @@ msgstr "A cél hely nincs megadva"
msgid "Allocated Parts"
msgstr "Lefoglalt alkatrészek"
-#: build/templates/build/detail.html:80
+#: build/templates/build/detail.html:80 stock/admin.py:88
#: stock/templates/stock/item_base.html:168
#: templates/js/translated/build.js:1240
#: templates/js/translated/model_renderers.js:124
-#: templates/js/translated/stock.js:1026 templates/js/translated/stock.js:1845
-#: templates/js/translated/stock.js:2744
-#: templates/js/translated/table_filters.js:167
-#: templates/js/translated/table_filters.js:258
+#: templates/js/translated/stock.js:1045 templates/js/translated/stock.js:1864
+#: templates/js/translated/stock.js:2762
+#: templates/js/translated/table_filters.js:171
+#: templates/js/translated/table_filters.js:262
msgid "Batch"
msgstr "Batch"
@@ -1528,7 +1534,7 @@ msgstr "Szükséges alkatrészek rendelése"
#: build/templates/build/detail.html:187
#: company/templates/company/detail.html:37
#: company/templates/company/detail.html:85
-#: part/templates/part/category.html:178 templates/js/translated/order.js:1177
+#: part/templates/part/category.html:178 templates/js/translated/order.js:1211
msgid "Order Parts"
msgstr "Alkatrész rendelés"
@@ -1598,10 +1604,10 @@ msgstr "Befejezett gyártási kimenetek"
#: company/templates/company/manufacturer_part.html:151
#: company/templates/company/manufacturer_part_sidebar.html:9
#: order/templates/order/po_sidebar.html:9
-#: order/templates/order/purchase_order_detail.html:82
-#: order/templates/order/sales_order_detail.html:135
-#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:212
-#: part/templates/part/part_sidebar.html:57 stock/templates/stock/item.html:117
+#: order/templates/order/purchase_order_detail.html:86
+#: order/templates/order/sales_order_detail.html:140
+#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:210
+#: part/templates/part/part_sidebar.html:55 stock/templates/stock/item.html:117
#: stock/templates/stock/stock_sidebar.html:23
msgid "Attachments"
msgstr "Mellékletek"
@@ -1618,7 +1624,7 @@ msgstr "Lefoglalás kész"
msgid "All untracked stock items have been allocated"
msgstr "A szükséges készlet már mind le lett foglalva"
-#: build/templates/build/index.html:18 part/templates/part/detail.html:318
+#: build/templates/build/index.html:18 part/templates/part/detail.html:316
msgid "New Build Order"
msgstr "Új gyártási utasítás"
@@ -1735,7 +1741,7 @@ msgstr "Verzió infók megjelenítésének tiltása"
msgid "Show the `about` modal only to superusers"
msgstr "Verzió infók megjelenítése csak admin felhasználóknak"
-#: common/models.py:833 company/models.py:94 company/models.py:95
+#: common/models.py:833 company/models.py:98 company/models.py:99
msgid "Company name"
msgstr "Cég neve"
@@ -1903,9 +1909,9 @@ msgstr "Kategória paraméter sablonok másolása"
msgid "Copy category parameter templates when creating a part"
msgstr "Kategória paraméter sablonok másolása alkatrész létrehozásakor"
-#: common/models.py:1002 part/models.py:2474 report/models.py:158
-#: templates/js/translated/table_filters.js:38
-#: templates/js/translated/table_filters.js:492
+#: common/models.py:1002 part/admin.py:41 part/models.py:3087
+#: report/models.py:158 templates/js/translated/table_filters.js:38
+#: templates/js/translated/table_filters.js:496
msgid "Template"
msgstr "Sablon"
@@ -1913,9 +1919,10 @@ msgstr "Sablon"
msgid "Parts are templates by default"
msgstr "Alkatrészek alapból sablon alkatrészek legyenek"
-#: common/models.py:1009 part/models.py:908 templates/js/translated/bom.js:1531
-#: templates/js/translated/table_filters.js:184
-#: templates/js/translated/table_filters.js:455
+#: common/models.py:1009 part/admin.py:37 part/admin.py:229 part/models.py:927
+#: templates/js/translated/bom.js:1594
+#: templates/js/translated/table_filters.js:188
+#: templates/js/translated/table_filters.js:459
msgid "Assembly"
msgstr "Gyártmány"
@@ -1923,8 +1930,8 @@ msgstr "Gyártmány"
msgid "Parts can be assembled from other components by default"
msgstr "Alkatrészeket alapból lehessen gyártani másik alkatrészekből"
-#: common/models.py:1016 part/models.py:914
-#: templates/js/translated/table_filters.js:463
+#: common/models.py:1016 part/admin.py:38 part/models.py:933
+#: templates/js/translated/table_filters.js:467
msgid "Component"
msgstr "Összetevő"
@@ -1932,7 +1939,7 @@ msgstr "Összetevő"
msgid "Parts can be used as sub-components by default"
msgstr "Alkatrészek alapból használhatók összetevőként más alkatrészekhez"
-#: common/models.py:1023 part/models.py:925
+#: common/models.py:1023 part/admin.py:39 part/models.py:944
msgid "Purchaseable"
msgstr "Beszerezhető"
@@ -1940,8 +1947,8 @@ msgstr "Beszerezhető"
msgid "Parts are purchaseable by default"
msgstr "Alkatrészek alapból beszerezhetők legyenek"
-#: common/models.py:1030 part/models.py:930
-#: templates/js/translated/table_filters.js:484
+#: common/models.py:1030 part/admin.py:40 part/models.py:949
+#: templates/js/translated/table_filters.js:488
msgid "Salable"
msgstr "Értékesíthető"
@@ -1949,10 +1956,10 @@ msgstr "Értékesíthető"
msgid "Parts are salable by default"
msgstr "Alkatrészek alapból eladhatók legyenek"
-#: common/models.py:1037 part/models.py:920
+#: common/models.py:1037 part/admin.py:42 part/models.py:939
#: templates/js/translated/table_filters.js:46
-#: templates/js/translated/table_filters.js:116
-#: templates/js/translated/table_filters.js:496
+#: templates/js/translated/table_filters.js:120
+#: templates/js/translated/table_filters.js:500
msgid "Trackable"
msgstr "Követésre kötelezett"
@@ -1960,10 +1967,10 @@ msgstr "Követésre kötelezett"
msgid "Parts are trackable by default"
msgstr "Alkatrészek alapból követésre kötelezettek legyenek"
-#: common/models.py:1044 part/models.py:940
+#: common/models.py:1044 part/admin.py:43 part/models.py:959
#: part/templates/part/part_base.html:156
#: templates/js/translated/table_filters.js:42
-#: templates/js/translated/table_filters.js:500
+#: templates/js/translated/table_filters.js:504
msgid "Virtual"
msgstr "Virtuális"
@@ -1980,791 +1987,837 @@ msgid "Display the import wizard in some part views"
msgstr "Import segéd megjelenítése néhány alkatrész nézetben"
#: common/models.py:1058
-msgid "Show Price in Forms"
-msgstr "Ár megjelenítése a formokon"
-
-#: common/models.py:1059
-msgid "Display part price in some forms"
-msgstr "Alkatrész árak megjelenítése néhány formon"
-
-#: common/models.py:1070
-msgid "Show Price in BOM"
-msgstr "Ár megjelenítése az alkatrészjegyzékben"
-
-#: common/models.py:1071
-msgid "Include pricing information in BOM tables"
-msgstr "Árinformációk megjelenítése az alkatrészjegyzék táblákban"
-
-#: common/models.py:1082
-msgid "Show Price History"
-msgstr "Ártörténet megjelenítése"
-
-#: common/models.py:1083
-msgid "Display historical pricing for Part"
-msgstr "Alkatrész ártörténet megjelenítése"
-
-#: common/models.py:1089
msgid "Show related parts"
msgstr "Kapcsolódó alkatrészek megjelenítése"
-#: common/models.py:1090
+#: common/models.py:1059
msgid "Display related parts for a part"
msgstr "Alkatrész kapcsolódó alkatrészeinek megjelenítése"
-#: common/models.py:1096
+#: common/models.py:1065
msgid "Create initial stock"
msgstr "Kezdeti készlet létrehozása"
-#: common/models.py:1097
+#: common/models.py:1066
msgid "Create initial stock on part creation"
msgstr "Kezdeti készlet megadása az alkatrész létrehozásakor"
-#: common/models.py:1103
-msgid "Internal Prices"
-msgstr "Belső árak"
-
-#: common/models.py:1104
-msgid "Enable internal prices for parts"
-msgstr "Alkatrészekhez belső ár engedélyezése"
-
-#: common/models.py:1110
-msgid "Internal Price as BOM-Price"
-msgstr "Belső ár alkatrészjegyzék árként"
-
-#: common/models.py:1111
-msgid "Use the internal price (if set) in BOM-price calculations"
-msgstr "Belső ár használata (ha van) az alkatrészjegyzék árszámításában"
-
-#: common/models.py:1117
+#: common/models.py:1072
msgid "Part Name Display Format"
msgstr "Alkatrész név megjelenítés formátuma"
-#: common/models.py:1118
+#: common/models.py:1073
msgid "Format to display the part name"
msgstr "Formátum az alkatrész név megjelenítéséhez"
-#: common/models.py:1125
+#: common/models.py:1080
msgid "Part Category Default Icon"
msgstr "Alkatrész kategória alapértelmezett ikon"
-#: common/models.py:1126
+#: common/models.py:1081
msgid "Part category default icon (empty means no icon)"
msgstr "Alkatrész kategória alapértelmezett ikon (üres ha nincs)"
-#: common/models.py:1131
-msgid "Enable label printing"
-msgstr "Címke nyomtatás engedélyezése"
+#: common/models.py:1086
+msgid "Pricing Decimal Places"
+msgstr ""
-#: common/models.py:1132
-msgid "Enable label printing from the web interface"
-msgstr "Címke nyomtatás engedélyezése a web felületről"
+#: common/models.py:1087
+msgid "Number of decimal places to display when rendering pricing data"
+msgstr ""
-#: common/models.py:1138
-msgid "Label Image DPI"
-msgstr "Címke kép DPI"
+#: common/models.py:1097
+msgid "Pricing Rebuild Time"
+msgstr ""
-#: common/models.py:1139
-msgid "DPI resolution when generating image files to supply to label printing plugins"
-msgstr "Képek felbontása amik átadásra kerülnek címkenyomtató pluginoknak"
+#: common/models.py:1098
+msgid "Number of days before part pricing is automatically updated"
+msgstr ""
-#: common/models.py:1148
-msgid "Enable Reports"
-msgstr "Riportok engedélyezése"
-
-#: common/models.py:1149
-msgid "Enable generation of reports"
-msgstr "Riportok előállításának engedélyezése"
-
-#: common/models.py:1155 templates/stats.html:25
-msgid "Debug Mode"
-msgstr "Debug mód"
-
-#: common/models.py:1156
-msgid "Generate reports in debug mode (HTML output)"
-msgstr "Riportok előállítása HTML formátumban (hibakereséshez)"
-
-#: common/models.py:1162
-msgid "Page Size"
-msgstr "Lapméret"
-
-#: common/models.py:1163
-msgid "Default page size for PDF reports"
-msgstr "Alapértelmezett lapméret a PDF riportokhoz"
-
-#: common/models.py:1173
-msgid "Enable Test Reports"
-msgstr "Teszt riportok engedélyezése"
-
-#: common/models.py:1174
-msgid "Enable generation of test reports"
-msgstr "Teszt riportok előállításának engedélyezése"
-
-#: common/models.py:1180
-msgid "Attach Test Reports"
-msgstr "Teszt riportok hozzáadása"
-
-#: common/models.py:1181
-msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item"
-msgstr "Teszt riport nyomtatáskor egy másolat hozzáadása a készlet tételhez"
-
-#: common/models.py:1187
-msgid "Globally Unique Serials"
-msgstr "Globálisan egyedi sorozatszámok"
-
-#: common/models.py:1188
-msgid "Serial numbers for stock items must be globally unique"
-msgstr "A sorozatszámoknak egyedinek kell lennie a teljes készletre vonatkozóan"
-
-#: common/models.py:1194
-msgid "Batch Code Template"
-msgstr "Batch kód sablon"
-
-#: common/models.py:1195
-msgid "Template for generating default batch codes for stock items"
-msgstr "Sablon a készlet tételekhez alapértelmezett batch kódok előállításához"
-
-#: common/models.py:1200
-msgid "Stock Expiry"
-msgstr "Készlet lejárata"
-
-#: common/models.py:1201
-msgid "Enable stock expiry functionality"
-msgstr "Készlet lejárat kezelésének engedélyezése"
-
-#: common/models.py:1207
-msgid "Sell Expired Stock"
-msgstr "Lejárt készlet értékesítése"
-
-#: common/models.py:1208
-msgid "Allow sale of expired stock"
-msgstr "Lejárt készlet értékesítésének engedélyezése"
-
-#: common/models.py:1214
-msgid "Stock Stale Time"
-msgstr "Álló készlet ideje"
-
-#: common/models.py:1215
-msgid "Number of days stock items are considered stale before expiring"
-msgstr "Napok száma amennyivel a lejárat előtt a készlet tételeket állottnak vesszük"
-
-#: common/models.py:1217
+#: common/models.py:1099 common/models.py:1208
msgid "days"
msgstr "nap"
-#: common/models.py:1222
+#: common/models.py:1108
+msgid "Internal Prices"
+msgstr "Belső árak"
+
+#: common/models.py:1109
+msgid "Enable internal prices for parts"
+msgstr "Alkatrészekhez belső ár engedélyezése"
+
+#: common/models.py:1115
+msgid "Internal Price Override"
+msgstr ""
+
+#: common/models.py:1116
+msgid "If available, internal prices override price range calculations"
+msgstr ""
+
+#: common/models.py:1122
+msgid "Enable label printing"
+msgstr "Címke nyomtatás engedélyezése"
+
+#: common/models.py:1123
+msgid "Enable label printing from the web interface"
+msgstr "Címke nyomtatás engedélyezése a web felületről"
+
+#: common/models.py:1129
+msgid "Label Image DPI"
+msgstr "Címke kép DPI"
+
+#: common/models.py:1130
+msgid "DPI resolution when generating image files to supply to label printing plugins"
+msgstr "Képek felbontása amik átadásra kerülnek címkenyomtató pluginoknak"
+
+#: common/models.py:1139
+msgid "Enable Reports"
+msgstr "Riportok engedélyezése"
+
+#: common/models.py:1140
+msgid "Enable generation of reports"
+msgstr "Riportok előállításának engedélyezése"
+
+#: common/models.py:1146 templates/stats.html:25
+msgid "Debug Mode"
+msgstr "Debug mód"
+
+#: common/models.py:1147
+msgid "Generate reports in debug mode (HTML output)"
+msgstr "Riportok előállítása HTML formátumban (hibakereséshez)"
+
+#: common/models.py:1153
+msgid "Page Size"
+msgstr "Lapméret"
+
+#: common/models.py:1154
+msgid "Default page size for PDF reports"
+msgstr "Alapértelmezett lapméret a PDF riportokhoz"
+
+#: common/models.py:1164
+msgid "Enable Test Reports"
+msgstr "Teszt riportok engedélyezése"
+
+#: common/models.py:1165
+msgid "Enable generation of test reports"
+msgstr "Teszt riportok előállításának engedélyezése"
+
+#: common/models.py:1171
+msgid "Attach Test Reports"
+msgstr "Teszt riportok hozzáadása"
+
+#: common/models.py:1172
+msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item"
+msgstr "Teszt riport nyomtatáskor egy másolat hozzáadása a készlet tételhez"
+
+#: common/models.py:1178
+msgid "Globally Unique Serials"
+msgstr "Globálisan egyedi sorozatszámok"
+
+#: common/models.py:1179
+msgid "Serial numbers for stock items must be globally unique"
+msgstr "A sorozatszámoknak egyedinek kell lennie a teljes készletre vonatkozóan"
+
+#: common/models.py:1185
+msgid "Batch Code Template"
+msgstr "Batch kód sablon"
+
+#: common/models.py:1186
+msgid "Template for generating default batch codes for stock items"
+msgstr "Sablon a készlet tételekhez alapértelmezett batch kódok előállításához"
+
+#: common/models.py:1191
+msgid "Stock Expiry"
+msgstr "Készlet lejárata"
+
+#: common/models.py:1192
+msgid "Enable stock expiry functionality"
+msgstr "Készlet lejárat kezelésének engedélyezése"
+
+#: common/models.py:1198
+msgid "Sell Expired Stock"
+msgstr "Lejárt készlet értékesítése"
+
+#: common/models.py:1199
+msgid "Allow sale of expired stock"
+msgstr "Lejárt készlet értékesítésének engedélyezése"
+
+#: common/models.py:1205
+msgid "Stock Stale Time"
+msgstr "Álló készlet ideje"
+
+#: common/models.py:1206
+msgid "Number of days stock items are considered stale before expiring"
+msgstr "Napok száma amennyivel a lejárat előtt a készlet tételeket állottnak vesszük"
+
+#: common/models.py:1213
msgid "Build Expired Stock"
msgstr "Lejárt készlet gyártása"
-#: common/models.py:1223
+#: common/models.py:1214
msgid "Allow building with expired stock"
msgstr "Gyártás engedélyezése lejárt készletből"
-#: common/models.py:1229
+#: common/models.py:1220
msgid "Stock Ownership Control"
msgstr "Készlet tulajdonosok kezelése"
-#: common/models.py:1230
+#: common/models.py:1221
msgid "Enable ownership control over stock locations and items"
msgstr "Tuajdonosok kezelésének engedélyezése a készlet helyekre és tételekre"
-#: common/models.py:1236
+#: common/models.py:1227
msgid "Stock Location Default Icon"
msgstr "Hely alapértelmezett ikon"
-#: common/models.py:1237
+#: common/models.py:1228
msgid "Stock location default icon (empty means no icon)"
msgstr "Hely alapértelmezett ikon (üres ha nincs)"
-#: common/models.py:1242
+#: common/models.py:1233
msgid "Build Order Reference Pattern"
msgstr "Gyártási utasítás azonosító minta"
-#: common/models.py:1243
+#: common/models.py:1234
msgid "Required pattern for generating Build Order reference field"
msgstr "Szükséges minta a gyártási utasítás azonosító mező előállításához"
-#: common/models.py:1249
+#: common/models.py:1240
msgid "Sales Order Reference Pattern"
msgstr "Vevői rendelés azonosító minta"
-#: common/models.py:1250
+#: common/models.py:1241
msgid "Required pattern for generating Sales Order reference field"
msgstr "Szükséges minta a vevői rendelés azonosító mező előállításához"
-#: common/models.py:1256
+#: common/models.py:1247
msgid "Sales Order Default Shipment"
msgstr "Vevői rendeléshez alapértelmezett szállítmány"
-#: common/models.py:1257
+#: common/models.py:1248
msgid "Enable creation of default shipment with sales orders"
msgstr "Szállítmány automatikus létrehozása az új vevő rendelésekhez"
-#: common/models.py:1263
+#: common/models.py:1254
+msgid "Edit Completed Sales Orders"
+msgstr "Befejezett vevői rendelés szerkesztése"
+
+#: common/models.py:1255
+msgid "Allow editing of sales orders after they have been shipped or completed"
+msgstr "Vevői rendelések szerkesztésének engedélyezése szállítás vagy befejezés után"
+
+#: common/models.py:1261
msgid "Purchase Order Reference Pattern"
msgstr "Beszerzési rendelés azonosító minta"
-#: common/models.py:1264
+#: common/models.py:1262
msgid "Required pattern for generating Purchase Order reference field"
msgstr "Szükséges minta a beszerzési rendelés azonosító mező előállításához"
-#: common/models.py:1271
+#: common/models.py:1268
+msgid "Edit Completed Purchase Orders"
+msgstr "Befejezett beszerzési rendelés szerkesztése"
+
+#: common/models.py:1269
+msgid "Allow editing of purchase orders after they have been shipped or completed"
+msgstr "Beszérzési rendelések szerkesztésének engedélyezése kiküldés vagy befejezés után"
+
+#: common/models.py:1276
msgid "Enable password forgot"
msgstr "Elfelejtett jelszó engedélyezése"
-#: common/models.py:1272
+#: common/models.py:1277
msgid "Enable password forgot function on the login pages"
msgstr "Elfelejtett jelszó funkció engedélyezése a bejentkező oldalon"
-#: common/models.py:1278
+#: common/models.py:1283
msgid "Enable registration"
msgstr "Regisztráció engedélyezése"
-#: common/models.py:1279
+#: common/models.py:1284
msgid "Enable self-registration for users on the login pages"
msgstr "Felhaszálók önkéntes regisztrációjának engedélyezése a bejelentkező oldalon"
-#: common/models.py:1285
+#: common/models.py:1290
msgid "Enable SSO"
msgstr "SSO engedélyezése"
-#: common/models.py:1286
+#: common/models.py:1291
msgid "Enable SSO on the login pages"
msgstr "SSO engedélyezése a bejelentkező oldalon"
-#: common/models.py:1292
+#: common/models.py:1297
msgid "Email required"
msgstr "Email szükséges"
-#: common/models.py:1293
+#: common/models.py:1298
msgid "Require user to supply mail on signup"
msgstr "Kötelező email megadás regisztrációkor"
-#: common/models.py:1299
+#: common/models.py:1304
msgid "Auto-fill SSO users"
msgstr "SSO felhasználók automatikus kitöltése"
-#: common/models.py:1300
+#: common/models.py:1305
msgid "Automatically fill out user-details from SSO account-data"
msgstr "Felhasználó adatainak automatikus kitöltése az SSO fiókadatokból"
-#: common/models.py:1306
+#: common/models.py:1311
msgid "Mail twice"
msgstr "Email kétszer"
-#: common/models.py:1307
+#: common/models.py:1312
msgid "On signup ask users twice for their mail"
msgstr "Regisztráláskor kétszer kérdezze a felhasználó email címét"
-#: common/models.py:1313
+#: common/models.py:1318
msgid "Password twice"
msgstr "Jelszó kétszer"
-#: common/models.py:1314
+#: common/models.py:1319
msgid "On signup ask users twice for their password"
msgstr "Regisztráláskor kétszer kérdezze a felhasználó jelszavát"
-#: common/models.py:1320
+#: common/models.py:1325
msgid "Group on signup"
msgstr "Csoport regisztráláskor"
-#: common/models.py:1321
+#: common/models.py:1326
msgid "Group to which new users are assigned on registration"
msgstr "Csoport amihez a frissen regisztrált felhasználók hozzá lesznek rendelve"
-#: common/models.py:1327
+#: common/models.py:1332
msgid "Enforce MFA"
msgstr "Többfaktoros hitelesítés kényszerítése"
-#: common/models.py:1328
+#: common/models.py:1333
msgid "Users must use multifactor security."
msgstr "A felhasználóknak többfaktoros hitelesítést kell használniuk."
-#: common/models.py:1334
+#: common/models.py:1339
msgid "Check plugins on startup"
msgstr "Pluginok ellenőrzése indításkor"
-#: common/models.py:1335
+#: common/models.py:1340
msgid "Check that all plugins are installed on startup - enable in container environments"
-msgstr ""
+msgstr "Ellenőrizze induláskor hogy minden plugin telepítve van - engedélyezd konténer környezetben (docker)"
-#: common/models.py:1342
+#: common/models.py:1347
msgid "Check plugin signatures"
msgstr "Plugin aláírások ellenőrzése"
-#: common/models.py:1343
+#: common/models.py:1348
msgid "Check and show signatures for plugins"
msgstr "Pluginok aláírásainak ellenőrzése és megjelenítése"
-#: common/models.py:1350
+#: common/models.py:1355
msgid "Enable URL integration"
msgstr "URL integráció engedélyezése"
-#: common/models.py:1351
+#: common/models.py:1356
msgid "Enable plugins to add URL routes"
msgstr "URL útvonalalak hozzáadásának engedélyezése a pluginok számára"
-#: common/models.py:1358
+#: common/models.py:1363
msgid "Enable navigation integration"
msgstr "Navigációs integráció engedélyezése"
-#: common/models.py:1359
+#: common/models.py:1364
msgid "Enable plugins to integrate into navigation"
msgstr "Navigációs integráció engedélyezése a pluginok számára"
-#: common/models.py:1366
+#: common/models.py:1371
msgid "Enable app integration"
msgstr "App integráció engedélyezése"
-#: common/models.py:1367
+#: common/models.py:1372
msgid "Enable plugins to add apps"
msgstr "App hozzáadásának engedélyezése a pluginok számára"
-#: common/models.py:1374
+#: common/models.py:1379
msgid "Enable schedule integration"
msgstr "Ütemezés integráció engedélyezése"
-#: common/models.py:1375
+#: common/models.py:1380
msgid "Enable plugins to run scheduled tasks"
msgstr "Háttérben futó feladatok hozzáadásának engedélyezése a pluginok számára"
-#: common/models.py:1382
+#: common/models.py:1387
msgid "Enable event integration"
msgstr "Esemény integráció engedélyezése"
-#: common/models.py:1383
+#: common/models.py:1388
msgid "Enable plugins to respond to internal events"
msgstr "Belső eseményekre reagálás engedélyezése a pluginok számára"
-#: common/models.py:1402 common/models.py:1737
+#: common/models.py:1407 common/models.py:1749
msgid "Settings key (must be unique - case insensitive"
msgstr "Beállítások kulcs (egyedinek kell lennie, nem kis- nagybetű érzékeny"
-#: common/models.py:1424
+#: common/models.py:1429
msgid "Show subscribed parts"
msgstr "Értesítésre beállított alkatrészek megjelenítése"
-#: common/models.py:1425
+#: common/models.py:1430
msgid "Show subscribed parts on the homepage"
msgstr "Alkatrész értesítések megjelenítése a főoldalon"
-#: common/models.py:1431
+#: common/models.py:1436
msgid "Show subscribed categories"
msgstr "Értesítésre beállított kategóriák megjelenítése"
-#: common/models.py:1432
+#: common/models.py:1437
msgid "Show subscribed part categories on the homepage"
msgstr "Alkatrész kategória értesítések megjelenítése a főoldalon"
-#: common/models.py:1438
+#: common/models.py:1443
msgid "Show latest parts"
msgstr "Legújabb alkatrészek megjelenítése"
-#: common/models.py:1439
+#: common/models.py:1444
msgid "Show latest parts on the homepage"
msgstr "Legújabb alkatrészek megjelenítése a főoldalon"
-#: common/models.py:1445
+#: common/models.py:1450
msgid "Recent Part Count"
msgstr "Legfrissebb alkatrész szám"
-#: common/models.py:1446
+#: common/models.py:1451
msgid "Number of recent parts to display on index page"
msgstr "Főoldalon megjelenítendő legújabb alkatrészek"
-#: common/models.py:1452
+#: common/models.py:1457
msgid "Show unvalidated BOMs"
msgstr "Jóváhagyás nélküli alkatrészjegyzékek megjelenítése"
-#: common/models.py:1453
+#: common/models.py:1458
msgid "Show BOMs that await validation on the homepage"
msgstr "Jóváhagyásra váró alkatrészjegyzékek megjelenítése a főoldalon"
-#: common/models.py:1459
+#: common/models.py:1464
msgid "Show recent stock changes"
msgstr "Legfrissebb készlet változások megjelenítése"
-#: common/models.py:1460
+#: common/models.py:1465
msgid "Show recently changed stock items on the homepage"
msgstr "Legutóbb megváltozott alkatrészek megjelenítése a főoldalon"
-#: common/models.py:1466
+#: common/models.py:1471
msgid "Recent Stock Count"
msgstr "Legfrissebb készlet mennyiség"
-#: common/models.py:1467
+#: common/models.py:1472
msgid "Number of recent stock items to display on index page"
msgstr "Főoldalon megjelenítendő legújabb készlet tételek száma"
-#: common/models.py:1473
+#: common/models.py:1478
msgid "Show low stock"
msgstr "Alacsony készlet megjelenítése"
-#: common/models.py:1474
+#: common/models.py:1479
msgid "Show low stock items on the homepage"
msgstr "Alacsony készletek megjelenítése a főoldalon"
-#: common/models.py:1480
+#: common/models.py:1485
msgid "Show depleted stock"
msgstr "Kimerült készlet megjelenítése"
-#: common/models.py:1481
+#: common/models.py:1486
msgid "Show depleted stock items on the homepage"
msgstr "Kimerült készletek megjelenítése a főoldalon"
-#: common/models.py:1487
+#: common/models.py:1492
msgid "Show needed stock"
msgstr "Gyártáshoz szükséges készlet megjelenítése"
-#: common/models.py:1488
+#: common/models.py:1493
msgid "Show stock items needed for builds on the homepage"
msgstr "Gyártáshoz szükséges készletek megjelenítése a főoldalon"
-#: common/models.py:1494
+#: common/models.py:1499
msgid "Show expired stock"
msgstr "Lejárt készlet megjelenítése"
-#: common/models.py:1495
+#: common/models.py:1500
msgid "Show expired stock items on the homepage"
msgstr "Lejárt készletek megjelenítése a főoldalon"
-#: common/models.py:1501
+#: common/models.py:1506
msgid "Show stale stock"
msgstr "Állott készlet megjelenítése"
-#: common/models.py:1502
+#: common/models.py:1507
msgid "Show stale stock items on the homepage"
msgstr "Álló készletek megjelenítése a főoldalon"
-#: common/models.py:1508
+#: common/models.py:1513
msgid "Show pending builds"
msgstr "Függő gyártások megjelenítése"
-#: common/models.py:1509
+#: common/models.py:1514
msgid "Show pending builds on the homepage"
msgstr "Folyamatban lévő gyártások megjelenítése a főoldalon"
-#: common/models.py:1515
+#: common/models.py:1520
msgid "Show overdue builds"
msgstr "Késésben lévő gyártások megjelenítése"
-#: common/models.py:1516
+#: common/models.py:1521
msgid "Show overdue builds on the homepage"
msgstr "Késésben lévő gyártások megjelenítése a főoldalon"
-#: common/models.py:1522
+#: common/models.py:1527
msgid "Show outstanding POs"
msgstr "Kintlévő beszerzési rendelések megjelenítése"
-#: common/models.py:1523
+#: common/models.py:1528
msgid "Show outstanding POs on the homepage"
msgstr "Kintlévő beszerzési rendelések megjelenítése a főoldalon"
-#: common/models.py:1529
+#: common/models.py:1534
msgid "Show overdue POs"
msgstr "Késésben lévő megrendelések megjelenítése"
-#: common/models.py:1530
+#: common/models.py:1535
msgid "Show overdue POs on the homepage"
msgstr "Késésben lévő megrendelések megjelenítése a főoldalon"
-#: common/models.py:1536
+#: common/models.py:1541
msgid "Show outstanding SOs"
msgstr "Függő vevői rendelések megjelenítése"
-#: common/models.py:1537
+#: common/models.py:1542
msgid "Show outstanding SOs on the homepage"
msgstr "Függő vevői rendelések megjelenítése a főoldalon"
-#: common/models.py:1543
+#: common/models.py:1548
msgid "Show overdue SOs"
msgstr "Késésben lévő vevői rendelések megjelenítése"
-#: common/models.py:1544
+#: common/models.py:1549
msgid "Show overdue SOs on the homepage"
msgstr "Késésben lévő vevői rendelések megjelenítése a főoldalon"
-#: common/models.py:1550
+#: common/models.py:1555
+msgid "Show News"
+msgstr "Hírek megjelenítése"
+
+#: common/models.py:1556
+msgid "Show news on the homepage"
+msgstr "Hírek megjelenítése a főoldalon"
+
+#: common/models.py:1562
msgid "Inline label display"
msgstr "Beágyazott címke megjelenítés"
-#: common/models.py:1551
+#: common/models.py:1563
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr "PDF címkék megjelenítése a böngészőben letöltés helyett"
-#: common/models.py:1557
+#: common/models.py:1569
msgid "Inline report display"
msgstr "Beágyazott riport megjelenítés"
-#: common/models.py:1558
+#: common/models.py:1570
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr "PDF riport megjelenítése a böngészőben letöltés helyett"
-#: common/models.py:1564
+#: common/models.py:1576
msgid "Search Parts"
msgstr "Alkatrészek keresése"
-#: common/models.py:1565
+#: common/models.py:1577
msgid "Display parts in search preview window"
msgstr "Alkatrészek megjelenítése a keresési előnézetben"
-#: common/models.py:1571
+#: common/models.py:1583
msgid "Seach Supplier Parts"
msgstr "Beszállítói alkatrészek keresése"
-#: common/models.py:1572
+#: common/models.py:1584
msgid "Display supplier parts in search preview window"
msgstr "Beszállítói alkatrészek megjelenítése a keresési előnézetben"
-#: common/models.py:1578
+#: common/models.py:1590
msgid "Search Manufacturer Parts"
msgstr "Gyártói alkatrészek keresése"
-#: common/models.py:1579
+#: common/models.py:1591
msgid "Display manufacturer parts in search preview window"
msgstr "Gyártói alkatrészek megjelenítése a keresési előnézetben"
-#: common/models.py:1585
+#: common/models.py:1597
msgid "Hide Inactive Parts"
msgstr "Inaktív alkatrészek elrejtése"
-#: common/models.py:1586
+#: common/models.py:1598
msgid "Excluded inactive parts from search preview window"
msgstr "Inaktív alkatrészek kihagyása a keresési előnézet találataiból"
-#: common/models.py:1592
+#: common/models.py:1604
msgid "Search Categories"
msgstr "Kategóriák keresése"
-#: common/models.py:1593
+#: common/models.py:1605
msgid "Display part categories in search preview window"
msgstr "Alkatrész kategóriák megjelenítése a keresési előnézetben"
-#: common/models.py:1599
+#: common/models.py:1611
msgid "Search Stock"
msgstr "Készlet keresése"
-#: common/models.py:1600
+#: common/models.py:1612
msgid "Display stock items in search preview window"
msgstr "Készlet tételek megjelenítése a keresési előnézetben"
-#: common/models.py:1606
+#: common/models.py:1618
msgid "Hide Unavailable Stock Items"
msgstr "Nem elérhető készlet tételek elrejtése"
-#: common/models.py:1607
+#: common/models.py:1619
msgid "Exclude stock items which are not available from the search preview window"
msgstr "Nem elérhető készlet kihagyása a keresési előnézet találataiból"
-#: common/models.py:1613
+#: common/models.py:1625
msgid "Search Locations"
msgstr "Helyek keresése"
-#: common/models.py:1614
+#: common/models.py:1626
msgid "Display stock locations in search preview window"
msgstr "Készlet helyek megjelenítése a keresési előnézetben"
-#: common/models.py:1620
+#: common/models.py:1632
msgid "Search Companies"
msgstr "Cégek keresése"
-#: common/models.py:1621
+#: common/models.py:1633
msgid "Display companies in search preview window"
msgstr "Cégek megjelenítése a keresési előnézetben"
-#: common/models.py:1627
+#: common/models.py:1639
msgid "Search Build Orders"
msgstr "Gyártási utasítások keresése"
-#: common/models.py:1628
+#: common/models.py:1640
msgid "Display build orders in search preview window"
msgstr "Gyártási utasítások megjelenítése a keresés előnézet ablakban"
-#: common/models.py:1634
+#: common/models.py:1646
msgid "Search Purchase Orders"
msgstr "Beszerzési rendelések keresése"
-#: common/models.py:1635
+#: common/models.py:1647
msgid "Display purchase orders in search preview window"
msgstr "Beszerzési rendelések megjelenítése a keresési előnézetben"
-#: common/models.py:1641
+#: common/models.py:1653
msgid "Exclude Inactive Purchase Orders"
msgstr "Inaktív beszerzési rendelések kihagyása"
-#: common/models.py:1642
+#: common/models.py:1654
msgid "Exclude inactive purchase orders from search preview window"
msgstr "Inaktív beszerzési rendelések kihagyása a keresési előnézet találataiból"
-#: common/models.py:1648
+#: common/models.py:1660
msgid "Search Sales Orders"
msgstr "Vevői rendelések keresése"
-#: common/models.py:1649
+#: common/models.py:1661
msgid "Display sales orders in search preview window"
msgstr "Vevői rendelések megjelenítése a keresési előnézetben"
-#: common/models.py:1655
+#: common/models.py:1667
msgid "Exclude Inactive Sales Orders"
msgstr "Inaktív vevői rendelések kihagyása"
-#: common/models.py:1656
+#: common/models.py:1668
msgid "Exclude inactive sales orders from search preview window"
msgstr "Inaktív vevői rendelések kihagyása a keresési előnézet találataiból"
-#: common/models.py:1662
+#: common/models.py:1674
msgid "Search Preview Results"
msgstr "Keresési előnézet eredményei"
-#: common/models.py:1663
+#: common/models.py:1675
msgid "Number of results to show in each section of the search preview window"
msgstr "A keresési előnézetben megjelenítendő eredmények száma szekciónként"
-#: common/models.py:1669
+#: common/models.py:1681
msgid "Show Quantity in Forms"
msgstr "Mennyiség megjelenítése a formokon"
-#: common/models.py:1670
+#: common/models.py:1682
msgid "Display available part quantity in some forms"
msgstr "Rendelkezésre álló alkatrész mennyiség megjelenítése néhány formon"
-#: common/models.py:1676
+#: common/models.py:1688
msgid "Escape Key Closes Forms"
msgstr "ESC billentyű zárja be a formot"
-#: common/models.py:1677
+#: common/models.py:1689
msgid "Use the escape key to close modal forms"
msgstr "ESC billentyű használata a modális formok bezárásához"
-#: common/models.py:1683
+#: common/models.py:1695
msgid "Fixed Navbar"
msgstr "Rögzített menüsor"
-#: common/models.py:1684
+#: common/models.py:1696
msgid "The navbar position is fixed to the top of the screen"
msgstr "A menü pozíciója mindig rögzítve a lap tetején"
-#: common/models.py:1690
+#: common/models.py:1702
msgid "Date Format"
msgstr "Dátum formátum"
-#: common/models.py:1691
+#: common/models.py:1703
msgid "Preferred format for displaying dates"
msgstr "Preferált dátum formátum a dátumok kijelzésekor"
-#: common/models.py:1705 part/templates/part/detail.html:41
+#: common/models.py:1717 part/templates/part/detail.html:41
msgid "Part Scheduling"
msgstr "Alkatrész ütemezés"
-#: common/models.py:1706
+#: common/models.py:1718
msgid "Display part scheduling information"
msgstr "Alkatrész ütemezési információk megjelenítése"
-#: common/models.py:1712
+#: common/models.py:1724
msgid "Table String Length"
msgstr "Táblázati szöveg hossz"
-#: common/models.py:1713
+#: common/models.py:1725
msgid "Maximimum length limit for strings displayed in table views"
msgstr "Maximális szöveg hossz ami megjelenhet a táblázatokban"
-#: common/models.py:1777
+#: common/models.py:1789
msgid "Price break quantity"
msgstr "Árlépcső mennyiség"
-#: common/models.py:1784 company/serializers.py:372
-#: company/templates/company/supplier_part.html:346 order/models.py:952
-#: templates/js/translated/part.js:1103 templates/js/translated/part.js:2225
+#: common/models.py:1796 company/serializers.py:393 order/models.py:975
+#: templates/js/translated/company.js:1164 templates/js/translated/part.js:1130
+#: templates/js/translated/pricing.js:354
msgid "Price"
msgstr "Ár"
-#: common/models.py:1785
+#: common/models.py:1797
msgid "Unit price at specified quantity"
msgstr "Egységár egy meghatározott mennyiség esetén"
-#: common/models.py:1945 common/models.py:2123
+#: common/models.py:1957 common/models.py:2135
msgid "Endpoint"
msgstr "Végpont"
-#: common/models.py:1946
+#: common/models.py:1958
msgid "Endpoint at which this webhook is received"
msgstr "Végpont ahol ez a webhook érkezik"
-#: common/models.py:1955
+#: common/models.py:1967
msgid "Name for this webhook"
msgstr "Webhook neve"
-#: common/models.py:1960 part/models.py:935 plugin/models.py:100
-#: templates/js/translated/table_filters.js:34
-#: templates/js/translated/table_filters.js:112
-#: templates/js/translated/table_filters.js:324
-#: templates/js/translated/table_filters.js:450
+#: common/models.py:1972 part/admin.py:36 part/models.py:954
+#: plugin/models.py:100 templates/js/translated/table_filters.js:34
+#: templates/js/translated/table_filters.js:116
+#: templates/js/translated/table_filters.js:328
+#: templates/js/translated/table_filters.js:454
msgid "Active"
msgstr "Aktív"
-#: common/models.py:1961
+#: common/models.py:1973
msgid "Is this webhook active"
msgstr "Aktív-e ez a webhook"
-#: common/models.py:1975
+#: common/models.py:1987
msgid "Token"
msgstr "Token"
-#: common/models.py:1976
+#: common/models.py:1988
msgid "Token for access"
msgstr "Token a hozzáféréshez"
-#: common/models.py:1983
+#: common/models.py:1995
msgid "Secret"
msgstr "Titok"
-#: common/models.py:1984
+#: common/models.py:1996
msgid "Shared secret for HMAC"
msgstr "Megosztott titok a HMAC-hoz"
-#: common/models.py:2090
+#: common/models.py:2102
msgid "Message ID"
msgstr "Üzenet azonosító"
-#: common/models.py:2091
+#: common/models.py:2103
msgid "Unique identifier for this message"
msgstr "Egyedi azonosító ehhez az üzenethez"
-#: common/models.py:2099
+#: common/models.py:2111
msgid "Host"
msgstr "Kiszolgáló"
-#: common/models.py:2100
+#: common/models.py:2112
msgid "Host from which this message was received"
msgstr "Kiszolgáló ahonnan ez az üzenet érkezett"
-#: common/models.py:2107
+#: common/models.py:2119
msgid "Header"
msgstr "Fejléc"
-#: common/models.py:2108
+#: common/models.py:2120
msgid "Header of this message"
msgstr "Üzenet fejléce"
-#: common/models.py:2114
+#: common/models.py:2126
msgid "Body"
msgstr "Törzs"
-#: common/models.py:2115
+#: common/models.py:2127
msgid "Body of this message"
msgstr "Üzenet törzse"
-#: common/models.py:2124
+#: common/models.py:2136
msgid "Endpoint on which this message was received"
msgstr "Végpont amin ez az üzenet érkezett"
-#: common/models.py:2129
+#: common/models.py:2141
msgid "Worked on"
msgstr "Dolgozott rajta"
-#: common/models.py:2130
+#: common/models.py:2142
msgid "Was the work on this message finished?"
msgstr "Befejeződött a munka ezzel az üzenettel?"
+#: common/models.py:2302
+msgid "Id"
+msgstr "Id"
+
+#: common/models.py:2308 templates/js/translated/news.js:34
+msgid "Title"
+msgstr "Cím"
+
+#: common/models.py:2318 templates/js/translated/news.js:50
+msgid "Published"
+msgstr "Közzétéve"
+
+#: common/models.py:2323 templates/InvenTree/settings/plugin.html:62
+#: templates/InvenTree/settings/plugin_settings.html:33
+#: templates/js/translated/news.js:46
+msgid "Author"
+msgstr "Szerző"
+
+#: common/models.py:2328 templates/js/translated/news.js:42
+msgid "Summary"
+msgstr "Összefoglaló"
+
+#: common/models.py:2333
+msgid "Read"
+msgstr "Elolvasva"
+
+#: common/models.py:2334
+msgid "Was this news item read?"
+msgstr "Elolvasva?"
+
#: common/notifications.py:293
#, python-brace-format
msgid "New {verbose_name}"
@@ -2786,15 +2839,15 @@ msgstr "Készlet érkezett egy beszerzési megrendeléshez"
msgid "Error raised by plugin"
msgstr "Plugin hiba"
-#: common/views.py:85 order/templates/order/purchase_order_detail.html:23
-#: order/views.py:102 part/views.py:112
+#: common/views.py:85 order/templates/order/purchase_order_detail.html:25
+#: order/views.py:102 part/views.py:107
#: templates/patterns/wizard/upload.html:37
msgid "Upload File"
msgstr "Fájl feltöltése"
#: common/views.py:86 order/views.py:103
#: part/templates/part/import_wizard/ajax_match_fields.html:45
-#: part/views.py:113 templates/patterns/wizard/match_fields.html:51
+#: part/views.py:108 templates/patterns/wizard/match_fields.html:51
msgid "Match Fields"
msgstr "Mezők egyeztetése"
@@ -2817,298 +2870,301 @@ msgstr "Importált alkatrészek"
msgid "Previous Step"
msgstr "Előző lépés"
-#: company/models.py:99
+#: company/models.py:103
msgid "Company description"
msgstr "Cég leírása"
-#: company/models.py:100
+#: company/models.py:104
msgid "Description of the company"
msgstr "A cég leírása"
-#: company/models.py:106 company/templates/company/company_base.html:100
+#: company/models.py:110 company/templates/company/company_base.html:100
#: templates/InvenTree/settings/plugin_settings.html:55
-#: templates/js/translated/company.js:448
+#: templates/js/translated/company.js:449
msgid "Website"
msgstr "Weboldal"
-#: company/models.py:107
+#: company/models.py:111
msgid "Company website URL"
msgstr "Cég weboldala"
-#: company/models.py:111 company/templates/company/company_base.html:118
+#: company/models.py:115 company/templates/company/company_base.html:118
msgid "Address"
msgstr "Cím"
-#: company/models.py:112
+#: company/models.py:116
msgid "Company address"
msgstr "Cég címe"
-#: company/models.py:115
+#: company/models.py:119
msgid "Phone number"
msgstr "Telefonszám"
-#: company/models.py:116
+#: company/models.py:120
msgid "Contact phone number"
msgstr "Kapcsolattartó telefonszáma"
-#: company/models.py:119 company/templates/company/company_base.html:132
+#: company/models.py:123 company/templates/company/company_base.html:132
#: templates/InvenTree/settings/user.html:48
msgid "Email"
msgstr "Email"
-#: company/models.py:119
+#: company/models.py:123
msgid "Contact email address"
msgstr "Kapcsolattartó email címe"
-#: company/models.py:122 company/templates/company/company_base.html:139
+#: company/models.py:126 company/templates/company/company_base.html:139
msgid "Contact"
msgstr "Kapcsolattartó"
-#: company/models.py:123
+#: company/models.py:127
msgid "Point of contact"
msgstr "Kapcsolattartó"
-#: company/models.py:125
+#: company/models.py:129
msgid "Link to external company information"
msgstr "Link a külső céginformációhoz"
-#: company/models.py:136 part/models.py:829
+#: company/models.py:140 part/models.py:848
msgid "Image"
msgstr "Kép"
-#: company/models.py:139 company/templates/company/detail.html:185
+#: company/models.py:143 company/templates/company/detail.html:185
msgid "Company Notes"
msgstr "Cég megjegyzések"
-#: company/models.py:141
+#: company/models.py:145
msgid "is customer"
msgstr "vevő-e"
-#: company/models.py:141
+#: company/models.py:145
msgid "Do you sell items to this company?"
msgstr "Értékesítesz alkatrészeket ennek a cégnek?"
-#: company/models.py:143
+#: company/models.py:147
msgid "is supplier"
msgstr "beszállító-e"
-#: company/models.py:143
+#: company/models.py:147
msgid "Do you purchase items from this company?"
msgstr "Vásárolsz alkatrészeket ettől a cégtől?"
-#: company/models.py:145
+#: company/models.py:149
msgid "is manufacturer"
msgstr "gyártó-e"
-#: company/models.py:145
+#: company/models.py:149
msgid "Does this company manufacture parts?"
msgstr "Gyárt ez a cég alkatrészeket?"
-#: company/models.py:149 company/serializers.py:378
-#: company/templates/company/company_base.html:106 part/serializers.py:153
-#: part/serializers.py:184 stock/serializers.py:178
+#: company/models.py:153 company/serializers.py:399
+#: company/templates/company/company_base.html:106 part/models.py:2681
+#: part/serializers.py:153 part/serializers.py:181 stock/serializers.py:182
+#: templates/InvenTree/settings/pricing.html:59
msgid "Currency"
msgstr "Pénznem"
-#: company/models.py:152
+#: company/models.py:156
msgid "Default currency used for this company"
msgstr "Cég által használt alapértelmezett pénznem"
-#: company/models.py:249 company/models.py:483 stock/models.py:600
-#: stock/serializers.py:85 stock/templates/stock/item_base.html:143
-#: templates/js/translated/bom.js:568
+#: company/models.py:253 company/models.py:487 stock/models.py:616
+#: stock/serializers.py:89 stock/templates/stock/item_base.html:143
+#: templates/js/translated/bom.js:581
msgid "Base Part"
msgstr "Kiindulási alkatrész"
-#: company/models.py:253 company/models.py:487
+#: company/models.py:257 company/models.py:491
msgid "Select part"
msgstr "Válassz alkatrészt"
-#: company/models.py:264 company/templates/company/company_base.html:76
+#: company/models.py:268 company/templates/company/company_base.html:76
#: company/templates/company/manufacturer_part.html:90
#: company/templates/company/supplier_part.html:152
#: stock/templates/stock/item_base.html:210
-#: templates/js/translated/company.js:432
-#: templates/js/translated/company.js:533
-#: templates/js/translated/company.js:668
-#: templates/js/translated/company.js:956 templates/js/translated/part.js:236
-#: templates/js/translated/table_filters.js:427
+#: templates/js/translated/company.js:433
+#: templates/js/translated/company.js:534
+#: templates/js/translated/company.js:669
+#: templates/js/translated/company.js:957 templates/js/translated/part.js:232
+#: templates/js/translated/table_filters.js:431
msgid "Manufacturer"
msgstr "Gyártó"
-#: company/models.py:265 templates/js/translated/part.js:237
+#: company/models.py:269 templates/js/translated/part.js:233
msgid "Select manufacturer"
msgstr "Gyártó kiválasztása"
-#: company/models.py:271 company/templates/company/manufacturer_part.html:101
+#: company/models.py:275 company/templates/company/manufacturer_part.html:101
#: company/templates/company/supplier_part.html:160
-#: templates/js/translated/company.js:304
-#: templates/js/translated/company.js:532
-#: templates/js/translated/company.js:684
-#: templates/js/translated/company.js:975 templates/js/translated/order.js:2239
-#: templates/js/translated/part.js:247 templates/js/translated/part.js:1025
+#: templates/js/translated/company.js:305
+#: templates/js/translated/company.js:533
+#: templates/js/translated/company.js:685
+#: templates/js/translated/company.js:976 templates/js/translated/order.js:2278
+#: templates/js/translated/part.js:243 templates/js/translated/part.js:1052
msgid "MPN"
msgstr "MPN"
-#: company/models.py:272 templates/js/translated/part.js:248
+#: company/models.py:276 templates/js/translated/part.js:244
msgid "Manufacturer Part Number"
msgstr "Gyártói cikkszám"
-#: company/models.py:278
+#: company/models.py:282
msgid "URL for external manufacturer part link"
msgstr "URL link a gyártói alkatrészhez"
-#: company/models.py:284
+#: company/models.py:288
msgid "Manufacturer part description"
msgstr "Gyártói alkatrész leírása"
-#: company/models.py:329 company/models.py:353 company/models.py:506
+#: company/models.py:333 company/models.py:357 company/models.py:510
#: company/templates/company/manufacturer_part.html:7
#: company/templates/company/manufacturer_part.html:24
#: stock/templates/stock/item_base.html:220
msgid "Manufacturer Part"
msgstr "Gyártói alkatrész"
-#: company/models.py:360
+#: company/models.py:364
msgid "Parameter name"
msgstr "Paraméter neve"
-#: company/models.py:366
+#: company/models.py:370
#: report/templates/report/inventree_test_report_base.html:95
-#: stock/models.py:2097 templates/js/translated/company.js:581
-#: templates/js/translated/company.js:799 templates/js/translated/part.js:847
-#: templates/js/translated/stock.js:1360
+#: stock/models.py:2113 templates/js/translated/company.js:582
+#: templates/js/translated/company.js:800 templates/js/translated/part.js:874
+#: templates/js/translated/stock.js:1379
msgid "Value"
msgstr "Érték"
-#: company/models.py:367
+#: company/models.py:371
msgid "Parameter value"
msgstr "Paraméter értéke"
-#: company/models.py:373 part/models.py:902 part/models.py:2434
-#: part/templates/part/part_base.html:286
+#: company/models.py:377 part/admin.py:26 part/models.py:921
+#: part/models.py:3047 part/templates/part/part_base.html:286
#: templates/InvenTree/settings/settings.html:349
-#: templates/js/translated/company.js:805 templates/js/translated/part.js:853
+#: templates/js/translated/company.js:806 templates/js/translated/part.js:880
msgid "Units"
msgstr "Mértékegységek"
-#: company/models.py:374
+#: company/models.py:378
msgid "Parameter units"
msgstr "Paraméter mértékegység"
-#: company/models.py:451
+#: company/models.py:455
msgid "Linked manufacturer part must reference the same base part"
msgstr "Kapcsolódó gyártói alkatrésznek ugyanarra a kiindulási alkatrészre kell hivatkoznia"
-#: company/models.py:493 company/templates/company/company_base.html:81
-#: company/templates/company/supplier_part.html:136 order/models.py:263
-#: order/templates/order/order_base.html:121 part/bom.py:237 part/bom.py:265
+#: company/models.py:497 company/templates/company/company_base.html:81
+#: company/templates/company/supplier_part.html:136 order/models.py:264
+#: order/templates/order/order_base.html:121 part/bom.py:252 part/bom.py:280
#: stock/templates/stock/item_base.html:227
#: templates/email/overdue_purchase_order.html:16
-#: templates/js/translated/company.js:303
-#: templates/js/translated/company.js:436
-#: templates/js/translated/company.js:929 templates/js/translated/order.js:1975
-#: templates/js/translated/part.js:217 templates/js/translated/part.js:993
-#: templates/js/translated/table_filters.js:431
+#: templates/js/translated/company.js:304
+#: templates/js/translated/company.js:437
+#: templates/js/translated/company.js:930 templates/js/translated/order.js:2009
+#: templates/js/translated/part.js:213 templates/js/translated/part.js:1020
+#: templates/js/translated/pricing.js:231
+#: templates/js/translated/table_filters.js:435
msgid "Supplier"
msgstr "Beszállító"
-#: company/models.py:494 templates/js/translated/part.js:218
+#: company/models.py:498 templates/js/translated/part.js:214
msgid "Select supplier"
msgstr "Beszállító kiválasztása"
-#: company/models.py:499 company/templates/company/supplier_part.html:146
-#: part/bom.py:238 part/bom.py:266 templates/js/translated/company.js:302
-#: templates/js/translated/order.js:2226 templates/js/translated/part.js:228
-#: templates/js/translated/part.js:1011
+#: company/models.py:503 company/templates/company/supplier_part.html:146
+#: part/bom.py:253 part/bom.py:281 templates/js/translated/company.js:303
+#: templates/js/translated/order.js:2265 templates/js/translated/part.js:224
+#: templates/js/translated/part.js:1038 templates/js/translated/pricing.js:243
msgid "SKU"
msgstr "SKU"
-#: company/models.py:500 templates/js/translated/part.js:229
+#: company/models.py:504 templates/js/translated/part.js:225
msgid "Supplier stock keeping unit"
msgstr "Beszállítói cikkszám"
-#: company/models.py:507
+#: company/models.py:511
msgid "Select manufacturer part"
msgstr "Gyártói alkatrész kiválasztása"
-#: company/models.py:513
+#: company/models.py:517
msgid "URL for external supplier part link"
msgstr "URL link a beszállítói alkatrészhez"
-#: company/models.py:519
+#: company/models.py:523
msgid "Supplier part description"
msgstr "Beszállítói alkatrész leírása"
-#: company/models.py:524 company/templates/company/supplier_part.html:181
-#: part/models.py:2687 part/templates/part/upload_bom.html:59
+#: company/models.py:528 company/templates/company/supplier_part.html:181
+#: part/admin.py:225 part/models.py:3300 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_po_report.html:92
-#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:403
+#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:397
msgid "Note"
msgstr "Megjegyzés"
-#: company/models.py:528 part/models.py:1788
+#: company/models.py:532 part/models.py:1817
msgid "base cost"
msgstr "alap költség"
-#: company/models.py:528 part/models.py:1788
+#: company/models.py:532 part/models.py:1817
msgid "Minimum charge (e.g. stocking fee)"
msgstr "Minimális díj (pl. tárolási díj)"
-#: company/models.py:530 company/templates/company/supplier_part.html:167
-#: stock/models.py:626 stock/templates/stock/item_base.html:243
-#: templates/js/translated/company.js:991 templates/js/translated/stock.js:1978
+#: company/models.py:534 company/templates/company/supplier_part.html:167
+#: stock/admin.py:101 stock/models.py:642
+#: stock/templates/stock/item_base.html:243
+#: templates/js/translated/company.js:992 templates/js/translated/stock.js:1996
msgid "Packaging"
msgstr "Csomagolás"
-#: company/models.py:530
+#: company/models.py:534
msgid "Part packaging"
msgstr "Alkatrész csomagolás"
-#: company/models.py:533 company/serializers.py:242
+#: company/models.py:537 company/serializers.py:242
#: company/templates/company/supplier_part.html:174
-#: templates/js/translated/company.js:996 templates/js/translated/order.js:820
-#: templates/js/translated/order.js:1215 templates/js/translated/order.js:1470
-#: templates/js/translated/order.js:2270 templates/js/translated/order.js:2287
-#: templates/js/translated/part.js:1043 templates/js/translated/part.js:1095
+#: templates/js/translated/company.js:997 templates/js/translated/order.js:826
+#: templates/js/translated/order.js:1249 templates/js/translated/order.js:1504
+#: templates/js/translated/order.js:2309 templates/js/translated/order.js:2326
+#: templates/js/translated/part.js:1070 templates/js/translated/part.js:1122
msgid "Pack Quantity"
msgstr "Csomagolási mennyiség"
-#: company/models.py:534
+#: company/models.py:538
msgid "Unit quantity supplied in a single pack"
msgstr "Egy csomagban lévő mennyiség"
-#: company/models.py:540 part/models.py:1790
+#: company/models.py:544 part/models.py:1819
msgid "multiple"
msgstr "többszörös"
-#: company/models.py:540
+#: company/models.py:544
msgid "Order multiple"
msgstr "Többszörös rendelés"
-#: company/models.py:548 company/templates/company/supplier_part.html:115
+#: company/models.py:552 company/templates/company/supplier_part.html:115
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:18
-#: templates/js/translated/bom.js:963 templates/js/translated/build.js:1873
-#: templates/js/translated/build.js:2754 templates/js/translated/part.js:598
-#: templates/js/translated/part.js:601
-#: templates/js/translated/table_filters.js:194
+#: templates/js/translated/bom.js:1117 templates/js/translated/build.js:1873
+#: templates/js/translated/build.js:2754 templates/js/translated/part.js:612
+#: templates/js/translated/part.js:615
+#: templates/js/translated/table_filters.js:198
msgid "Available"
msgstr "Elérhető"
-#: company/models.py:549
+#: company/models.py:553
msgid "Quantity available from supplier"
msgstr "Beszállítónál elérhető mennyiség"
-#: company/models.py:553
+#: company/models.py:557
msgid "Availability Updated"
msgstr "Elérhetőség frissítve"
-#: company/models.py:554
+#: company/models.py:558
msgid "Date of last update of availability data"
msgstr "Utolsó elérhetőségi adat frissítés"
-#: company/models.py:682
+#: company/models.py:686
msgid "last updated"
msgstr "utoljára módosítva"
@@ -3122,7 +3178,7 @@ msgstr "Pénznem kódja"
#: company/templates/company/company_base.html:8
#: company/templates/company/company_base.html:12
-#: templates/InvenTree/search.html:179 templates/js/translated/company.js:421
+#: templates/InvenTree/search.html:179 templates/js/translated/company.js:422
msgid "Company"
msgstr "Cég"
@@ -3140,7 +3196,7 @@ msgid "Edit company information"
msgstr "Cég adatainak szerkesztése"
#: company/templates/company/company_base.html:34
-#: templates/js/translated/company.js:364
+#: templates/js/translated/company.js:365
msgid "Edit Company"
msgstr "Cég szerkesztése"
@@ -3163,14 +3219,14 @@ msgstr "Új kép feltöltése"
msgid "Download image from URL"
msgstr "Kép letöltése URL-ről"
-#: company/templates/company/company_base.html:86 order/models.py:646
-#: order/templates/order/sales_order_base.html:116 stock/models.py:645
-#: stock/models.py:646 stock/serializers.py:813
+#: company/templates/company/company_base.html:86 order/models.py:665
+#: order/templates/order/sales_order_base.html:116 stock/models.py:661
+#: stock/models.py:662 stock/serializers.py:812
#: stock/templates/stock/item_base.html:399
#: templates/email/overdue_sales_order.html:16
-#: templates/js/translated/company.js:428 templates/js/translated/order.js:2808
-#: templates/js/translated/stock.js:2569
-#: templates/js/translated/table_filters.js:435
+#: templates/js/translated/company.js:429 templates/js/translated/order.js:2819
+#: templates/js/translated/stock.js:2587
+#: templates/js/translated/table_filters.js:439
msgid "Customer"
msgstr "Vevő"
@@ -3183,12 +3239,12 @@ msgid "Phone"
msgstr "Telefonszám"
#: company/templates/company/company_base.html:208
-#: part/templates/part/part_base.html:499
+#: part/templates/part/part_base.html:514
msgid "Upload Image"
msgstr "Kép feltöltése"
#: company/templates/company/company_base.html:223
-#: part/templates/part/part_base.html:554
+#: part/templates/part/part_base.html:569
msgid "Download Image"
msgstr "Kép letöltése"
@@ -3204,7 +3260,7 @@ msgstr "Új beszállítói alkatrész létrehozása"
#: company/templates/company/detail.html:19
#: company/templates/company/manufacturer_part.html:123
-#: part/templates/part/detail.html:359
+#: part/templates/part/detail.html:357
msgid "New Supplier Part"
msgstr "Új beszállítói alkatrész"
@@ -3233,7 +3289,7 @@ msgstr "Gyártói alkatrészek"
msgid "Create new manufacturer part"
msgstr "Új gyártói alkatrész létrehozása"
-#: company/templates/company/detail.html:66 part/templates/part/detail.html:389
+#: company/templates/company/detail.html:66 part/templates/part/detail.html:387
msgid "New Manufacturer Part"
msgstr "Új gyártói alkatrész"
@@ -3247,7 +3303,7 @@ msgstr "Beszállítói készlet"
#: order/templates/order/order_base.html:13
#: order/templates/order/purchase_orders.html:8
#: order/templates/order/purchase_orders.html:12
-#: part/templates/part/detail.html:84 part/templates/part/part_sidebar.html:37
+#: part/templates/part/detail.html:84 part/templates/part/part_sidebar.html:35
#: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200
#: templates/InvenTree/settings/sidebar.html:49
#: templates/js/translated/search.js:293 templates/navbar.html:50
@@ -3270,7 +3326,7 @@ msgstr "Új beszerzési rendelés"
#: order/templates/order/sales_order_base.html:13
#: order/templates/order/sales_orders.html:8
#: order/templates/order/sales_orders.html:15
-#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:41
+#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:39
#: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220
#: templates/InvenTree/settings/sidebar.html:51
#: templates/js/translated/search.js:317 templates/navbar.html:61
@@ -3298,8 +3354,7 @@ msgid "Supplier List"
msgstr "Beszállítók listája"
#: company/templates/company/manufacturer_part.html:15 company/views.py:38
-#: part/templates/part/prices.html:172 templates/InvenTree/search.html:181
-#: templates/navbar.html:49
+#: templates/InvenTree/search.html:181 templates/navbar.html:49
msgid "Manufacturers"
msgstr "Gyártók"
@@ -3310,12 +3365,12 @@ msgid "Order part"
msgstr "Alkatrész rendelés"
#: company/templates/company/manufacturer_part.html:39
-#: templates/js/translated/company.js:716
+#: templates/js/translated/company.js:717
msgid "Edit manufacturer part"
msgstr "Gyártói alkatrész szerkesztése"
#: company/templates/company/manufacturer_part.html:43
-#: templates/js/translated/company.js:717
+#: templates/js/translated/company.js:718
msgid "Delete manufacturer part"
msgstr "Gyártói alkatrész törlése"
@@ -3330,35 +3385,36 @@ msgstr "Nincs elérhető gyártói információ"
#: company/templates/company/manufacturer_part.html:119
#: company/templates/company/supplier_part.html:15 company/views.py:32
-#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:168
+#: part/admin.py:46 part/templates/part/part_sidebar.html:33
#: templates/InvenTree/search.html:191 templates/navbar.html:48
msgid "Suppliers"
msgstr "Beszállítók"
#: company/templates/company/manufacturer_part.html:136
-#: part/templates/part/detail.html:370
+#: part/templates/part/detail.html:368
msgid "Delete supplier parts"
msgstr "Beszállítói alkatrész törlése"
#: company/templates/company/manufacturer_part.html:136
#: company/templates/company/manufacturer_part.html:183
-#: part/templates/part/detail.html:371 part/templates/part/detail.html:401
-#: templates/js/translated/forms.js:455 templates/js/translated/helpers.js:36
-#: users/models.py:222
+#: part/templates/part/detail.html:369 part/templates/part/detail.html:399
+#: templates/js/translated/forms.js:455 templates/js/translated/helpers.js:38
+#: templates/js/translated/part.js:340 templates/js/translated/stock.js:184
+#: users/models.py:224
msgid "Delete"
msgstr "Törlés"
#: company/templates/company/manufacturer_part.html:166
#: company/templates/company/manufacturer_part_sidebar.html:5
#: part/templates/part/category_sidebar.html:19
-#: part/templates/part/detail.html:186 part/templates/part/part_sidebar.html:8
+#: part/templates/part/detail.html:184 part/templates/part/part_sidebar.html:8
msgid "Parameters"
msgstr "Paraméterek"
#: company/templates/company/manufacturer_part.html:170
-#: part/templates/part/detail.html:191
+#: part/templates/part/detail.html:189
#: templates/InvenTree/settings/category.html:12
-#: templates/InvenTree/settings/part.html:68
+#: templates/InvenTree/settings/part.html:62
msgid "New Parameter"
msgstr "Új paraméter"
@@ -3367,7 +3423,7 @@ msgid "Delete parameters"
msgstr "Paraméterek törlése"
#: company/templates/company/manufacturer_part.html:245
-#: part/templates/part/detail.html:827
+#: part/templates/part/detail.html:825
msgid "Add Parameter"
msgstr "Paraméter hozzáadása"
@@ -3388,10 +3444,10 @@ msgid "Assigned Stock Items"
msgstr "Hozzárendelt készlet tételek"
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:609
+#: company/templates/company/supplier_part.html:24 stock/models.py:625
#: stock/templates/stock/item_base.html:236
-#: templates/js/translated/company.js:945 templates/js/translated/order.js:1135
-#: templates/js/translated/stock.js:1935
+#: templates/js/translated/company.js:946 templates/js/translated/order.js:1169
+#: templates/js/translated/stock.js:1954
msgid "Supplier Part"
msgstr "Beszállítói alkatrész"
@@ -3442,13 +3498,13 @@ msgstr "Elérhetőség frissítése"
#: company/templates/company/supplier_part.html:64
#: company/templates/company/supplier_part.html:65
-#: templates/js/translated/company.js:247
+#: templates/js/translated/company.js:248
msgid "Edit Supplier Part"
msgstr "Beszállítói alkatrész szerkesztése"
#: company/templates/company/supplier_part.html:69
#: company/templates/company/supplier_part.html:70
-#: templates/js/translated/company.js:222
+#: templates/js/translated/company.js:223
msgid "Duplicate Supplier Part"
msgstr "Beszállítói alkatrész másolása"
@@ -3483,7 +3539,7 @@ msgstr "Új készlet tétel létrehozása"
#: company/templates/company/supplier_part.html:204
#: part/templates/part/detail.html:25 stock/templates/stock/location.html:198
-#: templates/js/translated/stock.js:435
+#: templates/js/translated/stock.js:454
msgid "New Stock Item"
msgstr "Új készlet tétel"
@@ -3493,47 +3549,20 @@ msgid "Supplier Part Orders"
msgstr "Beszállítói alkatrész rendelések"
#: company/templates/company/supplier_part.html:242
-#: part/templates/part/prices.html:10
msgid "Pricing Information"
msgstr "Árinformációk"
#: company/templates/company/supplier_part.html:247
-#: company/templates/company/supplier_part.html:388
-#: part/templates/part/prices.html:276 templates/js/translated/part.js:2297
+#: company/templates/company/supplier_part.html:317
+#: templates/js/translated/pricing.js:413
msgid "Add Price Break"
msgstr "Árlépcső hozzáadása"
-#: company/templates/company/supplier_part.html:282
+#: company/templates/company/supplier_part.html:285
msgid "Link Barcode to Supplier Part"
msgstr "Vonalkód hozzárendelése a beszállítói alkatrészhez"
-#: company/templates/company/supplier_part.html:300
-msgid "No price break information found"
-msgstr "Nincs árlépcső információ"
-
-#: company/templates/company/supplier_part.html:314
-#: templates/js/translated/part.js:2307
-msgid "Delete Price Break"
-msgstr "Árlépcső törlése"
-
-#: company/templates/company/supplier_part.html:328
-#: templates/js/translated/part.js:2321
-msgid "Edit Price Break"
-msgstr "Árlépcső szerkesztése"
-
-#: company/templates/company/supplier_part.html:353
-msgid "Edit price break"
-msgstr "Árlépcső szerkesztése"
-
-#: company/templates/company/supplier_part.html:354
-msgid "Delete price break"
-msgstr "Árlépcső törlése"
-
-#: company/templates/company/supplier_part.html:363
-msgid "Last updated"
-msgstr "Utoljára módosítva"
-
-#: company/templates/company/supplier_part.html:444
+#: company/templates/company/supplier_part.html:375
msgid "Update Part Availability"
msgstr "Alkatrész elérhetőség frissítése"
@@ -3543,9 +3572,9 @@ msgstr "Alkatrész elérhetőség frissítése"
#: stock/templates/stock/stock_app_base.html:10
#: templates/InvenTree/search.html:153
#: templates/InvenTree/settings/sidebar.html:45
-#: templates/js/translated/part.js:749 templates/js/translated/part.js:1335
-#: templates/js/translated/part.js:1501 templates/js/translated/stock.js:959
-#: templates/js/translated/stock.js:1760 templates/navbar.html:31
+#: templates/js/translated/part.js:763 templates/js/translated/part.js:1356
+#: templates/js/translated/part.js:1512 templates/js/translated/stock.js:978
+#: templates/js/translated/stock.js:1779 templates/navbar.html:31
msgid "Stock"
msgstr "Készlet"
@@ -3559,19 +3588,20 @@ msgid "Supplier Part Pricing"
msgstr "Beszállító alkatrész árazás"
#: company/templates/company/supplier_part_navbar.html:29
-#: part/templates/part/part_sidebar.html:31
+#: part/templates/part/part_sidebar.html:30
+#: templates/InvenTree/settings/sidebar.html:35
msgid "Pricing"
msgstr "Árazás"
#: company/templates/company/supplier_part_sidebar.html:5
#: part/templates/part/category.html:198
-#: part/templates/part/category_sidebar.html:17
+#: part/templates/part/category_sidebar.html:17 stock/admin.py:31
#: stock/templates/stock/location.html:168
#: stock/templates/stock/location.html:182
#: stock/templates/stock/location.html:194
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:155 templates/js/translated/search.js:225
-#: templates/js/translated/stock.js:2446 users/models.py:40
+#: templates/js/translated/stock.js:2464 users/models.py:40
msgid "Stock Items"
msgstr "Készlet tételek"
@@ -3673,438 +3703,439 @@ msgstr "Alkatrész lekérdezés szűrők (vesszővel elválasztott kulcs=érték
msgid "No matching purchase order found"
msgstr "Nincs egyező beszerzési rendelés"
-#: order/models.py:82
+#: order/models.py:83
msgid "Order description"
msgstr "Rendelés leírása"
-#: order/models.py:84 order/models.py:1260
+#: order/models.py:85 order/models.py:1283
msgid "Link to external page"
msgstr "Link külső weboldalra"
-#: order/models.py:92
+#: order/models.py:93
msgid "Created By"
msgstr "Készítette"
-#: order/models.py:99
+#: order/models.py:100
msgid "User or group responsible for this order"
msgstr "Felhasználó vagy csoport aki felelőse ennek a rendelésnek"
-#: order/models.py:104
+#: order/models.py:105
msgid "Order notes"
msgstr "Rendelés jegyzetek"
-#: order/models.py:241 order/models.py:633
+#: order/models.py:242 order/models.py:652
msgid "Order reference"
msgstr "Rendelés azonosító"
-#: order/models.py:249 order/models.py:651
+#: order/models.py:250 order/models.py:670
msgid "Purchase order status"
msgstr "Beszerzési rendelés állapota"
-#: order/models.py:264
+#: order/models.py:265
msgid "Company from which the items are being ordered"
msgstr "Cég akitől a tételek beszerzésre kerülnek"
-#: order/models.py:267 order/templates/order/order_base.html:133
-#: templates/js/translated/order.js:1984
+#: order/models.py:268 order/templates/order/order_base.html:133
+#: templates/js/translated/order.js:2018
msgid "Supplier Reference"
msgstr "Beszállítói azonosító"
-#: order/models.py:267
+#: order/models.py:268
msgid "Supplier order reference code"
msgstr "Beszállítói rendelés azonosító kód"
-#: order/models.py:274
+#: order/models.py:275
msgid "received by"
msgstr "érkeztette"
-#: order/models.py:279
+#: order/models.py:280
msgid "Issue Date"
msgstr "Kiállítás dátuma"
-#: order/models.py:280
+#: order/models.py:281
msgid "Date order was issued"
msgstr "Kiállítás dátuma"
-#: order/models.py:285
+#: order/models.py:286
msgid "Target Delivery Date"
msgstr "Várható beérkezés"
-#: order/models.py:286
+#: order/models.py:287
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr "Várt teljesítési dátuma a megrendelésnek. Ezután már késésben lévőnek számít majd."
-#: order/models.py:292
+#: order/models.py:293
msgid "Date order was completed"
msgstr "Rendelés teljesítési dátuma"
-#: order/models.py:328
+#: order/models.py:332
msgid "Part supplier must match PO supplier"
msgstr "Az alkatrész beszállítója meg kell egyezzen a beszerzési rendelés beszállítójával"
-#: order/models.py:472
+#: order/models.py:491
msgid "Quantity must be a positive number"
msgstr "Mennyiség pozitív kell legyen"
-#: order/models.py:647
+#: order/models.py:666
msgid "Company to which the items are being sold"
msgstr "Cég akinek a tételek értékesítésre kerülnek"
-#: order/models.py:658
+#: order/models.py:677
msgid "Customer Reference "
msgstr "Vevői azonosító "
-#: order/models.py:658
+#: order/models.py:677
msgid "Customer order reference code"
msgstr "Megrendelés azonosító kódja a vevőnél"
-#: order/models.py:663
+#: order/models.py:682
msgid "Target date for order completion. Order will be overdue after this date."
msgstr "Cél dátum a rendelés teljesítéséhez. Ez után számít majd késettnek."
-#: order/models.py:666 order/models.py:1218
-#: templates/js/translated/order.js:2855 templates/js/translated/order.js:3017
+#: order/models.py:685 order/models.py:1241
+#: templates/js/translated/order.js:2866 templates/js/translated/order.js:3028
msgid "Shipment Date"
msgstr "Kiszállítás dátuma"
-#: order/models.py:673
+#: order/models.py:692
msgid "shipped by"
msgstr "szállította"
-#: order/models.py:728
+#: order/models.py:747
msgid "Order cannot be completed as no parts have been assigned"
msgstr "A rendelés nem teljesíthető mivel nincs hozzárendelve alkatrész"
-#: order/models.py:732
+#: order/models.py:751
msgid "Only a pending order can be marked as complete"
msgstr "Csak függő rendelés jelölhető késznek"
-#: order/models.py:735 templates/js/translated/order.js:419
+#: order/models.py:754 templates/js/translated/order.js:419
msgid "Order cannot be completed as there are incomplete shipments"
msgstr "A rendelés nem jelölhető késznek mivel függő szállítmányok vannak"
-#: order/models.py:738
+#: order/models.py:757
msgid "Order cannot be completed as there are incomplete line items"
msgstr "A rendelés nem jelölhető késznek mivel nem teljesített sortételek vannak"
-#: order/models.py:912
+#: order/models.py:935
msgid "Item quantity"
msgstr "Tétel mennyiség"
-#: order/models.py:918
+#: order/models.py:941
msgid "Line item reference"
msgstr "Sortétel azonosító"
-#: order/models.py:920
+#: order/models.py:943
msgid "Line item notes"
msgstr "Sortétel megjegyzései"
-#: order/models.py:925
+#: order/models.py:948
msgid "Target shipping date for this line item"
msgstr "Cél szállítási dátuma ennek a sortételnek"
-#: order/models.py:943
+#: order/models.py:966
msgid "Context"
msgstr "Kontextus"
-#: order/models.py:944
+#: order/models.py:967
msgid "Additional context for this line"
msgstr "További kontextus ehhez a sorhoz"
-#: order/models.py:953
+#: order/models.py:976
msgid "Unit price"
msgstr "Egységár"
-#: order/models.py:983
+#: order/models.py:1006
msgid "Supplier part must match supplier"
msgstr "Beszállítói alkatrésznek egyeznie kell a beszállítóval"
-#: order/models.py:991
+#: order/models.py:1014
msgid "deleted"
msgstr "törölve"
-#: order/models.py:997 order/models.py:1077 order/models.py:1118
-#: order/models.py:1212 order/models.py:1344
-#: templates/js/translated/order.js:3473
+#: order/models.py:1020 order/models.py:1100 order/models.py:1141
+#: order/models.py:1235 order/models.py:1367
+#: templates/js/translated/order.js:3484
msgid "Order"
msgstr "Rendelés"
-#: order/models.py:998 order/models.py:1077
+#: order/models.py:1021 order/models.py:1100
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report.html:76
#: stock/templates/stock/item_base.html:182
#: templates/email/overdue_purchase_order.html:15
-#: templates/js/translated/order.js:619 templates/js/translated/order.js:1136
-#: templates/js/translated/order.js:1959 templates/js/translated/part.js:970
-#: templates/js/translated/stock.js:1915 templates/js/translated/stock.js:2550
+#: templates/js/translated/order.js:619 templates/js/translated/order.js:1170
+#: templates/js/translated/order.js:1993 templates/js/translated/part.js:997
+#: templates/js/translated/pricing.js:515 templates/js/translated/stock.js:1934
+#: templates/js/translated/stock.js:2568
msgid "Purchase Order"
msgstr "Beszerzési rendelés"
-#: order/models.py:1016
+#: order/models.py:1039
msgid "Supplier part"
msgstr "Beszállítói alkatrész"
-#: order/models.py:1023 order/templates/order/order_base.html:178
-#: templates/js/translated/order.js:1641 templates/js/translated/order.js:2373
-#: templates/js/translated/part.js:1087 templates/js/translated/part.js:1125
-#: templates/js/translated/table_filters.js:346
+#: order/models.py:1046 order/templates/order/order_base.html:178
+#: templates/js/translated/order.js:1675 templates/js/translated/order.js:2396
+#: templates/js/translated/part.js:1114 templates/js/translated/part.js:1146
+#: templates/js/translated/table_filters.js:350
msgid "Received"
msgstr "Beérkezett"
-#: order/models.py:1024
+#: order/models.py:1047
msgid "Number of items received"
msgstr "Érkezett tételek száma"
-#: order/models.py:1031 part/templates/part/prices.html:181 stock/models.py:741
-#: stock/serializers.py:169 stock/templates/stock/item_base.html:189
-#: templates/js/translated/stock.js:1966
+#: order/models.py:1054 stock/models.py:757 stock/serializers.py:173
+#: stock/templates/stock/item_base.html:189
+#: templates/js/translated/stock.js:1985
msgid "Purchase Price"
msgstr "Beszerzési ár"
-#: order/models.py:1032
+#: order/models.py:1055
msgid "Unit purchase price"
msgstr "Beszerzési egységár"
-#: order/models.py:1040
+#: order/models.py:1063
msgid "Where does the Purchaser want this item to be stored?"
msgstr "Mit szeretne a vevő hol tároljuk ezt az alkatrészt?"
-#: order/models.py:1106
+#: order/models.py:1129
msgid "Virtual part cannot be assigned to a sales order"
msgstr "Virtuális alkatrészt nem lehet vevői rendeléshez adni"
-#: order/models.py:1111
+#: order/models.py:1134
msgid "Only salable parts can be assigned to a sales order"
msgstr "Csak értékesíthető alkatrészeket lehet vevői rendeléshez adni"
-#: order/models.py:1137 part/templates/part/part_pricing.html:115
-#: part/templates/part/prices.html:121 part/templates/part/prices.html:290
+#: order/models.py:1160 part/templates/part/part_pricing.html:107
+#: part/templates/part/prices.html:139 templates/js/translated/pricing.js:665
msgid "Sale Price"
msgstr "Eladási ár"
-#: order/models.py:1138
+#: order/models.py:1161
msgid "Unit sale price"
msgstr "Eladási egységár"
-#: order/models.py:1143
+#: order/models.py:1166
msgid "Shipped quantity"
msgstr "Szállított mennyiség"
-#: order/models.py:1219
+#: order/models.py:1242
msgid "Date of shipment"
msgstr "Szállítás dátuma"
-#: order/models.py:1226
+#: order/models.py:1249
msgid "Checked By"
msgstr "Ellenőrizte"
-#: order/models.py:1227
+#: order/models.py:1250
msgid "User who checked this shipment"
msgstr "Felhasználó aki ellenőrizte ezt a szállítmányt"
-#: order/models.py:1234 order/models.py:1419 order/serializers.py:1228
-#: order/serializers.py:1356 templates/js/translated/model_renderers.js:314
+#: order/models.py:1257 order/models.py:1442 order/serializers.py:1221
+#: order/serializers.py:1349 templates/js/translated/model_renderers.js:314
msgid "Shipment"
msgstr "Szállítmány"
-#: order/models.py:1235
+#: order/models.py:1258
msgid "Shipment number"
msgstr "Szállítmány száma"
-#: order/models.py:1239
+#: order/models.py:1262
msgid "Shipment notes"
msgstr "Szállítmány megjegyzései"
-#: order/models.py:1245
+#: order/models.py:1268
msgid "Tracking Number"
msgstr "Nyomkövetési szám"
-#: order/models.py:1246
+#: order/models.py:1269
msgid "Shipment tracking information"
msgstr "Szállítmány nyomkövetési információ"
-#: order/models.py:1253
+#: order/models.py:1276
msgid "Invoice Number"
msgstr "Számlaszám"
-#: order/models.py:1254
+#: order/models.py:1277
msgid "Reference number for associated invoice"
msgstr "Hozzátartozó számla referencia száma"
-#: order/models.py:1272
+#: order/models.py:1295
msgid "Shipment has already been sent"
msgstr "Szállítmány már elküldve"
-#: order/models.py:1275
+#: order/models.py:1298
msgid "Shipment has no allocated stock items"
msgstr "Szállítmány nem tartalmaz foglalt készlet tételeket"
-#: order/models.py:1378 order/models.py:1380
+#: order/models.py:1401 order/models.py:1403
msgid "Stock item has not been assigned"
msgstr "Készlet tétel nincs hozzárendelve"
-#: order/models.py:1384
+#: order/models.py:1407
msgid "Cannot allocate stock item to a line with a different part"
msgstr "Nem foglalható készlet egy másik fajta alkatrész sortételéhez"
-#: order/models.py:1386
+#: order/models.py:1409
msgid "Cannot allocate stock to a line without a part"
msgstr "Nem foglalható készlet egy olyan sorhoz amiben nincs alkatrész"
-#: order/models.py:1389
+#: order/models.py:1412
msgid "Allocation quantity cannot exceed stock quantity"
msgstr "A lefoglalandó mennyiség nem haladhatja meg a készlet mennyiségét"
-#: order/models.py:1399 order/serializers.py:1090
+#: order/models.py:1422 order/serializers.py:1083
msgid "Quantity must be 1 for serialized stock item"
msgstr "Egyedi követésre kötelezett tételeknél a menyiség 1 kell legyen"
-#: order/models.py:1402
+#: order/models.py:1425
msgid "Sales order does not match shipment"
msgstr "Vevői rendelés nem egyezik a szállítmánnyal"
-#: order/models.py:1403
+#: order/models.py:1426
msgid "Shipment does not match sales order"
msgstr "Szállítmány nem egyezik a vevői rendeléssel"
-#: order/models.py:1411
+#: order/models.py:1434
msgid "Line"
msgstr "Sor"
-#: order/models.py:1420
+#: order/models.py:1443
msgid "Sales order shipment reference"
msgstr "Vevői rendelés szállítmány azonosító"
-#: order/models.py:1433 templates/js/translated/notification.js:55
+#: order/models.py:1456 templates/js/translated/notification.js:55
msgid "Item"
msgstr "Tétel"
-#: order/models.py:1434
+#: order/models.py:1457
msgid "Select stock item to allocate"
msgstr "Válaszd ki a foglalásra szánt készlet tételt"
-#: order/models.py:1437
+#: order/models.py:1460
msgid "Enter stock allocation quantity"
msgstr "Készlet foglalási mennyiség megadása"
-#: order/serializers.py:67
+#: order/serializers.py:63
msgid "Price currency"
msgstr "Pénznem"
-#: order/serializers.py:199
+#: order/serializers.py:193
msgid "Order cannot be cancelled"
msgstr "A rendelést nem lehet törölni"
-#: order/serializers.py:209 order/serializers.py:1108
+#: order/serializers.py:203 order/serializers.py:1101
msgid "Allow order to be closed with incomplete line items"
msgstr "Rendelés lezárása teljesítetlen sortételek esetén is"
-#: order/serializers.py:220 order/serializers.py:1119
+#: order/serializers.py:214 order/serializers.py:1112
msgid "Order has incomplete line items"
msgstr "A rendelésben teljesítetlen sortételek vannak"
-#: order/serializers.py:311
+#: order/serializers.py:305
msgid "Order is not open"
msgstr "A rendelés nem nyitott"
-#: order/serializers.py:335
+#: order/serializers.py:327
msgid "Purchase price currency"
msgstr "Beszérzési ár pénzneme"
-#: order/serializers.py:354
+#: order/serializers.py:346
msgid "Supplier part must be specified"
msgstr "Beszállítói alkatrészt meg kell adni"
-#: order/serializers.py:359
+#: order/serializers.py:351
msgid "Purchase order must be specified"
msgstr "Beszerzési rendelést meg kell adni"
-#: order/serializers.py:365
+#: order/serializers.py:357
msgid "Supplier must match purchase order"
msgstr "A beszállítónak egyeznie kell a beszerzési rendelésben lévővel"
-#: order/serializers.py:366
+#: order/serializers.py:358
msgid "Purchase order must match supplier"
msgstr "A beszerzési rendelésnek egyeznie kell a beszállítóval"
-#: order/serializers.py:430 order/serializers.py:1196
+#: order/serializers.py:421 order/serializers.py:1189
msgid "Line Item"
msgstr "Sortétel"
-#: order/serializers.py:436
+#: order/serializers.py:427
msgid "Line item does not match purchase order"
msgstr "Sortétel nem egyezik a beszerzési megrendeléssel"
-#: order/serializers.py:446 order/serializers.py:557
+#: order/serializers.py:437 order/serializers.py:548
msgid "Select destination location for received items"
msgstr "Válassz cél helyet a beérkezett tételeknek"
-#: order/serializers.py:465 templates/js/translated/order.js:1497
+#: order/serializers.py:456 templates/js/translated/order.js:1531
msgid "Enter batch code for incoming stock items"
msgstr "Írd be a batch kódját a beérkezett tételeknek"
-#: order/serializers.py:473 templates/js/translated/order.js:1508
+#: order/serializers.py:464 templates/js/translated/order.js:1542
msgid "Enter serial numbers for incoming stock items"
msgstr "Írd be a sorozatszámokat a beérkezett tételekhez"
-#: order/serializers.py:487
+#: order/serializers.py:478
msgid "Unique identifier field"
msgstr "Egyedi azonosító mező"
-#: order/serializers.py:501
+#: order/serializers.py:492
msgid "Barcode is already in use"
msgstr "Ez a vonalkód már használva van"
-#: order/serializers.py:527
+#: order/serializers.py:518
msgid "An integer quantity must be provided for trackable parts"
msgstr "Egész számú mennyiség szükséges az egyedi követésre kötelezett alkatrészeknél"
-#: order/serializers.py:573
+#: order/serializers.py:564
msgid "Line items must be provided"
msgstr "Sortételt meg kell adni"
-#: order/serializers.py:590
+#: order/serializers.py:581
msgid "Destination location must be specified"
msgstr "A cél helyet kötelező megadni"
-#: order/serializers.py:601
+#: order/serializers.py:592
msgid "Supplied barcode values must be unique"
msgstr "Megadott vonalkódoknak egyedieknek kel lenniük"
-#: order/serializers.py:907
+#: order/serializers.py:900
msgid "Sale price currency"
msgstr "Eladási ár pénzneme"
-#: order/serializers.py:988
+#: order/serializers.py:981
msgid "No shipment details provided"
msgstr "Nincsenek szállítmány részletek megadva"
-#: order/serializers.py:1051 order/serializers.py:1205
+#: order/serializers.py:1044 order/serializers.py:1198
msgid "Line item is not associated with this order"
msgstr "Sortétel nincs hozzárendelve ehhez a rendeléshez"
-#: order/serializers.py:1073
+#: order/serializers.py:1066
msgid "Quantity must be positive"
msgstr "Mennyiség pozitív kell legyen"
-#: order/serializers.py:1218
+#: order/serializers.py:1211
msgid "Enter serial numbers to allocate"
msgstr "Írd be a sorozatszámokat a kiosztáshoz"
-#: order/serializers.py:1240 order/serializers.py:1364
+#: order/serializers.py:1233 order/serializers.py:1357
msgid "Shipment has already been shipped"
msgstr "Szállítmány kiszállítva"
-#: order/serializers.py:1243 order/serializers.py:1367
+#: order/serializers.py:1236 order/serializers.py:1360
msgid "Shipment is not associated with this order"
msgstr "Szállítmány nincs hozzárendelve ehhez a rendeléshez"
-#: order/serializers.py:1297
+#: order/serializers.py:1290
msgid "No match found for the following serial numbers"
msgstr "Nincs találat a következő sorozatszámokra"
-#: order/serializers.py:1307
+#: order/serializers.py:1300
msgid "The following serial numbers are already allocated"
msgstr "A következő sorozatszámok már ki lettek osztva"
@@ -4155,15 +4186,16 @@ msgid "Duplicate order"
msgstr "Rendelés másolása"
#: order/templates/order/order_base.html:61
-msgid "Place order"
-msgstr "Rendelés leadása"
+#: order/templates/order/order_base.html:62
+msgid "Submit Order"
+msgstr "Megrendelés elküldése"
#: order/templates/order/order_base.html:65
msgid "Receive items"
msgstr "Érkezett tételek bevételezése"
#: order/templates/order/order_base.html:67
-#: order/templates/order/purchase_order_detail.html:30
+#: order/templates/order/purchase_order_detail.html:32
msgid "Receive Items"
msgstr "Bevételezés"
@@ -4249,9 +4281,9 @@ msgstr "Beszállítói alkatrész kiválasztása"
#: part/templates/part/import_wizard/match_references.html:49
#: templates/js/translated/bom.js:102 templates/js/translated/build.js:479
#: templates/js/translated/build.js:631 templates/js/translated/build.js:2078
-#: templates/js/translated/order.js:1084 templates/js/translated/order.js:1586
-#: templates/js/translated/order.js:3092 templates/js/translated/stock.js:625
-#: templates/js/translated/stock.js:793
+#: templates/js/translated/order.js:1118 templates/js/translated/order.js:1620
+#: templates/js/translated/order.js:3103 templates/js/translated/stock.js:644
+#: templates/js/translated/stock.js:812
#: templates/patterns/wizard/match_fields.html:70
msgid "Remove row"
msgstr "Sor törlése"
@@ -4279,42 +4311,42 @@ msgstr "Sortételek"
msgid "Received Stock"
msgstr "Beérkezett készlet"
-#: order/templates/order/purchase_order_detail.html:17
+#: order/templates/order/purchase_order_detail.html:19
msgid "Purchase Order Items"
msgstr "Beszerzési rendelés tételei"
-#: order/templates/order/purchase_order_detail.html:26
-#: order/templates/order/sales_order_detail.html:22
-#: order/templates/order/sales_order_detail.html:255
+#: order/templates/order/purchase_order_detail.html:28
+#: order/templates/order/sales_order_detail.html:24
+#: order/templates/order/sales_order_detail.html:260
#: templates/js/translated/order.js:728
msgid "Add Line Item"
msgstr "Sortétel hozzáadása"
-#: order/templates/order/purchase_order_detail.html:29
+#: order/templates/order/purchase_order_detail.html:31
msgid "Receive selected items"
msgstr "Kiválasztott tételek bevételezése"
-#: order/templates/order/purchase_order_detail.html:48
-#: order/templates/order/sales_order_detail.html:42
+#: order/templates/order/purchase_order_detail.html:50
+#: order/templates/order/sales_order_detail.html:45
msgid "Extra Lines"
msgstr "Egyéb tételek"
-#: order/templates/order/purchase_order_detail.html:53
-#: order/templates/order/sales_order_detail.html:47
-#: order/templates/order/sales_order_detail.html:280
+#: order/templates/order/purchase_order_detail.html:56
+#: order/templates/order/sales_order_detail.html:51
+#: order/templates/order/sales_order_detail.html:291
msgid "Add Extra Line"
msgstr "Egyéb tétel hozzáadása"
-#: order/templates/order/purchase_order_detail.html:72
+#: order/templates/order/purchase_order_detail.html:76
msgid "Received Items"
msgstr "Érkezett tételek"
-#: order/templates/order/purchase_order_detail.html:97
-#: order/templates/order/sales_order_detail.html:150
+#: order/templates/order/purchase_order_detail.html:101
+#: order/templates/order/sales_order_detail.html:155
msgid "Order Notes"
msgstr "Rendelés megjegyzések"
-#: order/templates/order/purchase_order_detail.html:232
+#: order/templates/order/purchase_order_detail.html:239
msgid "Add Order Line"
msgstr "Sortétel hozzáadása"
@@ -4346,12 +4378,12 @@ msgid "This Sales Order has not been fully allocated"
msgstr "Ehhez a vevői rendeléshez nincs minden alkatrész lefoglalva"
#: order/templates/order/sales_order_base.html:123
-#: templates/js/translated/order.js:2821
+#: templates/js/translated/order.js:2832
msgid "Customer Reference"
msgstr "Vevői azonosító"
#: order/templates/order/sales_order_base.html:141
-#: order/templates/order/sales_order_detail.html:104
+#: order/templates/order/sales_order_detail.html:109
#: order/templates/order/so_sidebar.html:11
msgid "Completed Shipments"
msgstr "Kész szállítmányok"
@@ -4360,22 +4392,22 @@ msgstr "Kész szállítmányok"
msgid "Edit Sales Order"
msgstr "Vevői rendelés szerkesztése"
-#: order/templates/order/sales_order_detail.html:17
+#: order/templates/order/sales_order_detail.html:18
msgid "Sales Order Items"
msgstr "Vevői rendelés tételek"
-#: order/templates/order/sales_order_detail.html:68
+#: order/templates/order/sales_order_detail.html:73
#: order/templates/order/so_sidebar.html:8
msgid "Pending Shipments"
msgstr "Függő szállítmányok"
-#: order/templates/order/sales_order_detail.html:72
-#: templates/attachment_table.html:6 templates/js/translated/bom.js:1158
+#: order/templates/order/sales_order_detail.html:77
+#: templates/attachment_table.html:6 templates/js/translated/bom.js:1223
#: templates/js/translated/build.js:1979
msgid "Actions"
msgstr "Műveletek"
-#: order/templates/order/sales_order_detail.html:81
+#: order/templates/order/sales_order_detail.html:86
msgid "New Shipment"
msgstr "Új szállítmány"
@@ -4401,617 +4433,844 @@ msgstr "A {part} egységára {price}-ra módosítva"
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr "A {part} alkatrész módosított egységára {price} mennyisége pedig {qty}"
-#: part/api.py:516
-msgid "Incoming Purchase Order"
-msgstr "Beérkező beszerzési rendelés"
+#: part/admin.py:19 part/admin.py:219 part/models.py:3181 stock/admin.py:84
+#: templates/js/translated/model_renderers.js:212
+msgid "Part ID"
+msgstr "Alkatrész ID"
-#: part/api.py:536
-msgid "Outgoing Sales Order"
-msgstr "Kimenő vevői rendelés"
+#: part/admin.py:20 part/admin.py:221 part/models.py:3185 stock/admin.py:85
+msgid "Part Name"
+msgstr "Alkatrész neve"
-#: part/api.py:554
-msgid "Stock produced by Build Order"
-msgstr "Gyártással előállított készlet"
+#: part/admin.py:21
+msgid "Part Description"
+msgstr ""
-#: part/api.py:640
-msgid "Stock required for Build Order"
-msgstr "A gyártási utasításhoz szükséges készlet"
+#: part/admin.py:22 part/models.py:822 part/templates/part/part_base.html:272
+#: templates/js/translated/part.js:751 templates/js/translated/part.js:1469
+#: templates/js/translated/stock.js:1745
+msgid "IPN"
+msgstr "IPN"
-#: part/api.py:777
-msgid "Valid"
-msgstr "Érvényes"
+#: part/admin.py:23 part/models.py:830 part/templates/part/part_base.html:279
+#: report/models.py:171 templates/js/translated/part.js:755
+msgid "Revision"
+msgstr "Változat"
-#: part/api.py:778
-msgid "Validate entire Bill of Materials"
-msgstr "Teljes alkatrészjegyzék jóváhagyása"
+#: part/admin.py:24 part/admin.py:145 part/models.py:808
+#: part/templates/part/category.html:87 part/templates/part/part_base.html:300
+msgid "Keywords"
+msgstr "Kulcsszavak"
-#: part/api.py:784
-msgid "This option must be selected"
-msgstr "Ennek az opciónak ki kll lennie választva"
+#: part/admin.py:28 part/admin.py:139
+#: templates/js/translated/model_renderers.js:338
+msgid "Category ID"
+msgstr "Kategória ID"
-#: part/api.py:1207
-msgid "Must be greater than zero"
-msgstr "Nullánál nagyobb kell legyen"
+#: part/admin.py:29 part/admin.py:140
+msgid "Category Name"
+msgstr ""
-#: part/api.py:1211
-msgid "Must be a valid quantity"
-msgstr "Érvényes mennyiségnek kell lennie"
+#: part/admin.py:30 part/admin.py:144
+msgid "Default Location ID"
+msgstr ""
-#: part/api.py:1226
-msgid "Specify location for initial part stock"
-msgstr "Hely megadása a kezdeti alkarész készlethez"
+#: part/admin.py:31
+msgid "Default Supplier ID"
+msgstr ""
-#: part/api.py:1257 part/api.py:1261 part/api.py:1276 part/api.py:1280
-msgid "This field is required"
-msgstr "Ez a mező kötelező"
+#: part/admin.py:33 part/models.py:914 part/templates/part/part_base.html:206
+msgid "Minimum Stock"
+msgstr "Minimális készlet"
-#: part/bom.py:127 part/models.py:98 part/models.py:838
-#: part/templates/part/category.html:109 part/templates/part/part_base.html:345
-msgid "Default Location"
-msgstr "Alapértelmezett hely"
+#: part/admin.py:47 part/templates/part/part_base.html:200
+#: templates/js/translated/company.js:1028
+#: templates/js/translated/table_filters.js:213
+msgid "In Stock"
+msgstr "Készleten"
-#: part/bom.py:128 templates/email/low_stock_notification.html:17
-msgid "Total Stock"
-msgstr "Teljes készlet"
-
-#: part/bom.py:129 part/templates/part/part_base.html:195
-#: templates/js/translated/order.js:3913
-msgid "Available Stock"
-msgstr "Elérhető készlet"
-
-#: part/bom.py:130 part/templates/part/part_base.html:213
-#: templates/js/translated/bom.js:1001 templates/js/translated/build.js:1925
-#: templates/js/translated/part.js:588 templates/js/translated/part.js:608
-#: templates/js/translated/part.js:1338 templates/js/translated/part.js:1526
+#: part/admin.py:48 part/bom.py:145 part/templates/part/part_base.html:213
+#: templates/js/translated/bom.js:1155 templates/js/translated/build.js:1925
+#: templates/js/translated/part.js:602 templates/js/translated/part.js:622
+#: templates/js/translated/part.js:1359 templates/js/translated/part.js:1537
#: templates/js/translated/table_filters.js:68
msgid "On Order"
msgstr "Rendelve"
-#: part/forms.py:41
-msgid "Input quantity for price calculation"
-msgstr "Add meg a mennyiséget az árszámításhoz"
+#: part/admin.py:49 part/templates/part/part_sidebar.html:27
+msgid "Used In"
+msgstr "Felhasználva ebben"
-#: part/models.py:99
-msgid "Default location for parts in this category"
-msgstr "Ebben a kategóriában lévő alkatrészek helye alapban"
+#: part/admin.py:50 templates/js/translated/build.js:1937
+#: templates/js/translated/build.js:2195 templates/js/translated/build.js:2761
+#: templates/js/translated/order.js:3943
+msgid "Allocated"
+msgstr "Lefoglalva"
-#: part/models.py:102
-msgid "Default keywords"
-msgstr "Alapértelmezett kulcsszavak"
+#: part/admin.py:51 part/templates/part/part_base.html:244
+#: templates/js/translated/part.js:605 templates/js/translated/part.js:625
+#: templates/js/translated/part.js:1363 templates/js/translated/part.js:1544
+msgid "Building"
+msgstr "Gyártásban"
-#: part/models.py:102
-msgid "Default keywords for parts in this category"
-msgstr "Ebben a kategóriában évő alkatrészek kulcsszavai alapban"
+#: part/admin.py:52 part/models.py:2765
+msgid "Minimum Cost"
+msgstr ""
-#: part/models.py:107 stock/models.py:85
-msgid "Icon"
-msgstr "Ikon"
+#: part/admin.py:53 part/models.py:2771
+msgid "Maximum Cost"
+msgstr ""
-#: part/models.py:108 stock/models.py:86
-msgid "Icon (optional)"
-msgstr "Ikon (opcionális)"
+#: part/admin.py:142 part/admin.py:216 stock/admin.py:26 stock/admin.py:98
+msgid "Parent ID"
+msgstr ""
-#: part/models.py:122 part/models.py:2517 part/templates/part/category.html:16
-#: part/templates/part/part_app_base.html:10
-msgid "Part Category"
-msgstr "Alkatrész kategória"
+#: part/admin.py:143 part/admin.py:218 stock/admin.py:27
+msgid "Parent Name"
+msgstr ""
-#: part/models.py:123 part/templates/part/category.html:129
-#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200
-#: users/models.py:37
-msgid "Part Categories"
-msgstr "Alkatrész kategóriák"
+#: part/admin.py:146 part/templates/part/category.html:81
+#: part/templates/part/category.html:94
+msgid "Category Path"
+msgstr "Kategória elérési út"
-#: part/models.py:344 part/templates/part/cat_link.html:3
+#: part/admin.py:149 part/models.py:363 part/templates/part/cat_link.html:3
#: part/templates/part/category.html:23 part/templates/part/category.html:134
#: part/templates/part/category.html:154
#: part/templates/part/category_sidebar.html:9
#: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84
#: templates/InvenTree/settings/sidebar.html:41
-#: templates/js/translated/part.js:2019 templates/js/translated/search.js:146
+#: templates/js/translated/part.js:2043 templates/js/translated/search.js:146
#: templates/navbar.html:24 users/models.py:38
msgid "Parts"
msgstr "Alkatrészek"
-#: part/models.py:429
+#: part/admin.py:211
+msgid "BOM Level"
+msgstr ""
+
+#: part/admin.py:213
+msgid "BOM Item ID"
+msgstr ""
+
+#: part/admin.py:217
+msgid "Parent IPN"
+msgstr ""
+
+#: part/admin.py:220 part/models.py:3189
+msgid "Part IPN"
+msgstr "Alkatrész IPN"
+
+#: part/admin.py:226 templates/js/translated/pricing.js:91
+#: templates/js/translated/pricing.js:727
+msgid "Minimum Price"
+msgstr ""
+
+#: part/admin.py:227 templates/js/translated/pricing.js:86
+#: templates/js/translated/pricing.js:735
+msgid "Maximum Price"
+msgstr ""
+
+#: part/api.py:532
+msgid "Incoming Purchase Order"
+msgstr "Beérkező beszerzési rendelés"
+
+#: part/api.py:552
+msgid "Outgoing Sales Order"
+msgstr "Kimenő vevői rendelés"
+
+#: part/api.py:570
+msgid "Stock produced by Build Order"
+msgstr "Gyártással előállított készlet"
+
+#: part/api.py:656
+msgid "Stock required for Build Order"
+msgstr "A gyártási utasításhoz szükséges készlet"
+
+#: part/api.py:814
+msgid "Valid"
+msgstr "Érvényes"
+
+#: part/api.py:815
+msgid "Validate entire Bill of Materials"
+msgstr "Teljes alkatrészjegyzék jóváhagyása"
+
+#: part/api.py:821
+msgid "This option must be selected"
+msgstr "Ennek az opciónak ki kll lennie választva"
+
+#: part/api.py:1261
+msgid "Must be greater than zero"
+msgstr "Nullánál nagyobb kell legyen"
+
+#: part/api.py:1265
+msgid "Must be a valid quantity"
+msgstr "Érvényes mennyiségnek kell lennie"
+
+#: part/api.py:1280
+msgid "Specify location for initial part stock"
+msgstr "Hely megadása a kezdeti alkarész készlethez"
+
+#: part/api.py:1311 part/api.py:1315 part/api.py:1330 part/api.py:1334
+msgid "This field is required"
+msgstr "Ez a mező kötelező"
+
+#: part/bom.py:142 part/models.py:116 part/models.py:857
+#: part/templates/part/category.html:109 part/templates/part/part_base.html:360
+msgid "Default Location"
+msgstr "Alapértelmezett hely"
+
+#: part/bom.py:143 templates/email/low_stock_notification.html:17
+msgid "Total Stock"
+msgstr "Teljes készlet"
+
+#: part/bom.py:144 part/templates/part/part_base.html:195
+#: templates/js/translated/order.js:3910
+msgid "Available Stock"
+msgstr "Elérhető készlet"
+
+#: part/forms.py:41
+msgid "Input quantity for price calculation"
+msgstr "Add meg a mennyiséget az árszámításhoz"
+
+#: part/models.py:117
+msgid "Default location for parts in this category"
+msgstr "Ebben a kategóriában lévő alkatrészek helye alapban"
+
+#: part/models.py:120
+msgid "Default keywords"
+msgstr "Alapértelmezett kulcsszavak"
+
+#: part/models.py:120
+msgid "Default keywords for parts in this category"
+msgstr "Ebben a kategóriában évő alkatrészek kulcsszavai alapban"
+
+#: part/models.py:125 stock/models.py:101
+msgid "Icon"
+msgstr "Ikon"
+
+#: part/models.py:126 stock/models.py:102
+msgid "Icon (optional)"
+msgstr "Ikon (opcionális)"
+
+#: part/models.py:140 part/models.py:3130 part/templates/part/category.html:16
+#: part/templates/part/part_app_base.html:10
+msgid "Part Category"
+msgstr "Alkatrész kategória"
+
+#: part/models.py:141 part/templates/part/category.html:129
+#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200
+#: users/models.py:37
+msgid "Part Categories"
+msgstr "Alkatrész kategóriák"
+
+#: part/models.py:448
msgid "Invalid choice for parent part"
msgstr "Hibás választás a szülő alkatrészre"
-#: part/models.py:499 part/models.py:511
+#: part/models.py:518 part/models.py:530
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr "A '{p1}' alkatrész a '{p2}' alkatrészjegyzékében már szerepel (rekurzív)"
-#: part/models.py:601
+#: part/models.py:620
msgid "Stock item with this serial number already exists"
msgstr "Létezik már készlet tétel ilyen a sorozatszámmal"
-#: part/models.py:732
+#: part/models.py:751
msgid "Duplicate IPN not allowed in part settings"
msgstr "Azonos IPN nem engedélyezett az alkatrész beállításokban"
-#: part/models.py:759 part/models.py:2573
+#: part/models.py:778 part/models.py:3186
msgid "Part name"
msgstr "Alkatrész neve"
-#: part/models.py:766
+#: part/models.py:785
msgid "Is Template"
msgstr "Sablon-e"
-#: part/models.py:767
+#: part/models.py:786
msgid "Is this part a template part?"
msgstr "Ez egy sablon alkatrész?"
-#: part/models.py:777
+#: part/models.py:796
msgid "Is this part a variant of another part?"
msgstr "Ez az alkatrész egy másik változata?"
-#: part/models.py:778
+#: part/models.py:797
msgid "Variant Of"
msgstr "Ebből a sablonból"
-#: part/models.py:784
+#: part/models.py:803
msgid "Part description"
msgstr "Alkatrész leírása"
-#: part/models.py:789 part/templates/part/category.html:87
-#: part/templates/part/part_base.html:300
-msgid "Keywords"
-msgstr "Kulcsszavak"
-
-#: part/models.py:790
+#: part/models.py:809
msgid "Part keywords to improve visibility in search results"
msgstr "Alkatrész kulcsszavak amik segítik a megjelenést a keresési eredményekben"
-#: part/models.py:797 part/models.py:2272 part/models.py:2516
+#: part/models.py:816 part/models.py:2885 part/models.py:3129
#: part/templates/part/part_base.html:263
#: templates/InvenTree/settings/settings.html:229
#: templates/js/translated/notification.js:50
-#: templates/js/translated/part.js:1480 templates/js/translated/part.js:1724
+#: templates/js/translated/part.js:1491 templates/js/translated/part.js:1748
msgid "Category"
msgstr "Kategória"
-#: part/models.py:798
+#: part/models.py:817
msgid "Part category"
msgstr "Alkatrész kategória"
-#: part/models.py:803 part/templates/part/part_base.html:272
-#: templates/js/translated/part.js:737 templates/js/translated/part.js:1431
-#: templates/js/translated/stock.js:1726
-msgid "IPN"
-msgstr "IPN"
-
-#: part/models.py:804
+#: part/models.py:823
msgid "Internal Part Number"
msgstr "Belső cikkszám"
-#: part/models.py:810
+#: part/models.py:829
msgid "Part revision or version number"
msgstr "Alkatrész változat vagy verziószám (pl. szín, hossz, revízió, stb.)"
-#: part/models.py:811 part/templates/part/part_base.html:279
-#: report/models.py:171 templates/js/translated/part.js:741
-msgid "Revision"
-msgstr "Változat"
-
-#: part/models.py:836
+#: part/models.py:855
msgid "Where is this item normally stored?"
msgstr "Alapban hol tároljuk ezt az alkatrészt?"
-#: part/models.py:881 part/templates/part/part_base.html:354
+#: part/models.py:900 part/templates/part/part_base.html:369
msgid "Default Supplier"
msgstr "Alapértelmezett beszállító"
-#: part/models.py:882
+#: part/models.py:901
msgid "Default supplier part"
msgstr "Alapértelmezett beszállítói alkatrész"
-#: part/models.py:889
+#: part/models.py:908
msgid "Default Expiry"
msgstr "Alapértelmezett lejárat"
-#: part/models.py:890
+#: part/models.py:909
msgid "Expiry time (in days) for stock items of this part"
msgstr "Lejárati idő (napban) ennek az alkatrésznek a készleteire"
-#: part/models.py:895 part/templates/part/part_base.html:206
-msgid "Minimum Stock"
-msgstr "Minimális készlet"
-
-#: part/models.py:896
+#: part/models.py:915
msgid "Minimum allowed stock level"
msgstr "Minimálisan megengedett készlet mennyiség"
-#: part/models.py:903
+#: part/models.py:922
msgid "Stock keeping units for this part"
msgstr "Az alkatrész raktározási mértékegységei"
-#: part/models.py:909
+#: part/models.py:928
msgid "Can this part be built from other parts?"
msgstr "Gyártható-e ez az alkatrész más alkatrészekből?"
-#: part/models.py:915
+#: part/models.py:934
msgid "Can this part be used to build other parts?"
msgstr "Felhasználható-e ez az alkatrész más alkatrészek gyártásához?"
-#: part/models.py:921
+#: part/models.py:940
msgid "Does this part have tracking for unique items?"
msgstr "Kell-e külön követni az egyes példányait ennek az alkatrésznek?"
-#: part/models.py:926
+#: part/models.py:945
msgid "Can this part be purchased from external suppliers?"
msgstr "Rendelhető-e ez az alkatrész egy külső beszállítótól?"
-#: part/models.py:931
+#: part/models.py:950
msgid "Can this part be sold to customers?"
msgstr "Értékesíthető-e önmagában ez az alkatrész a vevőknek?"
-#: part/models.py:936
+#: part/models.py:955
msgid "Is this part active?"
msgstr "Aktív-e ez az alkatrész?"
-#: part/models.py:941
+#: part/models.py:960
msgid "Is this a virtual part, such as a software product or license?"
msgstr "Ez egy virtuális nem megfogható alkatrész, pl. szoftver vagy licenc?"
-#: part/models.py:943
+#: part/models.py:962
msgid "Part notes"
msgstr "Alkatrész megjegyzések"
-#: part/models.py:945
+#: part/models.py:964
msgid "BOM checksum"
msgstr "Alkatrészjegyzék ellenőrző összeg"
-#: part/models.py:945
+#: part/models.py:964
msgid "Stored BOM checksum"
msgstr "Tárolt alkatrészjegyzék ellenőrző összeg"
-#: part/models.py:948
+#: part/models.py:967
msgid "BOM checked by"
msgstr "Alkatrészjegyzéket ellenőrizte"
-#: part/models.py:950
+#: part/models.py:969
msgid "BOM checked date"
msgstr "Alkatrészjegyzék ellenőrzési dátuma"
-#: part/models.py:954
+#: part/models.py:973
msgid "Creation User"
msgstr "Létrehozó"
-#: part/models.py:1790
+#: part/models.py:1819
msgid "Sell multiple"
msgstr "Több értékesítése"
-#: part/models.py:2319
+#: part/models.py:2682
+msgid "Currency used to cache pricing calculations"
+msgstr ""
+
+#: part/models.py:2687
+msgid "Updated"
+msgstr ""
+
+#: part/models.py:2688
+msgid "Timestamp of last pricing update"
+msgstr ""
+
+#: part/models.py:2705
+msgid "Minimum BOM Cost"
+msgstr ""
+
+#: part/models.py:2706
+msgid "Minimum cost of component parts"
+msgstr ""
+
+#: part/models.py:2711
+msgid "Maximum BOM Cost"
+msgstr ""
+
+#: part/models.py:2712
+msgid "Maximum cost of component parts"
+msgstr ""
+
+#: part/models.py:2717
+msgid "Minimum Purchase Cost"
+msgstr ""
+
+#: part/models.py:2718
+msgid "Minimum historical purchase cost"
+msgstr ""
+
+#: part/models.py:2723
+msgid "Maximum Purchase Cost"
+msgstr ""
+
+#: part/models.py:2724
+msgid "Maximum historical purchase cost"
+msgstr ""
+
+#: part/models.py:2729
+msgid "Minimum Internal Price"
+msgstr ""
+
+#: part/models.py:2730
+msgid "Minimum cost based on internal price breaks"
+msgstr ""
+
+#: part/models.py:2735
+msgid "Maximum Internal Price"
+msgstr ""
+
+#: part/models.py:2736
+msgid "Maximum cost based on internal price breaks"
+msgstr ""
+
+#: part/models.py:2741
+msgid "Minimum Supplier Price"
+msgstr ""
+
+#: part/models.py:2742
+msgid "Minimum price of part from external suppliers"
+msgstr ""
+
+#: part/models.py:2747
+msgid "Maximum Supplier Price"
+msgstr ""
+
+#: part/models.py:2748
+msgid "Maximum price of part from external suppliers"
+msgstr ""
+
+#: part/models.py:2753
+msgid "Minimum Variant Cost"
+msgstr ""
+
+#: part/models.py:2754
+msgid "Calculated minimum cost of variant parts"
+msgstr ""
+
+#: part/models.py:2759
+msgid "Maximum Variant Cost"
+msgstr ""
+
+#: part/models.py:2760
+msgid "Calculated maximum cost of variant parts"
+msgstr ""
+
+#: part/models.py:2766
+msgid "Calculated overall minimum cost"
+msgstr ""
+
+#: part/models.py:2772
+msgid "Calculated overall maximum cost"
+msgstr ""
+
+#: part/models.py:2777
+msgid "Minimum Sale Price"
+msgstr ""
+
+#: part/models.py:2778
+msgid "Minimum sale price based on price breaks"
+msgstr ""
+
+#: part/models.py:2783
+msgid "Maximum Sale Price"
+msgstr ""
+
+#: part/models.py:2784
+msgid "Maximum sale price based on price breaks"
+msgstr ""
+
+#: part/models.py:2789
+msgid "Minimum Sale Cost"
+msgstr ""
+
+#: part/models.py:2790
+msgid "Minimum historical sale price"
+msgstr ""
+
+#: part/models.py:2795
+msgid "Maximum Sale Cost"
+msgstr ""
+
+#: part/models.py:2796
+msgid "Maximum historical sale price"
+msgstr ""
+
+#: part/models.py:2932
msgid "Test templates can only be created for trackable parts"
msgstr "Teszt sablont csak követésre kötelezett alkatrészhez lehet csinálni"
-#: part/models.py:2336
+#: part/models.py:2949
msgid "Test with this name already exists for this part"
msgstr "Erre az alkatrészre már létezik teszt ilyen névvel"
-#: part/models.py:2356 templates/js/translated/part.js:2070
-#: templates/js/translated/stock.js:1340
+#: part/models.py:2969 templates/js/translated/part.js:2094
+#: templates/js/translated/stock.js:1359
msgid "Test Name"
msgstr "Teszt név"
-#: part/models.py:2357
+#: part/models.py:2970
msgid "Enter a name for the test"
msgstr "Add meg a teszt nevét"
-#: part/models.py:2362
+#: part/models.py:2975
msgid "Test Description"
msgstr "Teszt leírása"
-#: part/models.py:2363
+#: part/models.py:2976
msgid "Enter description for this test"
msgstr "Adj hozzá egy leírást ehhez a teszthez"
-#: part/models.py:2368 templates/js/translated/part.js:2079
-#: templates/js/translated/table_filters.js:310
+#: part/models.py:2981 templates/js/translated/part.js:2103
+#: templates/js/translated/table_filters.js:314
msgid "Required"
msgstr "Kötelező"
-#: part/models.py:2369
+#: part/models.py:2982
msgid "Is this test required to pass?"
msgstr "Szükséges-e hogy ez a teszt sikeres legyen?"
-#: part/models.py:2374 templates/js/translated/part.js:2087
+#: part/models.py:2987 templates/js/translated/part.js:2111
msgid "Requires Value"
msgstr "Kötelező érték"
-#: part/models.py:2375
+#: part/models.py:2988
msgid "Does this test require a value when adding a test result?"
msgstr "Szükséges-e hogy ennek a tesztnek az eredményéhez kötelezően érték legyen rendelve?"
-#: part/models.py:2380 templates/js/translated/part.js:2094
+#: part/models.py:2993 templates/js/translated/part.js:2118
msgid "Requires Attachment"
msgstr "Kötelező melléklet"
-#: part/models.py:2381
+#: part/models.py:2994
msgid "Does this test require a file attachment when adding a test result?"
msgstr "Szükséges-e hogy ennek a tesztnek az eredményéhez kötelezően fájl melléklet legyen rendelve?"
-#: part/models.py:2422
+#: part/models.py:3035
msgid "Parameter template name must be unique"
msgstr "A paraméter sablon nevének egyedinek kell lennie"
-#: part/models.py:2430
+#: part/models.py:3043
msgid "Parameter Name"
msgstr "Paraméter neve"
-#: part/models.py:2434
+#: part/models.py:3047
msgid "Parameter Units"
msgstr "Paraméter mértékegysége"
-#: part/models.py:2439
+#: part/models.py:3052
msgid "Parameter description"
msgstr "Paraméter leírása"
-#: part/models.py:2472
+#: part/models.py:3085
msgid "Parent Part"
msgstr "Szülő alkatrész"
-#: part/models.py:2474 part/models.py:2522 part/models.py:2523
+#: part/models.py:3087 part/models.py:3135 part/models.py:3136
#: templates/InvenTree/settings/settings.html:224
msgid "Parameter Template"
msgstr "Paraméter sablon"
-#: part/models.py:2476
+#: part/models.py:3089
msgid "Data"
msgstr "Adat"
-#: part/models.py:2476
+#: part/models.py:3089
msgid "Parameter Value"
msgstr "Paraméter értéke"
-#: part/models.py:2527 templates/InvenTree/settings/settings.html:233
+#: part/models.py:3140 templates/InvenTree/settings/settings.html:233
msgid "Default Value"
msgstr "Alapértelmezett érték"
-#: part/models.py:2528
+#: part/models.py:3141
msgid "Default Parameter Value"
msgstr "Alapértelmezett paraméter érték"
-#: part/models.py:2565
+#: part/models.py:3178
msgid "Part ID or part name"
msgstr "Alkatrész ID vagy alkatrész név"
-#: part/models.py:2568 templates/js/translated/model_renderers.js:212
-msgid "Part ID"
-msgstr "Alkatrész ID"
-
-#: part/models.py:2569
+#: part/models.py:3182
msgid "Unique part ID value"
msgstr "Egyedi alkatrész ID értéke"
-#: part/models.py:2572
-msgid "Part Name"
-msgstr "Alkatrész neve"
-
-#: part/models.py:2576
-msgid "Part IPN"
-msgstr "Alkatrész IPN"
-
-#: part/models.py:2577
+#: part/models.py:3190
msgid "Part IPN value"
msgstr "Alkatrész IPN érték"
-#: part/models.py:2580
+#: part/models.py:3193
msgid "Level"
msgstr "Szint"
-#: part/models.py:2581
+#: part/models.py:3194
msgid "BOM level"
msgstr "Alkatrészjegyzék szint"
-#: part/models.py:2650
+#: part/models.py:3263
msgid "Select parent part"
msgstr "Szülő alkatrész kiválasztása"
-#: part/models.py:2658
+#: part/models.py:3271
msgid "Sub part"
msgstr "Al alkatrész"
-#: part/models.py:2659
+#: part/models.py:3272
msgid "Select part to be used in BOM"
msgstr "Válaszd ki az alkatrészjegyzékben használandó alkatrészt"
-#: part/models.py:2665
+#: part/models.py:3278
msgid "BOM quantity for this BOM item"
msgstr "Alkatrészjegyzék mennyiség ehhez az alkatrészjegyzék tételhez"
-#: part/models.py:2669 part/templates/part/upload_bom.html:58
-#: templates/js/translated/bom.js:924 templates/js/translated/bom.js:1024
+#: part/models.py:3282 part/templates/part/upload_bom.html:58
+#: templates/js/translated/bom.js:933 templates/js/translated/bom.js:986
#: templates/js/translated/build.js:1858
#: templates/js/translated/table_filters.js:84
-#: templates/js/translated/table_filters.js:108
+#: templates/js/translated/table_filters.js:112
msgid "Optional"
msgstr "Opcionális"
-#: part/models.py:2670
+#: part/models.py:3283
msgid "This BOM item is optional"
msgstr "Ez az alkatrészjegyzék tétel opcionális"
-#: part/models.py:2675 templates/js/translated/bom.js:920
-#: templates/js/translated/bom.js:1033 templates/js/translated/build.js:1849
+#: part/models.py:3288 templates/js/translated/bom.js:929
+#: templates/js/translated/bom.js:995 templates/js/translated/build.js:1849
#: templates/js/translated/table_filters.js:88
msgid "Consumable"
msgstr "Fogyóeszköz"
-#: part/models.py:2676
+#: part/models.py:3289
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr "Ez a BOM tétel fogyóeszköz (készlete nincs követve a gyártásban)"
-#: part/models.py:2680 part/templates/part/upload_bom.html:55
+#: part/models.py:3293 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr "Többlet"
-#: part/models.py:2681
+#: part/models.py:3294
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr "Becsült gyártási veszteség (abszolút vagy százalékos)"
-#: part/models.py:2684
+#: part/models.py:3297
msgid "BOM item reference"
msgstr "Alkatrészjegyzék tétel azonosító"
-#: part/models.py:2687
+#: part/models.py:3300
msgid "BOM item notes"
msgstr "Alkatrészjegyzék tétel megjegyzései"
-#: part/models.py:2689
+#: part/models.py:3302
msgid "Checksum"
msgstr "Ellenőrző összeg"
-#: part/models.py:2689
+#: part/models.py:3302
msgid "BOM line checksum"
msgstr "Alkatrészjegyzék sor ellenőrző összeg"
-#: part/models.py:2693 part/templates/part/upload_bom.html:57
-#: templates/js/translated/bom.js:1050
+#: part/models.py:3306 part/templates/part/upload_bom.html:57
+#: templates/js/translated/bom.js:1012
#: templates/js/translated/table_filters.js:76
-#: templates/js/translated/table_filters.js:104
+#: templates/js/translated/table_filters.js:108
msgid "Inherited"
msgstr "Örökölt"
-#: part/models.py:2694
+#: part/models.py:3307
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr "Ezt az alkatrészjegyzék tételt az alkatrész változatok alkatrészjegyzékei is öröklik"
-#: part/models.py:2699 part/templates/part/upload_bom.html:56
-#: templates/js/translated/bom.js:1042
+#: part/models.py:3312 part/templates/part/upload_bom.html:56
+#: templates/js/translated/bom.js:1004
msgid "Allow Variants"
msgstr "Változatok"
-#: part/models.py:2700
+#: part/models.py:3313
msgid "Stock items for variant parts can be used for this BOM item"
msgstr "Alkatrészváltozatok készlet tételei használhatók ehhez az alkatrészjegyzék tételhez"
-#: part/models.py:2786 stock/models.py:502
+#: part/models.py:3399 stock/models.py:518
msgid "Quantity must be integer value for trackable parts"
msgstr "A mennyiség egész szám kell legyen a követésre kötelezett alkatrészek esetén"
-#: part/models.py:2795 part/models.py:2797
+#: part/models.py:3408 part/models.py:3410
msgid "Sub part must be specified"
msgstr "Al alkatrészt kötelező megadni"
-#: part/models.py:2902
+#: part/models.py:3537
msgid "BOM Item Substitute"
msgstr "Alkatrészjegyzék tétel helyettesítő"
-#: part/models.py:2923
+#: part/models.py:3558
msgid "Substitute part cannot be the same as the master part"
msgstr "A helyettesítő alkatrész nem lehet ugyanaz mint a fő alkatrész"
-#: part/models.py:2936
+#: part/models.py:3571
msgid "Parent BOM item"
msgstr "Szülő alkatrészjegyzék tétel"
-#: part/models.py:2944
+#: part/models.py:3579
msgid "Substitute part"
msgstr "Helyettesítő alkatrész"
-#: part/models.py:2959
+#: part/models.py:3594
msgid "Part 1"
msgstr "1.rész"
-#: part/models.py:2963
+#: part/models.py:3598
msgid "Part 2"
msgstr "2.rész"
-#: part/models.py:2963
+#: part/models.py:3598
msgid "Select Related Part"
msgstr "Válassz kapcsolódó alkatrészt"
-#: part/models.py:2981
+#: part/models.py:3616
msgid "Part relationship cannot be created between a part and itself"
msgstr "Alkatrész kapcsolat nem hozható létre önmagával"
-#: part/models.py:2985
+#: part/models.py:3620
msgid "Duplicate relationship already exists"
msgstr "Már létezik duplikált alkatrész kapcsolat"
-#: part/serializers.py:154 part/serializers.py:185 stock/serializers.py:179
+#: part/serializers.py:154 part/serializers.py:182 stock/serializers.py:183
msgid "Purchase currency of this stock item"
msgstr "Beszerzési pénzneme ennek a készlet tételnek"
-#: part/serializers.py:829
+#: part/serializers.py:542
+msgid "Update"
+msgstr ""
+
+#: part/serializers.py:543
+msgid "Update pricing for this part"
+msgstr ""
+
+#: part/serializers.py:853
msgid "Select part to copy BOM from"
msgstr "Válassz alkatrészt ahonnan az alkatrészjegyzéket másoljuk"
-#: part/serializers.py:837
+#: part/serializers.py:861
msgid "Remove Existing Data"
msgstr "Létező adat törlése"
-#: part/serializers.py:838
+#: part/serializers.py:862
msgid "Remove existing BOM items before copying"
msgstr "Meglévő alkatrészjegyzék tételek törlése a másolás előtt"
-#: part/serializers.py:843
+#: part/serializers.py:867
msgid "Include Inherited"
msgstr "Örököltekkel együtt"
-#: part/serializers.py:844
+#: part/serializers.py:868
msgid "Include BOM items which are inherited from templated parts"
msgstr "Sablon alkatrészektől örökölt alkatrészjegyzék tételek használata"
-#: part/serializers.py:849
+#: part/serializers.py:873
msgid "Skip Invalid Rows"
msgstr "Hibás sorok kihagyása"
-#: part/serializers.py:850
+#: part/serializers.py:874
msgid "Enable this option to skip invalid rows"
msgstr "Engedély a hibás sorok kihagyására"
-#: part/serializers.py:855
+#: part/serializers.py:879
msgid "Copy Substitute Parts"
msgstr "Helyettesítő alkatrészek másolása"
-#: part/serializers.py:856
+#: part/serializers.py:880
msgid "Copy substitute parts when duplicate BOM items"
msgstr "Helyettesítő alkatrészek másolása az alkatrészjegyzék tételek másolásakor"
-#: part/serializers.py:896
+#: part/serializers.py:920
msgid "Clear Existing BOM"
msgstr "Meglévő alkatrészjegyzék törlése"
-#: part/serializers.py:897
+#: part/serializers.py:921
msgid "Delete existing BOM items before uploading"
msgstr "Meglévő alkatrészjegyzék tételek törlése a feltöltés előtt"
-#: part/serializers.py:927
+#: part/serializers.py:951
msgid "No part column specified"
msgstr "Nincs megadva alkatrész oszlop"
-#: part/serializers.py:970
+#: part/serializers.py:994
msgid "Multiple matching parts found"
msgstr "Több egyező alkatrész is található"
-#: part/serializers.py:973
+#: part/serializers.py:997
msgid "No matching part found"
msgstr "Nincs egyező alkatrész"
-#: part/serializers.py:976
+#: part/serializers.py:1000
msgid "Part is not designated as a component"
msgstr "Az alkatrész nem lett összetevőként jelölve"
-#: part/serializers.py:985
+#: part/serializers.py:1009
msgid "Quantity not provided"
msgstr "Mennyiség nincs megadva"
-#: part/serializers.py:993
+#: part/serializers.py:1017
msgid "Invalid quantity"
msgstr "Érvénytelen mennyiség"
-#: part/serializers.py:1014
+#: part/serializers.py:1038
msgid "At least one BOM item is required"
msgstr "Legalább egy alkatrészjegyzék tétel szükséges"
-#: part/tasks.py:21
+#: part/tasks.py:25
msgid "Low stock notification"
msgstr "Alacsony készlet értesítés"
-#: part/tasks.py:22
+#: part/tasks.py:26
#, python-brace-format
msgid "The available stock for {part.name} has fallen below the configured minimum level"
msgstr "A {part.name} alkatrész rendelkezésre álló készlete a megadott minimum alá csökkent"
@@ -5035,7 +5294,7 @@ msgstr "A %(part)s alkatrészhez tartozó alkatrészjegyzéket utoljár
msgid "The BOM for %(part)s has not been validated."
msgstr "A %(part)s alkatrészhez tartozó alkatrészjegyzék még nincs jóváhagyva."
-#: part/templates/part/bom.html:30 part/templates/part/detail.html:269
+#: part/templates/part/bom.html:30 part/templates/part/detail.html:267
msgid "BOM actions"
msgstr "Alkatrészjegyzék műveletek"
@@ -5071,10 +5330,6 @@ msgstr "Kategória törlése"
msgid "Delete Category"
msgstr "Kategória törlése"
-#: part/templates/part/category.html:81 part/templates/part/category.html:94
-msgid "Category Path"
-msgstr "Kategória elérési út"
-
#: part/templates/part/category.html:95
msgid "Top level part category"
msgstr "Legfelső szintű alkatrész kategória"
@@ -5092,12 +5347,12 @@ msgstr "Alkatrészek száma (alkategóriákkal együtt)"
msgid "Create new part"
msgstr "Alkatrész létrehozása"
-#: part/templates/part/category.html:159 templates/js/translated/bom.js:392
+#: part/templates/part/category.html:159 templates/js/translated/bom.js:405
msgid "New Part"
msgstr "Új alkatrész"
-#: part/templates/part/category.html:169 part/templates/part/detail.html:368
-#: part/templates/part/detail.html:399
+#: part/templates/part/category.html:169 part/templates/part/detail.html:366
+#: part/templates/part/detail.html:397
msgid "Options"
msgstr "Opciók"
@@ -5145,7 +5400,7 @@ msgstr "Alkatrész sikeresen létrehozva"
msgid "Import Parts"
msgstr "Alkatrészek importálása"
-#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:379
+#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:393
msgid "Duplicate Part"
msgstr "Alkatrész másolása"
@@ -5177,7 +5432,8 @@ msgstr "Alkatrész készlet"
msgid "Refresh scheduling data"
msgstr "Ütemezési adatok frissítése"
-#: part/templates/part/detail.html:45 templates/js/translated/tables.js:524
+#: part/templates/part/detail.html:45 part/templates/part/prices.html:15
+#: templates/js/translated/tables.js:524
msgid "Refresh"
msgstr "Frissítés"
@@ -5193,123 +5449,103 @@ msgstr "Teszt sablon hozzáadása"
msgid "Sales Order Allocations"
msgstr "Vevői rendeléshez foglalások"
-#: part/templates/part/detail.html:143
+#: part/templates/part/detail.html:141
msgid "Part Notes"
msgstr "Alkatrész megjegyzések"
-#: part/templates/part/detail.html:158
+#: part/templates/part/detail.html:156
msgid "Part Variants"
msgstr "Alkatrész változatok"
-#: part/templates/part/detail.html:162
+#: part/templates/part/detail.html:160
msgid "Create new variant"
msgstr "Új változat létrehozása"
-#: part/templates/part/detail.html:163
+#: part/templates/part/detail.html:161
msgid "New Variant"
msgstr "Új változat"
-#: part/templates/part/detail.html:190
+#: part/templates/part/detail.html:188
msgid "Add new parameter"
msgstr "Paraméter hozzáadása"
-#: part/templates/part/detail.html:227 part/templates/part/part_sidebar.html:54
+#: part/templates/part/detail.html:225 part/templates/part/part_sidebar.html:52
msgid "Related Parts"
msgstr "Kapcsolódó alkatrészek"
-#: part/templates/part/detail.html:231 part/templates/part/detail.html:232
+#: part/templates/part/detail.html:229 part/templates/part/detail.html:230
msgid "Add Related"
msgstr "Kapcsolódó hozzáadása"
-#: part/templates/part/detail.html:252 part/templates/part/part_sidebar.html:17
+#: part/templates/part/detail.html:250 part/templates/part/part_sidebar.html:17
msgid "Bill of Materials"
msgstr "Alkatrészjegyzék"
-#: part/templates/part/detail.html:257
+#: part/templates/part/detail.html:255
msgid "Export actions"
msgstr "Exportálási műveletek"
-#: part/templates/part/detail.html:261 templates/js/translated/bom.js:309
+#: part/templates/part/detail.html:259 templates/js/translated/bom.js:309
msgid "Export BOM"
msgstr "Alkatrészjegyzék exportálása"
-#: part/templates/part/detail.html:263
+#: part/templates/part/detail.html:261
msgid "Print BOM Report"
msgstr "Alkatrészjegyzék riport nyomtatása"
-#: part/templates/part/detail.html:273
+#: part/templates/part/detail.html:271
msgid "Upload BOM"
msgstr "Alkatrészjegyzék feltöltése"
-#: part/templates/part/detail.html:274 templates/js/translated/part.js:274
+#: part/templates/part/detail.html:272 templates/js/translated/part.js:270
msgid "Copy BOM"
msgstr "Alkatrészjegyzék másolása"
-#: part/templates/part/detail.html:275
+#: part/templates/part/detail.html:273
msgid "Validate BOM"
msgstr "Alkatrészjegyzék jóváhagyása"
-#: part/templates/part/detail.html:280 part/templates/part/detail.html:281
-#: templates/js/translated/bom.js:1202 templates/js/translated/bom.js:1203
+#: part/templates/part/detail.html:278 part/templates/part/detail.html:279
+#: templates/js/translated/bom.js:1267 templates/js/translated/bom.js:1268
msgid "Add BOM Item"
msgstr "Alkatrészjegyzék tétel hozzáadása"
-#: part/templates/part/detail.html:294
+#: part/templates/part/detail.html:292
msgid "Assemblies"
msgstr "Gyártmányok"
-#: part/templates/part/detail.html:312
+#: part/templates/part/detail.html:310
msgid "Part Builds"
msgstr "Alkatrész gyártások"
-#: part/templates/part/detail.html:339 stock/templates/stock/item.html:38
+#: part/templates/part/detail.html:337 stock/templates/stock/item.html:38
msgid "Build Order Allocations"
msgstr "Gyártáshoz foglalások"
-#: part/templates/part/detail.html:355
+#: part/templates/part/detail.html:353
msgid "Part Suppliers"
msgstr "Alkatrész beszállítók"
-#: part/templates/part/detail.html:385
+#: part/templates/part/detail.html:383
msgid "Part Manufacturers"
msgstr "Alkatrész gyártók"
-#: part/templates/part/detail.html:401
+#: part/templates/part/detail.html:399
msgid "Delete manufacturer parts"
msgstr "Gyártói alkatrészek törlése"
-#: part/templates/part/detail.html:658
+#: part/templates/part/detail.html:656
msgid "Related Part"
msgstr "Kapcsolódó alkatrész"
-#: part/templates/part/detail.html:666
+#: part/templates/part/detail.html:664
msgid "Add Related Part"
msgstr "Kapcsolódó alkatrész hozzáadása"
-#: part/templates/part/detail.html:758
+#: part/templates/part/detail.html:756
msgid "Add Test Result Template"
msgstr "Teszt eredmény sablon hozzáadása"
-#: part/templates/part/detail.html:901
-#, python-format
-msgid "Purchase Unit Price - %(currency)s"
-msgstr "Beszerzési egységár - %(currency)s"
-
-#: part/templates/part/detail.html:913
-#, python-format
-msgid "Unit Price-Cost Difference - %(currency)s"
-msgstr "Egységár-önköltség különbség - %(currency)s"
-
-#: part/templates/part/detail.html:925
-#, python-format
-msgid "Supplier Unit Cost - %(currency)s"
-msgstr "Beszállítói egység költség - %(currency)s"
-
-#: part/templates/part/detail.html:1014
-#, python-format
-msgid "Unit Price - %(currency)s"
-msgstr "Egységár - %(currency)s"
-
#: part/templates/part/import_wizard/ajax_match_fields.html:9
#: templates/patterns/wizard/match_fields.html:8
msgid "Missing selections for the following required columns"
@@ -5440,15 +5676,15 @@ msgid "Part is virtual (not a physical part)"
msgstr "Virtuális (nem kézzelfogható alkatrész)"
#: part/templates/part/part_base.html:148
-#: templates/js/translated/company.js:659
-#: templates/js/translated/company.js:920
+#: templates/js/translated/company.js:660
+#: templates/js/translated/company.js:921
#: templates/js/translated/model_renderers.js:204
-#: templates/js/translated/part.js:652 templates/js/translated/part.js:729
+#: templates/js/translated/part.js:666 templates/js/translated/part.js:743
msgid "Inactive"
msgstr "Inaktív"
#: part/templates/part/part_base.html:165
-#: part/templates/part/part_base.html:620
+#: part/templates/part/part_base.html:635
msgid "Show Part Details"
msgstr "Alkatrész részletei"
@@ -5457,12 +5693,6 @@ msgstr "Alkatrész részletei"
msgid "This part is a variant of %(link)s"
msgstr "Ez az alkatrész egy változata a %(link)s alkatrésznek"
-#: part/templates/part/part_base.html:200
-#: templates/js/translated/company.js:1027
-#: templates/js/translated/table_filters.js:209
-msgid "In Stock"
-msgstr "Készleten"
-
#: part/templates/part/part_base.html:221
#: stock/templates/stock/item_base.html:382
msgid "Allocated to Build Orders"
@@ -5473,100 +5703,91 @@ msgstr "Gyártáshoz lefoglalva"
msgid "Allocated to Sales Orders"
msgstr "Vevő rendeléshez lefoglalva"
-#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1100
+#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1165
msgid "Can Build"
msgstr "Gyártható"
-#: part/templates/part/part_base.html:244 templates/js/translated/part.js:591
-#: templates/js/translated/part.js:611 templates/js/translated/part.js:1342
-#: templates/js/translated/part.js:1533
-msgid "Building"
-msgstr "Gyártásban"
-
#: part/templates/part/part_base.html:293
msgid "Minimum stock level"
msgstr "Minimális készlet"
-#: part/templates/part/part_base.html:330
+#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1032
+#: templates/js/translated/part.js:783 templates/js/translated/part.js:1582
+#: templates/js/translated/pricing.js:124
+#: templates/js/translated/pricing.js:757
+msgid "Price Range"
+msgstr ""
+
+#: part/templates/part/part_base.html:345
msgid "Latest Serial Number"
msgstr "Legutolsó sorozatszám"
-#: part/templates/part/part_base.html:334
+#: part/templates/part/part_base.html:349
#: stock/templates/stock/item_base.html:331
msgid "Search for serial number"
msgstr "Sorozatszámra keresés"
-#: part/templates/part/part_base.html:431
+#: part/templates/part/part_base.html:446
msgid "Link Barcode to Part"
msgstr "Vonalkód hozzárendelése az alkatrészhez"
-#: part/templates/part/part_base.html:477 part/templates/part/prices.html:149
+#: part/templates/part/part_base.html:492
msgid "Calculate"
msgstr "Számítás"
-#: part/templates/part/part_base.html:520
+#: part/templates/part/part_base.html:535
msgid "No matching images found"
msgstr "Nincs egyező kép"
-#: part/templates/part/part_base.html:614
+#: part/templates/part/part_base.html:629
msgid "Hide Part Details"
msgstr "Részletek elrejtése"
-#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:24
+#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:78
+#: part/templates/part/prices.html:238 templates/js/translated/pricing.js:218
msgid "Supplier Pricing"
msgstr "Beszállító árazás"
#: part/templates/part/part_pricing.html:26
#: part/templates/part/part_pricing.html:52
-#: part/templates/part/part_pricing.html:103
-#: part/templates/part/part_pricing.html:118 part/templates/part/prices.html:28
-#: part/templates/part/prices.html:55 part/templates/part/prices.html:108
-#: part/templates/part/prices.html:125
+#: part/templates/part/part_pricing.html:95
+#: part/templates/part/part_pricing.html:110
msgid "Unit Cost"
msgstr "Egység költség"
#: part/templates/part/part_pricing.html:32
#: part/templates/part/part_pricing.html:58
-#: part/templates/part/part_pricing.html:107
-#: part/templates/part/part_pricing.html:122 part/templates/part/prices.html:35
-#: part/templates/part/prices.html:62 part/templates/part/prices.html:113
-#: part/templates/part/prices.html:130
+#: part/templates/part/part_pricing.html:99
+#: part/templates/part/part_pricing.html:114
msgid "Total Cost"
msgstr "Teljes költség"
-#: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:43
-#: templates/js/translated/bom.js:1091
+#: part/templates/part/part_pricing.html:40
msgid "No supplier pricing available"
msgstr "Nincs beszállítói árinfomáció"
-#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:52
-#: part/templates/part/prices.html:248
+#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:94
+#: part/templates/part/prices.html:262
msgid "BOM Pricing"
msgstr "Alkatrészjegyzék árazás"
-#: part/templates/part/part_pricing.html:66 part/templates/part/prices.html:72
+#: part/templates/part/part_pricing.html:66
msgid "Unit Purchase Price"
msgstr "Beszerzési egységár"
-#: part/templates/part/part_pricing.html:72 part/templates/part/prices.html:79
+#: part/templates/part/part_pricing.html:72
msgid "Total Purchase Price"
msgstr "Teljes beszerzési ár"
-#: part/templates/part/part_pricing.html:82 part/templates/part/prices.html:89
-msgid "Note: BOM pricing is incomplete for this part"
-msgstr "Megjegyzés: ennek az alkatrésznek az alkatrészjegyzék árazása nem teljes"
-
-#: part/templates/part/part_pricing.html:91 part/templates/part/prices.html:98
+#: part/templates/part/part_pricing.html:83
msgid "No BOM pricing available"
msgstr "Nincs alkatrészjegyzék árinfomáció"
-#: part/templates/part/part_pricing.html:100
-#: part/templates/part/prices.html:107
+#: part/templates/part/part_pricing.html:92
msgid "Internal Price"
msgstr "Belső ár"
-#: part/templates/part/part_pricing.html:131
-#: part/templates/part/prices.html:139
+#: part/templates/part/part_pricing.html:123
msgid "No pricing information is available for this part."
msgstr "Az alkatrészhez nem áll rendelkezésre árinformáció."
@@ -5574,7 +5795,8 @@ msgstr "Az alkatrészhez nem áll rendelkezésre árinformáció."
#: report/templates/report/inventree_test_report_base.html:97
#: templates/InvenTree/settings/plugin.html:63
#: templates/InvenTree/settings/plugin_settings.html:38
-#: templates/js/translated/order.js:2001 templates/js/translated/stock.js:2478
+#: templates/js/translated/order.js:2035 templates/js/translated/pricing.js:537
+#: templates/js/translated/pricing.js:658 templates/js/translated/stock.js:2496
msgid "Date"
msgstr "Dátum"
@@ -5586,15 +5808,11 @@ msgstr "Ütemezett mennyiség"
msgid "Variants"
msgstr "Változatok"
-#: part/templates/part/part_sidebar.html:27
-msgid "Used In"
-msgstr "Felhasználva ebben"
-
-#: part/templates/part/part_sidebar.html:46
+#: part/templates/part/part_sidebar.html:44
msgid "Scheduling"
msgstr "Ütemezés"
-#: part/templates/part/part_sidebar.html:50
+#: part/templates/part/part_sidebar.html:48
msgid "Test Templates"
msgstr "Teszt sablonok"
@@ -5602,74 +5820,82 @@ msgstr "Teszt sablonok"
msgid "Select from existing images"
msgstr "Válassz a meglévő képek közül"
-#: part/templates/part/prices.html:19
-msgid "Pricing ranges"
-msgstr "Ártartományok"
+#: part/templates/part/prices.html:11
+msgid "Pricing Overview"
+msgstr ""
-#: part/templates/part/prices.html:25
-msgid "Show supplier cost"
-msgstr "Beszállítói költség megjelenítése"
+#: part/templates/part/prices.html:14
+msgid "Refresh Part Pricing"
+msgstr ""
-#: part/templates/part/prices.html:26
-msgid "Show purchase price"
-msgstr "Beszerzési ár megjelenítése"
+#: part/templates/part/prices.html:25 stock/admin.py:106
+#: stock/templates/stock/item_base.html:440
+#: templates/js/translated/company.js:1039
+#: templates/js/translated/stock.js:1920
+msgid "Last Updated"
+msgstr "Utoljára módosítva"
-#: part/templates/part/prices.html:53
-msgid "Show BOM cost"
-msgstr "Alkatrészjegyzék költség megjelenítése"
+#: part/templates/part/prices.html:34 part/templates/part/prices.html:126
+msgid "Price Category"
+msgstr ""
-#: part/templates/part/prices.html:122
-msgid "Show sale cost"
-msgstr "Értékesítési költség megjelenítése"
+#: part/templates/part/prices.html:35 part/templates/part/prices.html:127
+msgid "Minimum"
+msgstr ""
-#: part/templates/part/prices.html:123
-msgid "Show sale price"
-msgstr "Eladási ár megjelenítése"
+#: part/templates/part/prices.html:36 part/templates/part/prices.html:128
+msgid "Maximum"
+msgstr ""
-#: part/templates/part/prices.html:145
-msgid "Calculation parameters"
-msgstr "Számítási paraméterek"
+#: part/templates/part/prices.html:49 part/templates/part/prices.html:185
+msgid "Internal Pricing"
+msgstr ""
-#: part/templates/part/prices.html:160 templates/js/translated/bom.js:1085
-msgid "Supplier Cost"
-msgstr "Beszállítói költség"
+#: part/templates/part/prices.html:64 part/templates/part/prices.html:217
+msgid "Purchase History"
+msgstr ""
-#: part/templates/part/prices.html:161 part/templates/part/prices.html:182
-#: part/templates/part/prices.html:206 part/templates/part/prices.html:236
-#: part/templates/part/prices.html:262 part/templates/part/prices.html:291
+#: part/templates/part/prices.html:103 part/templates/part/prices.html:286
+msgid "Variant Pricing"
+msgstr ""
+
+#: part/templates/part/prices.html:111
+msgid "Overall Pricing"
+msgstr ""
+
+#: part/templates/part/prices.html:155 part/templates/part/prices.html:338
+msgid "Sale History"
+msgstr ""
+
+#: part/templates/part/prices.html:168
+msgid "Sale price data is not available for this part"
+msgstr ""
+
+#: part/templates/part/prices.html:175
+msgid "Price range data is not available for this part."
+msgstr ""
+
+#: part/templates/part/prices.html:186 part/templates/part/prices.html:218
+#: part/templates/part/prices.html:239 part/templates/part/prices.html:263
+#: part/templates/part/prices.html:287 part/templates/part/prices.html:310
+#: part/templates/part/prices.html:339
msgid "Jump to overview"
msgstr "Ugrás az áttekintéshez"
-#: part/templates/part/prices.html:186
-msgid "Stock Pricing"
-msgstr "Készlet árazás"
-
-#: part/templates/part/prices.html:195
-msgid "No stock pricing history is available for this part."
-msgstr "Az alkatrészhez nem áll rendelkezésre ártörténet."
-
-#: part/templates/part/prices.html:205
-msgid "Internal Cost"
-msgstr "Belső költség"
-
-#: part/templates/part/prices.html:220
+#: part/templates/part/prices.html:191
msgid "Add Internal Price Break"
msgstr "Belső árlépcső hozzáadása"
-#: part/templates/part/prices.html:235
-msgid "BOM Cost"
-msgstr "Alkatrészjegyzék költség"
+#: part/templates/part/prices.html:309
+msgid "Sale Pricing"
+msgstr ""
-#: part/templates/part/prices.html:261
-msgid "Sale Cost"
-msgstr "Eladási költség"
+#: part/templates/part/prices.html:315
+msgid "Add Sell Price Break"
+msgstr ""
-#: part/templates/part/prices.html:302
-msgid "No sale pice history available for this part."
-msgstr "Az alkatrészhez nem áll rendelkezésre eladási ártörténet."
-
-#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:614
-#: templates/js/translated/part.js:1330 templates/js/translated/part.js:1332
+#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:628
+#: templates/js/translated/part.js:1351 templates/js/translated/part.js:1353
msgid "No Stock"
msgstr "Nincs készlet"
@@ -5723,46 +5949,42 @@ msgstr "Alkatrész változat létrehozása"
msgid "Create a new variant of template '%(full_name)s'."
msgstr "Új változat létrehozása a '%(full_name)s' sablonból."
-#: part/templatetags/inventree_extras.py:177
+#: part/templatetags/inventree_extras.py:210
msgid "Unknown database"
msgstr "Ismeretlen adatbázis"
-#: part/templatetags/inventree_extras.py:229
+#: part/templatetags/inventree_extras.py:262
#, python-brace-format
msgid "{title} v{version}"
msgstr "{title} v{version}"
-#: part/views.py:114
+#: part/views.py:109
msgid "Match References"
msgstr "Azonosítók egyeztetése"
-#: part/views.py:415
-msgid "None"
-msgstr "Egyik sem"
-
-#: part/views.py:477
+#: part/views.py:354
msgid "Part QR Code"
msgstr "Alkatrész QR kódja"
-#: part/views.py:495
+#: part/views.py:372
msgid "Select Part Image"
msgstr "Válassz képet az alkatrészhez"
-#: part/views.py:521
+#: part/views.py:398
msgid "Updated part image"
msgstr "Alkatrész képe frissítve"
-#: part/views.py:524
+#: part/views.py:401
msgid "Part image not found"
msgstr "Az alkatrész képe nem található"
-#: part/views.py:613
+#: part/views.py:493
msgid "Part Pricing"
msgstr "Alkatrész árak"
#: plugin/apps.py:55
msgid "Your environment has an outdated git version. This prevents InvenTree from loading plugin details."
-msgstr ""
+msgstr "A környezeted egy elavult git verziót használ. Ez megakadályozza hogy az InvenTree betöltse a plugin részleteit."
#: plugin/base/action/api.py:27
msgid "No action specified"
@@ -5798,11 +6020,11 @@ msgstr "Címkenyomtatás sikertelen"
#: plugin/builtin/barcodes/inventree_barcode.py:26
msgid "Inventree Barcodes"
-msgstr ""
+msgstr "Inventree vonalkódok"
#: plugin/builtin/barcodes/inventree_barcode.py:27
msgid "Provides native support for barcodes"
-msgstr ""
+msgstr "Alapvető vonalkód támogatást ad"
#: plugin/builtin/barcodes/inventree_barcode.py:29
#: plugin/builtin/integration/core_notifications.py:31
@@ -5811,7 +6033,7 @@ msgstr "InvenTree fejlesztők"
#: plugin/builtin/integration/core_notifications.py:30
msgid "InvenTree Notifications"
-msgstr ""
+msgstr "InvenTree értesítések"
#: plugin/builtin/integration/core_notifications.py:32
msgid "Integrated outgoing notificaton methods"
@@ -5865,7 +6087,7 @@ msgstr "Példa plugin"
#: plugin/models.py:167
msgid "Builtin Plugin"
-msgstr ""
+msgstr "Beépített plugin"
#: plugin/models.py:192 templates/InvenTree/settings/plugin_settings.html:10
msgid "Plugin"
@@ -6071,12 +6293,12 @@ msgid "Stock Item Test Report"
msgstr "Készlet tétel teszt riport"
#: report/templates/report/inventree_test_report_base.html:79
-#: stock/models.py:650 stock/templates/stock/item_base.html:320
+#: stock/models.py:666 stock/templates/stock/item_base.html:320
#: templates/js/translated/build.js:472 templates/js/translated/build.js:624
#: templates/js/translated/build.js:1234 templates/js/translated/build.js:1735
#: templates/js/translated/model_renderers.js:118
-#: templates/js/translated/order.js:121 templates/js/translated/order.js:3592
-#: templates/js/translated/order.js:3679 templates/js/translated/stock.js:490
+#: templates/js/translated/order.js:121 templates/js/translated/order.js:3603
+#: templates/js/translated/order.js:3690 templates/js/translated/stock.js:509
msgid "Serial Number"
msgstr "Sorozatszám"
@@ -6085,12 +6307,12 @@ msgid "Test Results"
msgstr "Teszt eredmények"
#: report/templates/report/inventree_test_report_base.html:93
-#: stock/models.py:2085
+#: stock/models.py:2101
msgid "Test"
msgstr "Teszt"
#: report/templates/report/inventree_test_report_base.html:94
-#: stock/models.py:2091
+#: stock/models.py:2107
msgid "Result"
msgstr "Eredmény"
@@ -6108,383 +6330,435 @@ msgid "Installed Items"
msgstr "Beépített tételek"
#: report/templates/report/inventree_test_report_base.html:137
-#: templates/js/translated/stock.js:610 templates/js/translated/stock.js:780
-#: templates/js/translated/stock.js:2727
+#: stock/admin.py:87 templates/js/translated/stock.js:629
+#: templates/js/translated/stock.js:799 templates/js/translated/stock.js:2745
msgid "Serial"
msgstr "Sorozatszám"
-#: stock/api.py:529
+#: stock/admin.py:23 stock/admin.py:90
+#: templates/js/translated/model_renderers.js:159
+msgid "Location ID"
+msgstr "Hely ID"
+
+#: stock/admin.py:24 stock/admin.py:91
+msgid "Location Name"
+msgstr ""
+
+#: stock/admin.py:28 stock/templates/stock/location.html:123
+#: stock/templates/stock/location.html:129
+msgid "Location Path"
+msgstr "Hely elérési út"
+
+#: stock/admin.py:83
+msgid "Stock Item ID"
+msgstr ""
+
+#: stock/admin.py:92 templates/js/translated/model_renderers.js:418
+msgid "Supplier Part ID"
+msgstr "Beszállítói cikkszám"
+
+#: stock/admin.py:93
+msgid "Supplier ID"
+msgstr ""
+
+#: stock/admin.py:94
+msgid "Supplier Name"
+msgstr ""
+
+#: stock/admin.py:95
+msgid "Customer ID"
+msgstr ""
+
+#: stock/admin.py:96 stock/models.py:649
+#: stock/templates/stock/item_base.html:359
+msgid "Installed In"
+msgstr "Beépítve ebbe"
+
+#: stock/admin.py:97 templates/js/translated/model_renderers.js:177
+msgid "Build ID"
+msgstr "Gyártás ID"
+
+#: stock/admin.py:99
+msgid "Sales Order ID"
+msgstr ""
+
+#: stock/admin.py:100
+msgid "Purchase Order ID"
+msgstr ""
+
+#: stock/admin.py:107 templates/js/translated/stock.js:1890
+msgid "Stocktake"
+msgstr "Leltár"
+
+#: stock/admin.py:108 stock/models.py:724
+#: stock/templates/stock/item_base.html:427
+#: templates/js/translated/stock.js:1904
+msgid "Expiry Date"
+msgstr "Lejárati dátum"
+
+#: stock/api.py:539
msgid "Quantity is required"
msgstr "Mennyiség megadása kötelező"
-#: stock/api.py:536
+#: stock/api.py:546
msgid "Valid part must be supplied"
msgstr "Egy érvényes alkatrészt meg kell adni"
-#: stock/api.py:561
+#: stock/api.py:571
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr "Sorozatszámot nem lehet megadni nem követésre kötelezett alkatrész esetén"
-#: stock/models.py:90 stock/models.py:746
+#: stock/models.py:106 stock/models.py:762
#: stock/templates/stock/item_base.html:250
msgid "Owner"
msgstr "Tulajdonos"
-#: stock/models.py:91 stock/models.py:747
+#: stock/models.py:107 stock/models.py:763
msgid "Select Owner"
msgstr "Tulajdonos kiválasztása"
-#: stock/models.py:508 stock/serializers.py:93
+#: stock/models.py:524 stock/serializers.py:97
msgid "Stock item cannot be created for virtual parts"
msgstr "Virtuális alkatrészből nem lehet készletet létrehozni"
-#: stock/models.py:525
+#: stock/models.py:541
#, python-brace-format
msgid "Part type ('{pf}') must be {pe}"
msgstr "A alkatrész típus ('{pf}') {pe} kell legyen"
-#: stock/models.py:535 stock/models.py:544
+#: stock/models.py:551 stock/models.py:560
msgid "Quantity must be 1 for item with a serial number"
msgstr "Mennyiség 1 kell legyen a sorozatszámmal rendelkező tételnél"
-#: stock/models.py:536
+#: stock/models.py:552
msgid "Serial number cannot be set if quantity greater than 1"
msgstr "Nem lehet sorozatszámot megadni ha a mennyiség több mint egy"
-#: stock/models.py:558
+#: stock/models.py:574
msgid "Item cannot belong to itself"
msgstr "A tétel nem tartozhat saját magához"
-#: stock/models.py:564
+#: stock/models.py:580
msgid "Item must have a build reference if is_building=True"
msgstr "A tételnek kell legyen gyártási azonosítója ha az is_bulding igaz"
-#: stock/models.py:578
+#: stock/models.py:594
msgid "Build reference does not point to the same part object"
msgstr "Gyártási azonosító nem ugyanarra az alkatrész objektumra mutat"
-#: stock/models.py:592
+#: stock/models.py:608
msgid "Parent Stock Item"
msgstr "Szülő készlet tétel"
-#: stock/models.py:602
+#: stock/models.py:618
msgid "Base part"
msgstr "Kiindulási alkatrész"
-#: stock/models.py:610
+#: stock/models.py:626
msgid "Select a matching supplier part for this stock item"
msgstr "Válassz egy egyező beszállítói alkatrészt ehhez a készlet tételhez"
-#: stock/models.py:617 stock/templates/stock/location.html:17
+#: stock/models.py:633 stock/templates/stock/location.html:17
#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
msgstr "Készlet hely"
-#: stock/models.py:620
+#: stock/models.py:636
msgid "Where is this stock item located?"
msgstr "Hol található ez az alkatrész?"
-#: stock/models.py:627
+#: stock/models.py:643
msgid "Packaging this stock item is stored in"
msgstr "A csomagolása ennek a készlet tételnek itt van tárolva"
-#: stock/models.py:633 stock/templates/stock/item_base.html:359
-msgid "Installed In"
-msgstr "Beépítve ebbe"
-
-#: stock/models.py:636
+#: stock/models.py:652
msgid "Is this item installed in another item?"
msgstr "Ez a tétel be van építve egy másik tételbe?"
-#: stock/models.py:652
+#: stock/models.py:668
msgid "Serial number for this item"
msgstr "Sorozatszám ehhez a tételhez"
-#: stock/models.py:666
+#: stock/models.py:682
msgid "Batch code for this stock item"
msgstr "Batch kód ehhez a készlet tételhez"
-#: stock/models.py:671
+#: stock/models.py:687
msgid "Stock Quantity"
msgstr "Készlet mennyiség"
-#: stock/models.py:680
+#: stock/models.py:696
msgid "Source Build"
msgstr "Forrás gyártás"
-#: stock/models.py:682
+#: stock/models.py:698
msgid "Build for this stock item"
msgstr "Gyártás ehhez a készlet tételhez"
-#: stock/models.py:693
+#: stock/models.py:709
msgid "Source Purchase Order"
msgstr "Forrás beszerzési rendelés"
-#: stock/models.py:696
+#: stock/models.py:712
msgid "Purchase order for this stock item"
msgstr "Beszerzés ehhez a készlet tételhez"
-#: stock/models.py:702
+#: stock/models.py:718
msgid "Destination Sales Order"
msgstr "Cél vevői rendelés"
-#: stock/models.py:708 stock/templates/stock/item_base.html:427
-#: templates/js/translated/stock.js:1885
-msgid "Expiry Date"
-msgstr "Lejárati dátum"
-
-#: stock/models.py:709
+#: stock/models.py:725
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr "Készlet tétel lejárati dátuma. A készlet lejártnak tekinthető ezután a dátum után"
-#: stock/models.py:722
+#: stock/models.py:738
msgid "Delete on deplete"
msgstr "Törlés ha kimerül"
-#: stock/models.py:722
+#: stock/models.py:738
msgid "Delete this Stock Item when stock is depleted"
msgstr "Készlet tétel törlése ha kimerül"
-#: stock/models.py:734 stock/templates/stock/item.html:132
+#: stock/models.py:750 stock/templates/stock/item.html:132
msgid "Stock Item Notes"
msgstr "Készlet tétel megjegyzések"
-#: stock/models.py:742
+#: stock/models.py:758
msgid "Single unit purchase price at time of purchase"
msgstr "Egy egység beszerzési ára a beszerzés időpontjában"
-#: stock/models.py:770
+#: stock/models.py:786
msgid "Converted to part"
msgstr "Alkatrésszé alakítva"
-#: stock/models.py:1244
+#: stock/models.py:1260
msgid "Part is not set as trackable"
msgstr "Az alkatrész nem követésre kötelezett"
-#: stock/models.py:1250
+#: stock/models.py:1266
msgid "Quantity must be integer"
msgstr "Mennyiség egész szám kell legyen"
-#: stock/models.py:1256
+#: stock/models.py:1272
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr "A mennyiség nem lépheti túl a készletet ({n})"
-#: stock/models.py:1259
+#: stock/models.py:1275
msgid "Serial numbers must be a list of integers"
msgstr "A sorozatszám egész számok listája kell legyen"
-#: stock/models.py:1262
+#: stock/models.py:1278
msgid "Quantity does not match serial numbers"
msgstr "A mennyiség nem egyezik a megadott sorozatszámok számával"
-#: stock/models.py:1269
+#: stock/models.py:1285
#, python-brace-format
msgid "Serial numbers already exist: {exists}"
msgstr "Ezek a sorozatszámok már léteznek: {exists}"
-#: stock/models.py:1339
+#: stock/models.py:1355
msgid "Stock item has been assigned to a sales order"
msgstr "Készlet tétel hozzárendelve egy vevői rendeléshez"
-#: stock/models.py:1342
+#: stock/models.py:1358
msgid "Stock item is installed in another item"
msgstr "Készlet tétel beépül egy másikba"
-#: stock/models.py:1345
+#: stock/models.py:1361
msgid "Stock item contains other items"
msgstr "A készlet tétel más tételeket tartalmaz"
-#: stock/models.py:1348
+#: stock/models.py:1364
msgid "Stock item has been assigned to a customer"
msgstr "Készlet tétel hozzárendelve egy vevőhöz"
-#: stock/models.py:1351
+#: stock/models.py:1367
msgid "Stock item is currently in production"
msgstr "Készlet tétel gyártás alatt"
-#: stock/models.py:1354
+#: stock/models.py:1370
msgid "Serialized stock cannot be merged"
msgstr "Követésre kötelezett készlet nem vonható össze"
-#: stock/models.py:1361 stock/serializers.py:963
+#: stock/models.py:1377 stock/serializers.py:962
msgid "Duplicate stock items"
msgstr "Duplikált készlet tételek vannak"
-#: stock/models.py:1365
+#: stock/models.py:1381
msgid "Stock items must refer to the same part"
msgstr "A készlet tétel ugyanarra az alkatrészre kell vonatkozzon"
-#: stock/models.py:1369
+#: stock/models.py:1385
msgid "Stock items must refer to the same supplier part"
msgstr "A készlet tétel ugyanarra a beszállítói alkatrészre kell vonatkozzon"
-#: stock/models.py:1373
+#: stock/models.py:1389
msgid "Stock status codes must match"
msgstr "Készlet tételek állapotainak egyeznie kell"
-#: stock/models.py:1542
+#: stock/models.py:1558
msgid "StockItem cannot be moved as it is not in stock"
msgstr "Készlet tétel nem mozgatható mivel nincs készleten"
-#: stock/models.py:2003
+#: stock/models.py:2019
msgid "Entry notes"
msgstr "Bejegyzés megjegyzései"
-#: stock/models.py:2061
+#: stock/models.py:2077
msgid "Value must be provided for this test"
msgstr "Ehhez a teszthez meg kell adni értéket"
-#: stock/models.py:2067
+#: stock/models.py:2083
msgid "Attachment must be uploaded for this test"
msgstr "Ehhez a teszthez fel kell tölteni mellékletet"
-#: stock/models.py:2086
+#: stock/models.py:2102
msgid "Test name"
msgstr "Teszt neve"
-#: stock/models.py:2092
+#: stock/models.py:2108
msgid "Test result"
msgstr "Teszt eredménye"
-#: stock/models.py:2098
+#: stock/models.py:2114
msgid "Test output value"
msgstr "Teszt kimeneti értéke"
-#: stock/models.py:2105
+#: stock/models.py:2121
msgid "Test result attachment"
msgstr "Teszt eredmény melléklet"
-#: stock/models.py:2111
+#: stock/models.py:2127
msgid "Test notes"
msgstr "Tesztek megjegyzései"
-#: stock/serializers.py:71
+#: stock/serializers.py:75
msgid "Serial number is too large"
msgstr "Szériaszám túl nagy"
-#: stock/serializers.py:172
+#: stock/serializers.py:176
msgid "Purchase price of this stock item"
msgstr "Beszerzési ára ennek a készlet tételnek"
-#: stock/serializers.py:292
+#: stock/serializers.py:286
msgid "Enter number of stock items to serialize"
msgstr "Add meg hány készlet tételt lássunk el sorozatszámmal"
-#: stock/serializers.py:304
+#: stock/serializers.py:298
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({q})"
msgstr "A mennyiség nem lépheti túl a rendelkezésre álló készletet ({q})"
-#: stock/serializers.py:310
+#: stock/serializers.py:304
msgid "Enter serial numbers for new items"
msgstr "Írd be a sorozatszámokat az új tételekhez"
-#: stock/serializers.py:321 stock/serializers.py:920 stock/serializers.py:1153
+#: stock/serializers.py:315 stock/serializers.py:919 stock/serializers.py:1152
msgid "Destination stock location"
msgstr "Cél készlet hely"
-#: stock/serializers.py:328
+#: stock/serializers.py:322
msgid "Optional note field"
msgstr "Opcionális megjegyzés mező"
-#: stock/serializers.py:338
+#: stock/serializers.py:332
msgid "Serial numbers cannot be assigned to this part"
msgstr "Sorozatszámokat nem lehet hozzárendelni ehhez az alkatrészhez"
-#: stock/serializers.py:359
+#: stock/serializers.py:353
msgid "Serial numbers already exist"
msgstr "A sorozatszámok már léteznek"
-#: stock/serializers.py:399
+#: stock/serializers.py:393
msgid "Select stock item to install"
msgstr "Válaszd ki a beépítésre szánt készlet tételt"
-#: stock/serializers.py:412
+#: stock/serializers.py:406
msgid "Stock item is unavailable"
msgstr "Készlet tétel nem elérhető"
-#: stock/serializers.py:419
+#: stock/serializers.py:413
msgid "Selected part is not in the Bill of Materials"
msgstr "A kiválasztott alkatrész nincs az alkatrészjegyzékben"
-#: stock/serializers.py:456
+#: stock/serializers.py:450
msgid "Destination location for uninstalled item"
msgstr "Cél hely a kiszedett tételeknek"
-#: stock/serializers.py:461 stock/serializers.py:542
+#: stock/serializers.py:455 stock/serializers.py:536
msgid "Add transaction note (optional)"
msgstr "Tranzakció megjegyzés hozzáadása (opcionális)"
-#: stock/serializers.py:495
+#: stock/serializers.py:489
msgid "Select part to convert stock item into"
msgstr "Válassz alkatrészt amire konvertáljuk a készletet"
-#: stock/serializers.py:506
+#: stock/serializers.py:500
msgid "Selected part is not a valid option for conversion"
msgstr "A kiválasztott alkatrész nem megfelelő a konverzióhoz"
-#: stock/serializers.py:537
+#: stock/serializers.py:531
msgid "Destination location for returned item"
msgstr "Cél hely a visszatérő tételeknek"
-#: stock/serializers.py:775
+#: stock/serializers.py:774
msgid "Part must be salable"
msgstr "Az alkatrésznek értékesíthetőnek kell lennie"
-#: stock/serializers.py:779
+#: stock/serializers.py:778
msgid "Item is allocated to a sales order"
msgstr "A tétel egy vevő rendeléshez foglalt"
-#: stock/serializers.py:783
+#: stock/serializers.py:782
msgid "Item is allocated to a build order"
msgstr "A tétel egy gyártási utasításhoz foglalt"
-#: stock/serializers.py:814
+#: stock/serializers.py:813
msgid "Customer to assign stock items"
msgstr "Vevő akihez rendeljük a készlet tételeket"
-#: stock/serializers.py:820
+#: stock/serializers.py:819
msgid "Selected company is not a customer"
msgstr "A kiválasztott cég nem egy vevő"
-#: stock/serializers.py:828
+#: stock/serializers.py:827
msgid "Stock assignment notes"
msgstr "Készlet hozzárendelés megjegyzései"
-#: stock/serializers.py:838 stock/serializers.py:1069
+#: stock/serializers.py:837 stock/serializers.py:1068
msgid "A list of stock items must be provided"
msgstr "A készlet tételek listáját meg kell adni"
-#: stock/serializers.py:927
+#: stock/serializers.py:926
msgid "Stock merging notes"
msgstr "Készlet összevonás megjegyzései"
-#: stock/serializers.py:932
+#: stock/serializers.py:931
msgid "Allow mismatched suppliers"
msgstr "Nem egyező beszállítók megengedése"
-#: stock/serializers.py:933
+#: stock/serializers.py:932
msgid "Allow stock items with different supplier parts to be merged"
msgstr "Különböző beszállítói alkatrészekből származó készletek összevonásának engedélyezése"
-#: stock/serializers.py:938
+#: stock/serializers.py:937
msgid "Allow mismatched status"
msgstr "Nem egyező állapotok megjelenítése"
-#: stock/serializers.py:939
+#: stock/serializers.py:938
msgid "Allow stock items with different status codes to be merged"
msgstr "Különböző állapotú készletek összevonásának engedélyezése"
-#: stock/serializers.py:949
+#: stock/serializers.py:948
msgid "At least two stock items must be provided"
msgstr "Legalább két készlet tételt meg kell adni"
-#: stock/serializers.py:1031
+#: stock/serializers.py:1030
msgid "StockItem primary key value"
msgstr "Készlet tétel elsődleges kulcs értéke"
-#: stock/serializers.py:1059
+#: stock/serializers.py:1058
msgid "Stock transaction notes"
msgstr "Készlet tranzakció megjegyzései"
@@ -6521,7 +6795,7 @@ msgstr "Teszt adatok hozzáadása"
msgid "Installed Stock Items"
msgstr "Beépített készlet tételek"
-#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2871
+#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2889
msgid "Install Stock Item"
msgstr "Készlet tétel beépítése"
@@ -6529,7 +6803,7 @@ msgstr "Készlet tétel beépítése"
msgid "Delete all test results for this stock item"
msgstr "Készlet tétel összes teszt eredményének törlése"
-#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1522
+#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1541
msgid "Add Test Result"
msgstr "Teszt eredmény hozzáadása"
@@ -6688,7 +6962,7 @@ msgid "This StockItem expired on %(item.expiry_date)s"
msgstr "Ez a készlet tétel lejárt %(item.expiry_date)s-n"
#: stock/templates/stock/item_base.html:431
-#: templates/js/translated/table_filters.js:277
+#: templates/js/translated/table_filters.js:281
msgid "Expired"
msgstr "Lejárt"
@@ -6698,16 +6972,10 @@ msgid "This StockItem expires on %(item.expiry_date)s"
msgstr "Ez a készlet tétel lejár %(item.expiry_date)s-n"
#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/table_filters.js:283
+#: templates/js/translated/table_filters.js:287
msgid "Stale"
msgstr "Állott"
-#: stock/templates/stock/item_base.html:440
-#: templates/js/translated/company.js:1038
-#: templates/js/translated/stock.js:1901
-msgid "Last Updated"
-msgstr "Utoljára módosítva"
-
#: stock/templates/stock/item_base.html:445
msgid "Last Stocktake"
msgstr "Utolsó leltár"
@@ -6784,11 +7052,6 @@ msgstr "Hely szerkesztése"
msgid "Delete location"
msgstr "Hely törlése"
-#: stock/templates/stock/location.html:123
-#: stock/templates/stock/location.html:129
-msgid "Location Path"
-msgstr "Hely elérési út"
-
#: stock/templates/stock/location.html:130
msgid "Top level stock location"
msgstr "Legfelső szintű készlet hely"
@@ -6961,6 +7224,14 @@ msgstr "Függő vevői rendelések"
msgid "Overdue Sales Orders"
msgstr "Késésben lévő vevői rendelések"
+#: templates/InvenTree/index.html:312
+msgid "InvenTree News"
+msgstr "InvenTree hírek"
+
+#: templates/InvenTree/index.html:314
+msgid "Current News"
+msgstr "Jelenlegi hírek"
+
#: templates/InvenTree/notifications/history.html:9
msgid "Notification History"
msgstr "Értesítések előzményei"
@@ -7027,30 +7298,6 @@ msgstr "Gyártási utasítás bellításai"
msgid "Category Settings"
msgstr "Kategória beállítások"
-#: templates/InvenTree/settings/currencies.html:8
-msgid "Currency Settings"
-msgstr "Pénznem beállítások"
-
-#: templates/InvenTree/settings/currencies.html:19
-msgid "Base Currency"
-msgstr "Alapértelmezett pénznem"
-
-#: templates/InvenTree/settings/currencies.html:24
-msgid "Exchange Rates"
-msgstr "Árfolyamok"
-
-#: templates/InvenTree/settings/currencies.html:38
-msgid "Last Update"
-msgstr "Utolsó frissítés"
-
-#: templates/InvenTree/settings/currencies.html:44
-msgid "Never"
-msgstr "Soha"
-
-#: templates/InvenTree/settings/currencies.html:49
-msgid "Update Now"
-msgstr "Frissítés most"
-
#: templates/InvenTree/settings/global.html:9
msgid "Server Settings"
msgstr "Kiszolgáló beállítások"
@@ -7091,15 +7338,15 @@ msgstr "Megnyitás új fülön"
msgid "Part Settings"
msgstr "Alkatrész beállítások"
-#: templates/InvenTree/settings/part.html:46
+#: templates/InvenTree/settings/part.html:40
msgid "Part Import"
msgstr "Alkatrész importálás"
-#: templates/InvenTree/settings/part.html:50
+#: templates/InvenTree/settings/part.html:44
msgid "Import Part"
msgstr "Alkatrész importálása"
-#: templates/InvenTree/settings/part.html:64
+#: templates/InvenTree/settings/part.html:58
msgid "Part Parameter Templates"
msgstr "Alkatrész paraméter sablonok"
@@ -7124,12 +7371,7 @@ msgstr "Plugin Telepítése"
#: templates/InvenTree/settings/plugin.html:52
msgid "External plugins are not enabled for this InvenTree installation"
-msgstr ""
-
-#: templates/InvenTree/settings/plugin.html:62
-#: templates/InvenTree/settings/plugin_settings.html:33
-msgid "Author"
-msgstr "Szerző"
+msgstr "Külső pluginok nincsenek engedélyezve"
#: templates/InvenTree/settings/plugin.html:64
#: templates/InvenTree/settings/plugin_settings.html:43
@@ -7138,7 +7380,7 @@ msgstr "Verzió"
#: templates/InvenTree/settings/plugin.html:72
msgid "Active plugins"
-msgstr ""
+msgstr "Aktív pluginok"
#: templates/InvenTree/settings/plugin.html:80
msgid "Inactive plugins"
@@ -7160,7 +7402,7 @@ msgstr "Üzenet"
#: templates/InvenTree/settings/plugin_details.html:32
#: templates/InvenTree/settings/plugin_settings.html:101
msgid "Builtin"
-msgstr ""
+msgstr "Beépített"
#: templates/InvenTree/settings/plugin_details.html:38
msgid "Sample"
@@ -7168,7 +7410,7 @@ msgstr "Minta"
#: templates/InvenTree/settings/plugin_details.html:47
msgid "Unvailable"
-msgstr ""
+msgstr "Nem elérhető"
#: templates/InvenTree/settings/plugin_settings.html:17
msgid "Plugin information"
@@ -7208,7 +7450,7 @@ msgstr "Telepítési útvonal"
#: templates/InvenTree/settings/plugin_settings.html:102
msgid "This is a builtin plugin which cannot be disabled"
-msgstr ""
+msgstr "Ez egy beépített plugin amit nem lehet letiltani"
#: templates/InvenTree/settings/plugin_settings.html:107
msgid "Commit Author"
@@ -7240,6 +7482,39 @@ msgstr "Aláíró kulcs"
msgid "Purchase Order Settings"
msgstr "Beszerzési rendelés beállításai"
+#: templates/InvenTree/settings/pricing.html:7
+msgid "Pricing Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:24
+msgid "Currency Settings"
+msgstr "Pénznem beállítások"
+
+#: templates/InvenTree/settings/pricing.html:30
+msgid "Update Now"
+msgstr "Frissítés most"
+
+#: templates/InvenTree/settings/pricing.html:39
+#: templates/InvenTree/settings/pricing.html:43
+msgid "Last Update"
+msgstr "Utolsó frissítés"
+
+#: templates/InvenTree/settings/pricing.html:43
+msgid "Never"
+msgstr "Soha"
+
+#: templates/InvenTree/settings/pricing.html:53
+msgid "Base Currency"
+msgstr "Alapértelmezett pénznem"
+
+#: templates/InvenTree/settings/pricing.html:58
+msgid "Exchange Rates"
+msgstr "Árfolyamok"
+
+#: templates/InvenTree/settings/pricing.html:60
+msgid "Rate"
+msgstr ""
+
#: templates/InvenTree/settings/report.html:8
#: templates/InvenTree/settings/user_reports.html:9
msgid "Report Settings"
@@ -7296,6 +7571,7 @@ msgid "No part parameter templates found"
msgstr "Nincs alkatrész paraméter sablon"
#: templates/InvenTree/settings/settings.html:338
+#: templates/js/translated/news.js:28
#: templates/js/translated/notification.js:36
msgid "ID"
msgstr "Azonosító"
@@ -7358,10 +7634,6 @@ msgstr "Általános beállítások"
msgid "Server Configuration"
msgstr "Kiszolgáló konfiguráció"
-#: templates/InvenTree/settings/sidebar.html:35
-msgid "Currencies"
-msgstr "Pénznemek"
-
#: templates/InvenTree/settings/sidebar.html:43
msgid "Categories"
msgstr "Kategóriák"
@@ -7381,7 +7653,7 @@ msgid "Change Password"
msgstr "Jelszó módosítása"
#: templates/InvenTree/settings/user.html:23
-#: templates/js/translated/helpers.js:31 templates/notes_buttons.html:3
+#: templates/js/translated/helpers.js:33 templates/notes_buttons.html:3
#: templates/notes_buttons.html:4
msgid "Edit"
msgstr "Szerkesztés"
@@ -7891,7 +8163,7 @@ msgid "The following parts are low on required stock"
msgstr "A következő alkatrészek szükséges készlete alacsony"
#: templates/email/build_order_required_stock.html:18
-#: templates/js/translated/bom.js:1566
+#: templates/js/translated/bom.js:1629
msgid "Required Quantity"
msgstr "Szükséges mennyiség"
@@ -7905,7 +8177,7 @@ msgid "Click on the following link to view this part"
msgstr "Klikk a következő linkre az alkatrész megjelenítéséhez"
#: templates/email/low_stock_notification.html:19
-#: templates/js/translated/part.js:2566
+#: templates/js/translated/part.js:2423
msgid "Minimum Quantity"
msgstr "Minimum mennyiség"
@@ -8058,7 +8330,7 @@ msgstr "Ez törli a vonalkód hozzárendelést"
msgid "Unlink"
msgstr "Leválasztás"
-#: templates/js/translated/barcode.js:500 templates/js/translated/stock.js:1054
+#: templates/js/translated/barcode.js:500 templates/js/translated/stock.js:1073
msgid "Remove stock item"
msgstr "Készlet tétel törlése"
@@ -8128,10 +8400,10 @@ msgstr "Sor adatok mutatása"
msgid "Row Data"
msgstr "Sor adat"
-#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:646
+#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:659
#: templates/js/translated/modals.js:56 templates/js/translated/modals.js:601
#: templates/js/translated/modals.js:695 templates/js/translated/modals.js:1003
-#: templates/js/translated/order.js:1179 templates/modals.html:15
+#: templates/js/translated/order.js:1213 templates/modals.html:15
#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50
msgid "Close"
msgstr "Bezárás"
@@ -8141,12 +8413,12 @@ msgid "Download BOM Template"
msgstr "Alkarészjegyzék sablon letöltése"
#: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312
-#: templates/js/translated/order.js:960 templates/js/translated/tables.js:145
+#: templates/js/translated/order.js:994 templates/js/translated/tables.js:145
msgid "Format"
msgstr "Formátum"
#: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313
-#: templates/js/translated/order.js:961
+#: templates/js/translated/order.js:995
msgid "Select file format"
msgstr "Fájlfomátum kiválasztása"
@@ -8198,118 +8470,130 @@ msgstr "Beszállítói adatokkal együtt"
msgid "Include part supplier data in exported BOM"
msgstr "Beszállítói adatok megjelenítése az exportált alkatrészjegyzékben"
-#: templates/js/translated/bom.js:537
+#: templates/js/translated/bom.js:358
+msgid "Include Pricing Data"
+msgstr ""
+
+#: templates/js/translated/bom.js:359
+msgid "Include part pricing data in exported BOM"
+msgstr ""
+
+#: templates/js/translated/bom.js:550
msgid "Remove substitute part"
msgstr "Helyettesítő alkatrész törlése"
-#: templates/js/translated/bom.js:591
+#: templates/js/translated/bom.js:604
msgid "Select and add a new substitute part using the input below"
msgstr "Válassz és adj hozzá új helyettesítő alkatrészt a lenti mezőben"
-#: templates/js/translated/bom.js:602
+#: templates/js/translated/bom.js:615
msgid "Are you sure you wish to remove this substitute part link?"
msgstr "Biztosan törölni akarod ezt a helyettesítő alkatrész hozzárendelést?"
-#: templates/js/translated/bom.js:608
+#: templates/js/translated/bom.js:621
msgid "Remove Substitute Part"
msgstr "Helyettesítő alkatrész törlése"
-#: templates/js/translated/bom.js:647
+#: templates/js/translated/bom.js:660
msgid "Add Substitute"
msgstr "Helyettesítő hozzáadása"
-#: templates/js/translated/bom.js:648
+#: templates/js/translated/bom.js:661
msgid "Edit BOM Item Substitutes"
msgstr "Alkatrészjegyzék tétel helyettesítők szerkesztése"
-#: templates/js/translated/bom.js:710
+#: templates/js/translated/bom.js:723
msgid "All selected BOM items will be deleted"
msgstr "Az összes kijelölt alkatrészjegyzék tétel törlésre kerül"
-#: templates/js/translated/bom.js:726
+#: templates/js/translated/bom.js:739
msgid "Delete selected BOM items?"
msgstr "Töröljük a kiválasztott alkatrészjegyzék tételeket?"
-#: templates/js/translated/bom.js:860
+#: templates/js/translated/bom.js:868
msgid "Load BOM for subassembly"
msgstr "BOM betöltése az al-gyártmányhoz"
-#: templates/js/translated/bom.js:870
+#: templates/js/translated/bom.js:878
msgid "Substitutes Available"
msgstr "Vannak helyettesítők"
-#: templates/js/translated/bom.js:874 templates/js/translated/build.js:1835
+#: templates/js/translated/bom.js:882 templates/js/translated/build.js:1835
msgid "Variant stock allowed"
msgstr "Készletváltozatok engedélyezve"
-#: templates/js/translated/bom.js:983 templates/js/translated/build.js:1907
-#: templates/js/translated/order.js:3927
-msgid "No Stock Available"
-msgstr "Nincs szabad"
-
-#: templates/js/translated/bom.js:988 templates/js/translated/build.js:1911
-msgid "Includes variant and substitute stock"
-msgstr "Változatokkal és helyettesítőkkel együtt"
-
-#: templates/js/translated/bom.js:990 templates/js/translated/build.js:1913
-#: templates/js/translated/part.js:761 templates/js/translated/part.js:1539
-msgid "Includes variant stock"
-msgstr "Változatokkal együtt"
-
-#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1915
-msgid "Includes substitute stock"
-msgstr "Helyettesítőkkel együtt"
-
-#: templates/js/translated/bom.js:1010
+#: templates/js/translated/bom.js:972
msgid "Substitutes"
msgstr "Helyettesítõk"
-#: templates/js/translated/bom.js:1061 templates/js/translated/bom.js:1195
+#: templates/js/translated/bom.js:1023 templates/js/translated/bom.js:1260
msgid "View BOM"
msgstr "Alkatrészjegyzék megtekintése"
-#: templates/js/translated/bom.js:1071
-msgid "Purchase Price Range"
-msgstr "Beszerzési ártartomány"
+#: templates/js/translated/bom.js:1094
+msgid "BOM pricing is complete"
+msgstr ""
-#: templates/js/translated/bom.js:1078
-msgid "Purchase Price Average"
-msgstr "Beszerzési átlagár"
+#: templates/js/translated/bom.js:1099
+msgid "BOM pricing is incomplete"
+msgstr ""
-#: templates/js/translated/bom.js:1106 templates/js/translated/build.js:1898
+#: templates/js/translated/bom.js:1106
+msgid "No pricing available"
+msgstr ""
+
+#: templates/js/translated/bom.js:1137 templates/js/translated/build.js:1907
+#: templates/js/translated/order.js:3924
+msgid "No Stock Available"
+msgstr "Nincs szabad"
+
+#: templates/js/translated/bom.js:1142 templates/js/translated/build.js:1911
+msgid "Includes variant and substitute stock"
+msgstr "Változatokkal és helyettesítőkkel együtt"
+
+#: templates/js/translated/bom.js:1144 templates/js/translated/build.js:1913
+#: templates/js/translated/part.js:775 templates/js/translated/part.js:1550
+msgid "Includes variant stock"
+msgstr "Változatokkal együtt"
+
+#: templates/js/translated/bom.js:1146 templates/js/translated/build.js:1915
+msgid "Includes substitute stock"
+msgstr "Helyettesítőkkel együtt"
+
+#: templates/js/translated/bom.js:1171 templates/js/translated/build.js:1898
#: templates/js/translated/build.js:1985
msgid "Consumable item"
msgstr "Fogyóeszköz tétel"
-#: templates/js/translated/bom.js:1166
+#: templates/js/translated/bom.js:1231
msgid "Validate BOM Item"
msgstr "Alkatrészjegyzék tétel jóváhagyása"
-#: templates/js/translated/bom.js:1168
+#: templates/js/translated/bom.js:1233
msgid "This line has been validated"
msgstr "Ez a sor jóvá lett hagyva"
-#: templates/js/translated/bom.js:1170
+#: templates/js/translated/bom.js:1235
msgid "Edit substitute parts"
msgstr "Helyettesítő alkatrészek szerkesztése"
-#: templates/js/translated/bom.js:1172 templates/js/translated/bom.js:1369
+#: templates/js/translated/bom.js:1237 templates/js/translated/bom.js:1433
msgid "Edit BOM Item"
msgstr "Alkatrészjegyzék tétel szerkesztése"
-#: templates/js/translated/bom.js:1174
+#: templates/js/translated/bom.js:1239
msgid "Delete BOM Item"
msgstr "Alkatrészjegyzék tétel törlése"
-#: templates/js/translated/bom.js:1280 templates/js/translated/build.js:1679
+#: templates/js/translated/bom.js:1344 templates/js/translated/build.js:1679
msgid "No BOM items found"
msgstr "Nem találhatók alkatrészjegyzék tételek"
-#: templates/js/translated/bom.js:1549 templates/js/translated/build.js:1818
+#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1818
msgid "Required Part"
msgstr "Szükséges alkatrész"
-#: templates/js/translated/bom.js:1575
+#: templates/js/translated/bom.js:1638
msgid "Inherited from parent BOM"
msgstr "Örökölve a szülő alkatrészjegyzéktől"
@@ -8354,12 +8638,12 @@ msgid "Complete Build Order"
msgstr "Gyártási utasítás befejezése"
#: templates/js/translated/build.js:311 templates/js/translated/stock.js:92
-#: templates/js/translated/stock.js:214
+#: templates/js/translated/stock.js:233
msgid "Next available serial number"
msgstr "Következő szabad sorozatszám"
#: templates/js/translated/build.js:313 templates/js/translated/stock.js:94
-#: templates/js/translated/stock.js:216
+#: templates/js/translated/stock.js:235
msgid "Latest serial number"
msgstr "Legutolsó sorozatszám"
@@ -8456,12 +8740,12 @@ msgid "No required tests for this build"
msgstr "Nincsenek szükséges tesztek ehhez a gyártáshoz"
#: templates/js/translated/build.js:1775 templates/js/translated/build.js:2765
-#: templates/js/translated/order.js:3627
+#: templates/js/translated/order.js:3638
msgid "Edit stock allocation"
msgstr "Készlet foglalások szerkesztése"
#: templates/js/translated/build.js:1777 templates/js/translated/build.js:2766
-#: templates/js/translated/order.js:3628
+#: templates/js/translated/order.js:3639
msgid "Delete stock allocation"
msgstr "Készlet foglalások törlése"
@@ -8481,20 +8765,15 @@ msgstr "Vannak helyettesítő alkatrészek"
msgid "Quantity Per"
msgstr "Szükséges/db"
-#: templates/js/translated/build.js:1901 templates/js/translated/order.js:3934
+#: templates/js/translated/build.js:1901 templates/js/translated/order.js:3931
msgid "Insufficient stock available"
msgstr "Nincs elegendő"
-#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3932
+#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3929
msgid "Sufficient stock available"
msgstr "Van elegendő"
-#: templates/js/translated/build.js:1937 templates/js/translated/build.js:2195
-#: templates/js/translated/build.js:2761 templates/js/translated/order.js:3946
-msgid "Allocated"
-msgstr "Lefoglalva"
-
-#: templates/js/translated/build.js:1993 templates/js/translated/order.js:4026
+#: templates/js/translated/build.js:1993 templates/js/translated/order.js:4023
msgid "Build stock"
msgstr "Gyártási készlet"
@@ -8502,21 +8781,21 @@ msgstr "Gyártási készlet"
msgid "Order stock"
msgstr "Készlet rendelés"
-#: templates/js/translated/build.js:2000 templates/js/translated/order.js:4019
+#: templates/js/translated/build.js:2000 templates/js/translated/order.js:4016
msgid "Allocate stock"
msgstr "Lefoglalt készlet"
#: templates/js/translated/build.js:2039 templates/js/translated/label.js:172
-#: templates/js/translated/order.js:1007 templates/js/translated/order.js:3154
+#: templates/js/translated/order.js:1041 templates/js/translated/order.js:3165
#: templates/js/translated/report.js:225
msgid "Select Parts"
msgstr "Kiválasztott alkatrészek"
-#: templates/js/translated/build.js:2040 templates/js/translated/order.js:3155
+#: templates/js/translated/build.js:2040 templates/js/translated/order.js:3166
msgid "You must select at least one part to allocate"
msgstr "Legalább egy alkatrész választása szükséges a foglaláshoz"
-#: templates/js/translated/build.js:2089 templates/js/translated/order.js:3103
+#: templates/js/translated/build.js:2089 templates/js/translated/order.js:3114
msgid "Specify stock allocation quantity"
msgstr "Készlet foglalási mennyiség megadása"
@@ -8528,7 +8807,7 @@ msgstr "Minden alkatrész lefoglalva"
msgid "All selected parts have been fully allocated"
msgstr "Minden kiválasztott alkatrész teljesen lefoglalva"
-#: templates/js/translated/build.js:2183 templates/js/translated/order.js:3169
+#: templates/js/translated/build.js:2183 templates/js/translated/order.js:3180
msgid "Select source location (leave blank to take from all locations)"
msgstr "Válassz forrás helyet (vagy hagyd üresen ha bárhonnan)"
@@ -8536,11 +8815,11 @@ msgstr "Válassz forrás helyet (vagy hagyd üresen ha bárhonnan)"
msgid "Allocate Stock Items to Build Order"
msgstr "Készlet foglalása a gyártási utasításhoz"
-#: templates/js/translated/build.js:2222 templates/js/translated/order.js:3266
+#: templates/js/translated/build.js:2222 templates/js/translated/order.js:3277
msgid "No matching stock locations"
msgstr "Nincs egyező készlethely"
-#: templates/js/translated/build.js:2294 templates/js/translated/order.js:3343
+#: templates/js/translated/build.js:2294 templates/js/translated/order.js:3354
msgid "No matching stock items"
msgstr "Nincs egyező készlet"
@@ -8572,9 +8851,9 @@ msgstr "Készlet tételek foglalása"
msgid "No builds matching query"
msgstr "Nincs a lekérdezéssel egyező gyártási utasítás"
-#: templates/js/translated/build.js:2558 templates/js/translated/part.js:1423
-#: templates/js/translated/part.js:1957 templates/js/translated/stock.js:1686
-#: templates/js/translated/stock.js:2390
+#: templates/js/translated/build.js:2558 templates/js/translated/part.js:1444
+#: templates/js/translated/part.js:1981 templates/js/translated/stock.js:1705
+#: templates/js/translated/stock.js:2408
msgid "Select"
msgstr "Kiválaszt"
@@ -8586,7 +8865,7 @@ msgstr "Gyártás késésben van"
msgid "Progress"
msgstr "Haladás"
-#: templates/js/translated/build.js:2636 templates/js/translated/stock.js:2657
+#: templates/js/translated/build.js:2636 templates/js/translated/stock.js:2675
msgid "No user information"
msgstr "Nincs felhasználói információ"
@@ -8594,118 +8873,144 @@ msgstr "Nincs felhasználói információ"
msgid "No parts allocated for"
msgstr "Nincs lefoglalt alkatrész ehhez"
-#: templates/js/translated/company.js:66
+#: templates/js/translated/company.js:67
msgid "Add Manufacturer"
msgstr "Gyártó hozzáadása"
-#: templates/js/translated/company.js:79 templates/js/translated/company.js:181
+#: templates/js/translated/company.js:80 templates/js/translated/company.js:182
msgid "Add Manufacturer Part"
msgstr "Gyártói alkatrész hozzáadása"
-#: templates/js/translated/company.js:100
+#: templates/js/translated/company.js:101
msgid "Edit Manufacturer Part"
msgstr "Gyártói alkatrész szerkesztése"
-#: templates/js/translated/company.js:169 templates/js/translated/order.js:576
+#: templates/js/translated/company.js:170 templates/js/translated/order.js:576
msgid "Add Supplier"
msgstr "Beszállító hozzáadása"
-#: templates/js/translated/company.js:197 templates/js/translated/order.js:828
+#: templates/js/translated/company.js:198 templates/js/translated/order.js:862
msgid "Add Supplier Part"
msgstr "Beszállítói alkatrész hozzáadása"
-#: templates/js/translated/company.js:297
+#: templates/js/translated/company.js:298
msgid "All selected supplier parts will be deleted"
msgstr "Az összes kiválasztott beszállítói alkatrész törölve lesz"
-#: templates/js/translated/company.js:313
+#: templates/js/translated/company.js:314
msgid "Delete Supplier Parts"
msgstr "Beszállítói alkatrészek törlése"
-#: templates/js/translated/company.js:385
+#: templates/js/translated/company.js:386
msgid "Add new Company"
msgstr "Új cég hozzáadása"
-#: templates/js/translated/company.js:462
+#: templates/js/translated/company.js:463
msgid "Parts Supplied"
msgstr "Beszállított alkatrészek"
-#: templates/js/translated/company.js:471
+#: templates/js/translated/company.js:472
msgid "Parts Manufactured"
msgstr "Gyártott alkatrészek"
-#: templates/js/translated/company.js:486
+#: templates/js/translated/company.js:487
msgid "No company information found"
msgstr "Nem található céginformáció"
-#: templates/js/translated/company.js:527
+#: templates/js/translated/company.js:528
msgid "All selected manufacturer parts will be deleted"
msgstr "Az összes kijelölt gyártói alkatrész törlésre kerül"
-#: templates/js/translated/company.js:542
+#: templates/js/translated/company.js:543
msgid "Delete Manufacturer Parts"
msgstr "Gyártói alkatrészek törlése"
-#: templates/js/translated/company.js:576
+#: templates/js/translated/company.js:577
msgid "All selected parameters will be deleted"
msgstr "Az összes kijelölt paraméter törlésre kerül"
-#: templates/js/translated/company.js:590
+#: templates/js/translated/company.js:591
msgid "Delete Parameters"
msgstr "Paraméterek törlése"
-#: templates/js/translated/company.js:631
+#: templates/js/translated/company.js:632
msgid "No manufacturer parts found"
msgstr "Nincs gyártói alkatrész"
-#: templates/js/translated/company.js:651
-#: templates/js/translated/company.js:912 templates/js/translated/part.js:636
-#: templates/js/translated/part.js:721
+#: templates/js/translated/company.js:652
+#: templates/js/translated/company.js:913 templates/js/translated/part.js:650
+#: templates/js/translated/part.js:735
msgid "Template part"
msgstr "Sablon alkatrész"
-#: templates/js/translated/company.js:655
-#: templates/js/translated/company.js:916 templates/js/translated/part.js:640
-#: templates/js/translated/part.js:725
+#: templates/js/translated/company.js:656
+#: templates/js/translated/company.js:917 templates/js/translated/part.js:654
+#: templates/js/translated/part.js:739
msgid "Assembled part"
msgstr "Gyártmány alkatrész"
-#: templates/js/translated/company.js:783 templates/js/translated/part.js:828
+#: templates/js/translated/company.js:784 templates/js/translated/part.js:855
msgid "No parameters found"
msgstr "Nem található paraméter"
-#: templates/js/translated/company.js:820 templates/js/translated/part.js:870
+#: templates/js/translated/company.js:821 templates/js/translated/part.js:897
msgid "Edit parameter"
msgstr "Paraméter szerkesztése"
-#: templates/js/translated/company.js:821 templates/js/translated/part.js:871
+#: templates/js/translated/company.js:822 templates/js/translated/part.js:898
msgid "Delete parameter"
msgstr "Paraméter törlése"
-#: templates/js/translated/company.js:840 templates/js/translated/part.js:888
+#: templates/js/translated/company.js:841 templates/js/translated/part.js:915
msgid "Edit Parameter"
msgstr "Paraméter szerkesztése"
-#: templates/js/translated/company.js:851 templates/js/translated/part.js:900
+#: templates/js/translated/company.js:852 templates/js/translated/part.js:927
msgid "Delete Parameter"
msgstr "Paraméter törlése"
-#: templates/js/translated/company.js:891
+#: templates/js/translated/company.js:892
msgid "No supplier parts found"
msgstr "Nincs beszállítói alkatrész"
-#: templates/js/translated/company.js:1032
+#: templates/js/translated/company.js:1033
msgid "Availability"
msgstr "Elérhetőség"
-#: templates/js/translated/company.js:1055
+#: templates/js/translated/company.js:1056
msgid "Edit supplier part"
msgstr "Beszállítói alkatrész szerkesztése"
-#: templates/js/translated/company.js:1056
+#: templates/js/translated/company.js:1057
msgid "Delete supplier part"
msgstr "Beszállítói alkatrész törlése"
+#: templates/js/translated/company.js:1112
+#: templates/js/translated/pricing.js:423
+msgid "Delete Price Break"
+msgstr "Árlépcső törlése"
+
+#: templates/js/translated/company.js:1128
+#: templates/js/translated/pricing.js:437
+msgid "Edit Price Break"
+msgstr "Árlépcső szerkesztése"
+
+#: templates/js/translated/company.js:1145
+msgid "No price break information found"
+msgstr "Nincs árlépcső információ"
+
+#: templates/js/translated/company.js:1174
+msgid "Last updated"
+msgstr "Utoljára módosítva"
+
+#: templates/js/translated/company.js:1180
+msgid "Edit price break"
+msgstr "Árlépcső szerkesztése"
+
+#: templates/js/translated/company.js:1181
+msgid "Delete price break"
+msgstr "Árlépcső törlése"
+
#: templates/js/translated/filters.js:178
#: templates/js/translated/filters.js:441
msgid "true"
@@ -8786,27 +9091,27 @@ msgstr "Keresés"
msgid "Clear input"
msgstr "Bevitel törlése"
-#: templates/js/translated/forms.js:2638
+#: templates/js/translated/forms.js:2628
msgid "File Column"
msgstr "Fájl oszlop"
-#: templates/js/translated/forms.js:2638
+#: templates/js/translated/forms.js:2628
msgid "Field Name"
msgstr "Mező név"
-#: templates/js/translated/forms.js:2650
+#: templates/js/translated/forms.js:2640
msgid "Select Columns"
msgstr "Oszlopok kiválasztása"
-#: templates/js/translated/helpers.js:24
+#: templates/js/translated/helpers.js:26
msgid "YES"
msgstr "IGEN"
-#: templates/js/translated/helpers.js:26
+#: templates/js/translated/helpers.js:28
msgid "NO"
msgstr "NEM"
-#: templates/js/translated/helpers.js:363
+#: templates/js/translated/helpers.js:434
msgid "Notes updated"
msgstr "Megjegyzések frissítve"
@@ -8815,7 +9120,7 @@ msgid "Labels sent to printer"
msgstr "Címkék nyomtatónak elküldve"
#: templates/js/translated/label.js:60 templates/js/translated/report.js:118
-#: templates/js/translated/stock.js:1078
+#: templates/js/translated/stock.js:1097
msgid "Select Stock Items"
msgstr "Készlet tételek kiválasztása"
@@ -8935,14 +9240,6 @@ msgstr "Cég ID"
msgid "Stock ID"
msgstr "Készlet ID"
-#: templates/js/translated/model_renderers.js:159
-msgid "Location ID"
-msgstr "Hely ID"
-
-#: templates/js/translated/model_renderers.js:177
-msgid "Build ID"
-msgstr "Gyártás ID"
-
#: templates/js/translated/model_renderers.js:278
#: templates/js/translated/model_renderers.js:303
msgid "Order ID"
@@ -8953,17 +9250,13 @@ msgstr "Rendelés ID"
msgid "Shipment ID"
msgstr "Szállítmány ID"
-#: templates/js/translated/model_renderers.js:338
-msgid "Category ID"
-msgstr "Kategória ID"
-
#: templates/js/translated/model_renderers.js:381
msgid "Manufacturer Part ID"
msgstr "Gyártói cikkszám"
-#: templates/js/translated/model_renderers.js:418
-msgid "Supplier Part ID"
-msgstr "Beszállítói cikkszám"
+#: templates/js/translated/news.js:23
+msgid "No news found"
+msgstr "Nem találhatók hírek"
#: templates/js/translated/notification.js:42
msgid "Age"
@@ -9105,659 +9398,688 @@ msgstr "Beszerzési rendelés szerkesztése"
msgid "Duplication Options"
msgstr "Másolási opciók"
-#: templates/js/translated/order.js:957
+#: templates/js/translated/order.js:991
msgid "Export Order"
msgstr "Rendelés exportálása"
-#: templates/js/translated/order.js:1008
+#: templates/js/translated/order.js:1042
msgid "At least one purchaseable part must be selected"
msgstr "Legalább egy beszerezhető alkatrészt ki kell választani"
-#: templates/js/translated/order.js:1033
+#: templates/js/translated/order.js:1067
msgid "Quantity to order"
msgstr "Rendelendő mennyiség"
-#: templates/js/translated/order.js:1042
+#: templates/js/translated/order.js:1076
msgid "New supplier part"
msgstr "Új beszállítói alkatrész"
-#: templates/js/translated/order.js:1060
+#: templates/js/translated/order.js:1094
msgid "New purchase order"
msgstr "Új beszerzési rendelés"
-#: templates/js/translated/order.js:1093
+#: templates/js/translated/order.js:1127
msgid "Add to purchase order"
msgstr "Hozzáadás beszerzési rendeléshez"
-#: templates/js/translated/order.js:1233
+#: templates/js/translated/order.js:1267
msgid "No matching supplier parts"
msgstr "Nincsenek egyező beszállítói alkatrészek"
-#: templates/js/translated/order.js:1252
+#: templates/js/translated/order.js:1286
msgid "No matching purchase orders"
msgstr "Nincsenek egyező beszerzési rendelések"
-#: templates/js/translated/order.js:1429
+#: templates/js/translated/order.js:1463
msgid "Select Line Items"
msgstr "Sortételek kiválasztása"
-#: templates/js/translated/order.js:1430
+#: templates/js/translated/order.js:1464
msgid "At least one line item must be selected"
msgstr "Legalább egy sortételt ki kell választani"
-#: templates/js/translated/order.js:1450 templates/js/translated/order.js:1563
+#: templates/js/translated/order.js:1484 templates/js/translated/order.js:1597
msgid "Add batch code"
msgstr "Batch kód hozzáadása"
-#: templates/js/translated/order.js:1456 templates/js/translated/order.js:1574
+#: templates/js/translated/order.js:1490 templates/js/translated/order.js:1608
msgid "Add serial numbers"
msgstr "Sorozatszám hozzáadása"
-#: templates/js/translated/order.js:1471
+#: templates/js/translated/order.js:1505
msgid "Received Quantity"
msgstr "Beérkezett mennyiség"
-#: templates/js/translated/order.js:1482
+#: templates/js/translated/order.js:1516
msgid "Quantity to receive"
msgstr "Érkező mennyiség"
-#: templates/js/translated/order.js:1546 templates/js/translated/stock.js:2146
+#: templates/js/translated/order.js:1580 templates/js/translated/stock.js:2164
msgid "Stock Status"
msgstr "Készlet állapota"
-#: templates/js/translated/order.js:1639
+#: templates/js/translated/order.js:1673
msgid "Order Code"
msgstr "Rendelési kód"
-#: templates/js/translated/order.js:1640
+#: templates/js/translated/order.js:1674
msgid "Ordered"
msgstr "Megrendelve"
-#: templates/js/translated/order.js:1642
+#: templates/js/translated/order.js:1676
msgid "Quantity to Receive"
msgstr "Érkező mennyiség"
-#: templates/js/translated/order.js:1661
+#: templates/js/translated/order.js:1695
msgid "Confirm receipt of items"
msgstr "Bevételezés megerősítése"
-#: templates/js/translated/order.js:1662
+#: templates/js/translated/order.js:1696
msgid "Receive Purchase Order Items"
msgstr "Beszerzési rendelés tételeinek bevételezése"
-#: templates/js/translated/order.js:1940 templates/js/translated/part.js:941
+#: templates/js/translated/order.js:1974 templates/js/translated/part.js:968
msgid "No purchase orders found"
msgstr "Nem található beszerzési rendelés"
-#: templates/js/translated/order.js:1967 templates/js/translated/order.js:2798
+#: templates/js/translated/order.js:2001 templates/js/translated/order.js:2809
msgid "Order is overdue"
msgstr "Rendelés késésben"
-#: templates/js/translated/order.js:2017 templates/js/translated/order.js:2863
-#: templates/js/translated/order.js:3004
+#: templates/js/translated/order.js:2051 templates/js/translated/order.js:2874
+#: templates/js/translated/order.js:3015
msgid "Items"
msgstr "Tételek"
-#: templates/js/translated/order.js:2115 templates/js/translated/order.js:4078
+#: templates/js/translated/order.js:2154 templates/js/translated/order.js:4075
msgid "Duplicate Line Item"
msgstr "Sortétel másolása"
-#: templates/js/translated/order.js:2132 templates/js/translated/order.js:4100
+#: templates/js/translated/order.js:2171 templates/js/translated/order.js:4097
msgid "Edit Line Item"
msgstr "Sortétel szerkesztése"
-#: templates/js/translated/order.js:2145 templates/js/translated/order.js:4111
+#: templates/js/translated/order.js:2184 templates/js/translated/order.js:4108
msgid "Delete Line Item"
msgstr "Sortétel törlése"
-#: templates/js/translated/order.js:2188
+#: templates/js/translated/order.js:2227
msgid "No line items found"
msgstr "Nem találhatók sortételek"
-#: templates/js/translated/order.js:2215 templates/js/translated/order.js:3812
+#: templates/js/translated/order.js:2254 templates/js/translated/order.js:3827
msgid "Total"
msgstr "Összesen"
-#: templates/js/translated/order.js:2270 templates/js/translated/part.js:1043
-#: templates/js/translated/part.js:1095
+#: templates/js/translated/order.js:2309 templates/js/translated/part.js:1070
+#: templates/js/translated/part.js:1122
msgid "Total Quantity"
msgstr "Teljes mennyiség"
-#: templates/js/translated/order.js:2301 templates/js/translated/order.js:2500
-#: templates/js/translated/order.js:3837 templates/js/translated/order.js:4342
-#: templates/js/translated/part.js:2199 templates/js/translated/part.js:2797
+#: templates/js/translated/order.js:2340 templates/js/translated/order.js:2527
+#: templates/js/translated/order.js:3852 templates/js/translated/order.js:4343
+#: templates/js/translated/pricing.js:260
+#: templates/js/translated/pricing.js:329
+#: templates/js/translated/pricing.js:545
msgid "Unit Price"
msgstr "Egységár"
-#: templates/js/translated/order.js:2316 templates/js/translated/order.js:2516
-#: templates/js/translated/order.js:3853 templates/js/translated/order.js:4358
+#: templates/js/translated/order.js:2350 templates/js/translated/order.js:2537
+#: templates/js/translated/order.js:3862 templates/js/translated/order.js:4353
msgid "Total Price"
msgstr "Teljes ár"
-#: templates/js/translated/order.js:2357 templates/js/translated/order.js:3895
-#: templates/js/translated/part.js:1079
+#: templates/js/translated/order.js:2380 templates/js/translated/order.js:3892
+#: templates/js/translated/part.js:1106
msgid "This line item is overdue"
msgstr "Ez a sortétel késésben van"
-#: templates/js/translated/order.js:2416 templates/js/translated/part.js:1130
+#: templates/js/translated/order.js:2439 templates/js/translated/part.js:1151
msgid "Receive line item"
msgstr "Sortétel bevételezése"
-#: templates/js/translated/order.js:2420 templates/js/translated/order.js:4032
+#: templates/js/translated/order.js:2443 templates/js/translated/order.js:4029
msgid "Duplicate line item"
msgstr "Sortétel másolása"
-#: templates/js/translated/order.js:2421 templates/js/translated/order.js:4033
+#: templates/js/translated/order.js:2444 templates/js/translated/order.js:4030
msgid "Edit line item"
msgstr "Sortétel szerkesztése"
-#: templates/js/translated/order.js:2422 templates/js/translated/order.js:4037
+#: templates/js/translated/order.js:2445 templates/js/translated/order.js:4034
msgid "Delete line item"
msgstr "Sortétel törlése"
-#: templates/js/translated/order.js:2564 templates/js/translated/order.js:4406
+#: templates/js/translated/order.js:2574 templates/js/translated/order.js:4389
msgid "Duplicate line"
msgstr "Sor másolása"
-#: templates/js/translated/order.js:2565 templates/js/translated/order.js:4407
+#: templates/js/translated/order.js:2575 templates/js/translated/order.js:4390
msgid "Edit line"
msgstr "Sor szerkesztése"
-#: templates/js/translated/order.js:2566 templates/js/translated/order.js:4408
+#: templates/js/translated/order.js:2576 templates/js/translated/order.js:4391
msgid "Delete line"
msgstr "Sor törlése"
-#: templates/js/translated/order.js:2595 templates/js/translated/order.js:4437
+#: templates/js/translated/order.js:2606 templates/js/translated/order.js:4420
msgid "Duplicate Line"
msgstr "Sor másolása"
-#: templates/js/translated/order.js:2616 templates/js/translated/order.js:4458
+#: templates/js/translated/order.js:2627 templates/js/translated/order.js:4441
msgid "Edit Line"
msgstr "Sor szerkesztése"
-#: templates/js/translated/order.js:2627 templates/js/translated/order.js:4469
+#: templates/js/translated/order.js:2638 templates/js/translated/order.js:4452
msgid "Delete Line"
msgstr "Sor törlése"
-#: templates/js/translated/order.js:2638
+#: templates/js/translated/order.js:2649
msgid "No matching line"
msgstr "Nincs egyező sor"
-#: templates/js/translated/order.js:2749
+#: templates/js/translated/order.js:2760
msgid "No sales orders found"
msgstr "Nem található vevői rendelés"
-#: templates/js/translated/order.js:2812
+#: templates/js/translated/order.js:2823
msgid "Invalid Customer"
msgstr "Érvénytelen vevő"
-#: templates/js/translated/order.js:2910
+#: templates/js/translated/order.js:2921
msgid "Edit shipment"
msgstr "Szállítmány szerkesztése"
-#: templates/js/translated/order.js:2913
+#: templates/js/translated/order.js:2924
msgid "Complete shipment"
msgstr "Szállítmány kiszállítása"
-#: templates/js/translated/order.js:2918
+#: templates/js/translated/order.js:2929
msgid "Delete shipment"
msgstr "Szállítmány törlése"
-#: templates/js/translated/order.js:2938
+#: templates/js/translated/order.js:2949
msgid "Edit Shipment"
msgstr "Szállítmány szerkesztése"
-#: templates/js/translated/order.js:2955
+#: templates/js/translated/order.js:2966
msgid "Delete Shipment"
msgstr "Szállítmány törlése"
-#: templates/js/translated/order.js:2989
+#: templates/js/translated/order.js:3000
msgid "No matching shipments found"
msgstr "Nincs egyező szállímány"
-#: templates/js/translated/order.js:2999
+#: templates/js/translated/order.js:3010
msgid "Shipment Reference"
msgstr "Szállítmány azonosító"
-#: templates/js/translated/order.js:3023
+#: templates/js/translated/order.js:3034
msgid "Not shipped"
msgstr "Nincs kiszállítva"
-#: templates/js/translated/order.js:3029
+#: templates/js/translated/order.js:3040
msgid "Tracking"
msgstr "Nyomkövetés"
-#: templates/js/translated/order.js:3033
+#: templates/js/translated/order.js:3044
msgid "Invoice"
msgstr "Számla"
-#: templates/js/translated/order.js:3202
+#: templates/js/translated/order.js:3213
msgid "Add Shipment"
msgstr "Szállítmány hozzáadása"
-#: templates/js/translated/order.js:3253
+#: templates/js/translated/order.js:3264
msgid "Confirm stock allocation"
msgstr "Készlet foglalás megerősítése"
-#: templates/js/translated/order.js:3254
+#: templates/js/translated/order.js:3265
msgid "Allocate Stock Items to Sales Order"
msgstr "Készlet foglalása a vevői rendeléshez"
-#: templates/js/translated/order.js:3462
+#: templates/js/translated/order.js:3473
msgid "No sales order allocations found"
msgstr "Nincs vevői rendeléshez történő foglalás"
-#: templates/js/translated/order.js:3541
+#: templates/js/translated/order.js:3552
msgid "Edit Stock Allocation"
msgstr "Készlet foglalások szerkesztése"
-#: templates/js/translated/order.js:3558
+#: templates/js/translated/order.js:3569
msgid "Confirm Delete Operation"
msgstr "Törlési művelet megerősítése"
-#: templates/js/translated/order.js:3559
+#: templates/js/translated/order.js:3570
msgid "Delete Stock Allocation"
msgstr "Készlet foglalások törlése"
-#: templates/js/translated/order.js:3604 templates/js/translated/order.js:3693
-#: templates/js/translated/stock.js:1602
+#: templates/js/translated/order.js:3615 templates/js/translated/order.js:3704
+#: templates/js/translated/stock.js:1621
msgid "Shipped to customer"
msgstr "Vevőnek kiszállítva"
-#: templates/js/translated/order.js:3612 templates/js/translated/order.js:3702
+#: templates/js/translated/order.js:3623 templates/js/translated/order.js:3713
msgid "Stock location not specified"
msgstr "Készlethely nincs megadva"
-#: templates/js/translated/order.js:4016
+#: templates/js/translated/order.js:4013
msgid "Allocate serial numbers"
msgstr "Sorozatszámok kiosztása"
-#: templates/js/translated/order.js:4022
+#: templates/js/translated/order.js:4019
msgid "Purchase stock"
msgstr "Készletrendelés"
-#: templates/js/translated/order.js:4029 templates/js/translated/order.js:4227
+#: templates/js/translated/order.js:4026 templates/js/translated/order.js:4224
msgid "Calculate price"
msgstr "Árszámítás"
-#: templates/js/translated/order.js:4041
+#: templates/js/translated/order.js:4038
msgid "Cannot be deleted as items have been shipped"
msgstr "Nem törölhető mivel a tételek ki lettek szállítva"
-#: templates/js/translated/order.js:4044
+#: templates/js/translated/order.js:4041
msgid "Cannot be deleted as items have been allocated"
msgstr "Nem törölhető mivel tételek vannak lefoglalva"
-#: templates/js/translated/order.js:4126
+#: templates/js/translated/order.js:4123
msgid "Allocate Serial Numbers"
msgstr "Sorozatszámok kiosztása"
-#: templates/js/translated/order.js:4235
+#: templates/js/translated/order.js:4232
msgid "Update Unit Price"
msgstr "Egységár módosítása"
-#: templates/js/translated/order.js:4249
+#: templates/js/translated/order.js:4246
msgid "No matching line items"
msgstr "Nincs egyező sortétel"
-#: templates/js/translated/order.js:4480
+#: templates/js/translated/order.js:4463
msgid "No matching lines"
msgstr "Nincsenek egyező sorok"
-#: templates/js/translated/part.js:56
+#: templates/js/translated/part.js:52
msgid "Part Attributes"
msgstr "Alkatrész tulajdonságok"
-#: templates/js/translated/part.js:60
+#: templates/js/translated/part.js:56
msgid "Part Creation Options"
msgstr "Alkatrész létrehozási opciók"
-#: templates/js/translated/part.js:64
+#: templates/js/translated/part.js:60
msgid "Part Duplication Options"
msgstr "Alkatrész másolási opciók"
-#: templates/js/translated/part.js:68
+#: templates/js/translated/part.js:64
msgid "Supplier Options"
msgstr "Beszállítói opciók"
-#: templates/js/translated/part.js:82
+#: templates/js/translated/part.js:78
msgid "Add Part Category"
msgstr "Alkatrész kategória hozzáadása"
-#: templates/js/translated/part.js:166
+#: templates/js/translated/part.js:162
msgid "Create Initial Stock"
msgstr "Kezdeti készlet létrehozása"
-#: templates/js/translated/part.js:167
+#: templates/js/translated/part.js:163
msgid "Create an initial stock item for this part"
msgstr "Kezdeti készlet tétel létrehozása ehhez az alkatrészhez"
-#: templates/js/translated/part.js:174
+#: templates/js/translated/part.js:170
msgid "Initial Stock Quantity"
msgstr "Kezdeti készlet mennyiség"
-#: templates/js/translated/part.js:175
+#: templates/js/translated/part.js:171
msgid "Specify initial stock quantity for this part"
msgstr "Add meg a kezdeti készlet mennyiségét ennek az alkatrésznek"
-#: templates/js/translated/part.js:182
+#: templates/js/translated/part.js:178
msgid "Select destination stock location"
msgstr "Válassz cél készlet helyet"
-#: templates/js/translated/part.js:200
+#: templates/js/translated/part.js:196
msgid "Copy Category Parameters"
msgstr "Kategória paraméterek másolása"
-#: templates/js/translated/part.js:201
+#: templates/js/translated/part.js:197
msgid "Copy parameter templates from selected part category"
msgstr "Paraméter sablonok másolása a kiválasztott alkatrész kategóriából"
-#: templates/js/translated/part.js:209
+#: templates/js/translated/part.js:205
msgid "Add Supplier Data"
msgstr "Beszállító adatok hozzáadása"
-#: templates/js/translated/part.js:210
+#: templates/js/translated/part.js:206
msgid "Create initial supplier data for this part"
msgstr "Kezdeti beszállítói adatok létrehozása ehhez az alkatrészhez"
-#: templates/js/translated/part.js:266
+#: templates/js/translated/part.js:262
msgid "Copy Image"
msgstr "Kép másolása"
-#: templates/js/translated/part.js:267
+#: templates/js/translated/part.js:263
msgid "Copy image from original part"
msgstr "Kép másolása az eredeti alkatrészről"
-#: templates/js/translated/part.js:275
+#: templates/js/translated/part.js:271
msgid "Copy bill of materials from original part"
msgstr "Alkatrészjegyzék másolása az eredeti alkatrészről"
-#: templates/js/translated/part.js:282
+#: templates/js/translated/part.js:278
msgid "Copy Parameters"
msgstr "Paraméterek másolása"
-#: templates/js/translated/part.js:283
+#: templates/js/translated/part.js:279
msgid "Copy parameter data from original part"
msgstr "Paraméterek másolása az eredeti alkatrészről"
-#: templates/js/translated/part.js:296
+#: templates/js/translated/part.js:292
msgid "Parent part category"
msgstr "Felsőbb szintű alkatrész kategória"
-#: templates/js/translated/part.js:306 templates/js/translated/stock.js:118
+#: templates/js/translated/part.js:302 templates/js/translated/stock.js:118
msgid "Icon (optional) - Explore all available icons on"
msgstr "Ikon (opcionális) - Az összes ikon felfedezése itt"
-#: templates/js/translated/part.js:322
+#: templates/js/translated/part.js:318
msgid "Edit Part Category"
msgstr "Alkatrész kategória szerkesztése"
-#: templates/js/translated/part.js:335
+#: templates/js/translated/part.js:331
msgid "Are you sure you want to delete this part category?"
msgstr "Biztos hogy törölni szeretnéd ezt az alkatrész kategóriát?"
-#: templates/js/translated/part.js:337
-msgid "Any child categories will be moved to the parent of this category"
-msgstr "A lentebbi kategóriák a szülő kategóriába lesznek mozgatva"
+#: templates/js/translated/part.js:336
+msgid "Move to parent category"
+msgstr "Áthelyezés fentebbi kategóriába"
-#: templates/js/translated/part.js:338
-msgid "Any parts in this category will be moved to the parent of this category"
-msgstr "A kategória alkatrészei a szülő kategóriába lesznek mozgatva"
-
-#: templates/js/translated/part.js:343
+#: templates/js/translated/part.js:345
msgid "Delete Part Category"
msgstr "Alkatrész kategória törlése"
-#: templates/js/translated/part.js:369
+#: templates/js/translated/part.js:349
+msgid "Action for parts in this category"
+msgstr "A kategóriában lévő alkatrészek kezelése"
+
+#: templates/js/translated/part.js:354
+msgid "Action for child categories"
+msgstr "Alkategóriák kezelése"
+
+#: templates/js/translated/part.js:383
msgid "Edit Part"
msgstr "Alkatrész szerkesztése"
-#: templates/js/translated/part.js:371
+#: templates/js/translated/part.js:385
msgid "Part edited"
msgstr "Alkatrész módosítva"
-#: templates/js/translated/part.js:382
+#: templates/js/translated/part.js:396
msgid "Create Part Variant"
msgstr "Alkatrész változat létrehozása"
-#: templates/js/translated/part.js:434
+#: templates/js/translated/part.js:448
msgid "Active Part"
msgstr "Aktív alkatrész"
-#: templates/js/translated/part.js:435
+#: templates/js/translated/part.js:449
msgid "Part cannot be deleted as it is currently active"
msgstr "Alkatrész nem törölhető mivel még aktív"
-#: templates/js/translated/part.js:449
+#: templates/js/translated/part.js:463
msgid "Deleting this part cannot be reversed"
msgstr "Ezen alkatrész törlése nem vonható vissza"
-#: templates/js/translated/part.js:451
+#: templates/js/translated/part.js:465
msgid "Any stock items for this part will be deleted"
msgstr "Ennek az alkatrésznek a teljes készlete törölve lesz"
-#: templates/js/translated/part.js:452
+#: templates/js/translated/part.js:466
msgid "This part will be removed from any Bills of Material"
msgstr "Ez az alkatrész minden alkatrészjegyzékből törölve lesz"
-#: templates/js/translated/part.js:453
+#: templates/js/translated/part.js:467
msgid "All manufacturer and supplier information for this part will be deleted"
msgstr "Ehhez az alkatrészhez rendelt minden beszállítói és gyártói információ törölve lesz"
-#: templates/js/translated/part.js:460
+#: templates/js/translated/part.js:474
msgid "Delete Part"
msgstr "Alkatrész törlése"
-#: templates/js/translated/part.js:496
+#: templates/js/translated/part.js:510
msgid "You are subscribed to notifications for this item"
msgstr "Értesítések beállítva erre a tételre"
-#: templates/js/translated/part.js:498
+#: templates/js/translated/part.js:512
msgid "You have subscribed to notifications for this item"
msgstr "Értesítések beállítva erre a tételre"
-#: templates/js/translated/part.js:503
+#: templates/js/translated/part.js:517
msgid "Subscribe to notifications for this item"
msgstr "Értesítések kérése erre a tételre"
-#: templates/js/translated/part.js:505
+#: templates/js/translated/part.js:519
msgid "You have unsubscribed to notifications for this item"
msgstr "Értesítések letiltva erre a tételre"
-#: templates/js/translated/part.js:522
+#: templates/js/translated/part.js:536
msgid "Validating the BOM will mark each line item as valid"
msgstr "Az alkatrészjegyzék jóváhagyása minden sortételt jóvá fog hagyni"
-#: templates/js/translated/part.js:532
+#: templates/js/translated/part.js:546
msgid "Validate Bill of Materials"
msgstr "Alkatrészjegyzék jóváhagyása"
-#: templates/js/translated/part.js:535
+#: templates/js/translated/part.js:549
msgid "Validated Bill of Materials"
msgstr "Alkatrészjegyzék jóvá lett hagyva"
-#: templates/js/translated/part.js:560
+#: templates/js/translated/part.js:574
msgid "Copy Bill of Materials"
msgstr "Alkatrészjegyzék másolása"
-#: templates/js/translated/part.js:584 templates/js/translated/part.js:1521
-#: templates/js/translated/table_filters.js:476
+#: templates/js/translated/part.js:598 templates/js/translated/part.js:1532
+#: templates/js/translated/table_filters.js:480
msgid "Low stock"
msgstr "Alacsony készlet"
-#: templates/js/translated/part.js:594
+#: templates/js/translated/part.js:608
msgid "No stock available"
msgstr "Nincs szabad"
-#: templates/js/translated/part.js:628 templates/js/translated/part.js:713
+#: templates/js/translated/part.js:642 templates/js/translated/part.js:727
msgid "Trackable part"
msgstr "Követésre kötelezett alkatrész"
-#: templates/js/translated/part.js:632 templates/js/translated/part.js:717
+#: templates/js/translated/part.js:646 templates/js/translated/part.js:731
msgid "Virtual part"
msgstr "Virtuális alkatrész"
-#: templates/js/translated/part.js:644
+#: templates/js/translated/part.js:658
msgid "Subscribed part"
msgstr "Értesítésre beállított alkatrész"
-#: templates/js/translated/part.js:648
+#: templates/js/translated/part.js:662
msgid "Salable part"
msgstr "Értékesíthető alkatrész"
-#: templates/js/translated/part.js:776
+#: templates/js/translated/part.js:800
msgid "No variants found"
msgstr "Nincs több változat"
-#: templates/js/translated/part.js:1200
+#: templates/js/translated/part.js:1221
msgid "Delete part relationship"
msgstr "Alkatrész kapcsolatok törlése"
-#: templates/js/translated/part.js:1224
+#: templates/js/translated/part.js:1245
msgid "Delete Part Relationship"
msgstr "Alkatrész kapcsolatok törlése"
-#: templates/js/translated/part.js:1291 templates/js/translated/part.js:1609
+#: templates/js/translated/part.js:1312 templates/js/translated/part.js:1633
msgid "No parts found"
msgstr "Nincs alkatrész"
-#: templates/js/translated/part.js:1488
+#: templates/js/translated/part.js:1499
msgid "No category"
msgstr "Nincs kategória"
-#: templates/js/translated/part.js:1519
+#: templates/js/translated/part.js:1530
msgid "No stock"
msgstr "Nincs készlet"
-#: templates/js/translated/part.js:1543
+#: templates/js/translated/part.js:1554
msgid "Allocated to build orders"
msgstr "Gyártáshoz lefoglalva"
-#: templates/js/translated/part.js:1547
+#: templates/js/translated/part.js:1558
msgid "Allocated to sales orders"
msgstr "Vevő rendeléshez lefoglalva"
-#: templates/js/translated/part.js:1633 templates/js/translated/part.js:1876
-#: templates/js/translated/stock.js:2349
+#: templates/js/translated/part.js:1657 templates/js/translated/part.js:1900
+#: templates/js/translated/stock.js:2367
msgid "Display as list"
msgstr "Megjelenítés listaként"
-#: templates/js/translated/part.js:1649
+#: templates/js/translated/part.js:1673
msgid "Display as grid"
msgstr "Megjelenítés rácsnézetként"
-#: templates/js/translated/part.js:1715
+#: templates/js/translated/part.js:1739
msgid "Set the part category for the selected parts"
msgstr "Kategória beállítása a kiválasztott alkatrészekhez"
-#: templates/js/translated/part.js:1720
+#: templates/js/translated/part.js:1744
msgid "Set Part Category"
msgstr "Alkatrész kategória beállítása"
-#: templates/js/translated/part.js:1725
+#: templates/js/translated/part.js:1749
msgid "Select Part Category"
msgstr "Alkatrész kategória kiválasztása"
-#: templates/js/translated/part.js:1738
+#: templates/js/translated/part.js:1762
msgid "Category is required"
msgstr "Kategória megadása kötelező"
-#: templates/js/translated/part.js:1896 templates/js/translated/stock.js:2369
+#: templates/js/translated/part.js:1920 templates/js/translated/stock.js:2387
msgid "Display as tree"
msgstr "Megjelenítés fában"
-#: templates/js/translated/part.js:1976
+#: templates/js/translated/part.js:2000
msgid "Load Subcategories"
msgstr "Alkategóriák betöltése"
-#: templates/js/translated/part.js:1992
+#: templates/js/translated/part.js:2016
msgid "Subscribed category"
msgstr "Értesítésre beállított kategória"
-#: templates/js/translated/part.js:2056
+#: templates/js/translated/part.js:2080
msgid "No test templates matching query"
msgstr "Nincs a lekérdezéssel egyező teszt sablon"
-#: templates/js/translated/part.js:2107 templates/js/translated/stock.js:1299
+#: templates/js/translated/part.js:2131 templates/js/translated/stock.js:1318
msgid "Edit test result"
msgstr "Teszt eredmény szerkesztése"
-#: templates/js/translated/part.js:2108 templates/js/translated/stock.js:1300
-#: templates/js/translated/stock.js:1560
+#: templates/js/translated/part.js:2132 templates/js/translated/stock.js:1319
+#: templates/js/translated/stock.js:1579
msgid "Delete test result"
msgstr "Teszt eredmény törlése"
-#: templates/js/translated/part.js:2114
+#: templates/js/translated/part.js:2138
msgid "This test is defined for a parent part"
msgstr "Ez a teszt a szülő alkatrészhez lett felvéve"
-#: templates/js/translated/part.js:2136
+#: templates/js/translated/part.js:2160
msgid "Edit Test Result Template"
msgstr "Teszt eredmény sablon szerkesztése"
-#: templates/js/translated/part.js:2150
+#: templates/js/translated/part.js:2174
msgid "Delete Test Result Template"
msgstr "Teszt eredmény sablon törlése"
-#: templates/js/translated/part.js:2175
-#, python-brace-format
-msgid "No ${human_name} information found"
-msgstr "Nincs ${human_name} információ"
-
-#: templates/js/translated/part.js:2232
-#, python-brace-format
-msgid "Edit ${human_name}"
-msgstr "${human_name} szerkesztése"
-
-#: templates/js/translated/part.js:2233
-#, python-brace-format
-msgid "Delete ${human_name}"
-msgstr "${human_name} törlése"
-
-#: templates/js/translated/part.js:2398 templates/js/translated/part.js:2399
+#: templates/js/translated/part.js:2255 templates/js/translated/part.js:2256
msgid "No date specified"
msgstr "Nincs megadva dátum"
-#: templates/js/translated/part.js:2401
+#: templates/js/translated/part.js:2258
msgid "Specified date is in the past"
msgstr "A megadott dátum a múltban van"
-#: templates/js/translated/part.js:2407
+#: templates/js/translated/part.js:2264
msgid "Speculative"
msgstr "Spekulatív"
-#: templates/js/translated/part.js:2457
+#: templates/js/translated/part.js:2314
msgid "No scheduling information available for this part"
msgstr "Az alkatrészhez nem áll rendelkezésre ütemezési információ"
-#: templates/js/translated/part.js:2463
+#: templates/js/translated/part.js:2320
msgid "Error fetching scheduling information for this part"
msgstr "Hiba az alkatrész ütemezési információinak betöltésekor"
-#: templates/js/translated/part.js:2559
+#: templates/js/translated/part.js:2416
msgid "Scheduled Stock Quantities"
msgstr "Ütemezett készlet mennyiség"
-#: templates/js/translated/part.js:2575
+#: templates/js/translated/part.js:2432
msgid "Maximum Quantity"
msgstr "Minimum mennyiség"
-#: templates/js/translated/part.js:2620
+#: templates/js/translated/part.js:2477
msgid "Minimum Stock Level"
msgstr "Minimális készlet"
-#: templates/js/translated/part.js:2721
-msgid "Single Price"
-msgstr "Egységes ár"
-
-#: templates/js/translated/part.js:2740
-msgid "Single Price Difference"
-msgstr "Egységes ár különbség"
-
#: templates/js/translated/plugin.js:23
msgid "The Plugin was installed"
msgstr "A plugin telepítve lett"
+#: templates/js/translated/pricing.js:54
+msgid "No BOM data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:196
+msgid "No supplier pricing data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:305
+msgid "No price break data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:361
+#, python-brace-format
+msgid "Edit ${human_name}"
+msgstr "${human_name} szerkesztése"
+
+#: templates/js/translated/pricing.js:362
+#, python-brace-format
+msgid "Delete ${human_name}"
+msgstr "${human_name} törlése"
+
+#: templates/js/translated/pricing.js:480
+msgid "No purchase history data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:502
+msgid "Purchase Price History"
+msgstr ""
+
+#: templates/js/translated/pricing.js:602
+msgid "No sales history data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:624
+msgid "Sale Price History"
+msgstr ""
+
+#: templates/js/translated/pricing.js:708
+msgid "No variant data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:748
+msgid "Variant Part"
+msgstr ""
+
#: templates/js/translated/report.js:67
msgid "items selected"
msgstr "kiválasztott tételek"
@@ -9856,364 +10178,364 @@ msgstr "Új készlet hely"
msgid "Are you sure you want to delete this stock location?"
msgstr "Biztosan törölni szeretnéd ezt a készlet helyet?"
-#: templates/js/translated/stock.js:175
-msgid "Any child locations will be moved to the parent of this location"
-msgstr "A lentebbi helyek a szülő helybe lesznek mozgatva"
+#: templates/js/translated/stock.js:180
+msgid "Move to parent stock location"
+msgstr ""
-#: templates/js/translated/stock.js:176
-msgid "Any stock items in this location will be moved to the parent of this location"
-msgstr "A hely készlete a szülő helyre lesz mozgatva"
-
-#: templates/js/translated/stock.js:182
+#: templates/js/translated/stock.js:189
msgid "Delete Stock Location"
msgstr "Készlethely törlése"
-#: templates/js/translated/stock.js:227
+#: templates/js/translated/stock.js:193
+msgid "Action for stock items in this stock location"
+msgstr ""
+
+#: templates/js/translated/stock.js:198
+msgid "Action for sub-locations"
+msgstr ""
+
+#: templates/js/translated/stock.js:246
msgid "This part cannot be serialized"
msgstr "Ezt az alkatrészt nem lehet sorozatszámozni"
-#: templates/js/translated/stock.js:266
+#: templates/js/translated/stock.js:285
msgid "Enter initial quantity for this stock item"
msgstr "Add meg a kezdeti mennyiséget ehhez a készlet tételhez"
-#: templates/js/translated/stock.js:272
+#: templates/js/translated/stock.js:291
msgid "Enter serial numbers for new stock (or leave blank)"
msgstr "Add meg az új készlet tételhez tartozó sorozatszámokat (vagy hagyd üresen)"
-#: templates/js/translated/stock.js:337
+#: templates/js/translated/stock.js:356
msgid "Stock item duplicated"
msgstr "Készlet tétel lemásolva"
-#: templates/js/translated/stock.js:357
+#: templates/js/translated/stock.js:376
msgid "Duplicate Stock Item"
msgstr "Készlet tétel másolása"
-#: templates/js/translated/stock.js:373
+#: templates/js/translated/stock.js:392
msgid "Are you sure you want to delete this stock item?"
msgstr "Biztosan törölni szeretnéd ezt a készlet tételt?"
-#: templates/js/translated/stock.js:378
+#: templates/js/translated/stock.js:397
msgid "Delete Stock Item"
msgstr "Készlet tétel törlése"
-#: templates/js/translated/stock.js:399
+#: templates/js/translated/stock.js:418
msgid "Edit Stock Item"
msgstr "Készlet tétel szerkesztése"
-#: templates/js/translated/stock.js:449
+#: templates/js/translated/stock.js:468
msgid "Created new stock item"
msgstr "Készlet tétel létrehozva"
-#: templates/js/translated/stock.js:462
+#: templates/js/translated/stock.js:481
msgid "Created multiple stock items"
msgstr "Több készlet tétel létre lett hozva"
-#: templates/js/translated/stock.js:487
+#: templates/js/translated/stock.js:506
msgid "Find Serial Number"
msgstr "Sorozatszám keresése"
-#: templates/js/translated/stock.js:491 templates/js/translated/stock.js:492
+#: templates/js/translated/stock.js:510 templates/js/translated/stock.js:511
msgid "Enter serial number"
msgstr "Sorozatszám megadása"
-#: templates/js/translated/stock.js:508
+#: templates/js/translated/stock.js:527
msgid "Enter a serial number"
msgstr "Adj meg egy sorozatszámot"
-#: templates/js/translated/stock.js:528
+#: templates/js/translated/stock.js:547
msgid "No matching serial number"
msgstr "Nincs egyező sorozatszám"
-#: templates/js/translated/stock.js:537
+#: templates/js/translated/stock.js:556
msgid "More than one matching result found"
msgstr "Több egyező eredmény is van"
-#: templates/js/translated/stock.js:660
+#: templates/js/translated/stock.js:679
msgid "Confirm stock assignment"
msgstr "Készlet hozzárendelés jóváhagyása"
-#: templates/js/translated/stock.js:661
+#: templates/js/translated/stock.js:680
msgid "Assign Stock to Customer"
msgstr "Készlet vevőhöz rendelése"
-#: templates/js/translated/stock.js:738
+#: templates/js/translated/stock.js:757
msgid "Warning: Merge operation cannot be reversed"
msgstr "Figyelem: az összevonási művelet nem vonható vissza"
-#: templates/js/translated/stock.js:739
+#: templates/js/translated/stock.js:758
msgid "Some information will be lost when merging stock items"
msgstr "Némi információ elveszik a készlet összevonás során"
-#: templates/js/translated/stock.js:741
+#: templates/js/translated/stock.js:760
msgid "Stock transaction history will be deleted for merged items"
msgstr "A készlettörténet törölve lesz az összevont tételeknél"
-#: templates/js/translated/stock.js:742
+#: templates/js/translated/stock.js:761
msgid "Supplier part information will be deleted for merged items"
msgstr "A beszállítói alkatrész információk törlődnek az összevont tételeknél"
-#: templates/js/translated/stock.js:828
+#: templates/js/translated/stock.js:847
msgid "Confirm stock item merge"
msgstr "Készlet összevonás megerősítése"
-#: templates/js/translated/stock.js:829
+#: templates/js/translated/stock.js:848
msgid "Merge Stock Items"
msgstr "Készlet tételek összevonása"
-#: templates/js/translated/stock.js:924
+#: templates/js/translated/stock.js:943
msgid "Transfer Stock"
msgstr "Készlet áthelyezése"
-#: templates/js/translated/stock.js:925
+#: templates/js/translated/stock.js:944
msgid "Move"
msgstr "Áthelyezés"
-#: templates/js/translated/stock.js:931
+#: templates/js/translated/stock.js:950
msgid "Count Stock"
msgstr "Leltározás"
-#: templates/js/translated/stock.js:932
+#: templates/js/translated/stock.js:951
msgid "Count"
msgstr "Mennyiség"
-#: templates/js/translated/stock.js:936
+#: templates/js/translated/stock.js:955
msgid "Remove Stock"
msgstr "Készlet csökkentése"
-#: templates/js/translated/stock.js:937
+#: templates/js/translated/stock.js:956
msgid "Take"
msgstr "Kivesz"
-#: templates/js/translated/stock.js:941
+#: templates/js/translated/stock.js:960
msgid "Add Stock"
msgstr "Készlet növelése"
-#: templates/js/translated/stock.js:942 users/models.py:218
+#: templates/js/translated/stock.js:961 users/models.py:220
msgid "Add"
msgstr "Hozzáad"
-#: templates/js/translated/stock.js:946
+#: templates/js/translated/stock.js:965
msgid "Delete Stock"
msgstr "Készlet törlése"
-#: templates/js/translated/stock.js:1039
+#: templates/js/translated/stock.js:1058
msgid "Quantity cannot be adjusted for serialized stock"
msgstr "Egyedi követésre kötelezett tételeknél a menyiség nem módosítható"
-#: templates/js/translated/stock.js:1039
+#: templates/js/translated/stock.js:1058
msgid "Specify stock quantity"
msgstr "Készlet mennyiség megadása"
-#: templates/js/translated/stock.js:1079
+#: templates/js/translated/stock.js:1098
msgid "You must select at least one available stock item"
msgstr "Ki kell választanod legalább egy rendelkezésre álló készlet tételt"
-#: templates/js/translated/stock.js:1102
+#: templates/js/translated/stock.js:1121
msgid "Confirm stock adjustment"
msgstr "Készlet módosítás jóváhagyása"
-#: templates/js/translated/stock.js:1238
+#: templates/js/translated/stock.js:1257
msgid "PASS"
msgstr "SIKER"
-#: templates/js/translated/stock.js:1240
+#: templates/js/translated/stock.js:1259
msgid "FAIL"
msgstr "SIKERTELEN"
-#: templates/js/translated/stock.js:1245
+#: templates/js/translated/stock.js:1264
msgid "NO RESULT"
msgstr "NINCS EREDMÉNY"
-#: templates/js/translated/stock.js:1292
+#: templates/js/translated/stock.js:1311
msgid "Pass test"
msgstr "Teszt sikeres"
-#: templates/js/translated/stock.js:1295
+#: templates/js/translated/stock.js:1314
msgid "Add test result"
msgstr "Teszt eredmény hozzáadása"
-#: templates/js/translated/stock.js:1321
+#: templates/js/translated/stock.js:1340
msgid "No test results found"
msgstr "Nincs teszt eredmény"
-#: templates/js/translated/stock.js:1378
+#: templates/js/translated/stock.js:1397
msgid "Test Date"
msgstr "Teszt dátuma"
-#: templates/js/translated/stock.js:1543
+#: templates/js/translated/stock.js:1562
msgid "Edit Test Result"
msgstr "Teszt eredmény szerkesztése"
-#: templates/js/translated/stock.js:1565
+#: templates/js/translated/stock.js:1584
msgid "Delete Test Result"
msgstr "Teszt eredmény törlése"
-#: templates/js/translated/stock.js:1594
+#: templates/js/translated/stock.js:1613
msgid "In production"
msgstr "Gyártásban"
-#: templates/js/translated/stock.js:1598
+#: templates/js/translated/stock.js:1617
msgid "Installed in Stock Item"
msgstr "Beépítve készlet tételbe"
-#: templates/js/translated/stock.js:1606
+#: templates/js/translated/stock.js:1625
msgid "Assigned to Sales Order"
msgstr "Vevő rendeléshez hozzárendelve"
-#: templates/js/translated/stock.js:1612
+#: templates/js/translated/stock.js:1631
msgid "No stock location set"
msgstr "Nincs hely megadva"
-#: templates/js/translated/stock.js:1781
+#: templates/js/translated/stock.js:1800
msgid "Stock item is in production"
msgstr "Készlet tétel gyártás alatt"
-#: templates/js/translated/stock.js:1786
+#: templates/js/translated/stock.js:1805
msgid "Stock item assigned to sales order"
msgstr "Készlet tétel hozzárendelve egy vevői rendeléshez"
-#: templates/js/translated/stock.js:1789
+#: templates/js/translated/stock.js:1808
msgid "Stock item assigned to customer"
msgstr "Készlet tétel hozzárendelve egy vevőhöz"
-#: templates/js/translated/stock.js:1792
+#: templates/js/translated/stock.js:1811
msgid "Serialized stock item has been allocated"
msgstr "Egyedi követésre kötelezett készlet tétel lefoglalva"
-#: templates/js/translated/stock.js:1794
+#: templates/js/translated/stock.js:1813
msgid "Stock item has been fully allocated"
msgstr "Készlet tétel teljes egészében lefoglalva"
-#: templates/js/translated/stock.js:1796
+#: templates/js/translated/stock.js:1815
msgid "Stock item has been partially allocated"
msgstr "Készlet tétel részben lefoglalva"
-#: templates/js/translated/stock.js:1799
+#: templates/js/translated/stock.js:1818
msgid "Stock item has been installed in another item"
msgstr "Készlet tétel beépítve egy másikba"
-#: templates/js/translated/stock.js:1803
+#: templates/js/translated/stock.js:1822
msgid "Stock item has expired"
msgstr "Készlet tétel lejárt"
-#: templates/js/translated/stock.js:1805
+#: templates/js/translated/stock.js:1824
msgid "Stock item will expire soon"
msgstr "Készlet tétel hamarosan lejár"
-#: templates/js/translated/stock.js:1812
+#: templates/js/translated/stock.js:1831
msgid "Stock item has been rejected"
msgstr "Készlet tétel elutasítva"
-#: templates/js/translated/stock.js:1814
+#: templates/js/translated/stock.js:1833
msgid "Stock item is lost"
msgstr "Készlet tétel elveszett"
-#: templates/js/translated/stock.js:1816
+#: templates/js/translated/stock.js:1835
msgid "Stock item is destroyed"
msgstr "Készlet tétel megsemmisült"
-#: templates/js/translated/stock.js:1820
-#: templates/js/translated/table_filters.js:204
+#: templates/js/translated/stock.js:1839
+#: templates/js/translated/table_filters.js:208
msgid "Depleted"
msgstr "Kimerült"
-#: templates/js/translated/stock.js:1871
-msgid "Stocktake"
-msgstr "Leltár"
-
-#: templates/js/translated/stock.js:1950
+#: templates/js/translated/stock.js:1969
msgid "Supplier part not specified"
msgstr "Beszállítói alkatrész nincs megadva"
-#: templates/js/translated/stock.js:1988
+#: templates/js/translated/stock.js:2006
msgid "No stock items matching query"
msgstr "Nincs a lekérdezésnek megfelelő készlet tétel"
-#: templates/js/translated/stock.js:2161
+#: templates/js/translated/stock.js:2179
msgid "Set Stock Status"
msgstr "Készlet állapot beállítása"
-#: templates/js/translated/stock.js:2175
+#: templates/js/translated/stock.js:2193
msgid "Select Status Code"
msgstr "Státuszkód kiválasztása"
-#: templates/js/translated/stock.js:2176
+#: templates/js/translated/stock.js:2194
msgid "Status code must be selected"
msgstr "Státuszkódot ki kell választani"
-#: templates/js/translated/stock.js:2408
+#: templates/js/translated/stock.js:2426
msgid "Load Subloactions"
msgstr "Alhelyek betöltése"
-#: templates/js/translated/stock.js:2503
+#: templates/js/translated/stock.js:2521
msgid "Details"
msgstr "Részletek"
-#: templates/js/translated/stock.js:2519
+#: templates/js/translated/stock.js:2537
msgid "Part information unavailable"
msgstr "Alkatrész információ nem áll rendelkezésre"
-#: templates/js/translated/stock.js:2541
+#: templates/js/translated/stock.js:2559
msgid "Location no longer exists"
msgstr "A hely már nem létezik"
-#: templates/js/translated/stock.js:2560
+#: templates/js/translated/stock.js:2578
msgid "Purchase order no longer exists"
msgstr "Beszerzési megrendelés már nem létezik"
-#: templates/js/translated/stock.js:2579
+#: templates/js/translated/stock.js:2597
msgid "Customer no longer exists"
msgstr "Vevő már nem létezik"
-#: templates/js/translated/stock.js:2597
+#: templates/js/translated/stock.js:2615
msgid "Stock item no longer exists"
msgstr "A készlet tétel már nem létezik"
-#: templates/js/translated/stock.js:2620
+#: templates/js/translated/stock.js:2638
msgid "Added"
msgstr "Hozzáadva"
-#: templates/js/translated/stock.js:2628
+#: templates/js/translated/stock.js:2646
msgid "Removed"
msgstr "Eltávolítva"
-#: templates/js/translated/stock.js:2704
+#: templates/js/translated/stock.js:2722
msgid "No installed items"
msgstr "Nincsenek beépített tételek"
-#: templates/js/translated/stock.js:2755 templates/js/translated/stock.js:2791
+#: templates/js/translated/stock.js:2773 templates/js/translated/stock.js:2809
msgid "Uninstall Stock Item"
msgstr "Készlet tétel kiszedése"
-#: templates/js/translated/stock.js:2804
+#: templates/js/translated/stock.js:2822
msgid "Select stock item to uninstall"
msgstr "Válaszd ki a kiszedni való készlet tételt"
-#: templates/js/translated/stock.js:2825
+#: templates/js/translated/stock.js:2843
msgid "Install another stock item into this item"
msgstr "Másik tétel beépítése ebbe a készlet tételbe"
-#: templates/js/translated/stock.js:2826
+#: templates/js/translated/stock.js:2844
msgid "Stock items can only be installed if they meet the following criteria"
msgstr "Készlet tételek csak akkor építhetők be ha teljesítik a következő kritériumokat"
-#: templates/js/translated/stock.js:2828
+#: templates/js/translated/stock.js:2846
msgid "The Stock Item links to a Part which is the BOM for this Stock Item"
msgstr "A készlet tétel egy olyan alkatrészre mutat ami alkatrészjegyzéke ennek a készlet tételnek"
-#: templates/js/translated/stock.js:2829
+#: templates/js/translated/stock.js:2847
msgid "The Stock Item is currently available in stock"
msgstr "A készlet tétel jelenleg elérhető készleten"
-#: templates/js/translated/stock.js:2830
+#: templates/js/translated/stock.js:2848
msgid "The Stock Item is not already installed in another item"
msgstr "A készlet tétel még nem épült be egy másik tételbe"
-#: templates/js/translated/stock.js:2831
+#: templates/js/translated/stock.js:2849
msgid "The Stock Item is tracked by either a batch code or serial number"
msgstr "A készlet tétel követett vagy sorozatszámmal vagy batch kóddal"
-#: templates/js/translated/stock.js:2844
+#: templates/js/translated/stock.js:2862
msgid "Select part to install"
msgstr "Válaszd ki a beépítendő alkatrészt"
@@ -10237,215 +10559,220 @@ msgstr "Jóváhagyva"
msgid "Allow Variant Stock"
msgstr "Készlet változatok engedélyezése"
-#: templates/js/translated/table_filters.js:126
-#: templates/js/translated/table_filters.js:199
+#: templates/js/translated/table_filters.js:92
+#: templates/js/translated/table_filters.js:508
+msgid "Has Pricing"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:130
+#: templates/js/translated/table_filters.js:203
msgid "Include sublocations"
msgstr "Alhelyekkel együtt"
-#: templates/js/translated/table_filters.js:127
+#: templates/js/translated/table_filters.js:131
msgid "Include locations"
msgstr "Helyekkel együtt"
-#: templates/js/translated/table_filters.js:137
-#: templates/js/translated/table_filters.js:138
-#: templates/js/translated/table_filters.js:445
+#: templates/js/translated/table_filters.js:141
+#: templates/js/translated/table_filters.js:142
+#: templates/js/translated/table_filters.js:449
msgid "Include subcategories"
msgstr "Alkategóriákkal együtt"
-#: templates/js/translated/table_filters.js:142
-#: templates/js/translated/table_filters.js:488
+#: templates/js/translated/table_filters.js:146
+#: templates/js/translated/table_filters.js:492
msgid "Subscribed"
msgstr "Értesítés beállítva"
-#: templates/js/translated/table_filters.js:152
-#: templates/js/translated/table_filters.js:234
+#: templates/js/translated/table_filters.js:156
+#: templates/js/translated/table_filters.js:238
msgid "Is Serialized"
msgstr "Sorozatszámos"
-#: templates/js/translated/table_filters.js:155
-#: templates/js/translated/table_filters.js:241
+#: templates/js/translated/table_filters.js:159
+#: templates/js/translated/table_filters.js:245
msgid "Serial number GTE"
msgstr "Sorozatszám >="
-#: templates/js/translated/table_filters.js:156
-#: templates/js/translated/table_filters.js:242
+#: templates/js/translated/table_filters.js:160
+#: templates/js/translated/table_filters.js:246
msgid "Serial number greater than or equal to"
msgstr "Sorozatszám nagyobb vagy egyenlő mint"
-#: templates/js/translated/table_filters.js:159
-#: templates/js/translated/table_filters.js:245
+#: templates/js/translated/table_filters.js:163
+#: templates/js/translated/table_filters.js:249
msgid "Serial number LTE"
msgstr "Sorozatszám <="
-#: templates/js/translated/table_filters.js:160
-#: templates/js/translated/table_filters.js:246
+#: templates/js/translated/table_filters.js:164
+#: templates/js/translated/table_filters.js:250
msgid "Serial number less than or equal to"
msgstr "Sorozatszám kisebb vagy egyenlő mint"
-#: templates/js/translated/table_filters.js:163
-#: templates/js/translated/table_filters.js:164
-#: templates/js/translated/table_filters.js:237
-#: templates/js/translated/table_filters.js:238
+#: templates/js/translated/table_filters.js:167
+#: templates/js/translated/table_filters.js:168
+#: templates/js/translated/table_filters.js:241
+#: templates/js/translated/table_filters.js:242
msgid "Serial number"
msgstr "Sorozatszám"
-#: templates/js/translated/table_filters.js:168
-#: templates/js/translated/table_filters.js:259
+#: templates/js/translated/table_filters.js:172
+#: templates/js/translated/table_filters.js:263
msgid "Batch code"
msgstr "Batch kód"
-#: templates/js/translated/table_filters.js:179
-#: templates/js/translated/table_filters.js:417
+#: templates/js/translated/table_filters.js:183
+#: templates/js/translated/table_filters.js:421
msgid "Active parts"
msgstr "Aktív alkatrész"
-#: templates/js/translated/table_filters.js:180
+#: templates/js/translated/table_filters.js:184
msgid "Show stock for active parts"
msgstr "Aktív alkatrészek készletének megjelenítése"
-#: templates/js/translated/table_filters.js:185
+#: templates/js/translated/table_filters.js:189
msgid "Part is an assembly"
msgstr "Az alkatrész egy gyártmány"
-#: templates/js/translated/table_filters.js:189
+#: templates/js/translated/table_filters.js:193
msgid "Is allocated"
msgstr "Lefoglalt"
-#: templates/js/translated/table_filters.js:190
+#: templates/js/translated/table_filters.js:194
msgid "Item has been allocated"
msgstr "Az tétel lefoglalásra került"
-#: templates/js/translated/table_filters.js:195
+#: templates/js/translated/table_filters.js:199
msgid "Stock is available for use"
msgstr "Felhasználható készlet"
-#: templates/js/translated/table_filters.js:200
+#: templates/js/translated/table_filters.js:204
msgid "Include stock in sublocations"
msgstr "Alhelyeken lévő készlettel együtt"
-#: templates/js/translated/table_filters.js:205
+#: templates/js/translated/table_filters.js:209
msgid "Show stock items which are depleted"
msgstr "Kimerült készlet tételek megjelenítése"
-#: templates/js/translated/table_filters.js:210
+#: templates/js/translated/table_filters.js:214
msgid "Show items which are in stock"
msgstr "Készleten lévő tételek megjelenítése"
-#: templates/js/translated/table_filters.js:214
+#: templates/js/translated/table_filters.js:218
msgid "In Production"
msgstr "Gyártásban"
-#: templates/js/translated/table_filters.js:215
+#: templates/js/translated/table_filters.js:219
msgid "Show items which are in production"
msgstr "Gyártásban lévő tételek megjelenítése"
-#: templates/js/translated/table_filters.js:219
+#: templates/js/translated/table_filters.js:223
msgid "Include Variants"
msgstr "Változatokkal együtt"
-#: templates/js/translated/table_filters.js:220
+#: templates/js/translated/table_filters.js:224
msgid "Include stock items for variant parts"
msgstr "Alkatrészváltozatok készletével együtt"
-#: templates/js/translated/table_filters.js:224
+#: templates/js/translated/table_filters.js:228
msgid "Installed"
msgstr "Beépítve"
-#: templates/js/translated/table_filters.js:225
+#: templates/js/translated/table_filters.js:229
msgid "Show stock items which are installed in another item"
msgstr "Másik tételbe beépült tételek mutatása"
-#: templates/js/translated/table_filters.js:230
+#: templates/js/translated/table_filters.js:234
msgid "Show items which have been assigned to a customer"
msgstr "Készlet tételek melyek hozzá vannak rendelve egy vevőhöz"
-#: templates/js/translated/table_filters.js:250
-#: templates/js/translated/table_filters.js:251
+#: templates/js/translated/table_filters.js:254
+#: templates/js/translated/table_filters.js:255
msgid "Stock status"
msgstr "Készlet állapota"
-#: templates/js/translated/table_filters.js:254
+#: templates/js/translated/table_filters.js:258
msgid "Has batch code"
msgstr "Van batch kódja"
-#: templates/js/translated/table_filters.js:262
+#: templates/js/translated/table_filters.js:266
msgid "Tracked"
msgstr "Követett"
-#: templates/js/translated/table_filters.js:263
+#: templates/js/translated/table_filters.js:267
msgid "Stock item is tracked by either batch code or serial number"
msgstr "Követett készlet tétel sorozatszámmal vagy batch kóddal"
-#: templates/js/translated/table_filters.js:268
+#: templates/js/translated/table_filters.js:272
msgid "Has purchase price"
msgstr "Van beszerzési ára"
-#: templates/js/translated/table_filters.js:269
+#: templates/js/translated/table_filters.js:273
msgid "Show stock items which have a purchase price set"
msgstr "Beszerzési árral rendelkező készlet tételek megjelenítése"
-#: templates/js/translated/table_filters.js:278
+#: templates/js/translated/table_filters.js:282
msgid "Show stock items which have expired"
msgstr "Lejárt készlet tételek megjelenítése"
-#: templates/js/translated/table_filters.js:284
+#: templates/js/translated/table_filters.js:288
msgid "Show stock which is close to expiring"
msgstr "Hamarosan lejáró készlet tételek megjelenítése"
-#: templates/js/translated/table_filters.js:296
+#: templates/js/translated/table_filters.js:300
msgid "Test Passed"
msgstr "Teszten megfelelt"
-#: templates/js/translated/table_filters.js:300
+#: templates/js/translated/table_filters.js:304
msgid "Include Installed Items"
msgstr "Beépített tételekkel együtt"
-#: templates/js/translated/table_filters.js:319
+#: templates/js/translated/table_filters.js:323
msgid "Build status"
msgstr "Gyártási állapot"
-#: templates/js/translated/table_filters.js:332
-#: templates/js/translated/table_filters.js:373
+#: templates/js/translated/table_filters.js:336
+#: templates/js/translated/table_filters.js:377
msgid "Assigned to me"
msgstr "Hozzám rendelt"
-#: templates/js/translated/table_filters.js:349
-#: templates/js/translated/table_filters.js:360
-#: templates/js/translated/table_filters.js:390
+#: templates/js/translated/table_filters.js:353
+#: templates/js/translated/table_filters.js:364
+#: templates/js/translated/table_filters.js:394
msgid "Order status"
msgstr "Rendelés állapota"
-#: templates/js/translated/table_filters.js:365
-#: templates/js/translated/table_filters.js:382
-#: templates/js/translated/table_filters.js:395
+#: templates/js/translated/table_filters.js:369
+#: templates/js/translated/table_filters.js:386
+#: templates/js/translated/table_filters.js:399
msgid "Outstanding"
msgstr "Kintlévő"
-#: templates/js/translated/table_filters.js:446
+#: templates/js/translated/table_filters.js:450
msgid "Include parts in subcategories"
msgstr "Alkategóriákkal együtt"
-#: templates/js/translated/table_filters.js:451
+#: templates/js/translated/table_filters.js:455
msgid "Show active parts"
msgstr "Aktív alkatrészek megjelenítése"
-#: templates/js/translated/table_filters.js:459
+#: templates/js/translated/table_filters.js:463
msgid "Available stock"
msgstr "Elérhető"
-#: templates/js/translated/table_filters.js:467
+#: templates/js/translated/table_filters.js:471
msgid "Has IPN"
msgstr "Van IPN-je"
-#: templates/js/translated/table_filters.js:468
+#: templates/js/translated/table_filters.js:472
msgid "Part has internal part number"
msgstr "Van belső cikkszáma"
-#: templates/js/translated/table_filters.js:472
+#: templates/js/translated/table_filters.js:476
msgid "In stock"
msgstr "Készleten"
-#: templates/js/translated/table_filters.js:480
+#: templates/js/translated/table_filters.js:484
msgid "Purchasable"
msgstr "Beszerezhető"
@@ -10555,6 +10882,10 @@ msgstr "Mentés"
msgid "Show all notifications and history"
msgstr "Összes értesítés és előzmény megjelenítése"
+#: templates/price_data.html:7
+msgid "No data"
+msgstr ""
+
#: templates/qr_code.html:11
msgid "QR data not provided"
msgstr "Nincs QR kód adat megadva"
@@ -10739,35 +11070,35 @@ msgstr "Jogosultságok"
msgid "Important dates"
msgstr "Fontos dátumok"
-#: users/models.py:205
+#: users/models.py:207
msgid "Permission set"
msgstr "Jogosultságok"
-#: users/models.py:213
+#: users/models.py:215
msgid "Group"
msgstr "Csoport"
-#: users/models.py:216
+#: users/models.py:218
msgid "View"
msgstr "Nézet"
-#: users/models.py:216
+#: users/models.py:218
msgid "Permission to view items"
msgstr "Jogosultság tételek megtekintéséhez"
-#: users/models.py:218
+#: users/models.py:220
msgid "Permission to add items"
msgstr "Jogosultság tételek hozzáadásához"
-#: users/models.py:220
+#: users/models.py:222
msgid "Change"
msgstr "Módosítás"
-#: users/models.py:220
+#: users/models.py:222
msgid "Permissions to edit items"
msgstr "Jogosultság tételek szerkesztéséhez"
-#: users/models.py:222
+#: users/models.py:224
msgid "Permission to delete items"
msgstr "Jogosultság tételek törléséhez"
diff --git a/InvenTree/locale/id/LC_MESSAGES/django.po b/InvenTree/locale/id/LC_MESSAGES/django.po
index 95b25cf9a8..59bea88574 100644
--- a/InvenTree/locale/id/LC_MESSAGES/django.po
+++ b/InvenTree/locale/id/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-11-04 14:07+0000\n"
-"PO-Revision-Date: 2022-11-04 19:02\n"
+"POT-Creation-Date: 2022-11-14 04:59+0000\n"
+"PO-Revision-Date: 2022-11-14 14:50\n"
"Last-Translator: \n"
"Language-Team: Indonesian\n"
"Language: id_ID\n"
@@ -17,7 +17,7 @@ msgstr ""
"X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n"
"X-Crowdin-File-ID: 154\n"
-#: InvenTree/api.py:54
+#: InvenTree/api.py:61
msgid "API endpoint not found"
msgstr "API endpoint tidak ditemukan"
@@ -25,27 +25,27 @@ msgstr "API endpoint tidak ditemukan"
msgid "Error details can be found in the admin panel"
msgstr ""
-#: InvenTree/fields.py:120
+#: InvenTree/fields.py:129
msgid "Enter date"
msgstr "Masukkan tanggal"
-#: InvenTree/fields.py:195 build/serializers.py:387
-#: build/templates/build/sidebar.html:21 company/models.py:525
-#: company/templates/company/sidebar.html:25 order/models.py:920
+#: InvenTree/fields.py:204 build/serializers.py:387
+#: build/templates/build/sidebar.html:21 company/models.py:529
+#: company/templates/company/sidebar.html:25 order/models.py:943
#: order/templates/order/po_sidebar.html:11
-#: order/templates/order/so_sidebar.html:17
-#: part/templates/part/part_sidebar.html:59
+#: order/templates/order/so_sidebar.html:17 part/admin.py:27
+#: part/templates/part/part_sidebar.html:57
#: report/templates/report/inventree_build_order_base.html:172
-#: stock/models.py:2002 stock/models.py:2110 stock/serializers.py:327
-#: stock/serializers.py:460 stock/serializers.py:541 stock/serializers.py:827
-#: stock/serializers.py:926 stock/serializers.py:1058
+#: stock/admin.py:103 stock/models.py:2018 stock/models.py:2126
+#: stock/serializers.py:321 stock/serializers.py:454 stock/serializers.py:535
+#: stock/serializers.py:826 stock/serializers.py:925 stock/serializers.py:1057
#: stock/templates/stock/stock_sidebar.html:25
-#: templates/js/translated/barcode.js:108 templates/js/translated/bom.js:1146
-#: templates/js/translated/company.js:1022
-#: templates/js/translated/order.js:2404 templates/js/translated/order.js:2552
-#: templates/js/translated/order.js:3048 templates/js/translated/order.js:3999
-#: templates/js/translated/order.js:4394 templates/js/translated/stock.js:1374
-#: templates/js/translated/stock.js:1982
+#: templates/js/translated/barcode.js:108 templates/js/translated/bom.js:1211
+#: templates/js/translated/company.js:1023
+#: templates/js/translated/order.js:2427 templates/js/translated/order.js:2561
+#: templates/js/translated/order.js:3059 templates/js/translated/order.js:3996
+#: templates/js/translated/order.js:4377 templates/js/translated/stock.js:1393
+#: templates/js/translated/stock.js:2000
msgid "Notes"
msgstr "Catatan"
@@ -122,43 +122,43 @@ msgstr ""
msgid "Supplied URL is not a valid image file"
msgstr "URL yang diberikan bukan file gambar yang valid"
-#: InvenTree/helpers.py:602 order/models.py:325 order/models.py:477
+#: InvenTree/helpers.py:589 order/models.py:329 order/models.py:496
msgid "Invalid quantity provided"
msgstr "Jumlah yang diberikan tidak valid"
-#: InvenTree/helpers.py:610
+#: InvenTree/helpers.py:597
msgid "Empty serial number string"
msgstr "Nomor seri kosong"
-#: InvenTree/helpers.py:640
+#: InvenTree/helpers.py:627
msgid "Duplicate serial"
msgstr ""
-#: InvenTree/helpers.py:673 InvenTree/helpers.py:708
+#: InvenTree/helpers.py:660 InvenTree/helpers.py:695
#, python-brace-format
msgid "Invalid group range: {g}"
msgstr "Jangkauan grup tidak valid: {g}"
-#: InvenTree/helpers.py:702
+#: InvenTree/helpers.py:689
#, python-brace-format
msgid "Group range {g} exceeds allowed quantity ({q})"
msgstr ""
-#: InvenTree/helpers.py:726 InvenTree/helpers.py:733 InvenTree/helpers.py:748
+#: InvenTree/helpers.py:713 InvenTree/helpers.py:720 InvenTree/helpers.py:735
#, python-brace-format
msgid "Invalid group sequence: {g}"
msgstr "Urutan grup tidak valid: {g}"
-#: InvenTree/helpers.py:758
+#: InvenTree/helpers.py:745
msgid "No serial numbers found"
msgstr "Tidak ada nomor seri ditemukan"
-#: InvenTree/helpers.py:761
+#: InvenTree/helpers.py:748
#, python-brace-format
msgid "Number of unique serial numbers ({s}) must match quantity ({q})"
msgstr ""
-#: InvenTree/helpers.py:960
+#: InvenTree/helpers.py:947
msgid "Remove HTML tags from this value"
msgstr ""
@@ -194,7 +194,7 @@ msgstr "File tidak ditemukan"
msgid "Missing external link"
msgstr "Tautan eksternal tidak ditemukan"
-#: InvenTree/models.py:405 stock/models.py:2104
+#: InvenTree/models.py:405 stock/models.py:2120
#: templates/js/translated/attachment.js:103
#: templates/js/translated/attachment.js:241
msgid "Attachment"
@@ -204,18 +204,19 @@ msgstr "Lampiran"
msgid "Select file to attach"
msgstr "Pilih file untuk dilampirkan"
-#: InvenTree/models.py:412 company/models.py:125 company/models.py:277
-#: company/models.py:512 order/models.py:84 order/models.py:1259
-#: part/models.py:816 part/templates/part/part_scheduling.html:11
+#: InvenTree/models.py:412 common/models.py:2313 company/models.py:129
+#: company/models.py:281 company/models.py:516 order/models.py:85
+#: order/models.py:1282 part/admin.py:25 part/models.py:835
+#: part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
-#: templates/js/translated/company.js:691
-#: templates/js/translated/company.js:1011
-#: templates/js/translated/order.js:3037 templates/js/translated/part.js:1569
+#: stock/admin.py:102 templates/js/translated/company.js:692
+#: templates/js/translated/company.js:1012
+#: templates/js/translated/order.js:3048 templates/js/translated/part.js:1593
msgid "Link"
msgstr "Tautan"
-#: InvenTree/models.py:413 build/models.py:290 part/models.py:817
-#: stock/models.py:660
+#: InvenTree/models.py:413 build/models.py:290 part/models.py:836
+#: stock/models.py:676
msgid "Link to external URL"
msgstr "Tautan menuju URL eksternal"
@@ -228,12 +229,12 @@ msgstr "Komentar"
msgid "File comment"
msgstr "Komentar file"
-#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1744
-#: common/models.py:1745 common/models.py:1968 common/models.py:1969
-#: common/models.py:2231 common/models.py:2232 part/models.py:2254
-#: part/models.py:2274 plugin/models.py:264 plugin/models.py:265
+#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1756
+#: common/models.py:1757 common/models.py:1980 common/models.py:1981
+#: common/models.py:2243 common/models.py:2244 part/models.py:2867
+#: part/models.py:2887 plugin/models.py:264 plugin/models.py:265
#: report/templates/report/inventree_test_report_base.html:96
-#: templates/js/translated/stock.js:2651
+#: templates/js/translated/stock.js:2669
msgid "User"
msgstr "Pengguna"
@@ -270,44 +271,45 @@ msgstr "Kesalahan merubah nama file"
msgid "Invalid choice"
msgstr "Pilihan tidak valid"
-#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1954
-#: company/models.py:359 label/models.py:101 part/models.py:760
-#: part/models.py:2429 plugin/models.py:94 report/models.py:152
+#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1966
+#: company/models.py:363 label/models.py:101 part/models.py:779
+#: part/models.py:3042 plugin/models.py:94 report/models.py:152
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/plugin.html:60
#: templates/InvenTree/settings/plugin.html:104
#: templates/InvenTree/settings/plugin_settings.html:23
#: templates/InvenTree/settings/settings.html:344
-#: templates/js/translated/company.js:580
-#: templates/js/translated/company.js:793
+#: templates/js/translated/company.js:581
+#: templates/js/translated/company.js:794
#: templates/js/translated/notification.js:71
-#: templates/js/translated/part.js:686 templates/js/translated/part.js:838
-#: templates/js/translated/part.js:1964 templates/js/translated/stock.js:2396
+#: templates/js/translated/part.js:700 templates/js/translated/part.js:865
+#: templates/js/translated/part.js:1988 templates/js/translated/stock.js:2414
msgid "Name"
msgstr "Nama"
#: InvenTree/models.py:564 build/models.py:163
-#: build/templates/build/detail.html:24 company/models.py:283
-#: company/models.py:518 company/templates/company/company_base.html:71
+#: build/templates/build/detail.html:24 company/models.py:287
+#: company/models.py:522 company/templates/company/company_base.html:71
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:108 label/models.py:108
-#: order/models.py:82 part/models.py:783 part/models.py:2438
-#: part/templates/part/category.html:75 part/templates/part/part_base.html:172
+#: order/models.py:83 part/admin.py:141 part/admin.py:222 part/models.py:802
+#: part/models.py:3051 part/templates/part/category.html:75
+#: part/templates/part/part_base.html:172
#: part/templates/part/part_scheduling.html:12 report/models.py:165
#: report/models.py:507 report/models.py:551
#: report/templates/report/inventree_build_order_base.html:117
-#: stock/templates/stock/location.html:117
+#: stock/admin.py:25 stock/templates/stock/location.html:117
#: templates/InvenTree/settings/plugin_settings.html:28
#: templates/InvenTree/settings/settings.html:355
-#: templates/js/translated/bom.js:579 templates/js/translated/bom.js:887
-#: templates/js/translated/build.js:2580 templates/js/translated/company.js:444
-#: templates/js/translated/company.js:702
-#: templates/js/translated/company.js:986 templates/js/translated/order.js:1988
-#: templates/js/translated/order.js:2220 templates/js/translated/order.js:2826
-#: templates/js/translated/part.js:745 templates/js/translated/part.js:1187
-#: templates/js/translated/part.js:1464 templates/js/translated/part.js:2000
-#: templates/js/translated/part.js:2075 templates/js/translated/stock.js:1748
-#: templates/js/translated/stock.js:2428 templates/js/translated/stock.js:2488
+#: templates/js/translated/bom.js:592 templates/js/translated/bom.js:895
+#: templates/js/translated/build.js:2580 templates/js/translated/company.js:445
+#: templates/js/translated/company.js:703
+#: templates/js/translated/company.js:987 templates/js/translated/order.js:2022
+#: templates/js/translated/order.js:2259 templates/js/translated/order.js:2837
+#: templates/js/translated/part.js:759 templates/js/translated/part.js:1208
+#: templates/js/translated/part.js:1475 templates/js/translated/part.js:2024
+#: templates/js/translated/part.js:2099 templates/js/translated/stock.js:1767
+#: templates/js/translated/stock.js:2446 templates/js/translated/stock.js:2506
msgid "Description"
msgstr "Keterangan"
@@ -320,7 +322,7 @@ msgid "parent"
msgstr "induk"
#: InvenTree/models.py:580 InvenTree/models.py:581
-#: templates/js/translated/part.js:2009 templates/js/translated/stock.js:2437
+#: templates/js/translated/part.js:2033 templates/js/translated/stock.js:2455
msgid "Path"
msgstr "Direktori"
@@ -332,7 +334,7 @@ msgstr "Data Barcode"
msgid "Third party barcode data"
msgstr "Data barcode pihak ketiga"
-#: InvenTree/models.py:688 order/serializers.py:486
+#: InvenTree/models.py:688 order/serializers.py:477
msgid "Barcode Hash"
msgstr "Barcode Hash"
@@ -352,187 +354,187 @@ msgstr "Terjadi Kesalahan Server"
msgid "An error has been logged by the server."
msgstr "Sebuah kesalahan telah dicatat oleh server."
-#: InvenTree/serializers.py:58 part/models.py:2774
+#: InvenTree/serializers.py:58 part/models.py:3387
msgid "Must be a valid number"
msgstr "Harus berupa angka yang valid"
-#: InvenTree/serializers.py:265
+#: InvenTree/serializers.py:266
msgid "Filename"
msgstr "Nama File"
-#: InvenTree/serializers.py:300
+#: InvenTree/serializers.py:301
msgid "Invalid value"
msgstr "Nilai tidak valid"
-#: InvenTree/serializers.py:322
+#: InvenTree/serializers.py:323
msgid "Data File"
msgstr "File data"
-#: InvenTree/serializers.py:323
+#: InvenTree/serializers.py:324
msgid "Select data file for upload"
msgstr "Pilih file untuk diunggah"
-#: InvenTree/serializers.py:344
+#: InvenTree/serializers.py:345
msgid "Unsupported file type"
msgstr "Jenis file tidak didukung"
-#: InvenTree/serializers.py:350
+#: InvenTree/serializers.py:351
msgid "File is too large"
msgstr "Ukuran file terlalu besar"
-#: InvenTree/serializers.py:371
+#: InvenTree/serializers.py:372
msgid "No columns found in file"
msgstr "Tidak ditemukan kolom dalam file"
-#: InvenTree/serializers.py:374
+#: InvenTree/serializers.py:375
msgid "No data rows found in file"
msgstr "Tidak ditemukan barisan data dalam file"
-#: InvenTree/serializers.py:497
+#: InvenTree/serializers.py:498
msgid "No data rows provided"
msgstr "Tidak ada barisan data tersedia"
-#: InvenTree/serializers.py:500
+#: InvenTree/serializers.py:501
msgid "No data columns supplied"
msgstr "Tidak ada kolom data tersedia"
-#: InvenTree/serializers.py:577
+#: InvenTree/serializers.py:578
#, python-brace-format
msgid "Missing required column: '{name}'"
msgstr "Kolom yang diperlukan kurang: '{name}'"
-#: InvenTree/serializers.py:586
+#: InvenTree/serializers.py:587
#, python-brace-format
msgid "Duplicate column: '{col}'"
msgstr "Kolom duplikat: '{col}'"
-#: InvenTree/serializers.py:605
+#: InvenTree/serializers.py:606
#: templates/InvenTree/settings/mixins/urls.html:14
msgid "URL"
msgstr "URL"
-#: InvenTree/serializers.py:606
+#: InvenTree/serializers.py:607
msgid "URL of remote image file"
msgstr "URL file gambar external"
-#: InvenTree/serializers.py:620
+#: InvenTree/serializers.py:621
msgid "Downloading images from remote URL is not enabled"
msgstr "Unduhan gambar dari URL external tidak aktif"
-#: InvenTree/settings.py:621
+#: InvenTree/settings.py:627
msgid "Czech"
msgstr "Ceko"
-#: InvenTree/settings.py:622
+#: InvenTree/settings.py:628
msgid "Danish"
msgstr "Denmark"
-#: InvenTree/settings.py:623
+#: InvenTree/settings.py:629
msgid "German"
msgstr "Jerman"
-#: InvenTree/settings.py:624
+#: InvenTree/settings.py:630
msgid "Greek"
msgstr "Yunani"
-#: InvenTree/settings.py:625
+#: InvenTree/settings.py:631
msgid "English"
msgstr "Inggris"
-#: InvenTree/settings.py:626
+#: InvenTree/settings.py:632
msgid "Spanish"
msgstr "Spanyol"
-#: InvenTree/settings.py:627
+#: InvenTree/settings.py:633
msgid "Spanish (Mexican)"
msgstr "Spanyol (Meksiko)"
-#: InvenTree/settings.py:628
+#: InvenTree/settings.py:634
msgid "Farsi / Persian"
msgstr "Farsi / Persia"
-#: InvenTree/settings.py:629
+#: InvenTree/settings.py:635
msgid "French"
msgstr "Perancis"
-#: InvenTree/settings.py:630
+#: InvenTree/settings.py:636
msgid "Hebrew"
msgstr "Ibrani"
-#: InvenTree/settings.py:631
+#: InvenTree/settings.py:637
msgid "Hungarian"
msgstr "Hungaria"
-#: InvenTree/settings.py:632
+#: InvenTree/settings.py:638
msgid "Italian"
msgstr "Itali"
-#: InvenTree/settings.py:633
+#: InvenTree/settings.py:639
msgid "Japanese"
msgstr "Jepang"
-#: InvenTree/settings.py:634
+#: InvenTree/settings.py:640
msgid "Korean"
msgstr "Korea"
-#: InvenTree/settings.py:635
+#: InvenTree/settings.py:641
msgid "Dutch"
msgstr "Belanda"
-#: InvenTree/settings.py:636
+#: InvenTree/settings.py:642
msgid "Norwegian"
msgstr "Norwegia"
-#: InvenTree/settings.py:637
+#: InvenTree/settings.py:643
msgid "Polish"
msgstr "Polandia"
-#: InvenTree/settings.py:638
+#: InvenTree/settings.py:644
msgid "Portuguese"
msgstr "Portugis"
-#: InvenTree/settings.py:639
+#: InvenTree/settings.py:645
msgid "Portuguese (Brazilian)"
msgstr "Portugis (Brasil)"
-#: InvenTree/settings.py:640
+#: InvenTree/settings.py:646
msgid "Russian"
msgstr "Rusia"
-#: InvenTree/settings.py:641
+#: InvenTree/settings.py:647
msgid "Swedish"
msgstr "Swedia"
-#: InvenTree/settings.py:642
+#: InvenTree/settings.py:648
msgid "Thai"
msgstr "Thai"
-#: InvenTree/settings.py:643
+#: InvenTree/settings.py:649
msgid "Turkish"
msgstr "Turki"
-#: InvenTree/settings.py:644
+#: InvenTree/settings.py:650
msgid "Vietnamese"
msgstr "Vietnam"
-#: InvenTree/settings.py:645
+#: InvenTree/settings.py:651
msgid "Chinese"
msgstr "Cina"
-#: InvenTree/status.py:99
+#: InvenTree/status.py:98
msgid "Background worker check failed"
msgstr ""
-#: InvenTree/status.py:103
+#: InvenTree/status.py:102
msgid "Email backend not configured"
msgstr ""
-#: InvenTree/status.py:106
+#: InvenTree/status.py:105
msgid "InvenTree system health checks failed"
msgstr ""
#: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140
-#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:342
+#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:346
msgid "Pending"
msgstr ""
@@ -561,8 +563,8 @@ msgstr "Hilang"
msgid "Returned"
msgstr "Dikembalikan"
-#: InvenTree/status_codes.py:141 order/models.py:1142
-#: templates/js/translated/order.js:3625 templates/js/translated/order.js:3974
+#: InvenTree/status_codes.py:141 order/models.py:1165
+#: templates/js/translated/order.js:3636 templates/js/translated/order.js:3971
msgid "Shipped"
msgstr "Dikirim"
@@ -646,7 +648,7 @@ msgstr "Dipisah dari item induk"
msgid "Split child item"
msgstr "Pisah item dari barang induk"
-#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2086
+#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2104
msgid "Merged stock items"
msgstr "Stok item digabungkan"
@@ -654,7 +656,7 @@ msgstr "Stok item digabungkan"
msgid "Converted to variant"
msgstr "Dikonversi ke variasi"
-#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:229
+#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:233
msgid "Sent to customer"
msgstr "Terkirim ke pelanggan"
@@ -746,7 +748,7 @@ msgstr "Order Produksi"
#: build/models.py:111 build/templates/build/build_base.html:13
#: build/templates/build/index.html:8 build/templates/build/index.html:12
-#: order/templates/order/sales_order_detail.html:120
+#: order/templates/order/sales_order_detail.html:125
#: order/templates/order/so_sidebar.html:13
#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221
#: templates/InvenTree/search.html:141
@@ -759,15 +761,15 @@ msgstr "Order Produksi"
msgid "Build Order Reference"
msgstr "Referensi Order Produksi"
-#: build/models.py:155 order/models.py:240 order/models.py:632
-#: order/models.py:918 part/models.py:2684
+#: build/models.py:155 order/models.py:241 order/models.py:651
+#: order/models.py:941 part/admin.py:224 part/models.py:3297
#: part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:92
-#: templates/js/translated/bom.js:716 templates/js/translated/bom.js:897
-#: templates/js/translated/build.js:1843 templates/js/translated/order.js:2251
-#: templates/js/translated/order.js:2481 templates/js/translated/order.js:3818
-#: templates/js/translated/order.js:4323
+#: templates/js/translated/bom.js:729 templates/js/translated/bom.js:905
+#: templates/js/translated/build.js:1843 templates/js/translated/order.js:2290
+#: templates/js/translated/order.js:2508 templates/js/translated/order.js:3833
+#: templates/js/translated/order.js:4324 templates/js/translated/pricing.js:119
msgid "Reference"
msgstr "Referensi"
@@ -785,39 +787,40 @@ msgid "BuildOrder to which this build is allocated"
msgstr "Produksi induk dari produksi ini"
#: build/models.py:180 build/templates/build/build_base.html:80
-#: build/templates/build/detail.html:29 company/models.py:680
-#: order/models.py:1015 order/models.py:1126 order/models.py:1127
-#: part/models.py:343 part/models.py:2200 part/models.py:2215
-#: part/models.py:2234 part/models.py:2252 part/models.py:2351
-#: part/models.py:2472 part/models.py:2564 part/models.py:2649
-#: part/models.py:2943 part/serializers.py:828
+#: build/templates/build/detail.html:29 company/models.py:684
+#: order/models.py:1038 order/models.py:1149 order/models.py:1150
+#: part/models.py:362 part/models.py:2700 part/models.py:2813
+#: part/models.py:2828 part/models.py:2847 part/models.py:2865
+#: part/models.py:2964 part/models.py:3085 part/models.py:3177
+#: part/models.py:3262 part/models.py:3578 part/serializers.py:852
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
#: report/templates/report/inventree_build_order_base.html:109
#: report/templates/report/inventree_po_report.html:89
-#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:86
-#: stock/serializers.py:494 templates/InvenTree/search.html:82
+#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:90
+#: stock/serializers.py:488 templates/InvenTree/search.html:82
#: templates/email/build_order_completed.html:17
#: templates/email/build_order_required_stock.html:17
#: templates/email/low_stock_notification.html:16
#: templates/email/overdue_build_order.html:16
-#: templates/js/translated/barcode.js:479 templates/js/translated/bom.js:578
-#: templates/js/translated/bom.js:715 templates/js/translated/bom.js:841
+#: templates/js/translated/barcode.js:479 templates/js/translated/bom.js:591
+#: templates/js/translated/bom.js:728 templates/js/translated/bom.js:849
#: templates/js/translated/build.js:1214 templates/js/translated/build.js:1711
#: templates/js/translated/build.js:2194 templates/js/translated/build.js:2585
-#: templates/js/translated/company.js:301
-#: templates/js/translated/company.js:531
-#: templates/js/translated/company.js:643
-#: templates/js/translated/company.js:904 templates/js/translated/order.js:106
-#: templates/js/translated/order.js:1134 templates/js/translated/order.js:1638
-#: templates/js/translated/order.js:2205 templates/js/translated/order.js:3180
-#: templates/js/translated/order.js:3576 templates/js/translated/order.js:3802
-#: templates/js/translated/part.js:1172 templates/js/translated/part.js:1244
-#: templates/js/translated/part.js:1442 templates/js/translated/stock.js:586
-#: templates/js/translated/stock.js:751 templates/js/translated/stock.js:958
-#: templates/js/translated/stock.js:1700 templates/js/translated/stock.js:2514
-#: templates/js/translated/stock.js:2709 templates/js/translated/stock.js:2843
+#: templates/js/translated/company.js:302
+#: templates/js/translated/company.js:532
+#: templates/js/translated/company.js:644
+#: templates/js/translated/company.js:905 templates/js/translated/order.js:106
+#: templates/js/translated/order.js:1168 templates/js/translated/order.js:1672
+#: templates/js/translated/order.js:2244 templates/js/translated/order.js:3191
+#: templates/js/translated/order.js:3587 templates/js/translated/order.js:3817
+#: templates/js/translated/part.js:1193 templates/js/translated/part.js:1265
+#: templates/js/translated/part.js:1452 templates/js/translated/pricing.js:102
+#: templates/js/translated/stock.js:605 templates/js/translated/stock.js:770
+#: templates/js/translated/stock.js:977 templates/js/translated/stock.js:1719
+#: templates/js/translated/stock.js:2532 templates/js/translated/stock.js:2727
+#: templates/js/translated/stock.js:2861
msgid "Part"
msgstr "Bagian"
@@ -834,7 +837,7 @@ msgid "SalesOrder to which this build is allocated"
msgstr "Order penjualan yang teralokasikan ke pesanan ini"
#: build/models.py:202 build/serializers.py:822
-#: templates/js/translated/build.js:2182 templates/js/translated/order.js:3168
+#: templates/js/translated/build.js:2182 templates/js/translated/order.js:3179
msgid "Source Location"
msgstr "Lokasi Sumber"
@@ -874,8 +877,8 @@ msgstr "Status pembuatan"
msgid "Build status code"
msgstr "Kode status pembuatan"
-#: build/models.py:245 build/serializers.py:224 order/serializers.py:464
-#: stock/models.py:664 templates/js/translated/order.js:1496
+#: build/models.py:245 build/serializers.py:224 order/serializers.py:455
+#: stock/models.py:680 templates/js/translated/order.js:1530
msgid "Batch Code"
msgstr "Kode Kelompok"
@@ -883,12 +886,12 @@ msgstr "Kode Kelompok"
msgid "Batch code for this build output"
msgstr "Kode kelompok untuk hasil produksi ini"
-#: build/models.py:252 order/models.py:86 part/models.py:952
-#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2839
+#: build/models.py:252 order/models.py:87 part/models.py:971
+#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2850
msgid "Creation Date"
msgstr "Tanggal Pembuatan"
-#: build/models.py:256 order/models.py:662
+#: build/models.py:256 order/models.py:681
msgid "Target completion date"
msgstr "Target tanggal selesai"
@@ -896,7 +899,7 @@ msgstr "Target tanggal selesai"
msgid "Target date for build completion. Build will be overdue after this date."
msgstr "Target tanggal selesai produksi. Produksi akan menjadi terlambat setelah tanggal ini."
-#: build/models.py:260 order/models.py:291
+#: build/models.py:260 order/models.py:292
#: templates/js/translated/build.js:2662
msgid "Completion Date"
msgstr "Tanggal selesai"
@@ -914,11 +917,11 @@ msgid "User who issued this build order"
msgstr "Pengguna yang menyerahkan order ini"
#: build/models.py:283 build/templates/build/build_base.html:193
-#: build/templates/build/detail.html:115 order/models.py:100
+#: build/templates/build/detail.html:115 order/models.py:101
#: order/templates/order/order_base.html:185
-#: order/templates/order/sales_order_base.html:183 part/models.py:956
+#: order/templates/order/sales_order_base.html:183 part/models.py:975
#: report/templates/report/inventree_build_order_base.html:158
-#: templates/js/translated/build.js:2642 templates/js/translated/order.js:2022
+#: templates/js/translated/build.js:2642 templates/js/translated/order.js:2056
msgid "Responsible"
msgstr "Penanggung Jawab"
@@ -929,7 +932,7 @@ msgstr "Pengguna yang bertanggung jawab atas order ini"
#: build/models.py:289 build/templates/build/detail.html:101
#: company/templates/company/manufacturer_part.html:107
#: company/templates/company/supplier_part.html:188
-#: part/templates/part/part_base.html:361 stock/models.py:658
+#: part/templates/part/part_base.html:376 stock/models.py:674
#: stock/templates/stock/item_base.html:203
msgid "External Link"
msgstr "Tautan eksternal"
@@ -968,11 +971,11 @@ msgstr "Item produksi harus menentukan hasil produksi karena bagian utama telah
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr ""
-#: build/models.py:1191 order/models.py:1393
+#: build/models.py:1191 order/models.py:1416
msgid "Stock item is over-allocated"
msgstr "Item stok teralokasikan terlalu banyak"
-#: build/models.py:1197 order/models.py:1396
+#: build/models.py:1197 order/models.py:1419
msgid "Allocation quantity must be greater than zero"
msgstr "Jumlah yang dialokasikan harus lebih dari nol"
@@ -994,18 +997,18 @@ msgstr "Produksi"
msgid "Build to allocate parts"
msgstr ""
-#: build/models.py:1346 build/serializers.py:663 order/serializers.py:1039
-#: order/serializers.py:1060 stock/serializers.py:398 stock/serializers.py:758
-#: stock/serializers.py:884 stock/templates/stock/item_base.html:10
+#: build/models.py:1346 build/serializers.py:663 order/serializers.py:1032
+#: order/serializers.py:1053 stock/serializers.py:392 stock/serializers.py:757
+#: stock/serializers.py:883 stock/templates/stock/item_base.html:10
#: stock/templates/stock/item_base.html:23
#: stock/templates/stock/item_base.html:197
#: templates/js/translated/build.js:790 templates/js/translated/build.js:795
#: templates/js/translated/build.js:2196 templates/js/translated/build.js:2747
-#: templates/js/translated/order.js:107 templates/js/translated/order.js:3181
-#: templates/js/translated/order.js:3483 templates/js/translated/order.js:3488
-#: templates/js/translated/order.js:3583 templates/js/translated/order.js:3675
-#: templates/js/translated/stock.js:587 templates/js/translated/stock.js:752
-#: templates/js/translated/stock.js:2587
+#: templates/js/translated/order.js:107 templates/js/translated/order.js:3192
+#: templates/js/translated/order.js:3494 templates/js/translated/order.js:3499
+#: templates/js/translated/order.js:3594 templates/js/translated/order.js:3686
+#: templates/js/translated/stock.js:606 templates/js/translated/stock.js:771
+#: templates/js/translated/stock.js:2605
msgid "Stock Item"
msgstr "Stok Item"
@@ -1015,12 +1018,10 @@ msgstr "Sumber stok item"
#: build/models.py:1359 build/serializers.py:192
#: build/templates/build/build_base.html:85
-#: build/templates/build/detail.html:34 common/models.py:1776
-#: company/templates/company/supplier_part.html:341 order/models.py:911
-#: order/models.py:1437 order/serializers.py:1213
-#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:40
-#: part/models.py:2665 part/templates/part/detail.html:938
-#: part/templates/part/detail.html:1024
+#: build/templates/build/detail.html:34 common/models.py:1788
+#: order/models.py:934 order/models.py:1460 order/serializers.py:1206
+#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:223
+#: part/forms.py:40 part/models.py:3278
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_build_order_base.html:113
@@ -1028,25 +1029,29 @@ msgstr "Sumber stok item"
#: report/templates/report/inventree_so_report.html:91
#: report/templates/report/inventree_test_report_base.html:81
#: report/templates/report/inventree_test_report_base.html:139
-#: stock/serializers.py:291 stock/templates/stock/item_base.html:290
+#: stock/admin.py:86 stock/serializers.py:285
+#: stock/templates/stock/item_base.html:290
#: stock/templates/stock/item_base.html:298
#: templates/email/build_order_completed.html:18
-#: templates/js/translated/barcode.js:481 templates/js/translated/bom.js:717
-#: templates/js/translated/bom.js:905 templates/js/translated/build.js:474
+#: templates/js/translated/barcode.js:481 templates/js/translated/bom.js:730
+#: templates/js/translated/bom.js:913 templates/js/translated/build.js:474
#: templates/js/translated/build.js:626 templates/js/translated/build.js:817
#: templates/js/translated/build.js:1236 templates/js/translated/build.js:1737
#: templates/js/translated/build.js:2197
+#: templates/js/translated/company.js:1159
#: templates/js/translated/model_renderers.js:120
-#: templates/js/translated/order.js:123 templates/js/translated/order.js:1137
-#: templates/js/translated/order.js:2257 templates/js/translated/order.js:2487
-#: templates/js/translated/order.js:3182 templates/js/translated/order.js:3502
-#: templates/js/translated/order.js:3589 templates/js/translated/order.js:3681
-#: templates/js/translated/order.js:3824 templates/js/translated/order.js:4329
-#: templates/js/translated/part.js:1036 templates/js/translated/part.js:2220
-#: templates/js/translated/part.js:2689 templates/js/translated/part.js:2730
-#: templates/js/translated/part.js:2808 templates/js/translated/stock.js:458
-#: templates/js/translated/stock.js:612 templates/js/translated/stock.js:782
-#: templates/js/translated/stock.js:2636 templates/js/translated/stock.js:2721
+#: templates/js/translated/order.js:123 templates/js/translated/order.js:1171
+#: templates/js/translated/order.js:2296 templates/js/translated/order.js:2514
+#: templates/js/translated/order.js:3193 templates/js/translated/order.js:3513
+#: templates/js/translated/order.js:3600 templates/js/translated/order.js:3692
+#: templates/js/translated/order.js:3839 templates/js/translated/order.js:4330
+#: templates/js/translated/part.js:1063 templates/js/translated/part.js:2546
+#: templates/js/translated/pricing.js:114
+#: templates/js/translated/pricing.js:207
+#: templates/js/translated/pricing.js:255
+#: templates/js/translated/pricing.js:349 templates/js/translated/stock.js:477
+#: templates/js/translated/stock.js:631 templates/js/translated/stock.js:801
+#: templates/js/translated/stock.js:2654 templates/js/translated/stock.js:2739
msgid "Quantity"
msgstr "Jumlah"
@@ -1087,10 +1092,10 @@ msgstr "Hasil produksi tidak dialokasikan sepenuhnya"
msgid "Enter quantity for build output"
msgstr "Masukkan jumlah hasil pesanan"
-#: build/serializers.py:207 build/serializers.py:683 order/models.py:323
-#: order/serializers.py:304 order/serializers.py:459 part/serializers.py:558
-#: part/serializers.py:991 stock/models.py:518 stock/models.py:1253
-#: stock/serializers.py:300
+#: build/serializers.py:207 build/serializers.py:683 order/models.py:327
+#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:644
+#: part/serializers.py:1015 stock/models.py:534 stock/models.py:1269
+#: stock/serializers.py:294
msgid "Quantity must be greater than zero"
msgstr "Jumlah harus lebih besar daripada nol"
@@ -1102,9 +1107,9 @@ msgstr "Jumlah bagian yang dapat dilacak harus berupa angka bulat"
msgid "Integer quantity required, as the bill of materials contains trackable parts"
msgstr "Jumlah harus angka bulat karena terdapat bagian yang dapat dilacak dalam daftar barang"
-#: build/serializers.py:231 order/serializers.py:472 order/serializers.py:1217
-#: stock/serializers.py:309 templates/js/translated/order.js:1507
-#: templates/js/translated/stock.js:271 templates/js/translated/stock.js:459
+#: build/serializers.py:231 order/serializers.py:463 order/serializers.py:1210
+#: stock/serializers.py:303 templates/js/translated/order.js:1541
+#: templates/js/translated/stock.js:290 templates/js/translated/stock.js:478
msgid "Serial Numbers"
msgstr "Nomor Seri"
@@ -1120,7 +1125,7 @@ msgstr "Alokasikan nomor seri secara otomatis"
msgid "Automatically allocate required items with matching serial numbers"
msgstr "Alokasikan item yang diperlukan dengan nomor seri yang sesuai secara otomatis"
-#: build/serializers.py:281 stock/api.py:589
+#: build/serializers.py:281 stock/api.py:599
msgid "The following serial numbers already exist or are invalid"
msgstr ""
@@ -1128,18 +1133,18 @@ msgstr ""
msgid "A list of build outputs must be provided"
msgstr "Daftar hasil pesanan harus disediakan"
-#: build/serializers.py:369 order/serializers.py:445 order/serializers.py:556
-#: stock/serializers.py:320 stock/serializers.py:455 stock/serializers.py:536
-#: stock/serializers.py:919 stock/serializers.py:1152
+#: build/serializers.py:369 order/serializers.py:436 order/serializers.py:547
+#: stock/serializers.py:314 stock/serializers.py:449 stock/serializers.py:530
+#: stock/serializers.py:918 stock/serializers.py:1151
#: stock/templates/stock/item_base.html:388
#: templates/js/translated/barcode.js:480
#: templates/js/translated/barcode.js:724 templates/js/translated/build.js:802
-#: templates/js/translated/build.js:1749 templates/js/translated/order.js:1534
-#: templates/js/translated/order.js:3495 templates/js/translated/order.js:3600
-#: templates/js/translated/order.js:3608 templates/js/translated/order.js:3689
-#: templates/js/translated/part.js:181 templates/js/translated/stock.js:588
-#: templates/js/translated/stock.js:753 templates/js/translated/stock.js:960
-#: templates/js/translated/stock.js:1856 templates/js/translated/stock.js:2528
+#: templates/js/translated/build.js:1749 templates/js/translated/order.js:1568
+#: templates/js/translated/order.js:3506 templates/js/translated/order.js:3611
+#: templates/js/translated/order.js:3619 templates/js/translated/order.js:3700
+#: templates/js/translated/part.js:177 templates/js/translated/stock.js:607
+#: templates/js/translated/stock.js:772 templates/js/translated/stock.js:979
+#: templates/js/translated/stock.js:1875 templates/js/translated/stock.js:2546
msgid "Location"
msgstr "Lokasi"
@@ -1148,12 +1153,13 @@ msgid "Location for completed build outputs"
msgstr "Lokasi hasil pesanan yang selesai"
#: build/serializers.py:376 build/templates/build/build_base.html:145
-#: build/templates/build/detail.html:62 order/models.py:651
-#: order/serializers.py:482 stock/templates/stock/item_base.html:421
+#: build/templates/build/detail.html:62 order/models.py:670
+#: order/serializers.py:473 stock/admin.py:89
+#: stock/templates/stock/item_base.html:421
#: templates/js/translated/barcode.js:214 templates/js/translated/build.js:2614
-#: templates/js/translated/order.js:1643 templates/js/translated/order.js:1992
-#: templates/js/translated/order.js:2831 templates/js/translated/stock.js:1831
-#: templates/js/translated/stock.js:2605 templates/js/translated/stock.js:2737
+#: templates/js/translated/order.js:1677 templates/js/translated/order.js:2026
+#: templates/js/translated/order.js:2842 templates/js/translated/stock.js:1850
+#: templates/js/translated/stock.js:2623 templates/js/translated/stock.js:2755
msgid "Status"
msgstr "Status"
@@ -1213,7 +1219,7 @@ msgstr "Terima bahwa stok item tidak teralokasikan sepenuhnya ke pesanan ini"
msgid "Required stock has not been fully allocated"
msgstr "Stok yang diperlukan belum teralokasikan sepenuhnya"
-#: build/serializers.py:545 order/serializers.py:208 order/serializers.py:1107
+#: build/serializers.py:545 order/serializers.py:202 order/serializers.py:1100
msgid "Accept Incomplete"
msgstr "Terima Tidak Selesai"
@@ -1229,8 +1235,8 @@ msgstr "Jumlah produksi yang diperlukan masih belum cukup"
msgid "Build order has incomplete outputs"
msgstr "Order memiliki hasil produksi yang belum dilengkapi"
-#: build/serializers.py:595 build/serializers.py:640 part/models.py:2801
-#: part/models.py:2935
+#: build/serializers.py:595 build/serializers.py:640 part/models.py:3414
+#: part/models.py:3570
msgid "BOM Item"
msgstr "Item tagihan material"
@@ -1246,11 +1252,11 @@ msgstr "Hasil pesanan harus mengarah ke pesanan yang sama"
msgid "bom_item.part must point to the same part as the build order"
msgstr "bom_item.part harus mengarah ke bagian yang sesuai dengan order produksi"
-#: build/serializers.py:669 stock/serializers.py:771
+#: build/serializers.py:669 stock/serializers.py:770
msgid "Item must be in stock"
msgstr "Item harus tersedia dalam stok"
-#: build/serializers.py:727 order/serializers.py:1097
+#: build/serializers.py:727 order/serializers.py:1090
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr "Jumlah tersedia ({q}) terlampaui"
@@ -1267,7 +1273,7 @@ msgstr "Hasil produksi tidak dapat ditentukan untuk alokasi barang yang tidak te
msgid "This stock item has already been allocated to this build output"
msgstr "Stok item ini telah dialokasikan ke hasil produksi ini"
-#: build/serializers.py:768 order/serializers.py:1381
+#: build/serializers.py:768 order/serializers.py:1374
msgid "Allocation items must be provided"
msgstr "Item yang dialokasikan harus disediakan"
@@ -1382,13 +1388,13 @@ msgid "Stock has not been fully allocated to this Build Order"
msgstr ""
#: build/templates/build/build_base.html:154
-#: build/templates/build/detail.html:131 order/models.py:924
+#: build/templates/build/detail.html:131 order/models.py:947
#: order/templates/order/order_base.html:171
#: order/templates/order/sales_order_base.html:164
#: report/templates/report/inventree_build_order_base.html:125
-#: templates/js/translated/build.js:2654 templates/js/translated/order.js:2009
-#: templates/js/translated/order.js:2351 templates/js/translated/order.js:2847
-#: templates/js/translated/order.js:3887 templates/js/translated/part.js:1051
+#: templates/js/translated/build.js:2654 templates/js/translated/order.js:2043
+#: templates/js/translated/order.js:2374 templates/js/translated/order.js:2858
+#: templates/js/translated/order.js:3884 templates/js/translated/part.js:1078
msgid "Target Date"
msgstr ""
@@ -1401,29 +1407,29 @@ msgstr ""
#: build/templates/build/build_base.html:204
#: order/templates/order/order_base.html:107
#: order/templates/order/sales_order_base.html:94
-#: templates/js/translated/table_filters.js:328
-#: templates/js/translated/table_filters.js:369
-#: templates/js/translated/table_filters.js:399
+#: templates/js/translated/table_filters.js:332
+#: templates/js/translated/table_filters.js:373
+#: templates/js/translated/table_filters.js:403
msgid "Overdue"
msgstr ""
#: build/templates/build/build_base.html:166
#: build/templates/build/detail.html:67 build/templates/build/detail.html:142
#: order/templates/order/sales_order_base.html:171
-#: templates/js/translated/table_filters.js:408
+#: templates/js/translated/table_filters.js:412
msgid "Completed"
msgstr ""
#: build/templates/build/build_base.html:179
-#: build/templates/build/detail.html:94 order/models.py:1119
-#: order/models.py:1213 order/models.py:1344
+#: build/templates/build/detail.html:94 order/models.py:1142
+#: order/models.py:1236 order/models.py:1367
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
#: report/templates/report/inventree_build_order_base.html:135
#: report/templates/report/inventree_so_report.html:77
#: stock/templates/stock/item_base.html:368
#: templates/email/overdue_sales_order.html:15
-#: templates/js/translated/order.js:2793
+#: templates/js/translated/order.js:2804 templates/js/translated/pricing.js:637
msgid "Sales Order"
msgstr ""
@@ -1449,8 +1455,8 @@ msgstr ""
msgid "Stock can be taken from any available location."
msgstr ""
-#: build/templates/build/detail.html:49 order/models.py:1037
-#: templates/js/translated/order.js:1644 templates/js/translated/order.js:2393
+#: build/templates/build/detail.html:49 order/models.py:1060
+#: templates/js/translated/order.js:1678 templates/js/translated/order.js:2416
msgid "Destination"
msgstr ""
@@ -1462,14 +1468,14 @@ msgstr ""
msgid "Allocated Parts"
msgstr ""
-#: build/templates/build/detail.html:80
+#: build/templates/build/detail.html:80 stock/admin.py:88
#: stock/templates/stock/item_base.html:168
#: templates/js/translated/build.js:1240
#: templates/js/translated/model_renderers.js:124
-#: templates/js/translated/stock.js:1026 templates/js/translated/stock.js:1845
-#: templates/js/translated/stock.js:2744
-#: templates/js/translated/table_filters.js:167
-#: templates/js/translated/table_filters.js:258
+#: templates/js/translated/stock.js:1045 templates/js/translated/stock.js:1864
+#: templates/js/translated/stock.js:2762
+#: templates/js/translated/table_filters.js:171
+#: templates/js/translated/table_filters.js:262
msgid "Batch"
msgstr ""
@@ -1527,7 +1533,7 @@ msgstr ""
#: build/templates/build/detail.html:187
#: company/templates/company/detail.html:37
#: company/templates/company/detail.html:85
-#: part/templates/part/category.html:178 templates/js/translated/order.js:1177
+#: part/templates/part/category.html:178 templates/js/translated/order.js:1211
msgid "Order Parts"
msgstr ""
@@ -1597,10 +1603,10 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:151
#: company/templates/company/manufacturer_part_sidebar.html:9
#: order/templates/order/po_sidebar.html:9
-#: order/templates/order/purchase_order_detail.html:82
-#: order/templates/order/sales_order_detail.html:135
-#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:212
-#: part/templates/part/part_sidebar.html:57 stock/templates/stock/item.html:117
+#: order/templates/order/purchase_order_detail.html:86
+#: order/templates/order/sales_order_detail.html:140
+#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:210
+#: part/templates/part/part_sidebar.html:55 stock/templates/stock/item.html:117
#: stock/templates/stock/stock_sidebar.html:23
msgid "Attachments"
msgstr ""
@@ -1617,7 +1623,7 @@ msgstr ""
msgid "All untracked stock items have been allocated"
msgstr ""
-#: build/templates/build/index.html:18 part/templates/part/detail.html:318
+#: build/templates/build/index.html:18 part/templates/part/detail.html:316
msgid "New Build Order"
msgstr ""
@@ -1734,7 +1740,7 @@ msgstr ""
msgid "Show the `about` modal only to superusers"
msgstr ""
-#: common/models.py:833 company/models.py:94 company/models.py:95
+#: common/models.py:833 company/models.py:98 company/models.py:99
msgid "Company name"
msgstr ""
@@ -1902,9 +1908,9 @@ msgstr ""
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:1002 part/models.py:2474 report/models.py:158
-#: templates/js/translated/table_filters.js:38
-#: templates/js/translated/table_filters.js:492
+#: common/models.py:1002 part/admin.py:41 part/models.py:3087
+#: report/models.py:158 templates/js/translated/table_filters.js:38
+#: templates/js/translated/table_filters.js:496
msgid "Template"
msgstr ""
@@ -1912,9 +1918,10 @@ msgstr ""
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:1009 part/models.py:908 templates/js/translated/bom.js:1531
-#: templates/js/translated/table_filters.js:184
-#: templates/js/translated/table_filters.js:455
+#: common/models.py:1009 part/admin.py:37 part/admin.py:229 part/models.py:927
+#: templates/js/translated/bom.js:1594
+#: templates/js/translated/table_filters.js:188
+#: templates/js/translated/table_filters.js:459
msgid "Assembly"
msgstr ""
@@ -1922,8 +1929,8 @@ msgstr ""
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:1016 part/models.py:914
-#: templates/js/translated/table_filters.js:463
+#: common/models.py:1016 part/admin.py:38 part/models.py:933
+#: templates/js/translated/table_filters.js:467
msgid "Component"
msgstr ""
@@ -1931,7 +1938,7 @@ msgstr ""
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:1023 part/models.py:925
+#: common/models.py:1023 part/admin.py:39 part/models.py:944
msgid "Purchaseable"
msgstr ""
@@ -1939,8 +1946,8 @@ msgstr ""
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:1030 part/models.py:930
-#: templates/js/translated/table_filters.js:484
+#: common/models.py:1030 part/admin.py:40 part/models.py:949
+#: templates/js/translated/table_filters.js:488
msgid "Salable"
msgstr ""
@@ -1948,10 +1955,10 @@ msgstr ""
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:1037 part/models.py:920
+#: common/models.py:1037 part/admin.py:42 part/models.py:939
#: templates/js/translated/table_filters.js:46
-#: templates/js/translated/table_filters.js:116
-#: templates/js/translated/table_filters.js:496
+#: templates/js/translated/table_filters.js:120
+#: templates/js/translated/table_filters.js:500
msgid "Trackable"
msgstr ""
@@ -1959,10 +1966,10 @@ msgstr ""
msgid "Parts are trackable by default"
msgstr ""
-#: common/models.py:1044 part/models.py:940
+#: common/models.py:1044 part/admin.py:43 part/models.py:959
#: part/templates/part/part_base.html:156
#: templates/js/translated/table_filters.js:42
-#: templates/js/translated/table_filters.js:500
+#: templates/js/translated/table_filters.js:504
msgid "Virtual"
msgstr ""
@@ -1979,791 +1986,837 @@ msgid "Display the import wizard in some part views"
msgstr ""
#: common/models.py:1058
-msgid "Show Price in Forms"
-msgstr ""
-
-#: common/models.py:1059
-msgid "Display part price in some forms"
-msgstr ""
-
-#: common/models.py:1070
-msgid "Show Price in BOM"
-msgstr ""
-
-#: common/models.py:1071
-msgid "Include pricing information in BOM tables"
-msgstr ""
-
-#: common/models.py:1082
-msgid "Show Price History"
-msgstr ""
-
-#: common/models.py:1083
-msgid "Display historical pricing for Part"
-msgstr ""
-
-#: common/models.py:1089
msgid "Show related parts"
msgstr ""
-#: common/models.py:1090
+#: common/models.py:1059
msgid "Display related parts for a part"
msgstr ""
-#: common/models.py:1096
+#: common/models.py:1065
msgid "Create initial stock"
msgstr ""
-#: common/models.py:1097
+#: common/models.py:1066
msgid "Create initial stock on part creation"
msgstr ""
-#: common/models.py:1103
-msgid "Internal Prices"
-msgstr ""
-
-#: common/models.py:1104
-msgid "Enable internal prices for parts"
-msgstr ""
-
-#: common/models.py:1110
-msgid "Internal Price as BOM-Price"
-msgstr ""
-
-#: common/models.py:1111
-msgid "Use the internal price (if set) in BOM-price calculations"
-msgstr ""
-
-#: common/models.py:1117
+#: common/models.py:1072
msgid "Part Name Display Format"
msgstr ""
-#: common/models.py:1118
+#: common/models.py:1073
msgid "Format to display the part name"
msgstr ""
-#: common/models.py:1125
+#: common/models.py:1080
msgid "Part Category Default Icon"
msgstr ""
-#: common/models.py:1126
+#: common/models.py:1081
msgid "Part category default icon (empty means no icon)"
msgstr ""
-#: common/models.py:1131
-msgid "Enable label printing"
+#: common/models.py:1086
+msgid "Pricing Decimal Places"
msgstr ""
-#: common/models.py:1132
-msgid "Enable label printing from the web interface"
+#: common/models.py:1087
+msgid "Number of decimal places to display when rendering pricing data"
msgstr ""
-#: common/models.py:1138
-msgid "Label Image DPI"
+#: common/models.py:1097
+msgid "Pricing Rebuild Time"
msgstr ""
-#: common/models.py:1139
-msgid "DPI resolution when generating image files to supply to label printing plugins"
+#: common/models.py:1098
+msgid "Number of days before part pricing is automatically updated"
msgstr ""
-#: common/models.py:1148
-msgid "Enable Reports"
-msgstr ""
-
-#: common/models.py:1149
-msgid "Enable generation of reports"
-msgstr ""
-
-#: common/models.py:1155 templates/stats.html:25
-msgid "Debug Mode"
-msgstr ""
-
-#: common/models.py:1156
-msgid "Generate reports in debug mode (HTML output)"
-msgstr ""
-
-#: common/models.py:1162
-msgid "Page Size"
-msgstr ""
-
-#: common/models.py:1163
-msgid "Default page size for PDF reports"
-msgstr ""
-
-#: common/models.py:1173
-msgid "Enable Test Reports"
-msgstr ""
-
-#: common/models.py:1174
-msgid "Enable generation of test reports"
-msgstr ""
-
-#: common/models.py:1180
-msgid "Attach Test Reports"
-msgstr ""
-
-#: common/models.py:1181
-msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item"
-msgstr ""
-
-#: common/models.py:1187
-msgid "Globally Unique Serials"
-msgstr ""
-
-#: common/models.py:1188
-msgid "Serial numbers for stock items must be globally unique"
-msgstr ""
-
-#: common/models.py:1194
-msgid "Batch Code Template"
-msgstr ""
-
-#: common/models.py:1195
-msgid "Template for generating default batch codes for stock items"
-msgstr ""
-
-#: common/models.py:1200
-msgid "Stock Expiry"
-msgstr ""
-
-#: common/models.py:1201
-msgid "Enable stock expiry functionality"
-msgstr ""
-
-#: common/models.py:1207
-msgid "Sell Expired Stock"
-msgstr ""
-
-#: common/models.py:1208
-msgid "Allow sale of expired stock"
-msgstr ""
-
-#: common/models.py:1214
-msgid "Stock Stale Time"
-msgstr ""
-
-#: common/models.py:1215
-msgid "Number of days stock items are considered stale before expiring"
-msgstr ""
-
-#: common/models.py:1217
+#: common/models.py:1099 common/models.py:1208
msgid "days"
msgstr ""
-#: common/models.py:1222
+#: common/models.py:1108
+msgid "Internal Prices"
+msgstr ""
+
+#: common/models.py:1109
+msgid "Enable internal prices for parts"
+msgstr ""
+
+#: common/models.py:1115
+msgid "Internal Price Override"
+msgstr ""
+
+#: common/models.py:1116
+msgid "If available, internal prices override price range calculations"
+msgstr ""
+
+#: common/models.py:1122
+msgid "Enable label printing"
+msgstr ""
+
+#: common/models.py:1123
+msgid "Enable label printing from the web interface"
+msgstr ""
+
+#: common/models.py:1129
+msgid "Label Image DPI"
+msgstr ""
+
+#: common/models.py:1130
+msgid "DPI resolution when generating image files to supply to label printing plugins"
+msgstr ""
+
+#: common/models.py:1139
+msgid "Enable Reports"
+msgstr ""
+
+#: common/models.py:1140
+msgid "Enable generation of reports"
+msgstr ""
+
+#: common/models.py:1146 templates/stats.html:25
+msgid "Debug Mode"
+msgstr ""
+
+#: common/models.py:1147
+msgid "Generate reports in debug mode (HTML output)"
+msgstr ""
+
+#: common/models.py:1153
+msgid "Page Size"
+msgstr ""
+
+#: common/models.py:1154
+msgid "Default page size for PDF reports"
+msgstr ""
+
+#: common/models.py:1164
+msgid "Enable Test Reports"
+msgstr ""
+
+#: common/models.py:1165
+msgid "Enable generation of test reports"
+msgstr ""
+
+#: common/models.py:1171
+msgid "Attach Test Reports"
+msgstr ""
+
+#: common/models.py:1172
+msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item"
+msgstr ""
+
+#: common/models.py:1178
+msgid "Globally Unique Serials"
+msgstr ""
+
+#: common/models.py:1179
+msgid "Serial numbers for stock items must be globally unique"
+msgstr ""
+
+#: common/models.py:1185
+msgid "Batch Code Template"
+msgstr ""
+
+#: common/models.py:1186
+msgid "Template for generating default batch codes for stock items"
+msgstr ""
+
+#: common/models.py:1191
+msgid "Stock Expiry"
+msgstr ""
+
+#: common/models.py:1192
+msgid "Enable stock expiry functionality"
+msgstr ""
+
+#: common/models.py:1198
+msgid "Sell Expired Stock"
+msgstr ""
+
+#: common/models.py:1199
+msgid "Allow sale of expired stock"
+msgstr ""
+
+#: common/models.py:1205
+msgid "Stock Stale Time"
+msgstr ""
+
+#: common/models.py:1206
+msgid "Number of days stock items are considered stale before expiring"
+msgstr ""
+
+#: common/models.py:1213
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:1223
+#: common/models.py:1214
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:1229
+#: common/models.py:1220
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:1230
+#: common/models.py:1221
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:1236
+#: common/models.py:1227
msgid "Stock Location Default Icon"
msgstr ""
-#: common/models.py:1237
+#: common/models.py:1228
msgid "Stock location default icon (empty means no icon)"
msgstr ""
-#: common/models.py:1242
+#: common/models.py:1233
msgid "Build Order Reference Pattern"
msgstr ""
-#: common/models.py:1243
+#: common/models.py:1234
msgid "Required pattern for generating Build Order reference field"
msgstr ""
-#: common/models.py:1249
+#: common/models.py:1240
msgid "Sales Order Reference Pattern"
msgstr ""
-#: common/models.py:1250
+#: common/models.py:1241
msgid "Required pattern for generating Sales Order reference field"
msgstr ""
-#: common/models.py:1256
+#: common/models.py:1247
msgid "Sales Order Default Shipment"
msgstr ""
-#: common/models.py:1257
+#: common/models.py:1248
msgid "Enable creation of default shipment with sales orders"
msgstr ""
-#: common/models.py:1263
+#: common/models.py:1254
+msgid "Edit Completed Sales Orders"
+msgstr ""
+
+#: common/models.py:1255
+msgid "Allow editing of sales orders after they have been shipped or completed"
+msgstr ""
+
+#: common/models.py:1261
msgid "Purchase Order Reference Pattern"
msgstr ""
-#: common/models.py:1264
+#: common/models.py:1262
msgid "Required pattern for generating Purchase Order reference field"
msgstr ""
-#: common/models.py:1271
+#: common/models.py:1268
+msgid "Edit Completed Purchase Orders"
+msgstr ""
+
+#: common/models.py:1269
+msgid "Allow editing of purchase orders after they have been shipped or completed"
+msgstr ""
+
+#: common/models.py:1276
msgid "Enable password forgot"
msgstr ""
-#: common/models.py:1272
+#: common/models.py:1277
msgid "Enable password forgot function on the login pages"
msgstr ""
-#: common/models.py:1278
+#: common/models.py:1283
msgid "Enable registration"
msgstr ""
-#: common/models.py:1279
+#: common/models.py:1284
msgid "Enable self-registration for users on the login pages"
msgstr ""
-#: common/models.py:1285
+#: common/models.py:1290
msgid "Enable SSO"
msgstr ""
-#: common/models.py:1286
+#: common/models.py:1291
msgid "Enable SSO on the login pages"
msgstr ""
-#: common/models.py:1292
+#: common/models.py:1297
msgid "Email required"
msgstr ""
-#: common/models.py:1293
+#: common/models.py:1298
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/models.py:1299
+#: common/models.py:1304
msgid "Auto-fill SSO users"
msgstr ""
-#: common/models.py:1300
+#: common/models.py:1305
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/models.py:1306
+#: common/models.py:1311
msgid "Mail twice"
msgstr ""
-#: common/models.py:1307
+#: common/models.py:1312
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/models.py:1313
+#: common/models.py:1318
msgid "Password twice"
msgstr ""
-#: common/models.py:1314
+#: common/models.py:1319
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/models.py:1320
+#: common/models.py:1325
msgid "Group on signup"
msgstr ""
-#: common/models.py:1321
+#: common/models.py:1326
msgid "Group to which new users are assigned on registration"
msgstr ""
-#: common/models.py:1327
+#: common/models.py:1332
msgid "Enforce MFA"
msgstr ""
-#: common/models.py:1328
+#: common/models.py:1333
msgid "Users must use multifactor security."
msgstr ""
-#: common/models.py:1334
+#: common/models.py:1339
msgid "Check plugins on startup"
msgstr ""
-#: common/models.py:1335
+#: common/models.py:1340
msgid "Check that all plugins are installed on startup - enable in container environments"
msgstr ""
-#: common/models.py:1342
+#: common/models.py:1347
msgid "Check plugin signatures"
msgstr ""
-#: common/models.py:1343
+#: common/models.py:1348
msgid "Check and show signatures for plugins"
msgstr ""
-#: common/models.py:1350
+#: common/models.py:1355
msgid "Enable URL integration"
msgstr ""
-#: common/models.py:1351
+#: common/models.py:1356
msgid "Enable plugins to add URL routes"
msgstr ""
-#: common/models.py:1358
+#: common/models.py:1363
msgid "Enable navigation integration"
msgstr ""
-#: common/models.py:1359
+#: common/models.py:1364
msgid "Enable plugins to integrate into navigation"
msgstr ""
-#: common/models.py:1366
+#: common/models.py:1371
msgid "Enable app integration"
msgstr ""
-#: common/models.py:1367
+#: common/models.py:1372
msgid "Enable plugins to add apps"
msgstr ""
-#: common/models.py:1374
+#: common/models.py:1379
msgid "Enable schedule integration"
msgstr ""
-#: common/models.py:1375
+#: common/models.py:1380
msgid "Enable plugins to run scheduled tasks"
msgstr ""
-#: common/models.py:1382
+#: common/models.py:1387
msgid "Enable event integration"
msgstr ""
-#: common/models.py:1383
+#: common/models.py:1388
msgid "Enable plugins to respond to internal events"
msgstr ""
-#: common/models.py:1402 common/models.py:1737
+#: common/models.py:1407 common/models.py:1749
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:1424
+#: common/models.py:1429
msgid "Show subscribed parts"
msgstr ""
-#: common/models.py:1425
+#: common/models.py:1430
msgid "Show subscribed parts on the homepage"
msgstr ""
-#: common/models.py:1431
+#: common/models.py:1436
msgid "Show subscribed categories"
msgstr ""
-#: common/models.py:1432
+#: common/models.py:1437
msgid "Show subscribed part categories on the homepage"
msgstr ""
-#: common/models.py:1438
+#: common/models.py:1443
msgid "Show latest parts"
msgstr ""
-#: common/models.py:1439
+#: common/models.py:1444
msgid "Show latest parts on the homepage"
msgstr ""
-#: common/models.py:1445
+#: common/models.py:1450
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:1446
+#: common/models.py:1451
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:1452
+#: common/models.py:1457
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:1453
+#: common/models.py:1458
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:1459
+#: common/models.py:1464
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:1460
+#: common/models.py:1465
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:1466
+#: common/models.py:1471
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:1467
+#: common/models.py:1472
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:1473
+#: common/models.py:1478
msgid "Show low stock"
msgstr ""
-#: common/models.py:1474
+#: common/models.py:1479
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:1480
+#: common/models.py:1485
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:1481
+#: common/models.py:1486
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:1487
+#: common/models.py:1492
msgid "Show needed stock"
msgstr ""
-#: common/models.py:1488
+#: common/models.py:1493
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:1494
+#: common/models.py:1499
msgid "Show expired stock"
msgstr ""
-#: common/models.py:1495
+#: common/models.py:1500
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:1501
+#: common/models.py:1506
msgid "Show stale stock"
msgstr ""
-#: common/models.py:1502
+#: common/models.py:1507
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:1508
+#: common/models.py:1513
msgid "Show pending builds"
msgstr ""
-#: common/models.py:1509
+#: common/models.py:1514
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:1515
+#: common/models.py:1520
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:1516
+#: common/models.py:1521
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:1522
+#: common/models.py:1527
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:1523
+#: common/models.py:1528
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:1529
+#: common/models.py:1534
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:1530
+#: common/models.py:1535
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:1536
+#: common/models.py:1541
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:1537
+#: common/models.py:1542
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:1543
+#: common/models.py:1548
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:1544
+#: common/models.py:1549
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:1550
+#: common/models.py:1555
+msgid "Show News"
+msgstr ""
+
+#: common/models.py:1556
+msgid "Show news on the homepage"
+msgstr ""
+
+#: common/models.py:1562
msgid "Inline label display"
msgstr ""
-#: common/models.py:1551
+#: common/models.py:1563
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1557
+#: common/models.py:1569
msgid "Inline report display"
msgstr ""
-#: common/models.py:1558
+#: common/models.py:1570
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1564
+#: common/models.py:1576
msgid "Search Parts"
msgstr ""
-#: common/models.py:1565
+#: common/models.py:1577
msgid "Display parts in search preview window"
msgstr ""
-#: common/models.py:1571
+#: common/models.py:1583
msgid "Seach Supplier Parts"
msgstr ""
-#: common/models.py:1572
+#: common/models.py:1584
msgid "Display supplier parts in search preview window"
msgstr ""
-#: common/models.py:1578
+#: common/models.py:1590
msgid "Search Manufacturer Parts"
msgstr ""
-#: common/models.py:1579
+#: common/models.py:1591
msgid "Display manufacturer parts in search preview window"
msgstr ""
-#: common/models.py:1585
+#: common/models.py:1597
msgid "Hide Inactive Parts"
msgstr ""
-#: common/models.py:1586
+#: common/models.py:1598
msgid "Excluded inactive parts from search preview window"
msgstr ""
-#: common/models.py:1592
+#: common/models.py:1604
msgid "Search Categories"
msgstr ""
-#: common/models.py:1593
+#: common/models.py:1605
msgid "Display part categories in search preview window"
msgstr ""
-#: common/models.py:1599
+#: common/models.py:1611
msgid "Search Stock"
msgstr ""
-#: common/models.py:1600
+#: common/models.py:1612
msgid "Display stock items in search preview window"
msgstr ""
-#: common/models.py:1606
+#: common/models.py:1618
msgid "Hide Unavailable Stock Items"
msgstr ""
-#: common/models.py:1607
+#: common/models.py:1619
msgid "Exclude stock items which are not available from the search preview window"
msgstr ""
-#: common/models.py:1613
+#: common/models.py:1625
msgid "Search Locations"
msgstr ""
-#: common/models.py:1614
+#: common/models.py:1626
msgid "Display stock locations in search preview window"
msgstr ""
-#: common/models.py:1620
+#: common/models.py:1632
msgid "Search Companies"
msgstr ""
-#: common/models.py:1621
+#: common/models.py:1633
msgid "Display companies in search preview window"
msgstr ""
-#: common/models.py:1627
+#: common/models.py:1639
msgid "Search Build Orders"
msgstr ""
-#: common/models.py:1628
+#: common/models.py:1640
msgid "Display build orders in search preview window"
msgstr ""
-#: common/models.py:1634
+#: common/models.py:1646
msgid "Search Purchase Orders"
msgstr ""
-#: common/models.py:1635
+#: common/models.py:1647
msgid "Display purchase orders in search preview window"
msgstr ""
-#: common/models.py:1641
+#: common/models.py:1653
msgid "Exclude Inactive Purchase Orders"
msgstr ""
-#: common/models.py:1642
+#: common/models.py:1654
msgid "Exclude inactive purchase orders from search preview window"
msgstr ""
-#: common/models.py:1648
+#: common/models.py:1660
msgid "Search Sales Orders"
msgstr ""
-#: common/models.py:1649
+#: common/models.py:1661
msgid "Display sales orders in search preview window"
msgstr ""
-#: common/models.py:1655
+#: common/models.py:1667
msgid "Exclude Inactive Sales Orders"
msgstr ""
-#: common/models.py:1656
+#: common/models.py:1668
msgid "Exclude inactive sales orders from search preview window"
msgstr ""
-#: common/models.py:1662
+#: common/models.py:1674
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:1663
+#: common/models.py:1675
msgid "Number of results to show in each section of the search preview window"
msgstr ""
-#: common/models.py:1669
+#: common/models.py:1681
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:1670
+#: common/models.py:1682
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:1676
+#: common/models.py:1688
msgid "Escape Key Closes Forms"
msgstr ""
-#: common/models.py:1677
+#: common/models.py:1689
msgid "Use the escape key to close modal forms"
msgstr ""
-#: common/models.py:1683
+#: common/models.py:1695
msgid "Fixed Navbar"
msgstr ""
-#: common/models.py:1684
+#: common/models.py:1696
msgid "The navbar position is fixed to the top of the screen"
msgstr ""
-#: common/models.py:1690
+#: common/models.py:1702
msgid "Date Format"
msgstr ""
-#: common/models.py:1691
+#: common/models.py:1703
msgid "Preferred format for displaying dates"
msgstr ""
-#: common/models.py:1705 part/templates/part/detail.html:41
+#: common/models.py:1717 part/templates/part/detail.html:41
msgid "Part Scheduling"
msgstr ""
-#: common/models.py:1706
+#: common/models.py:1718
msgid "Display part scheduling information"
msgstr ""
-#: common/models.py:1712
+#: common/models.py:1724
msgid "Table String Length"
msgstr ""
-#: common/models.py:1713
+#: common/models.py:1725
msgid "Maximimum length limit for strings displayed in table views"
msgstr ""
-#: common/models.py:1777
+#: common/models.py:1789
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1784 company/serializers.py:372
-#: company/templates/company/supplier_part.html:346 order/models.py:952
-#: templates/js/translated/part.js:1103 templates/js/translated/part.js:2225
+#: common/models.py:1796 company/serializers.py:393 order/models.py:975
+#: templates/js/translated/company.js:1164 templates/js/translated/part.js:1130
+#: templates/js/translated/pricing.js:354
msgid "Price"
msgstr ""
-#: common/models.py:1785
+#: common/models.py:1797
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1945 common/models.py:2123
+#: common/models.py:1957 common/models.py:2135
msgid "Endpoint"
msgstr ""
-#: common/models.py:1946
+#: common/models.py:1958
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:1955
+#: common/models.py:1967
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:1960 part/models.py:935 plugin/models.py:100
-#: templates/js/translated/table_filters.js:34
-#: templates/js/translated/table_filters.js:112
-#: templates/js/translated/table_filters.js:324
-#: templates/js/translated/table_filters.js:450
+#: common/models.py:1972 part/admin.py:36 part/models.py:954
+#: plugin/models.py:100 templates/js/translated/table_filters.js:34
+#: templates/js/translated/table_filters.js:116
+#: templates/js/translated/table_filters.js:328
+#: templates/js/translated/table_filters.js:454
msgid "Active"
msgstr ""
-#: common/models.py:1961
+#: common/models.py:1973
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:1975
+#: common/models.py:1987
msgid "Token"
msgstr ""
-#: common/models.py:1976
+#: common/models.py:1988
msgid "Token for access"
msgstr ""
-#: common/models.py:1983
+#: common/models.py:1995
msgid "Secret"
msgstr ""
-#: common/models.py:1984
+#: common/models.py:1996
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:2090
+#: common/models.py:2102
msgid "Message ID"
msgstr ""
-#: common/models.py:2091
+#: common/models.py:2103
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:2099
+#: common/models.py:2111
msgid "Host"
msgstr ""
-#: common/models.py:2100
+#: common/models.py:2112
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:2107
+#: common/models.py:2119
msgid "Header"
msgstr ""
-#: common/models.py:2108
+#: common/models.py:2120
msgid "Header of this message"
msgstr ""
-#: common/models.py:2114
+#: common/models.py:2126
msgid "Body"
msgstr ""
-#: common/models.py:2115
+#: common/models.py:2127
msgid "Body of this message"
msgstr ""
-#: common/models.py:2124
+#: common/models.py:2136
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:2129
+#: common/models.py:2141
msgid "Worked on"
msgstr ""
-#: common/models.py:2130
+#: common/models.py:2142
msgid "Was the work on this message finished?"
msgstr ""
+#: common/models.py:2302
+msgid "Id"
+msgstr ""
+
+#: common/models.py:2308 templates/js/translated/news.js:34
+msgid "Title"
+msgstr ""
+
+#: common/models.py:2318 templates/js/translated/news.js:50
+msgid "Published"
+msgstr ""
+
+#: common/models.py:2323 templates/InvenTree/settings/plugin.html:62
+#: templates/InvenTree/settings/plugin_settings.html:33
+#: templates/js/translated/news.js:46
+msgid "Author"
+msgstr ""
+
+#: common/models.py:2328 templates/js/translated/news.js:42
+msgid "Summary"
+msgstr ""
+
+#: common/models.py:2333
+msgid "Read"
+msgstr ""
+
+#: common/models.py:2334
+msgid "Was this news item read?"
+msgstr ""
+
#: common/notifications.py:293
#, python-brace-format
msgid "New {verbose_name}"
@@ -2785,15 +2838,15 @@ msgstr ""
msgid "Error raised by plugin"
msgstr ""
-#: common/views.py:85 order/templates/order/purchase_order_detail.html:23
-#: order/views.py:102 part/views.py:112
+#: common/views.py:85 order/templates/order/purchase_order_detail.html:25
+#: order/views.py:102 part/views.py:107
#: templates/patterns/wizard/upload.html:37
msgid "Upload File"
msgstr ""
#: common/views.py:86 order/views.py:103
#: part/templates/part/import_wizard/ajax_match_fields.html:45
-#: part/views.py:113 templates/patterns/wizard/match_fields.html:51
+#: part/views.py:108 templates/patterns/wizard/match_fields.html:51
msgid "Match Fields"
msgstr ""
@@ -2816,298 +2869,301 @@ msgstr ""
msgid "Previous Step"
msgstr ""
-#: company/models.py:99
+#: company/models.py:103
msgid "Company description"
msgstr ""
-#: company/models.py:100
+#: company/models.py:104
msgid "Description of the company"
msgstr ""
-#: company/models.py:106 company/templates/company/company_base.html:100
+#: company/models.py:110 company/templates/company/company_base.html:100
#: templates/InvenTree/settings/plugin_settings.html:55
-#: templates/js/translated/company.js:448
+#: templates/js/translated/company.js:449
msgid "Website"
msgstr ""
-#: company/models.py:107
+#: company/models.py:111
msgid "Company website URL"
msgstr ""
-#: company/models.py:111 company/templates/company/company_base.html:118
+#: company/models.py:115 company/templates/company/company_base.html:118
msgid "Address"
msgstr ""
-#: company/models.py:112
+#: company/models.py:116
msgid "Company address"
msgstr ""
-#: company/models.py:115
+#: company/models.py:119
msgid "Phone number"
msgstr ""
-#: company/models.py:116
+#: company/models.py:120
msgid "Contact phone number"
msgstr ""
-#: company/models.py:119 company/templates/company/company_base.html:132
+#: company/models.py:123 company/templates/company/company_base.html:132
#: templates/InvenTree/settings/user.html:48
msgid "Email"
msgstr ""
-#: company/models.py:119
+#: company/models.py:123
msgid "Contact email address"
msgstr ""
-#: company/models.py:122 company/templates/company/company_base.html:139
+#: company/models.py:126 company/templates/company/company_base.html:139
msgid "Contact"
msgstr ""
-#: company/models.py:123
+#: company/models.py:127
msgid "Point of contact"
msgstr ""
-#: company/models.py:125
+#: company/models.py:129
msgid "Link to external company information"
msgstr ""
-#: company/models.py:136 part/models.py:829
+#: company/models.py:140 part/models.py:848
msgid "Image"
msgstr ""
-#: company/models.py:139 company/templates/company/detail.html:185
+#: company/models.py:143 company/templates/company/detail.html:185
msgid "Company Notes"
msgstr ""
-#: company/models.py:141
+#: company/models.py:145
msgid "is customer"
msgstr ""
-#: company/models.py:141
+#: company/models.py:145
msgid "Do you sell items to this company?"
msgstr ""
-#: company/models.py:143
+#: company/models.py:147
msgid "is supplier"
msgstr ""
-#: company/models.py:143
+#: company/models.py:147
msgid "Do you purchase items from this company?"
msgstr ""
-#: company/models.py:145
+#: company/models.py:149
msgid "is manufacturer"
msgstr ""
-#: company/models.py:145
+#: company/models.py:149
msgid "Does this company manufacture parts?"
msgstr ""
-#: company/models.py:149 company/serializers.py:378
-#: company/templates/company/company_base.html:106 part/serializers.py:153
-#: part/serializers.py:184 stock/serializers.py:178
+#: company/models.py:153 company/serializers.py:399
+#: company/templates/company/company_base.html:106 part/models.py:2681
+#: part/serializers.py:153 part/serializers.py:181 stock/serializers.py:182
+#: templates/InvenTree/settings/pricing.html:59
msgid "Currency"
msgstr ""
-#: company/models.py:152
+#: company/models.py:156
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:249 company/models.py:483 stock/models.py:600
-#: stock/serializers.py:85 stock/templates/stock/item_base.html:143
-#: templates/js/translated/bom.js:568
+#: company/models.py:253 company/models.py:487 stock/models.py:616
+#: stock/serializers.py:89 stock/templates/stock/item_base.html:143
+#: templates/js/translated/bom.js:581
msgid "Base Part"
msgstr ""
-#: company/models.py:253 company/models.py:487
+#: company/models.py:257 company/models.py:491
msgid "Select part"
msgstr ""
-#: company/models.py:264 company/templates/company/company_base.html:76
+#: company/models.py:268 company/templates/company/company_base.html:76
#: company/templates/company/manufacturer_part.html:90
#: company/templates/company/supplier_part.html:152
#: stock/templates/stock/item_base.html:210
-#: templates/js/translated/company.js:432
-#: templates/js/translated/company.js:533
-#: templates/js/translated/company.js:668
-#: templates/js/translated/company.js:956 templates/js/translated/part.js:236
-#: templates/js/translated/table_filters.js:427
+#: templates/js/translated/company.js:433
+#: templates/js/translated/company.js:534
+#: templates/js/translated/company.js:669
+#: templates/js/translated/company.js:957 templates/js/translated/part.js:232
+#: templates/js/translated/table_filters.js:431
msgid "Manufacturer"
msgstr ""
-#: company/models.py:265 templates/js/translated/part.js:237
+#: company/models.py:269 templates/js/translated/part.js:233
msgid "Select manufacturer"
msgstr ""
-#: company/models.py:271 company/templates/company/manufacturer_part.html:101
+#: company/models.py:275 company/templates/company/manufacturer_part.html:101
#: company/templates/company/supplier_part.html:160
-#: templates/js/translated/company.js:304
-#: templates/js/translated/company.js:532
-#: templates/js/translated/company.js:684
-#: templates/js/translated/company.js:975 templates/js/translated/order.js:2239
-#: templates/js/translated/part.js:247 templates/js/translated/part.js:1025
+#: templates/js/translated/company.js:305
+#: templates/js/translated/company.js:533
+#: templates/js/translated/company.js:685
+#: templates/js/translated/company.js:976 templates/js/translated/order.js:2278
+#: templates/js/translated/part.js:243 templates/js/translated/part.js:1052
msgid "MPN"
msgstr ""
-#: company/models.py:272 templates/js/translated/part.js:248
+#: company/models.py:276 templates/js/translated/part.js:244
msgid "Manufacturer Part Number"
msgstr ""
-#: company/models.py:278
+#: company/models.py:282
msgid "URL for external manufacturer part link"
msgstr ""
-#: company/models.py:284
+#: company/models.py:288
msgid "Manufacturer part description"
msgstr ""
-#: company/models.py:329 company/models.py:353 company/models.py:506
+#: company/models.py:333 company/models.py:357 company/models.py:510
#: company/templates/company/manufacturer_part.html:7
#: company/templates/company/manufacturer_part.html:24
#: stock/templates/stock/item_base.html:220
msgid "Manufacturer Part"
msgstr ""
-#: company/models.py:360
+#: company/models.py:364
msgid "Parameter name"
msgstr ""
-#: company/models.py:366
+#: company/models.py:370
#: report/templates/report/inventree_test_report_base.html:95
-#: stock/models.py:2097 templates/js/translated/company.js:581
-#: templates/js/translated/company.js:799 templates/js/translated/part.js:847
-#: templates/js/translated/stock.js:1360
+#: stock/models.py:2113 templates/js/translated/company.js:582
+#: templates/js/translated/company.js:800 templates/js/translated/part.js:874
+#: templates/js/translated/stock.js:1379
msgid "Value"
msgstr ""
-#: company/models.py:367
+#: company/models.py:371
msgid "Parameter value"
msgstr ""
-#: company/models.py:373 part/models.py:902 part/models.py:2434
-#: part/templates/part/part_base.html:286
+#: company/models.py:377 part/admin.py:26 part/models.py:921
+#: part/models.py:3047 part/templates/part/part_base.html:286
#: templates/InvenTree/settings/settings.html:349
-#: templates/js/translated/company.js:805 templates/js/translated/part.js:853
+#: templates/js/translated/company.js:806 templates/js/translated/part.js:880
msgid "Units"
msgstr ""
-#: company/models.py:374
+#: company/models.py:378
msgid "Parameter units"
msgstr ""
-#: company/models.py:451
+#: company/models.py:455
msgid "Linked manufacturer part must reference the same base part"
msgstr ""
-#: company/models.py:493 company/templates/company/company_base.html:81
-#: company/templates/company/supplier_part.html:136 order/models.py:263
-#: order/templates/order/order_base.html:121 part/bom.py:237 part/bom.py:265
+#: company/models.py:497 company/templates/company/company_base.html:81
+#: company/templates/company/supplier_part.html:136 order/models.py:264
+#: order/templates/order/order_base.html:121 part/bom.py:252 part/bom.py:280
#: stock/templates/stock/item_base.html:227
#: templates/email/overdue_purchase_order.html:16
-#: templates/js/translated/company.js:303
-#: templates/js/translated/company.js:436
-#: templates/js/translated/company.js:929 templates/js/translated/order.js:1975
-#: templates/js/translated/part.js:217 templates/js/translated/part.js:993
-#: templates/js/translated/table_filters.js:431
+#: templates/js/translated/company.js:304
+#: templates/js/translated/company.js:437
+#: templates/js/translated/company.js:930 templates/js/translated/order.js:2009
+#: templates/js/translated/part.js:213 templates/js/translated/part.js:1020
+#: templates/js/translated/pricing.js:231
+#: templates/js/translated/table_filters.js:435
msgid "Supplier"
msgstr ""
-#: company/models.py:494 templates/js/translated/part.js:218
+#: company/models.py:498 templates/js/translated/part.js:214
msgid "Select supplier"
msgstr ""
-#: company/models.py:499 company/templates/company/supplier_part.html:146
-#: part/bom.py:238 part/bom.py:266 templates/js/translated/company.js:302
-#: templates/js/translated/order.js:2226 templates/js/translated/part.js:228
-#: templates/js/translated/part.js:1011
+#: company/models.py:503 company/templates/company/supplier_part.html:146
+#: part/bom.py:253 part/bom.py:281 templates/js/translated/company.js:303
+#: templates/js/translated/order.js:2265 templates/js/translated/part.js:224
+#: templates/js/translated/part.js:1038 templates/js/translated/pricing.js:243
msgid "SKU"
msgstr ""
-#: company/models.py:500 templates/js/translated/part.js:229
+#: company/models.py:504 templates/js/translated/part.js:225
msgid "Supplier stock keeping unit"
msgstr ""
-#: company/models.py:507
+#: company/models.py:511
msgid "Select manufacturer part"
msgstr ""
-#: company/models.py:513
+#: company/models.py:517
msgid "URL for external supplier part link"
msgstr ""
-#: company/models.py:519
+#: company/models.py:523
msgid "Supplier part description"
msgstr ""
-#: company/models.py:524 company/templates/company/supplier_part.html:181
-#: part/models.py:2687 part/templates/part/upload_bom.html:59
+#: company/models.py:528 company/templates/company/supplier_part.html:181
+#: part/admin.py:225 part/models.py:3300 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_po_report.html:92
-#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:403
+#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:397
msgid "Note"
msgstr ""
-#: company/models.py:528 part/models.py:1788
+#: company/models.py:532 part/models.py:1817
msgid "base cost"
msgstr ""
-#: company/models.py:528 part/models.py:1788
+#: company/models.py:532 part/models.py:1817
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
-#: company/models.py:530 company/templates/company/supplier_part.html:167
-#: stock/models.py:626 stock/templates/stock/item_base.html:243
-#: templates/js/translated/company.js:991 templates/js/translated/stock.js:1978
+#: company/models.py:534 company/templates/company/supplier_part.html:167
+#: stock/admin.py:101 stock/models.py:642
+#: stock/templates/stock/item_base.html:243
+#: templates/js/translated/company.js:992 templates/js/translated/stock.js:1996
msgid "Packaging"
msgstr ""
-#: company/models.py:530
+#: company/models.py:534
msgid "Part packaging"
msgstr ""
-#: company/models.py:533 company/serializers.py:242
+#: company/models.py:537 company/serializers.py:242
#: company/templates/company/supplier_part.html:174
-#: templates/js/translated/company.js:996 templates/js/translated/order.js:820
-#: templates/js/translated/order.js:1215 templates/js/translated/order.js:1470
-#: templates/js/translated/order.js:2270 templates/js/translated/order.js:2287
-#: templates/js/translated/part.js:1043 templates/js/translated/part.js:1095
+#: templates/js/translated/company.js:997 templates/js/translated/order.js:826
+#: templates/js/translated/order.js:1249 templates/js/translated/order.js:1504
+#: templates/js/translated/order.js:2309 templates/js/translated/order.js:2326
+#: templates/js/translated/part.js:1070 templates/js/translated/part.js:1122
msgid "Pack Quantity"
msgstr ""
-#: company/models.py:534
+#: company/models.py:538
msgid "Unit quantity supplied in a single pack"
msgstr ""
-#: company/models.py:540 part/models.py:1790
+#: company/models.py:544 part/models.py:1819
msgid "multiple"
msgstr ""
-#: company/models.py:540
+#: company/models.py:544
msgid "Order multiple"
msgstr ""
-#: company/models.py:548 company/templates/company/supplier_part.html:115
+#: company/models.py:552 company/templates/company/supplier_part.html:115
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:18
-#: templates/js/translated/bom.js:963 templates/js/translated/build.js:1873
-#: templates/js/translated/build.js:2754 templates/js/translated/part.js:598
-#: templates/js/translated/part.js:601
-#: templates/js/translated/table_filters.js:194
+#: templates/js/translated/bom.js:1117 templates/js/translated/build.js:1873
+#: templates/js/translated/build.js:2754 templates/js/translated/part.js:612
+#: templates/js/translated/part.js:615
+#: templates/js/translated/table_filters.js:198
msgid "Available"
msgstr ""
-#: company/models.py:549
+#: company/models.py:553
msgid "Quantity available from supplier"
msgstr ""
-#: company/models.py:553
+#: company/models.py:557
msgid "Availability Updated"
msgstr ""
-#: company/models.py:554
+#: company/models.py:558
msgid "Date of last update of availability data"
msgstr ""
-#: company/models.py:682
+#: company/models.py:686
msgid "last updated"
msgstr ""
@@ -3121,7 +3177,7 @@ msgstr ""
#: company/templates/company/company_base.html:8
#: company/templates/company/company_base.html:12
-#: templates/InvenTree/search.html:179 templates/js/translated/company.js:421
+#: templates/InvenTree/search.html:179 templates/js/translated/company.js:422
msgid "Company"
msgstr ""
@@ -3139,7 +3195,7 @@ msgid "Edit company information"
msgstr ""
#: company/templates/company/company_base.html:34
-#: templates/js/translated/company.js:364
+#: templates/js/translated/company.js:365
msgid "Edit Company"
msgstr ""
@@ -3162,14 +3218,14 @@ msgstr ""
msgid "Download image from URL"
msgstr ""
-#: company/templates/company/company_base.html:86 order/models.py:646
-#: order/templates/order/sales_order_base.html:116 stock/models.py:645
-#: stock/models.py:646 stock/serializers.py:813
+#: company/templates/company/company_base.html:86 order/models.py:665
+#: order/templates/order/sales_order_base.html:116 stock/models.py:661
+#: stock/models.py:662 stock/serializers.py:812
#: stock/templates/stock/item_base.html:399
#: templates/email/overdue_sales_order.html:16
-#: templates/js/translated/company.js:428 templates/js/translated/order.js:2808
-#: templates/js/translated/stock.js:2569
-#: templates/js/translated/table_filters.js:435
+#: templates/js/translated/company.js:429 templates/js/translated/order.js:2819
+#: templates/js/translated/stock.js:2587
+#: templates/js/translated/table_filters.js:439
msgid "Customer"
msgstr ""
@@ -3182,12 +3238,12 @@ msgid "Phone"
msgstr ""
#: company/templates/company/company_base.html:208
-#: part/templates/part/part_base.html:499
+#: part/templates/part/part_base.html:514
msgid "Upload Image"
msgstr ""
#: company/templates/company/company_base.html:223
-#: part/templates/part/part_base.html:554
+#: part/templates/part/part_base.html:569
msgid "Download Image"
msgstr ""
@@ -3203,7 +3259,7 @@ msgstr ""
#: company/templates/company/detail.html:19
#: company/templates/company/manufacturer_part.html:123
-#: part/templates/part/detail.html:359
+#: part/templates/part/detail.html:357
msgid "New Supplier Part"
msgstr ""
@@ -3232,7 +3288,7 @@ msgstr ""
msgid "Create new manufacturer part"
msgstr ""
-#: company/templates/company/detail.html:66 part/templates/part/detail.html:389
+#: company/templates/company/detail.html:66 part/templates/part/detail.html:387
msgid "New Manufacturer Part"
msgstr ""
@@ -3246,7 +3302,7 @@ msgstr ""
#: order/templates/order/order_base.html:13
#: order/templates/order/purchase_orders.html:8
#: order/templates/order/purchase_orders.html:12
-#: part/templates/part/detail.html:84 part/templates/part/part_sidebar.html:37
+#: part/templates/part/detail.html:84 part/templates/part/part_sidebar.html:35
#: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200
#: templates/InvenTree/settings/sidebar.html:49
#: templates/js/translated/search.js:293 templates/navbar.html:50
@@ -3269,7 +3325,7 @@ msgstr ""
#: order/templates/order/sales_order_base.html:13
#: order/templates/order/sales_orders.html:8
#: order/templates/order/sales_orders.html:15
-#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:41
+#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:39
#: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220
#: templates/InvenTree/settings/sidebar.html:51
#: templates/js/translated/search.js:317 templates/navbar.html:61
@@ -3297,8 +3353,7 @@ msgid "Supplier List"
msgstr ""
#: company/templates/company/manufacturer_part.html:15 company/views.py:38
-#: part/templates/part/prices.html:172 templates/InvenTree/search.html:181
-#: templates/navbar.html:49
+#: templates/InvenTree/search.html:181 templates/navbar.html:49
msgid "Manufacturers"
msgstr ""
@@ -3309,12 +3364,12 @@ msgid "Order part"
msgstr ""
#: company/templates/company/manufacturer_part.html:39
-#: templates/js/translated/company.js:716
+#: templates/js/translated/company.js:717
msgid "Edit manufacturer part"
msgstr ""
#: company/templates/company/manufacturer_part.html:43
-#: templates/js/translated/company.js:717
+#: templates/js/translated/company.js:718
msgid "Delete manufacturer part"
msgstr ""
@@ -3329,35 +3384,36 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:119
#: company/templates/company/supplier_part.html:15 company/views.py:32
-#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:168
+#: part/admin.py:46 part/templates/part/part_sidebar.html:33
#: templates/InvenTree/search.html:191 templates/navbar.html:48
msgid "Suppliers"
msgstr ""
#: company/templates/company/manufacturer_part.html:136
-#: part/templates/part/detail.html:370
+#: part/templates/part/detail.html:368
msgid "Delete supplier parts"
msgstr ""
#: company/templates/company/manufacturer_part.html:136
#: company/templates/company/manufacturer_part.html:183
-#: part/templates/part/detail.html:371 part/templates/part/detail.html:401
-#: templates/js/translated/forms.js:455 templates/js/translated/helpers.js:36
-#: users/models.py:222
+#: part/templates/part/detail.html:369 part/templates/part/detail.html:399
+#: templates/js/translated/forms.js:455 templates/js/translated/helpers.js:38
+#: templates/js/translated/part.js:340 templates/js/translated/stock.js:184
+#: users/models.py:224
msgid "Delete"
msgstr ""
#: company/templates/company/manufacturer_part.html:166
#: company/templates/company/manufacturer_part_sidebar.html:5
#: part/templates/part/category_sidebar.html:19
-#: part/templates/part/detail.html:186 part/templates/part/part_sidebar.html:8
+#: part/templates/part/detail.html:184 part/templates/part/part_sidebar.html:8
msgid "Parameters"
msgstr ""
#: company/templates/company/manufacturer_part.html:170
-#: part/templates/part/detail.html:191
+#: part/templates/part/detail.html:189
#: templates/InvenTree/settings/category.html:12
-#: templates/InvenTree/settings/part.html:68
+#: templates/InvenTree/settings/part.html:62
msgid "New Parameter"
msgstr ""
@@ -3366,7 +3422,7 @@ msgid "Delete parameters"
msgstr ""
#: company/templates/company/manufacturer_part.html:245
-#: part/templates/part/detail.html:827
+#: part/templates/part/detail.html:825
msgid "Add Parameter"
msgstr ""
@@ -3387,10 +3443,10 @@ msgid "Assigned Stock Items"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:609
+#: company/templates/company/supplier_part.html:24 stock/models.py:625
#: stock/templates/stock/item_base.html:236
-#: templates/js/translated/company.js:945 templates/js/translated/order.js:1135
-#: templates/js/translated/stock.js:1935
+#: templates/js/translated/company.js:946 templates/js/translated/order.js:1169
+#: templates/js/translated/stock.js:1954
msgid "Supplier Part"
msgstr ""
@@ -3441,13 +3497,13 @@ msgstr ""
#: company/templates/company/supplier_part.html:64
#: company/templates/company/supplier_part.html:65
-#: templates/js/translated/company.js:247
+#: templates/js/translated/company.js:248
msgid "Edit Supplier Part"
msgstr ""
#: company/templates/company/supplier_part.html:69
#: company/templates/company/supplier_part.html:70
-#: templates/js/translated/company.js:222
+#: templates/js/translated/company.js:223
msgid "Duplicate Supplier Part"
msgstr ""
@@ -3482,7 +3538,7 @@ msgstr ""
#: company/templates/company/supplier_part.html:204
#: part/templates/part/detail.html:25 stock/templates/stock/location.html:198
-#: templates/js/translated/stock.js:435
+#: templates/js/translated/stock.js:454
msgid "New Stock Item"
msgstr ""
@@ -3492,47 +3548,20 @@ msgid "Supplier Part Orders"
msgstr ""
#: company/templates/company/supplier_part.html:242
-#: part/templates/part/prices.html:10
msgid "Pricing Information"
msgstr ""
#: company/templates/company/supplier_part.html:247
-#: company/templates/company/supplier_part.html:388
-#: part/templates/part/prices.html:276 templates/js/translated/part.js:2297
+#: company/templates/company/supplier_part.html:317
+#: templates/js/translated/pricing.js:413
msgid "Add Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:282
+#: company/templates/company/supplier_part.html:285
msgid "Link Barcode to Supplier Part"
msgstr ""
-#: company/templates/company/supplier_part.html:300
-msgid "No price break information found"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:314
-#: templates/js/translated/part.js:2307
-msgid "Delete Price Break"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:328
-#: templates/js/translated/part.js:2321
-msgid "Edit Price Break"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:353
-msgid "Edit price break"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:354
-msgid "Delete price break"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:363
-msgid "Last updated"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:444
+#: company/templates/company/supplier_part.html:375
msgid "Update Part Availability"
msgstr ""
@@ -3542,9 +3571,9 @@ msgstr ""
#: stock/templates/stock/stock_app_base.html:10
#: templates/InvenTree/search.html:153
#: templates/InvenTree/settings/sidebar.html:45
-#: templates/js/translated/part.js:749 templates/js/translated/part.js:1335
-#: templates/js/translated/part.js:1501 templates/js/translated/stock.js:959
-#: templates/js/translated/stock.js:1760 templates/navbar.html:31
+#: templates/js/translated/part.js:763 templates/js/translated/part.js:1356
+#: templates/js/translated/part.js:1512 templates/js/translated/stock.js:978
+#: templates/js/translated/stock.js:1779 templates/navbar.html:31
msgid "Stock"
msgstr ""
@@ -3558,19 +3587,20 @@ msgid "Supplier Part Pricing"
msgstr ""
#: company/templates/company/supplier_part_navbar.html:29
-#: part/templates/part/part_sidebar.html:31
+#: part/templates/part/part_sidebar.html:30
+#: templates/InvenTree/settings/sidebar.html:35
msgid "Pricing"
msgstr ""
#: company/templates/company/supplier_part_sidebar.html:5
#: part/templates/part/category.html:198
-#: part/templates/part/category_sidebar.html:17
+#: part/templates/part/category_sidebar.html:17 stock/admin.py:31
#: stock/templates/stock/location.html:168
#: stock/templates/stock/location.html:182
#: stock/templates/stock/location.html:194
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:155 templates/js/translated/search.js:225
-#: templates/js/translated/stock.js:2446 users/models.py:40
+#: templates/js/translated/stock.js:2464 users/models.py:40
msgid "Stock Items"
msgstr ""
@@ -3672,438 +3702,439 @@ msgstr ""
msgid "No matching purchase order found"
msgstr ""
-#: order/models.py:82
+#: order/models.py:83
msgid "Order description"
msgstr ""
-#: order/models.py:84 order/models.py:1260
+#: order/models.py:85 order/models.py:1283
msgid "Link to external page"
msgstr ""
-#: order/models.py:92
+#: order/models.py:93
msgid "Created By"
msgstr ""
-#: order/models.py:99
+#: order/models.py:100
msgid "User or group responsible for this order"
msgstr ""
-#: order/models.py:104
+#: order/models.py:105
msgid "Order notes"
msgstr ""
-#: order/models.py:241 order/models.py:633
+#: order/models.py:242 order/models.py:652
msgid "Order reference"
msgstr ""
-#: order/models.py:249 order/models.py:651
+#: order/models.py:250 order/models.py:670
msgid "Purchase order status"
msgstr ""
-#: order/models.py:264
+#: order/models.py:265
msgid "Company from which the items are being ordered"
msgstr ""
-#: order/models.py:267 order/templates/order/order_base.html:133
-#: templates/js/translated/order.js:1984
+#: order/models.py:268 order/templates/order/order_base.html:133
+#: templates/js/translated/order.js:2018
msgid "Supplier Reference"
msgstr ""
-#: order/models.py:267
+#: order/models.py:268
msgid "Supplier order reference code"
msgstr ""
-#: order/models.py:274
+#: order/models.py:275
msgid "received by"
msgstr ""
-#: order/models.py:279
+#: order/models.py:280
msgid "Issue Date"
msgstr ""
-#: order/models.py:280
+#: order/models.py:281
msgid "Date order was issued"
msgstr ""
-#: order/models.py:285
+#: order/models.py:286
msgid "Target Delivery Date"
msgstr ""
-#: order/models.py:286
+#: order/models.py:287
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr ""
-#: order/models.py:292
+#: order/models.py:293
msgid "Date order was completed"
msgstr ""
-#: order/models.py:328
+#: order/models.py:332
msgid "Part supplier must match PO supplier"
msgstr ""
-#: order/models.py:472
+#: order/models.py:491
msgid "Quantity must be a positive number"
msgstr ""
-#: order/models.py:647
+#: order/models.py:666
msgid "Company to which the items are being sold"
msgstr ""
-#: order/models.py:658
+#: order/models.py:677
msgid "Customer Reference "
msgstr ""
-#: order/models.py:658
+#: order/models.py:677
msgid "Customer order reference code"
msgstr ""
-#: order/models.py:663
+#: order/models.py:682
msgid "Target date for order completion. Order will be overdue after this date."
msgstr ""
-#: order/models.py:666 order/models.py:1218
-#: templates/js/translated/order.js:2855 templates/js/translated/order.js:3017
+#: order/models.py:685 order/models.py:1241
+#: templates/js/translated/order.js:2866 templates/js/translated/order.js:3028
msgid "Shipment Date"
msgstr ""
-#: order/models.py:673
+#: order/models.py:692
msgid "shipped by"
msgstr ""
-#: order/models.py:728
+#: order/models.py:747
msgid "Order cannot be completed as no parts have been assigned"
msgstr ""
-#: order/models.py:732
+#: order/models.py:751
msgid "Only a pending order can be marked as complete"
msgstr ""
-#: order/models.py:735 templates/js/translated/order.js:419
+#: order/models.py:754 templates/js/translated/order.js:419
msgid "Order cannot be completed as there are incomplete shipments"
msgstr ""
-#: order/models.py:738
+#: order/models.py:757
msgid "Order cannot be completed as there are incomplete line items"
msgstr ""
-#: order/models.py:912
+#: order/models.py:935
msgid "Item quantity"
msgstr ""
-#: order/models.py:918
+#: order/models.py:941
msgid "Line item reference"
msgstr ""
-#: order/models.py:920
+#: order/models.py:943
msgid "Line item notes"
msgstr ""
-#: order/models.py:925
+#: order/models.py:948
msgid "Target shipping date for this line item"
msgstr ""
-#: order/models.py:943
+#: order/models.py:966
msgid "Context"
msgstr ""
-#: order/models.py:944
+#: order/models.py:967
msgid "Additional context for this line"
msgstr ""
-#: order/models.py:953
+#: order/models.py:976
msgid "Unit price"
msgstr ""
-#: order/models.py:983
+#: order/models.py:1006
msgid "Supplier part must match supplier"
msgstr ""
-#: order/models.py:991
+#: order/models.py:1014
msgid "deleted"
msgstr ""
-#: order/models.py:997 order/models.py:1077 order/models.py:1118
-#: order/models.py:1212 order/models.py:1344
-#: templates/js/translated/order.js:3473
+#: order/models.py:1020 order/models.py:1100 order/models.py:1141
+#: order/models.py:1235 order/models.py:1367
+#: templates/js/translated/order.js:3484
msgid "Order"
msgstr ""
-#: order/models.py:998 order/models.py:1077
+#: order/models.py:1021 order/models.py:1100
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report.html:76
#: stock/templates/stock/item_base.html:182
#: templates/email/overdue_purchase_order.html:15
-#: templates/js/translated/order.js:619 templates/js/translated/order.js:1136
-#: templates/js/translated/order.js:1959 templates/js/translated/part.js:970
-#: templates/js/translated/stock.js:1915 templates/js/translated/stock.js:2550
+#: templates/js/translated/order.js:619 templates/js/translated/order.js:1170
+#: templates/js/translated/order.js:1993 templates/js/translated/part.js:997
+#: templates/js/translated/pricing.js:515 templates/js/translated/stock.js:1934
+#: templates/js/translated/stock.js:2568
msgid "Purchase Order"
msgstr ""
-#: order/models.py:1016
+#: order/models.py:1039
msgid "Supplier part"
msgstr ""
-#: order/models.py:1023 order/templates/order/order_base.html:178
-#: templates/js/translated/order.js:1641 templates/js/translated/order.js:2373
-#: templates/js/translated/part.js:1087 templates/js/translated/part.js:1125
-#: templates/js/translated/table_filters.js:346
+#: order/models.py:1046 order/templates/order/order_base.html:178
+#: templates/js/translated/order.js:1675 templates/js/translated/order.js:2396
+#: templates/js/translated/part.js:1114 templates/js/translated/part.js:1146
+#: templates/js/translated/table_filters.js:350
msgid "Received"
msgstr ""
-#: order/models.py:1024
+#: order/models.py:1047
msgid "Number of items received"
msgstr ""
-#: order/models.py:1031 part/templates/part/prices.html:181 stock/models.py:741
-#: stock/serializers.py:169 stock/templates/stock/item_base.html:189
-#: templates/js/translated/stock.js:1966
+#: order/models.py:1054 stock/models.py:757 stock/serializers.py:173
+#: stock/templates/stock/item_base.html:189
+#: templates/js/translated/stock.js:1985
msgid "Purchase Price"
msgstr ""
-#: order/models.py:1032
+#: order/models.py:1055
msgid "Unit purchase price"
msgstr ""
-#: order/models.py:1040
+#: order/models.py:1063
msgid "Where does the Purchaser want this item to be stored?"
msgstr ""
-#: order/models.py:1106
+#: order/models.py:1129
msgid "Virtual part cannot be assigned to a sales order"
msgstr ""
-#: order/models.py:1111
+#: order/models.py:1134
msgid "Only salable parts can be assigned to a sales order"
msgstr ""
-#: order/models.py:1137 part/templates/part/part_pricing.html:115
-#: part/templates/part/prices.html:121 part/templates/part/prices.html:290
+#: order/models.py:1160 part/templates/part/part_pricing.html:107
+#: part/templates/part/prices.html:139 templates/js/translated/pricing.js:665
msgid "Sale Price"
msgstr ""
-#: order/models.py:1138
+#: order/models.py:1161
msgid "Unit sale price"
msgstr ""
-#: order/models.py:1143
+#: order/models.py:1166
msgid "Shipped quantity"
msgstr ""
-#: order/models.py:1219
+#: order/models.py:1242
msgid "Date of shipment"
msgstr ""
-#: order/models.py:1226
+#: order/models.py:1249
msgid "Checked By"
msgstr ""
-#: order/models.py:1227
+#: order/models.py:1250
msgid "User who checked this shipment"
msgstr ""
-#: order/models.py:1234 order/models.py:1419 order/serializers.py:1228
-#: order/serializers.py:1356 templates/js/translated/model_renderers.js:314
+#: order/models.py:1257 order/models.py:1442 order/serializers.py:1221
+#: order/serializers.py:1349 templates/js/translated/model_renderers.js:314
msgid "Shipment"
msgstr ""
-#: order/models.py:1235
+#: order/models.py:1258
msgid "Shipment number"
msgstr ""
-#: order/models.py:1239
+#: order/models.py:1262
msgid "Shipment notes"
msgstr ""
-#: order/models.py:1245
+#: order/models.py:1268
msgid "Tracking Number"
msgstr ""
-#: order/models.py:1246
+#: order/models.py:1269
msgid "Shipment tracking information"
msgstr ""
-#: order/models.py:1253
+#: order/models.py:1276
msgid "Invoice Number"
msgstr ""
-#: order/models.py:1254
+#: order/models.py:1277
msgid "Reference number for associated invoice"
msgstr ""
-#: order/models.py:1272
+#: order/models.py:1295
msgid "Shipment has already been sent"
msgstr ""
-#: order/models.py:1275
+#: order/models.py:1298
msgid "Shipment has no allocated stock items"
msgstr ""
-#: order/models.py:1378 order/models.py:1380
+#: order/models.py:1401 order/models.py:1403
msgid "Stock item has not been assigned"
msgstr ""
-#: order/models.py:1384
+#: order/models.py:1407
msgid "Cannot allocate stock item to a line with a different part"
msgstr ""
-#: order/models.py:1386
+#: order/models.py:1409
msgid "Cannot allocate stock to a line without a part"
msgstr ""
-#: order/models.py:1389
+#: order/models.py:1412
msgid "Allocation quantity cannot exceed stock quantity"
msgstr ""
-#: order/models.py:1399 order/serializers.py:1090
+#: order/models.py:1422 order/serializers.py:1083
msgid "Quantity must be 1 for serialized stock item"
msgstr ""
-#: order/models.py:1402
+#: order/models.py:1425
msgid "Sales order does not match shipment"
msgstr ""
-#: order/models.py:1403
+#: order/models.py:1426
msgid "Shipment does not match sales order"
msgstr ""
-#: order/models.py:1411
+#: order/models.py:1434
msgid "Line"
msgstr ""
-#: order/models.py:1420
+#: order/models.py:1443
msgid "Sales order shipment reference"
msgstr ""
-#: order/models.py:1433 templates/js/translated/notification.js:55
+#: order/models.py:1456 templates/js/translated/notification.js:55
msgid "Item"
msgstr ""
-#: order/models.py:1434
+#: order/models.py:1457
msgid "Select stock item to allocate"
msgstr ""
-#: order/models.py:1437
+#: order/models.py:1460
msgid "Enter stock allocation quantity"
msgstr ""
-#: order/serializers.py:67
+#: order/serializers.py:63
msgid "Price currency"
msgstr ""
-#: order/serializers.py:199
+#: order/serializers.py:193
msgid "Order cannot be cancelled"
msgstr ""
-#: order/serializers.py:209 order/serializers.py:1108
+#: order/serializers.py:203 order/serializers.py:1101
msgid "Allow order to be closed with incomplete line items"
msgstr ""
-#: order/serializers.py:220 order/serializers.py:1119
+#: order/serializers.py:214 order/serializers.py:1112
msgid "Order has incomplete line items"
msgstr ""
-#: order/serializers.py:311
+#: order/serializers.py:305
msgid "Order is not open"
msgstr ""
-#: order/serializers.py:335
+#: order/serializers.py:327
msgid "Purchase price currency"
msgstr ""
-#: order/serializers.py:354
+#: order/serializers.py:346
msgid "Supplier part must be specified"
msgstr ""
-#: order/serializers.py:359
+#: order/serializers.py:351
msgid "Purchase order must be specified"
msgstr ""
-#: order/serializers.py:365
+#: order/serializers.py:357
msgid "Supplier must match purchase order"
msgstr ""
-#: order/serializers.py:366
+#: order/serializers.py:358
msgid "Purchase order must match supplier"
msgstr ""
-#: order/serializers.py:430 order/serializers.py:1196
+#: order/serializers.py:421 order/serializers.py:1189
msgid "Line Item"
msgstr ""
-#: order/serializers.py:436
+#: order/serializers.py:427
msgid "Line item does not match purchase order"
msgstr ""
-#: order/serializers.py:446 order/serializers.py:557
+#: order/serializers.py:437 order/serializers.py:548
msgid "Select destination location for received items"
msgstr ""
-#: order/serializers.py:465 templates/js/translated/order.js:1497
+#: order/serializers.py:456 templates/js/translated/order.js:1531
msgid "Enter batch code for incoming stock items"
msgstr ""
-#: order/serializers.py:473 templates/js/translated/order.js:1508
+#: order/serializers.py:464 templates/js/translated/order.js:1542
msgid "Enter serial numbers for incoming stock items"
msgstr ""
-#: order/serializers.py:487
+#: order/serializers.py:478
msgid "Unique identifier field"
msgstr ""
-#: order/serializers.py:501
+#: order/serializers.py:492
msgid "Barcode is already in use"
msgstr ""
-#: order/serializers.py:527
+#: order/serializers.py:518
msgid "An integer quantity must be provided for trackable parts"
msgstr ""
-#: order/serializers.py:573
+#: order/serializers.py:564
msgid "Line items must be provided"
msgstr ""
-#: order/serializers.py:590
+#: order/serializers.py:581
msgid "Destination location must be specified"
msgstr ""
-#: order/serializers.py:601
+#: order/serializers.py:592
msgid "Supplied barcode values must be unique"
msgstr ""
-#: order/serializers.py:907
+#: order/serializers.py:900
msgid "Sale price currency"
msgstr ""
-#: order/serializers.py:988
+#: order/serializers.py:981
msgid "No shipment details provided"
msgstr ""
-#: order/serializers.py:1051 order/serializers.py:1205
+#: order/serializers.py:1044 order/serializers.py:1198
msgid "Line item is not associated with this order"
msgstr ""
-#: order/serializers.py:1073
+#: order/serializers.py:1066
msgid "Quantity must be positive"
msgstr ""
-#: order/serializers.py:1218
+#: order/serializers.py:1211
msgid "Enter serial numbers to allocate"
msgstr ""
-#: order/serializers.py:1240 order/serializers.py:1364
+#: order/serializers.py:1233 order/serializers.py:1357
msgid "Shipment has already been shipped"
msgstr ""
-#: order/serializers.py:1243 order/serializers.py:1367
+#: order/serializers.py:1236 order/serializers.py:1360
msgid "Shipment is not associated with this order"
msgstr ""
-#: order/serializers.py:1297
+#: order/serializers.py:1290
msgid "No match found for the following serial numbers"
msgstr ""
-#: order/serializers.py:1307
+#: order/serializers.py:1300
msgid "The following serial numbers are already allocated"
msgstr ""
@@ -4154,7 +4185,8 @@ msgid "Duplicate order"
msgstr ""
#: order/templates/order/order_base.html:61
-msgid "Place order"
+#: order/templates/order/order_base.html:62
+msgid "Submit Order"
msgstr ""
#: order/templates/order/order_base.html:65
@@ -4162,7 +4194,7 @@ msgid "Receive items"
msgstr ""
#: order/templates/order/order_base.html:67
-#: order/templates/order/purchase_order_detail.html:30
+#: order/templates/order/purchase_order_detail.html:32
msgid "Receive Items"
msgstr ""
@@ -4248,9 +4280,9 @@ msgstr ""
#: part/templates/part/import_wizard/match_references.html:49
#: templates/js/translated/bom.js:102 templates/js/translated/build.js:479
#: templates/js/translated/build.js:631 templates/js/translated/build.js:2078
-#: templates/js/translated/order.js:1084 templates/js/translated/order.js:1586
-#: templates/js/translated/order.js:3092 templates/js/translated/stock.js:625
-#: templates/js/translated/stock.js:793
+#: templates/js/translated/order.js:1118 templates/js/translated/order.js:1620
+#: templates/js/translated/order.js:3103 templates/js/translated/stock.js:644
+#: templates/js/translated/stock.js:812
#: templates/patterns/wizard/match_fields.html:70
msgid "Remove row"
msgstr ""
@@ -4278,42 +4310,42 @@ msgstr ""
msgid "Received Stock"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:17
+#: order/templates/order/purchase_order_detail.html:19
msgid "Purchase Order Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:26
-#: order/templates/order/sales_order_detail.html:22
-#: order/templates/order/sales_order_detail.html:255
+#: order/templates/order/purchase_order_detail.html:28
+#: order/templates/order/sales_order_detail.html:24
+#: order/templates/order/sales_order_detail.html:260
#: templates/js/translated/order.js:728
msgid "Add Line Item"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:29
+#: order/templates/order/purchase_order_detail.html:31
msgid "Receive selected items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:48
-#: order/templates/order/sales_order_detail.html:42
+#: order/templates/order/purchase_order_detail.html:50
+#: order/templates/order/sales_order_detail.html:45
msgid "Extra Lines"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:53
-#: order/templates/order/sales_order_detail.html:47
-#: order/templates/order/sales_order_detail.html:280
+#: order/templates/order/purchase_order_detail.html:56
+#: order/templates/order/sales_order_detail.html:51
+#: order/templates/order/sales_order_detail.html:291
msgid "Add Extra Line"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:72
+#: order/templates/order/purchase_order_detail.html:76
msgid "Received Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:97
-#: order/templates/order/sales_order_detail.html:150
+#: order/templates/order/purchase_order_detail.html:101
+#: order/templates/order/sales_order_detail.html:155
msgid "Order Notes"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:232
+#: order/templates/order/purchase_order_detail.html:239
msgid "Add Order Line"
msgstr ""
@@ -4345,12 +4377,12 @@ msgid "This Sales Order has not been fully allocated"
msgstr ""
#: order/templates/order/sales_order_base.html:123
-#: templates/js/translated/order.js:2821
+#: templates/js/translated/order.js:2832
msgid "Customer Reference"
msgstr ""
#: order/templates/order/sales_order_base.html:141
-#: order/templates/order/sales_order_detail.html:104
+#: order/templates/order/sales_order_detail.html:109
#: order/templates/order/so_sidebar.html:11
msgid "Completed Shipments"
msgstr ""
@@ -4359,22 +4391,22 @@ msgstr ""
msgid "Edit Sales Order"
msgstr ""
-#: order/templates/order/sales_order_detail.html:17
+#: order/templates/order/sales_order_detail.html:18
msgid "Sales Order Items"
msgstr ""
-#: order/templates/order/sales_order_detail.html:68
+#: order/templates/order/sales_order_detail.html:73
#: order/templates/order/so_sidebar.html:8
msgid "Pending Shipments"
msgstr ""
-#: order/templates/order/sales_order_detail.html:72
-#: templates/attachment_table.html:6 templates/js/translated/bom.js:1158
+#: order/templates/order/sales_order_detail.html:77
+#: templates/attachment_table.html:6 templates/js/translated/bom.js:1223
#: templates/js/translated/build.js:1979
msgid "Actions"
msgstr ""
-#: order/templates/order/sales_order_detail.html:81
+#: order/templates/order/sales_order_detail.html:86
msgid "New Shipment"
msgstr ""
@@ -4400,617 +4432,844 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/api.py:516
+#: part/admin.py:19 part/admin.py:219 part/models.py:3181 stock/admin.py:84
+#: templates/js/translated/model_renderers.js:212
+msgid "Part ID"
+msgstr ""
+
+#: part/admin.py:20 part/admin.py:221 part/models.py:3185 stock/admin.py:85
+msgid "Part Name"
+msgstr ""
+
+#: part/admin.py:21
+msgid "Part Description"
+msgstr ""
+
+#: part/admin.py:22 part/models.py:822 part/templates/part/part_base.html:272
+#: templates/js/translated/part.js:751 templates/js/translated/part.js:1469
+#: templates/js/translated/stock.js:1745
+msgid "IPN"
+msgstr ""
+
+#: part/admin.py:23 part/models.py:830 part/templates/part/part_base.html:279
+#: report/models.py:171 templates/js/translated/part.js:755
+msgid "Revision"
+msgstr ""
+
+#: part/admin.py:24 part/admin.py:145 part/models.py:808
+#: part/templates/part/category.html:87 part/templates/part/part_base.html:300
+msgid "Keywords"
+msgstr ""
+
+#: part/admin.py:28 part/admin.py:139
+#: templates/js/translated/model_renderers.js:338
+msgid "Category ID"
+msgstr ""
+
+#: part/admin.py:29 part/admin.py:140
+msgid "Category Name"
+msgstr ""
+
+#: part/admin.py:30 part/admin.py:144
+msgid "Default Location ID"
+msgstr ""
+
+#: part/admin.py:31
+msgid "Default Supplier ID"
+msgstr ""
+
+#: part/admin.py:33 part/models.py:914 part/templates/part/part_base.html:206
+msgid "Minimum Stock"
+msgstr ""
+
+#: part/admin.py:47 part/templates/part/part_base.html:200
+#: templates/js/translated/company.js:1028
+#: templates/js/translated/table_filters.js:213
+msgid "In Stock"
+msgstr ""
+
+#: part/admin.py:48 part/bom.py:145 part/templates/part/part_base.html:213
+#: templates/js/translated/bom.js:1155 templates/js/translated/build.js:1925
+#: templates/js/translated/part.js:602 templates/js/translated/part.js:622
+#: templates/js/translated/part.js:1359 templates/js/translated/part.js:1537
+#: templates/js/translated/table_filters.js:68
+msgid "On Order"
+msgstr ""
+
+#: part/admin.py:49 part/templates/part/part_sidebar.html:27
+msgid "Used In"
+msgstr ""
+
+#: part/admin.py:50 templates/js/translated/build.js:1937
+#: templates/js/translated/build.js:2195 templates/js/translated/build.js:2761
+#: templates/js/translated/order.js:3943
+msgid "Allocated"
+msgstr ""
+
+#: part/admin.py:51 part/templates/part/part_base.html:244
+#: templates/js/translated/part.js:605 templates/js/translated/part.js:625
+#: templates/js/translated/part.js:1363 templates/js/translated/part.js:1544
+msgid "Building"
+msgstr ""
+
+#: part/admin.py:52 part/models.py:2765
+msgid "Minimum Cost"
+msgstr ""
+
+#: part/admin.py:53 part/models.py:2771
+msgid "Maximum Cost"
+msgstr ""
+
+#: part/admin.py:142 part/admin.py:216 stock/admin.py:26 stock/admin.py:98
+msgid "Parent ID"
+msgstr ""
+
+#: part/admin.py:143 part/admin.py:218 stock/admin.py:27
+msgid "Parent Name"
+msgstr ""
+
+#: part/admin.py:146 part/templates/part/category.html:81
+#: part/templates/part/category.html:94
+msgid "Category Path"
+msgstr ""
+
+#: part/admin.py:149 part/models.py:363 part/templates/part/cat_link.html:3
+#: part/templates/part/category.html:23 part/templates/part/category.html:134
+#: part/templates/part/category.html:154
+#: part/templates/part/category_sidebar.html:9
+#: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84
+#: templates/InvenTree/settings/sidebar.html:41
+#: templates/js/translated/part.js:2043 templates/js/translated/search.js:146
+#: templates/navbar.html:24 users/models.py:38
+msgid "Parts"
+msgstr ""
+
+#: part/admin.py:211
+msgid "BOM Level"
+msgstr ""
+
+#: part/admin.py:213
+msgid "BOM Item ID"
+msgstr ""
+
+#: part/admin.py:217
+msgid "Parent IPN"
+msgstr ""
+
+#: part/admin.py:220 part/models.py:3189
+msgid "Part IPN"
+msgstr ""
+
+#: part/admin.py:226 templates/js/translated/pricing.js:91
+#: templates/js/translated/pricing.js:727
+msgid "Minimum Price"
+msgstr ""
+
+#: part/admin.py:227 templates/js/translated/pricing.js:86
+#: templates/js/translated/pricing.js:735
+msgid "Maximum Price"
+msgstr ""
+
+#: part/api.py:532
msgid "Incoming Purchase Order"
msgstr ""
-#: part/api.py:536
+#: part/api.py:552
msgid "Outgoing Sales Order"
msgstr ""
-#: part/api.py:554
+#: part/api.py:570
msgid "Stock produced by Build Order"
msgstr ""
-#: part/api.py:640
+#: part/api.py:656
msgid "Stock required for Build Order"
msgstr ""
-#: part/api.py:777
+#: part/api.py:814
msgid "Valid"
msgstr ""
-#: part/api.py:778
+#: part/api.py:815
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/api.py:784
+#: part/api.py:821
msgid "This option must be selected"
msgstr ""
-#: part/api.py:1207
+#: part/api.py:1261
msgid "Must be greater than zero"
msgstr ""
-#: part/api.py:1211
+#: part/api.py:1265
msgid "Must be a valid quantity"
msgstr ""
-#: part/api.py:1226
+#: part/api.py:1280
msgid "Specify location for initial part stock"
msgstr ""
-#: part/api.py:1257 part/api.py:1261 part/api.py:1276 part/api.py:1280
+#: part/api.py:1311 part/api.py:1315 part/api.py:1330 part/api.py:1334
msgid "This field is required"
msgstr ""
-#: part/bom.py:127 part/models.py:98 part/models.py:838
-#: part/templates/part/category.html:109 part/templates/part/part_base.html:345
+#: part/bom.py:142 part/models.py:116 part/models.py:857
+#: part/templates/part/category.html:109 part/templates/part/part_base.html:360
msgid "Default Location"
msgstr ""
-#: part/bom.py:128 templates/email/low_stock_notification.html:17
+#: part/bom.py:143 templates/email/low_stock_notification.html:17
msgid "Total Stock"
msgstr ""
-#: part/bom.py:129 part/templates/part/part_base.html:195
-#: templates/js/translated/order.js:3913
+#: part/bom.py:144 part/templates/part/part_base.html:195
+#: templates/js/translated/order.js:3910
msgid "Available Stock"
msgstr ""
-#: part/bom.py:130 part/templates/part/part_base.html:213
-#: templates/js/translated/bom.js:1001 templates/js/translated/build.js:1925
-#: templates/js/translated/part.js:588 templates/js/translated/part.js:608
-#: templates/js/translated/part.js:1338 templates/js/translated/part.js:1526
-#: templates/js/translated/table_filters.js:68
-msgid "On Order"
-msgstr ""
-
#: part/forms.py:41
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:99
+#: part/models.py:117
msgid "Default location for parts in this category"
msgstr ""
-#: part/models.py:102
+#: part/models.py:120
msgid "Default keywords"
msgstr ""
-#: part/models.py:102
+#: part/models.py:120
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:107 stock/models.py:85
+#: part/models.py:125 stock/models.py:101
msgid "Icon"
msgstr ""
-#: part/models.py:108 stock/models.py:86
+#: part/models.py:126 stock/models.py:102
msgid "Icon (optional)"
msgstr ""
-#: part/models.py:122 part/models.py:2517 part/templates/part/category.html:16
+#: part/models.py:140 part/models.py:3130 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
-#: part/models.py:123 part/templates/part/category.html:129
+#: part/models.py:141 part/templates/part/category.html:129
#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200
#: users/models.py:37
msgid "Part Categories"
msgstr ""
-#: part/models.py:344 part/templates/part/cat_link.html:3
-#: part/templates/part/category.html:23 part/templates/part/category.html:134
-#: part/templates/part/category.html:154
-#: part/templates/part/category_sidebar.html:9
-#: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84
-#: templates/InvenTree/settings/sidebar.html:41
-#: templates/js/translated/part.js:2019 templates/js/translated/search.js:146
-#: templates/navbar.html:24 users/models.py:38
-msgid "Parts"
-msgstr ""
-
-#: part/models.py:429
+#: part/models.py:448
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:499 part/models.py:511
+#: part/models.py:518 part/models.py:530
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:601
+#: part/models.py:620
msgid "Stock item with this serial number already exists"
msgstr ""
-#: part/models.py:732
+#: part/models.py:751
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:759 part/models.py:2573
+#: part/models.py:778 part/models.py:3186
msgid "Part name"
msgstr ""
-#: part/models.py:766
+#: part/models.py:785
msgid "Is Template"
msgstr ""
-#: part/models.py:767
+#: part/models.py:786
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:777
+#: part/models.py:796
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:778
+#: part/models.py:797
msgid "Variant Of"
msgstr ""
-#: part/models.py:784
+#: part/models.py:803
msgid "Part description"
msgstr ""
-#: part/models.py:789 part/templates/part/category.html:87
-#: part/templates/part/part_base.html:300
-msgid "Keywords"
-msgstr ""
-
-#: part/models.py:790
+#: part/models.py:809
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:797 part/models.py:2272 part/models.py:2516
+#: part/models.py:816 part/models.py:2885 part/models.py:3129
#: part/templates/part/part_base.html:263
#: templates/InvenTree/settings/settings.html:229
#: templates/js/translated/notification.js:50
-#: templates/js/translated/part.js:1480 templates/js/translated/part.js:1724
+#: templates/js/translated/part.js:1491 templates/js/translated/part.js:1748
msgid "Category"
msgstr ""
-#: part/models.py:798
+#: part/models.py:817
msgid "Part category"
msgstr ""
-#: part/models.py:803 part/templates/part/part_base.html:272
-#: templates/js/translated/part.js:737 templates/js/translated/part.js:1431
-#: templates/js/translated/stock.js:1726
-msgid "IPN"
-msgstr ""
-
-#: part/models.py:804
+#: part/models.py:823
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:810
+#: part/models.py:829
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:811 part/templates/part/part_base.html:279
-#: report/models.py:171 templates/js/translated/part.js:741
-msgid "Revision"
-msgstr ""
-
-#: part/models.py:836
+#: part/models.py:855
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:881 part/templates/part/part_base.html:354
+#: part/models.py:900 part/templates/part/part_base.html:369
msgid "Default Supplier"
msgstr ""
-#: part/models.py:882
+#: part/models.py:901
msgid "Default supplier part"
msgstr ""
-#: part/models.py:889
+#: part/models.py:908
msgid "Default Expiry"
msgstr ""
-#: part/models.py:890
+#: part/models.py:909
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:895 part/templates/part/part_base.html:206
-msgid "Minimum Stock"
-msgstr ""
-
-#: part/models.py:896
+#: part/models.py:915
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:903
+#: part/models.py:922
msgid "Stock keeping units for this part"
msgstr ""
-#: part/models.py:909
+#: part/models.py:928
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:915
+#: part/models.py:934
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:921
+#: part/models.py:940
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:926
+#: part/models.py:945
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:931
+#: part/models.py:950
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:936
+#: part/models.py:955
msgid "Is this part active?"
msgstr ""
-#: part/models.py:941
+#: part/models.py:960
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:943
+#: part/models.py:962
msgid "Part notes"
msgstr ""
-#: part/models.py:945
+#: part/models.py:964
msgid "BOM checksum"
msgstr ""
-#: part/models.py:945
+#: part/models.py:964
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:948
+#: part/models.py:967
msgid "BOM checked by"
msgstr ""
-#: part/models.py:950
+#: part/models.py:969
msgid "BOM checked date"
msgstr ""
-#: part/models.py:954
+#: part/models.py:973
msgid "Creation User"
msgstr ""
-#: part/models.py:1790
+#: part/models.py:1819
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2319
+#: part/models.py:2682
+msgid "Currency used to cache pricing calculations"
+msgstr ""
+
+#: part/models.py:2687
+msgid "Updated"
+msgstr ""
+
+#: part/models.py:2688
+msgid "Timestamp of last pricing update"
+msgstr ""
+
+#: part/models.py:2705
+msgid "Minimum BOM Cost"
+msgstr ""
+
+#: part/models.py:2706
+msgid "Minimum cost of component parts"
+msgstr ""
+
+#: part/models.py:2711
+msgid "Maximum BOM Cost"
+msgstr ""
+
+#: part/models.py:2712
+msgid "Maximum cost of component parts"
+msgstr ""
+
+#: part/models.py:2717
+msgid "Minimum Purchase Cost"
+msgstr ""
+
+#: part/models.py:2718
+msgid "Minimum historical purchase cost"
+msgstr ""
+
+#: part/models.py:2723
+msgid "Maximum Purchase Cost"
+msgstr ""
+
+#: part/models.py:2724
+msgid "Maximum historical purchase cost"
+msgstr ""
+
+#: part/models.py:2729
+msgid "Minimum Internal Price"
+msgstr ""
+
+#: part/models.py:2730
+msgid "Minimum cost based on internal price breaks"
+msgstr ""
+
+#: part/models.py:2735
+msgid "Maximum Internal Price"
+msgstr ""
+
+#: part/models.py:2736
+msgid "Maximum cost based on internal price breaks"
+msgstr ""
+
+#: part/models.py:2741
+msgid "Minimum Supplier Price"
+msgstr ""
+
+#: part/models.py:2742
+msgid "Minimum price of part from external suppliers"
+msgstr ""
+
+#: part/models.py:2747
+msgid "Maximum Supplier Price"
+msgstr ""
+
+#: part/models.py:2748
+msgid "Maximum price of part from external suppliers"
+msgstr ""
+
+#: part/models.py:2753
+msgid "Minimum Variant Cost"
+msgstr ""
+
+#: part/models.py:2754
+msgid "Calculated minimum cost of variant parts"
+msgstr ""
+
+#: part/models.py:2759
+msgid "Maximum Variant Cost"
+msgstr ""
+
+#: part/models.py:2760
+msgid "Calculated maximum cost of variant parts"
+msgstr ""
+
+#: part/models.py:2766
+msgid "Calculated overall minimum cost"
+msgstr ""
+
+#: part/models.py:2772
+msgid "Calculated overall maximum cost"
+msgstr ""
+
+#: part/models.py:2777
+msgid "Minimum Sale Price"
+msgstr ""
+
+#: part/models.py:2778
+msgid "Minimum sale price based on price breaks"
+msgstr ""
+
+#: part/models.py:2783
+msgid "Maximum Sale Price"
+msgstr ""
+
+#: part/models.py:2784
+msgid "Maximum sale price based on price breaks"
+msgstr ""
+
+#: part/models.py:2789
+msgid "Minimum Sale Cost"
+msgstr ""
+
+#: part/models.py:2790
+msgid "Minimum historical sale price"
+msgstr ""
+
+#: part/models.py:2795
+msgid "Maximum Sale Cost"
+msgstr ""
+
+#: part/models.py:2796
+msgid "Maximum historical sale price"
+msgstr ""
+
+#: part/models.py:2932
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:2336
+#: part/models.py:2949
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2356 templates/js/translated/part.js:2070
-#: templates/js/translated/stock.js:1340
+#: part/models.py:2969 templates/js/translated/part.js:2094
+#: templates/js/translated/stock.js:1359
msgid "Test Name"
msgstr ""
-#: part/models.py:2357
+#: part/models.py:2970
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2362
+#: part/models.py:2975
msgid "Test Description"
msgstr ""
-#: part/models.py:2363
+#: part/models.py:2976
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2368 templates/js/translated/part.js:2079
-#: templates/js/translated/table_filters.js:310
+#: part/models.py:2981 templates/js/translated/part.js:2103
+#: templates/js/translated/table_filters.js:314
msgid "Required"
msgstr ""
-#: part/models.py:2369
+#: part/models.py:2982
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2374 templates/js/translated/part.js:2087
+#: part/models.py:2987 templates/js/translated/part.js:2111
msgid "Requires Value"
msgstr ""
-#: part/models.py:2375
+#: part/models.py:2988
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2380 templates/js/translated/part.js:2094
+#: part/models.py:2993 templates/js/translated/part.js:2118
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2381
+#: part/models.py:2994
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:2422
+#: part/models.py:3035
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:2430
+#: part/models.py:3043
msgid "Parameter Name"
msgstr ""
-#: part/models.py:2434
+#: part/models.py:3047
msgid "Parameter Units"
msgstr ""
-#: part/models.py:2439
+#: part/models.py:3052
msgid "Parameter description"
msgstr ""
-#: part/models.py:2472
+#: part/models.py:3085
msgid "Parent Part"
msgstr ""
-#: part/models.py:2474 part/models.py:2522 part/models.py:2523
+#: part/models.py:3087 part/models.py:3135 part/models.py:3136
#: templates/InvenTree/settings/settings.html:224
msgid "Parameter Template"
msgstr ""
-#: part/models.py:2476
+#: part/models.py:3089
msgid "Data"
msgstr ""
-#: part/models.py:2476
+#: part/models.py:3089
msgid "Parameter Value"
msgstr ""
-#: part/models.py:2527 templates/InvenTree/settings/settings.html:233
+#: part/models.py:3140 templates/InvenTree/settings/settings.html:233
msgid "Default Value"
msgstr ""
-#: part/models.py:2528
+#: part/models.py:3141
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:2565
+#: part/models.py:3178
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:2568 templates/js/translated/model_renderers.js:212
-msgid "Part ID"
-msgstr ""
-
-#: part/models.py:2569
+#: part/models.py:3182
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:2572
-msgid "Part Name"
-msgstr ""
-
-#: part/models.py:2576
-msgid "Part IPN"
-msgstr ""
-
-#: part/models.py:2577
+#: part/models.py:3190
msgid "Part IPN value"
msgstr ""
-#: part/models.py:2580
+#: part/models.py:3193
msgid "Level"
msgstr ""
-#: part/models.py:2581
+#: part/models.py:3194
msgid "BOM level"
msgstr ""
-#: part/models.py:2650
+#: part/models.py:3263
msgid "Select parent part"
msgstr ""
-#: part/models.py:2658
+#: part/models.py:3271
msgid "Sub part"
msgstr ""
-#: part/models.py:2659
+#: part/models.py:3272
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:2665
+#: part/models.py:3278
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:2669 part/templates/part/upload_bom.html:58
-#: templates/js/translated/bom.js:924 templates/js/translated/bom.js:1024
+#: part/models.py:3282 part/templates/part/upload_bom.html:58
+#: templates/js/translated/bom.js:933 templates/js/translated/bom.js:986
#: templates/js/translated/build.js:1858
#: templates/js/translated/table_filters.js:84
-#: templates/js/translated/table_filters.js:108
+#: templates/js/translated/table_filters.js:112
msgid "Optional"
msgstr ""
-#: part/models.py:2670
+#: part/models.py:3283
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:2675 templates/js/translated/bom.js:920
-#: templates/js/translated/bom.js:1033 templates/js/translated/build.js:1849
+#: part/models.py:3288 templates/js/translated/bom.js:929
+#: templates/js/translated/bom.js:995 templates/js/translated/build.js:1849
#: templates/js/translated/table_filters.js:88
msgid "Consumable"
msgstr ""
-#: part/models.py:2676
+#: part/models.py:3289
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:2680 part/templates/part/upload_bom.html:55
+#: part/models.py:3293 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:2681
+#: part/models.py:3294
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:2684
+#: part/models.py:3297
msgid "BOM item reference"
msgstr ""
-#: part/models.py:2687
+#: part/models.py:3300
msgid "BOM item notes"
msgstr ""
-#: part/models.py:2689
+#: part/models.py:3302
msgid "Checksum"
msgstr ""
-#: part/models.py:2689
+#: part/models.py:3302
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:2693 part/templates/part/upload_bom.html:57
-#: templates/js/translated/bom.js:1050
+#: part/models.py:3306 part/templates/part/upload_bom.html:57
+#: templates/js/translated/bom.js:1012
#: templates/js/translated/table_filters.js:76
-#: templates/js/translated/table_filters.js:104
+#: templates/js/translated/table_filters.js:108
msgid "Inherited"
msgstr ""
-#: part/models.py:2694
+#: part/models.py:3307
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:2699 part/templates/part/upload_bom.html:56
-#: templates/js/translated/bom.js:1042
+#: part/models.py:3312 part/templates/part/upload_bom.html:56
+#: templates/js/translated/bom.js:1004
msgid "Allow Variants"
msgstr ""
-#: part/models.py:2700
+#: part/models.py:3313
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:2786 stock/models.py:502
+#: part/models.py:3399 stock/models.py:518
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:2795 part/models.py:2797
+#: part/models.py:3408 part/models.py:3410
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:2902
+#: part/models.py:3537
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:2923
+#: part/models.py:3558
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:2936
+#: part/models.py:3571
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:2944
+#: part/models.py:3579
msgid "Substitute part"
msgstr ""
-#: part/models.py:2959
+#: part/models.py:3594
msgid "Part 1"
msgstr ""
-#: part/models.py:2963
+#: part/models.py:3598
msgid "Part 2"
msgstr ""
-#: part/models.py:2963
+#: part/models.py:3598
msgid "Select Related Part"
msgstr ""
-#: part/models.py:2981
+#: part/models.py:3616
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:2985
+#: part/models.py:3620
msgid "Duplicate relationship already exists"
msgstr ""
-#: part/serializers.py:154 part/serializers.py:185 stock/serializers.py:179
+#: part/serializers.py:154 part/serializers.py:182 stock/serializers.py:183
msgid "Purchase currency of this stock item"
msgstr ""
-#: part/serializers.py:829
+#: part/serializers.py:542
+msgid "Update"
+msgstr ""
+
+#: part/serializers.py:543
+msgid "Update pricing for this part"
+msgstr ""
+
+#: part/serializers.py:853
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:837
+#: part/serializers.py:861
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:838
+#: part/serializers.py:862
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:843
+#: part/serializers.py:867
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:844
+#: part/serializers.py:868
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:849
+#: part/serializers.py:873
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:850
+#: part/serializers.py:874
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:855
+#: part/serializers.py:879
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:856
+#: part/serializers.py:880
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/serializers.py:896
+#: part/serializers.py:920
msgid "Clear Existing BOM"
msgstr ""
-#: part/serializers.py:897
+#: part/serializers.py:921
msgid "Delete existing BOM items before uploading"
msgstr ""
-#: part/serializers.py:927
+#: part/serializers.py:951
msgid "No part column specified"
msgstr ""
-#: part/serializers.py:970
+#: part/serializers.py:994
msgid "Multiple matching parts found"
msgstr ""
-#: part/serializers.py:973
+#: part/serializers.py:997
msgid "No matching part found"
msgstr ""
-#: part/serializers.py:976
+#: part/serializers.py:1000
msgid "Part is not designated as a component"
msgstr ""
-#: part/serializers.py:985
+#: part/serializers.py:1009
msgid "Quantity not provided"
msgstr ""
-#: part/serializers.py:993
+#: part/serializers.py:1017
msgid "Invalid quantity"
msgstr ""
-#: part/serializers.py:1014
+#: part/serializers.py:1038
msgid "At least one BOM item is required"
msgstr ""
-#: part/tasks.py:21
+#: part/tasks.py:25
msgid "Low stock notification"
msgstr ""
-#: part/tasks.py:22
+#: part/tasks.py:26
#, python-brace-format
msgid "The available stock for {part.name} has fallen below the configured minimum level"
msgstr ""
@@ -5034,7 +5293,7 @@ msgstr ""
msgid "The BOM for %(part)s has not been validated."
msgstr ""
-#: part/templates/part/bom.html:30 part/templates/part/detail.html:269
+#: part/templates/part/bom.html:30 part/templates/part/detail.html:267
msgid "BOM actions"
msgstr ""
@@ -5070,10 +5329,6 @@ msgstr ""
msgid "Delete Category"
msgstr ""
-#: part/templates/part/category.html:81 part/templates/part/category.html:94
-msgid "Category Path"
-msgstr ""
-
#: part/templates/part/category.html:95
msgid "Top level part category"
msgstr ""
@@ -5091,12 +5346,12 @@ msgstr ""
msgid "Create new part"
msgstr ""
-#: part/templates/part/category.html:159 templates/js/translated/bom.js:392
+#: part/templates/part/category.html:159 templates/js/translated/bom.js:405
msgid "New Part"
msgstr ""
-#: part/templates/part/category.html:169 part/templates/part/detail.html:368
-#: part/templates/part/detail.html:399
+#: part/templates/part/category.html:169 part/templates/part/detail.html:366
+#: part/templates/part/detail.html:397
msgid "Options"
msgstr ""
@@ -5144,7 +5399,7 @@ msgstr ""
msgid "Import Parts"
msgstr ""
-#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:379
+#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:393
msgid "Duplicate Part"
msgstr ""
@@ -5176,7 +5431,8 @@ msgstr ""
msgid "Refresh scheduling data"
msgstr ""
-#: part/templates/part/detail.html:45 templates/js/translated/tables.js:524
+#: part/templates/part/detail.html:45 part/templates/part/prices.html:15
+#: templates/js/translated/tables.js:524
msgid "Refresh"
msgstr ""
@@ -5192,123 +5448,103 @@ msgstr ""
msgid "Sales Order Allocations"
msgstr ""
-#: part/templates/part/detail.html:143
+#: part/templates/part/detail.html:141
msgid "Part Notes"
msgstr ""
-#: part/templates/part/detail.html:158
+#: part/templates/part/detail.html:156
msgid "Part Variants"
msgstr ""
-#: part/templates/part/detail.html:162
+#: part/templates/part/detail.html:160
msgid "Create new variant"
msgstr ""
-#: part/templates/part/detail.html:163
+#: part/templates/part/detail.html:161
msgid "New Variant"
msgstr ""
-#: part/templates/part/detail.html:190
+#: part/templates/part/detail.html:188
msgid "Add new parameter"
msgstr ""
-#: part/templates/part/detail.html:227 part/templates/part/part_sidebar.html:54
+#: part/templates/part/detail.html:225 part/templates/part/part_sidebar.html:52
msgid "Related Parts"
msgstr ""
-#: part/templates/part/detail.html:231 part/templates/part/detail.html:232
+#: part/templates/part/detail.html:229 part/templates/part/detail.html:230
msgid "Add Related"
msgstr ""
-#: part/templates/part/detail.html:252 part/templates/part/part_sidebar.html:17
+#: part/templates/part/detail.html:250 part/templates/part/part_sidebar.html:17
msgid "Bill of Materials"
msgstr ""
-#: part/templates/part/detail.html:257
+#: part/templates/part/detail.html:255
msgid "Export actions"
msgstr ""
-#: part/templates/part/detail.html:261 templates/js/translated/bom.js:309
+#: part/templates/part/detail.html:259 templates/js/translated/bom.js:309
msgid "Export BOM"
msgstr ""
-#: part/templates/part/detail.html:263
+#: part/templates/part/detail.html:261
msgid "Print BOM Report"
msgstr ""
-#: part/templates/part/detail.html:273
+#: part/templates/part/detail.html:271
msgid "Upload BOM"
msgstr ""
-#: part/templates/part/detail.html:274 templates/js/translated/part.js:274
+#: part/templates/part/detail.html:272 templates/js/translated/part.js:270
msgid "Copy BOM"
msgstr ""
-#: part/templates/part/detail.html:275
+#: part/templates/part/detail.html:273
msgid "Validate BOM"
msgstr ""
-#: part/templates/part/detail.html:280 part/templates/part/detail.html:281
-#: templates/js/translated/bom.js:1202 templates/js/translated/bom.js:1203
+#: part/templates/part/detail.html:278 part/templates/part/detail.html:279
+#: templates/js/translated/bom.js:1267 templates/js/translated/bom.js:1268
msgid "Add BOM Item"
msgstr ""
-#: part/templates/part/detail.html:294
+#: part/templates/part/detail.html:292
msgid "Assemblies"
msgstr ""
-#: part/templates/part/detail.html:312
+#: part/templates/part/detail.html:310
msgid "Part Builds"
msgstr ""
-#: part/templates/part/detail.html:339 stock/templates/stock/item.html:38
+#: part/templates/part/detail.html:337 stock/templates/stock/item.html:38
msgid "Build Order Allocations"
msgstr ""
-#: part/templates/part/detail.html:355
+#: part/templates/part/detail.html:353
msgid "Part Suppliers"
msgstr ""
-#: part/templates/part/detail.html:385
+#: part/templates/part/detail.html:383
msgid "Part Manufacturers"
msgstr ""
-#: part/templates/part/detail.html:401
+#: part/templates/part/detail.html:399
msgid "Delete manufacturer parts"
msgstr ""
-#: part/templates/part/detail.html:658
+#: part/templates/part/detail.html:656
msgid "Related Part"
msgstr ""
-#: part/templates/part/detail.html:666
+#: part/templates/part/detail.html:664
msgid "Add Related Part"
msgstr ""
-#: part/templates/part/detail.html:758
+#: part/templates/part/detail.html:756
msgid "Add Test Result Template"
msgstr ""
-#: part/templates/part/detail.html:901
-#, python-format
-msgid "Purchase Unit Price - %(currency)s"
-msgstr ""
-
-#: part/templates/part/detail.html:913
-#, python-format
-msgid "Unit Price-Cost Difference - %(currency)s"
-msgstr ""
-
-#: part/templates/part/detail.html:925
-#, python-format
-msgid "Supplier Unit Cost - %(currency)s"
-msgstr ""
-
-#: part/templates/part/detail.html:1014
-#, python-format
-msgid "Unit Price - %(currency)s"
-msgstr ""
-
#: part/templates/part/import_wizard/ajax_match_fields.html:9
#: templates/patterns/wizard/match_fields.html:8
msgid "Missing selections for the following required columns"
@@ -5439,15 +5675,15 @@ msgid "Part is virtual (not a physical part)"
msgstr ""
#: part/templates/part/part_base.html:148
-#: templates/js/translated/company.js:659
-#: templates/js/translated/company.js:920
+#: templates/js/translated/company.js:660
+#: templates/js/translated/company.js:921
#: templates/js/translated/model_renderers.js:204
-#: templates/js/translated/part.js:652 templates/js/translated/part.js:729
+#: templates/js/translated/part.js:666 templates/js/translated/part.js:743
msgid "Inactive"
msgstr ""
#: part/templates/part/part_base.html:165
-#: part/templates/part/part_base.html:620
+#: part/templates/part/part_base.html:635
msgid "Show Part Details"
msgstr ""
@@ -5456,12 +5692,6 @@ msgstr ""
msgid "This part is a variant of %(link)s"
msgstr ""
-#: part/templates/part/part_base.html:200
-#: templates/js/translated/company.js:1027
-#: templates/js/translated/table_filters.js:209
-msgid "In Stock"
-msgstr ""
-
#: part/templates/part/part_base.html:221
#: stock/templates/stock/item_base.html:382
msgid "Allocated to Build Orders"
@@ -5472,100 +5702,91 @@ msgstr ""
msgid "Allocated to Sales Orders"
msgstr ""
-#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1100
+#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1165
msgid "Can Build"
msgstr ""
-#: part/templates/part/part_base.html:244 templates/js/translated/part.js:591
-#: templates/js/translated/part.js:611 templates/js/translated/part.js:1342
-#: templates/js/translated/part.js:1533
-msgid "Building"
-msgstr ""
-
#: part/templates/part/part_base.html:293
msgid "Minimum stock level"
msgstr ""
-#: part/templates/part/part_base.html:330
+#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1032
+#: templates/js/translated/part.js:783 templates/js/translated/part.js:1582
+#: templates/js/translated/pricing.js:124
+#: templates/js/translated/pricing.js:757
+msgid "Price Range"
+msgstr ""
+
+#: part/templates/part/part_base.html:345
msgid "Latest Serial Number"
msgstr ""
-#: part/templates/part/part_base.html:334
+#: part/templates/part/part_base.html:349
#: stock/templates/stock/item_base.html:331
msgid "Search for serial number"
msgstr ""
-#: part/templates/part/part_base.html:431
+#: part/templates/part/part_base.html:446
msgid "Link Barcode to Part"
msgstr ""
-#: part/templates/part/part_base.html:477 part/templates/part/prices.html:149
+#: part/templates/part/part_base.html:492
msgid "Calculate"
msgstr ""
-#: part/templates/part/part_base.html:520
+#: part/templates/part/part_base.html:535
msgid "No matching images found"
msgstr ""
-#: part/templates/part/part_base.html:614
+#: part/templates/part/part_base.html:629
msgid "Hide Part Details"
msgstr ""
-#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:24
+#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:78
+#: part/templates/part/prices.html:238 templates/js/translated/pricing.js:218
msgid "Supplier Pricing"
msgstr ""
#: part/templates/part/part_pricing.html:26
#: part/templates/part/part_pricing.html:52
-#: part/templates/part/part_pricing.html:103
-#: part/templates/part/part_pricing.html:118 part/templates/part/prices.html:28
-#: part/templates/part/prices.html:55 part/templates/part/prices.html:108
-#: part/templates/part/prices.html:125
+#: part/templates/part/part_pricing.html:95
+#: part/templates/part/part_pricing.html:110
msgid "Unit Cost"
msgstr ""
#: part/templates/part/part_pricing.html:32
#: part/templates/part/part_pricing.html:58
-#: part/templates/part/part_pricing.html:107
-#: part/templates/part/part_pricing.html:122 part/templates/part/prices.html:35
-#: part/templates/part/prices.html:62 part/templates/part/prices.html:113
-#: part/templates/part/prices.html:130
+#: part/templates/part/part_pricing.html:99
+#: part/templates/part/part_pricing.html:114
msgid "Total Cost"
msgstr ""
-#: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:43
-#: templates/js/translated/bom.js:1091
+#: part/templates/part/part_pricing.html:40
msgid "No supplier pricing available"
msgstr ""
-#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:52
-#: part/templates/part/prices.html:248
+#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:94
+#: part/templates/part/prices.html:262
msgid "BOM Pricing"
msgstr ""
-#: part/templates/part/part_pricing.html:66 part/templates/part/prices.html:72
+#: part/templates/part/part_pricing.html:66
msgid "Unit Purchase Price"
msgstr ""
-#: part/templates/part/part_pricing.html:72 part/templates/part/prices.html:79
+#: part/templates/part/part_pricing.html:72
msgid "Total Purchase Price"
msgstr ""
-#: part/templates/part/part_pricing.html:82 part/templates/part/prices.html:89
-msgid "Note: BOM pricing is incomplete for this part"
-msgstr ""
-
-#: part/templates/part/part_pricing.html:91 part/templates/part/prices.html:98
+#: part/templates/part/part_pricing.html:83
msgid "No BOM pricing available"
msgstr ""
-#: part/templates/part/part_pricing.html:100
-#: part/templates/part/prices.html:107
+#: part/templates/part/part_pricing.html:92
msgid "Internal Price"
msgstr ""
-#: part/templates/part/part_pricing.html:131
-#: part/templates/part/prices.html:139
+#: part/templates/part/part_pricing.html:123
msgid "No pricing information is available for this part."
msgstr ""
@@ -5573,7 +5794,8 @@ msgstr ""
#: report/templates/report/inventree_test_report_base.html:97
#: templates/InvenTree/settings/plugin.html:63
#: templates/InvenTree/settings/plugin_settings.html:38
-#: templates/js/translated/order.js:2001 templates/js/translated/stock.js:2478
+#: templates/js/translated/order.js:2035 templates/js/translated/pricing.js:537
+#: templates/js/translated/pricing.js:658 templates/js/translated/stock.js:2496
msgid "Date"
msgstr ""
@@ -5585,15 +5807,11 @@ msgstr ""
msgid "Variants"
msgstr ""
-#: part/templates/part/part_sidebar.html:27
-msgid "Used In"
-msgstr ""
-
-#: part/templates/part/part_sidebar.html:46
+#: part/templates/part/part_sidebar.html:44
msgid "Scheduling"
msgstr ""
-#: part/templates/part/part_sidebar.html:50
+#: part/templates/part/part_sidebar.html:48
msgid "Test Templates"
msgstr ""
@@ -5601,74 +5819,82 @@ msgstr ""
msgid "Select from existing images"
msgstr ""
-#: part/templates/part/prices.html:19
-msgid "Pricing ranges"
+#: part/templates/part/prices.html:11
+msgid "Pricing Overview"
msgstr ""
-#: part/templates/part/prices.html:25
-msgid "Show supplier cost"
+#: part/templates/part/prices.html:14
+msgid "Refresh Part Pricing"
msgstr ""
-#: part/templates/part/prices.html:26
-msgid "Show purchase price"
+#: part/templates/part/prices.html:25 stock/admin.py:106
+#: stock/templates/stock/item_base.html:440
+#: templates/js/translated/company.js:1039
+#: templates/js/translated/stock.js:1920
+msgid "Last Updated"
msgstr ""
-#: part/templates/part/prices.html:53
-msgid "Show BOM cost"
+#: part/templates/part/prices.html:34 part/templates/part/prices.html:126
+msgid "Price Category"
msgstr ""
-#: part/templates/part/prices.html:122
-msgid "Show sale cost"
+#: part/templates/part/prices.html:35 part/templates/part/prices.html:127
+msgid "Minimum"
msgstr ""
-#: part/templates/part/prices.html:123
-msgid "Show sale price"
+#: part/templates/part/prices.html:36 part/templates/part/prices.html:128
+msgid "Maximum"
msgstr ""
-#: part/templates/part/prices.html:145
-msgid "Calculation parameters"
+#: part/templates/part/prices.html:49 part/templates/part/prices.html:185
+msgid "Internal Pricing"
msgstr ""
-#: part/templates/part/prices.html:160 templates/js/translated/bom.js:1085
-msgid "Supplier Cost"
+#: part/templates/part/prices.html:64 part/templates/part/prices.html:217
+msgid "Purchase History"
msgstr ""
-#: part/templates/part/prices.html:161 part/templates/part/prices.html:182
-#: part/templates/part/prices.html:206 part/templates/part/prices.html:236
-#: part/templates/part/prices.html:262 part/templates/part/prices.html:291
+#: part/templates/part/prices.html:103 part/templates/part/prices.html:286
+msgid "Variant Pricing"
+msgstr ""
+
+#: part/templates/part/prices.html:111
+msgid "Overall Pricing"
+msgstr ""
+
+#: part/templates/part/prices.html:155 part/templates/part/prices.html:338
+msgid "Sale History"
+msgstr ""
+
+#: part/templates/part/prices.html:168
+msgid "Sale price data is not available for this part"
+msgstr ""
+
+#: part/templates/part/prices.html:175
+msgid "Price range data is not available for this part."
+msgstr ""
+
+#: part/templates/part/prices.html:186 part/templates/part/prices.html:218
+#: part/templates/part/prices.html:239 part/templates/part/prices.html:263
+#: part/templates/part/prices.html:287 part/templates/part/prices.html:310
+#: part/templates/part/prices.html:339
msgid "Jump to overview"
msgstr ""
-#: part/templates/part/prices.html:186
-msgid "Stock Pricing"
-msgstr ""
-
-#: part/templates/part/prices.html:195
-msgid "No stock pricing history is available for this part."
-msgstr ""
-
-#: part/templates/part/prices.html:205
-msgid "Internal Cost"
-msgstr ""
-
-#: part/templates/part/prices.html:220
+#: part/templates/part/prices.html:191
msgid "Add Internal Price Break"
msgstr ""
-#: part/templates/part/prices.html:235
-msgid "BOM Cost"
+#: part/templates/part/prices.html:309
+msgid "Sale Pricing"
msgstr ""
-#: part/templates/part/prices.html:261
-msgid "Sale Cost"
+#: part/templates/part/prices.html:315
+msgid "Add Sell Price Break"
msgstr ""
-#: part/templates/part/prices.html:302
-msgid "No sale pice history available for this part."
-msgstr ""
-
-#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:614
-#: templates/js/translated/part.js:1330 templates/js/translated/part.js:1332
+#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:628
+#: templates/js/translated/part.js:1351 templates/js/translated/part.js:1353
msgid "No Stock"
msgstr ""
@@ -5722,40 +5948,36 @@ msgstr ""
msgid "Create a new variant of template '%(full_name)s'."
msgstr ""
-#: part/templatetags/inventree_extras.py:177
+#: part/templatetags/inventree_extras.py:210
msgid "Unknown database"
msgstr ""
-#: part/templatetags/inventree_extras.py:229
+#: part/templatetags/inventree_extras.py:262
#, python-brace-format
msgid "{title} v{version}"
msgstr ""
-#: part/views.py:114
+#: part/views.py:109
msgid "Match References"
msgstr ""
-#: part/views.py:415
-msgid "None"
-msgstr ""
-
-#: part/views.py:477
+#: part/views.py:354
msgid "Part QR Code"
msgstr ""
-#: part/views.py:495
+#: part/views.py:372
msgid "Select Part Image"
msgstr ""
-#: part/views.py:521
+#: part/views.py:398
msgid "Updated part image"
msgstr ""
-#: part/views.py:524
+#: part/views.py:401
msgid "Part image not found"
msgstr ""
-#: part/views.py:613
+#: part/views.py:493
msgid "Part Pricing"
msgstr ""
@@ -6070,12 +6292,12 @@ msgid "Stock Item Test Report"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:79
-#: stock/models.py:650 stock/templates/stock/item_base.html:320
+#: stock/models.py:666 stock/templates/stock/item_base.html:320
#: templates/js/translated/build.js:472 templates/js/translated/build.js:624
#: templates/js/translated/build.js:1234 templates/js/translated/build.js:1735
#: templates/js/translated/model_renderers.js:118
-#: templates/js/translated/order.js:121 templates/js/translated/order.js:3592
-#: templates/js/translated/order.js:3679 templates/js/translated/stock.js:490
+#: templates/js/translated/order.js:121 templates/js/translated/order.js:3603
+#: templates/js/translated/order.js:3690 templates/js/translated/stock.js:509
msgid "Serial Number"
msgstr ""
@@ -6084,12 +6306,12 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:93
-#: stock/models.py:2085
+#: stock/models.py:2101
msgid "Test"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:94
-#: stock/models.py:2091
+#: stock/models.py:2107
msgid "Result"
msgstr ""
@@ -6107,383 +6329,435 @@ msgid "Installed Items"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:137
-#: templates/js/translated/stock.js:610 templates/js/translated/stock.js:780
-#: templates/js/translated/stock.js:2727
+#: stock/admin.py:87 templates/js/translated/stock.js:629
+#: templates/js/translated/stock.js:799 templates/js/translated/stock.js:2745
msgid "Serial"
msgstr ""
-#: stock/api.py:529
+#: stock/admin.py:23 stock/admin.py:90
+#: templates/js/translated/model_renderers.js:159
+msgid "Location ID"
+msgstr ""
+
+#: stock/admin.py:24 stock/admin.py:91
+msgid "Location Name"
+msgstr ""
+
+#: stock/admin.py:28 stock/templates/stock/location.html:123
+#: stock/templates/stock/location.html:129
+msgid "Location Path"
+msgstr ""
+
+#: stock/admin.py:83
+msgid "Stock Item ID"
+msgstr ""
+
+#: stock/admin.py:92 templates/js/translated/model_renderers.js:418
+msgid "Supplier Part ID"
+msgstr ""
+
+#: stock/admin.py:93
+msgid "Supplier ID"
+msgstr ""
+
+#: stock/admin.py:94
+msgid "Supplier Name"
+msgstr ""
+
+#: stock/admin.py:95
+msgid "Customer ID"
+msgstr ""
+
+#: stock/admin.py:96 stock/models.py:649
+#: stock/templates/stock/item_base.html:359
+msgid "Installed In"
+msgstr ""
+
+#: stock/admin.py:97 templates/js/translated/model_renderers.js:177
+msgid "Build ID"
+msgstr ""
+
+#: stock/admin.py:99
+msgid "Sales Order ID"
+msgstr ""
+
+#: stock/admin.py:100
+msgid "Purchase Order ID"
+msgstr ""
+
+#: stock/admin.py:107 templates/js/translated/stock.js:1890
+msgid "Stocktake"
+msgstr ""
+
+#: stock/admin.py:108 stock/models.py:724
+#: stock/templates/stock/item_base.html:427
+#: templates/js/translated/stock.js:1904
+msgid "Expiry Date"
+msgstr ""
+
+#: stock/api.py:539
msgid "Quantity is required"
msgstr ""
-#: stock/api.py:536
+#: stock/api.py:546
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:561
+#: stock/api.py:571
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/models.py:90 stock/models.py:746
+#: stock/models.py:106 stock/models.py:762
#: stock/templates/stock/item_base.html:250
msgid "Owner"
msgstr ""
-#: stock/models.py:91 stock/models.py:747
+#: stock/models.py:107 stock/models.py:763
msgid "Select Owner"
msgstr ""
-#: stock/models.py:508 stock/serializers.py:93
+#: stock/models.py:524 stock/serializers.py:97
msgid "Stock item cannot be created for virtual parts"
msgstr ""
-#: stock/models.py:525
+#: stock/models.py:541
#, python-brace-format
msgid "Part type ('{pf}') must be {pe}"
msgstr ""
-#: stock/models.py:535 stock/models.py:544
+#: stock/models.py:551 stock/models.py:560
msgid "Quantity must be 1 for item with a serial number"
msgstr ""
-#: stock/models.py:536
+#: stock/models.py:552
msgid "Serial number cannot be set if quantity greater than 1"
msgstr ""
-#: stock/models.py:558
+#: stock/models.py:574
msgid "Item cannot belong to itself"
msgstr ""
-#: stock/models.py:564
+#: stock/models.py:580
msgid "Item must have a build reference if is_building=True"
msgstr ""
-#: stock/models.py:578
+#: stock/models.py:594
msgid "Build reference does not point to the same part object"
msgstr ""
-#: stock/models.py:592
+#: stock/models.py:608
msgid "Parent Stock Item"
msgstr ""
-#: stock/models.py:602
+#: stock/models.py:618
msgid "Base part"
msgstr ""
-#: stock/models.py:610
+#: stock/models.py:626
msgid "Select a matching supplier part for this stock item"
msgstr ""
-#: stock/models.py:617 stock/templates/stock/location.html:17
+#: stock/models.py:633 stock/templates/stock/location.html:17
#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
msgstr ""
-#: stock/models.py:620
+#: stock/models.py:636
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:627
+#: stock/models.py:643
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:633 stock/templates/stock/item_base.html:359
-msgid "Installed In"
-msgstr ""
-
-#: stock/models.py:636
+#: stock/models.py:652
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:652
+#: stock/models.py:668
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:666
+#: stock/models.py:682
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:671
+#: stock/models.py:687
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:680
+#: stock/models.py:696
msgid "Source Build"
msgstr ""
-#: stock/models.py:682
+#: stock/models.py:698
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:693
+#: stock/models.py:709
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:696
+#: stock/models.py:712
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:702
+#: stock/models.py:718
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:708 stock/templates/stock/item_base.html:427
-#: templates/js/translated/stock.js:1885
-msgid "Expiry Date"
-msgstr ""
-
-#: stock/models.py:709
+#: stock/models.py:725
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:722
+#: stock/models.py:738
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:722
+#: stock/models.py:738
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:734 stock/templates/stock/item.html:132
+#: stock/models.py:750 stock/templates/stock/item.html:132
msgid "Stock Item Notes"
msgstr ""
-#: stock/models.py:742
+#: stock/models.py:758
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:770
+#: stock/models.py:786
msgid "Converted to part"
msgstr ""
-#: stock/models.py:1244
+#: stock/models.py:1260
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1250
+#: stock/models.py:1266
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1256
+#: stock/models.py:1272
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr ""
-#: stock/models.py:1259
+#: stock/models.py:1275
msgid "Serial numbers must be a list of integers"
msgstr ""
-#: stock/models.py:1262
+#: stock/models.py:1278
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1269
+#: stock/models.py:1285
#, python-brace-format
msgid "Serial numbers already exist: {exists}"
msgstr ""
-#: stock/models.py:1339
+#: stock/models.py:1355
msgid "Stock item has been assigned to a sales order"
msgstr ""
-#: stock/models.py:1342
+#: stock/models.py:1358
msgid "Stock item is installed in another item"
msgstr ""
-#: stock/models.py:1345
+#: stock/models.py:1361
msgid "Stock item contains other items"
msgstr ""
-#: stock/models.py:1348
+#: stock/models.py:1364
msgid "Stock item has been assigned to a customer"
msgstr ""
-#: stock/models.py:1351
+#: stock/models.py:1367
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:1354
+#: stock/models.py:1370
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1361 stock/serializers.py:963
+#: stock/models.py:1377 stock/serializers.py:962
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:1365
+#: stock/models.py:1381
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:1369
+#: stock/models.py:1385
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:1373
+#: stock/models.py:1389
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:1542
+#: stock/models.py:1558
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:2003
+#: stock/models.py:2019
msgid "Entry notes"
msgstr ""
-#: stock/models.py:2061
+#: stock/models.py:2077
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:2067
+#: stock/models.py:2083
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:2086
+#: stock/models.py:2102
msgid "Test name"
msgstr ""
-#: stock/models.py:2092
+#: stock/models.py:2108
msgid "Test result"
msgstr ""
-#: stock/models.py:2098
+#: stock/models.py:2114
msgid "Test output value"
msgstr ""
-#: stock/models.py:2105
+#: stock/models.py:2121
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2111
+#: stock/models.py:2127
msgid "Test notes"
msgstr ""
-#: stock/serializers.py:71
+#: stock/serializers.py:75
msgid "Serial number is too large"
msgstr ""
-#: stock/serializers.py:172
+#: stock/serializers.py:176
msgid "Purchase price of this stock item"
msgstr ""
-#: stock/serializers.py:292
+#: stock/serializers.py:286
msgid "Enter number of stock items to serialize"
msgstr ""
-#: stock/serializers.py:304
+#: stock/serializers.py:298
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({q})"
msgstr ""
-#: stock/serializers.py:310
+#: stock/serializers.py:304
msgid "Enter serial numbers for new items"
msgstr ""
-#: stock/serializers.py:321 stock/serializers.py:920 stock/serializers.py:1153
+#: stock/serializers.py:315 stock/serializers.py:919 stock/serializers.py:1152
msgid "Destination stock location"
msgstr ""
-#: stock/serializers.py:328
+#: stock/serializers.py:322
msgid "Optional note field"
msgstr ""
-#: stock/serializers.py:338
+#: stock/serializers.py:332
msgid "Serial numbers cannot be assigned to this part"
msgstr ""
-#: stock/serializers.py:359
+#: stock/serializers.py:353
msgid "Serial numbers already exist"
msgstr ""
-#: stock/serializers.py:399
+#: stock/serializers.py:393
msgid "Select stock item to install"
msgstr ""
-#: stock/serializers.py:412
+#: stock/serializers.py:406
msgid "Stock item is unavailable"
msgstr ""
-#: stock/serializers.py:419
+#: stock/serializers.py:413
msgid "Selected part is not in the Bill of Materials"
msgstr ""
-#: stock/serializers.py:456
+#: stock/serializers.py:450
msgid "Destination location for uninstalled item"
msgstr ""
-#: stock/serializers.py:461 stock/serializers.py:542
+#: stock/serializers.py:455 stock/serializers.py:536
msgid "Add transaction note (optional)"
msgstr ""
-#: stock/serializers.py:495
+#: stock/serializers.py:489
msgid "Select part to convert stock item into"
msgstr ""
-#: stock/serializers.py:506
+#: stock/serializers.py:500
msgid "Selected part is not a valid option for conversion"
msgstr ""
-#: stock/serializers.py:537
+#: stock/serializers.py:531
msgid "Destination location for returned item"
msgstr ""
-#: stock/serializers.py:775
+#: stock/serializers.py:774
msgid "Part must be salable"
msgstr ""
-#: stock/serializers.py:779
+#: stock/serializers.py:778
msgid "Item is allocated to a sales order"
msgstr ""
-#: stock/serializers.py:783
+#: stock/serializers.py:782
msgid "Item is allocated to a build order"
msgstr ""
-#: stock/serializers.py:814
+#: stock/serializers.py:813
msgid "Customer to assign stock items"
msgstr ""
-#: stock/serializers.py:820
+#: stock/serializers.py:819
msgid "Selected company is not a customer"
msgstr ""
-#: stock/serializers.py:828
+#: stock/serializers.py:827
msgid "Stock assignment notes"
msgstr ""
-#: stock/serializers.py:838 stock/serializers.py:1069
+#: stock/serializers.py:837 stock/serializers.py:1068
msgid "A list of stock items must be provided"
msgstr ""
-#: stock/serializers.py:927
+#: stock/serializers.py:926
msgid "Stock merging notes"
msgstr ""
-#: stock/serializers.py:932
+#: stock/serializers.py:931
msgid "Allow mismatched suppliers"
msgstr ""
-#: stock/serializers.py:933
+#: stock/serializers.py:932
msgid "Allow stock items with different supplier parts to be merged"
msgstr ""
-#: stock/serializers.py:938
+#: stock/serializers.py:937
msgid "Allow mismatched status"
msgstr ""
-#: stock/serializers.py:939
+#: stock/serializers.py:938
msgid "Allow stock items with different status codes to be merged"
msgstr ""
-#: stock/serializers.py:949
+#: stock/serializers.py:948
msgid "At least two stock items must be provided"
msgstr ""
-#: stock/serializers.py:1031
+#: stock/serializers.py:1030
msgid "StockItem primary key value"
msgstr ""
-#: stock/serializers.py:1059
+#: stock/serializers.py:1058
msgid "Stock transaction notes"
msgstr ""
@@ -6520,7 +6794,7 @@ msgstr ""
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2871
+#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2889
msgid "Install Stock Item"
msgstr ""
@@ -6528,7 +6802,7 @@ msgstr ""
msgid "Delete all test results for this stock item"
msgstr ""
-#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1522
+#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1541
msgid "Add Test Result"
msgstr ""
@@ -6687,7 +6961,7 @@ msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:431
-#: templates/js/translated/table_filters.js:277
+#: templates/js/translated/table_filters.js:281
msgid "Expired"
msgstr ""
@@ -6697,16 +6971,10 @@ msgid "This StockItem expires on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/table_filters.js:283
+#: templates/js/translated/table_filters.js:287
msgid "Stale"
msgstr ""
-#: stock/templates/stock/item_base.html:440
-#: templates/js/translated/company.js:1038
-#: templates/js/translated/stock.js:1901
-msgid "Last Updated"
-msgstr ""
-
#: stock/templates/stock/item_base.html:445
msgid "Last Stocktake"
msgstr ""
@@ -6783,11 +7051,6 @@ msgstr ""
msgid "Delete location"
msgstr ""
-#: stock/templates/stock/location.html:123
-#: stock/templates/stock/location.html:129
-msgid "Location Path"
-msgstr ""
-
#: stock/templates/stock/location.html:130
msgid "Top level stock location"
msgstr ""
@@ -6960,6 +7223,14 @@ msgstr ""
msgid "Overdue Sales Orders"
msgstr ""
+#: templates/InvenTree/index.html:312
+msgid "InvenTree News"
+msgstr ""
+
+#: templates/InvenTree/index.html:314
+msgid "Current News"
+msgstr ""
+
#: templates/InvenTree/notifications/history.html:9
msgid "Notification History"
msgstr ""
@@ -7026,30 +7297,6 @@ msgstr ""
msgid "Category Settings"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:8
-msgid "Currency Settings"
-msgstr ""
-
-#: templates/InvenTree/settings/currencies.html:19
-msgid "Base Currency"
-msgstr ""
-
-#: templates/InvenTree/settings/currencies.html:24
-msgid "Exchange Rates"
-msgstr ""
-
-#: templates/InvenTree/settings/currencies.html:38
-msgid "Last Update"
-msgstr ""
-
-#: templates/InvenTree/settings/currencies.html:44
-msgid "Never"
-msgstr ""
-
-#: templates/InvenTree/settings/currencies.html:49
-msgid "Update Now"
-msgstr ""
-
#: templates/InvenTree/settings/global.html:9
msgid "Server Settings"
msgstr ""
@@ -7090,15 +7337,15 @@ msgstr ""
msgid "Part Settings"
msgstr ""
-#: templates/InvenTree/settings/part.html:46
+#: templates/InvenTree/settings/part.html:40
msgid "Part Import"
msgstr ""
-#: templates/InvenTree/settings/part.html:50
+#: templates/InvenTree/settings/part.html:44
msgid "Import Part"
msgstr ""
-#: templates/InvenTree/settings/part.html:64
+#: templates/InvenTree/settings/part.html:58
msgid "Part Parameter Templates"
msgstr ""
@@ -7125,11 +7372,6 @@ msgstr ""
msgid "External plugins are not enabled for this InvenTree installation"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:62
-#: templates/InvenTree/settings/plugin_settings.html:33
-msgid "Author"
-msgstr ""
-
#: templates/InvenTree/settings/plugin.html:64
#: templates/InvenTree/settings/plugin_settings.html:43
msgid "Version"
@@ -7239,6 +7481,39 @@ msgstr ""
msgid "Purchase Order Settings"
msgstr ""
+#: templates/InvenTree/settings/pricing.html:7
+msgid "Pricing Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:24
+msgid "Currency Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:30
+msgid "Update Now"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:39
+#: templates/InvenTree/settings/pricing.html:43
+msgid "Last Update"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:43
+msgid "Never"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:53
+msgid "Base Currency"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:58
+msgid "Exchange Rates"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:60
+msgid "Rate"
+msgstr ""
+
#: templates/InvenTree/settings/report.html:8
#: templates/InvenTree/settings/user_reports.html:9
msgid "Report Settings"
@@ -7295,6 +7570,7 @@ msgid "No part parameter templates found"
msgstr ""
#: templates/InvenTree/settings/settings.html:338
+#: templates/js/translated/news.js:28
#: templates/js/translated/notification.js:36
msgid "ID"
msgstr ""
@@ -7357,10 +7633,6 @@ msgstr ""
msgid "Server Configuration"
msgstr ""
-#: templates/InvenTree/settings/sidebar.html:35
-msgid "Currencies"
-msgstr ""
-
#: templates/InvenTree/settings/sidebar.html:43
msgid "Categories"
msgstr ""
@@ -7380,7 +7652,7 @@ msgid "Change Password"
msgstr ""
#: templates/InvenTree/settings/user.html:23
-#: templates/js/translated/helpers.js:31 templates/notes_buttons.html:3
+#: templates/js/translated/helpers.js:33 templates/notes_buttons.html:3
#: templates/notes_buttons.html:4
msgid "Edit"
msgstr ""
@@ -7890,7 +8162,7 @@ msgid "The following parts are low on required stock"
msgstr ""
#: templates/email/build_order_required_stock.html:18
-#: templates/js/translated/bom.js:1566
+#: templates/js/translated/bom.js:1629
msgid "Required Quantity"
msgstr ""
@@ -7904,7 +8176,7 @@ msgid "Click on the following link to view this part"
msgstr ""
#: templates/email/low_stock_notification.html:19
-#: templates/js/translated/part.js:2566
+#: templates/js/translated/part.js:2423
msgid "Minimum Quantity"
msgstr ""
@@ -8057,7 +8329,7 @@ msgstr ""
msgid "Unlink"
msgstr ""
-#: templates/js/translated/barcode.js:500 templates/js/translated/stock.js:1054
+#: templates/js/translated/barcode.js:500 templates/js/translated/stock.js:1073
msgid "Remove stock item"
msgstr ""
@@ -8127,10 +8399,10 @@ msgstr ""
msgid "Row Data"
msgstr ""
-#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:646
+#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:659
#: templates/js/translated/modals.js:56 templates/js/translated/modals.js:601
#: templates/js/translated/modals.js:695 templates/js/translated/modals.js:1003
-#: templates/js/translated/order.js:1179 templates/modals.html:15
+#: templates/js/translated/order.js:1213 templates/modals.html:15
#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50
msgid "Close"
msgstr ""
@@ -8140,12 +8412,12 @@ msgid "Download BOM Template"
msgstr ""
#: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312
-#: templates/js/translated/order.js:960 templates/js/translated/tables.js:145
+#: templates/js/translated/order.js:994 templates/js/translated/tables.js:145
msgid "Format"
msgstr ""
#: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313
-#: templates/js/translated/order.js:961
+#: templates/js/translated/order.js:995
msgid "Select file format"
msgstr ""
@@ -8197,118 +8469,130 @@ msgstr ""
msgid "Include part supplier data in exported BOM"
msgstr ""
-#: templates/js/translated/bom.js:537
+#: templates/js/translated/bom.js:358
+msgid "Include Pricing Data"
+msgstr ""
+
+#: templates/js/translated/bom.js:359
+msgid "Include part pricing data in exported BOM"
+msgstr ""
+
+#: templates/js/translated/bom.js:550
msgid "Remove substitute part"
msgstr ""
-#: templates/js/translated/bom.js:591
+#: templates/js/translated/bom.js:604
msgid "Select and add a new substitute part using the input below"
msgstr ""
-#: templates/js/translated/bom.js:602
+#: templates/js/translated/bom.js:615
msgid "Are you sure you wish to remove this substitute part link?"
msgstr ""
-#: templates/js/translated/bom.js:608
+#: templates/js/translated/bom.js:621
msgid "Remove Substitute Part"
msgstr ""
-#: templates/js/translated/bom.js:647
+#: templates/js/translated/bom.js:660
msgid "Add Substitute"
msgstr ""
-#: templates/js/translated/bom.js:648
+#: templates/js/translated/bom.js:661
msgid "Edit BOM Item Substitutes"
msgstr ""
-#: templates/js/translated/bom.js:710
+#: templates/js/translated/bom.js:723
msgid "All selected BOM items will be deleted"
msgstr ""
-#: templates/js/translated/bom.js:726
+#: templates/js/translated/bom.js:739
msgid "Delete selected BOM items?"
msgstr ""
-#: templates/js/translated/bom.js:860
+#: templates/js/translated/bom.js:868
msgid "Load BOM for subassembly"
msgstr ""
-#: templates/js/translated/bom.js:870
+#: templates/js/translated/bom.js:878
msgid "Substitutes Available"
msgstr ""
-#: templates/js/translated/bom.js:874 templates/js/translated/build.js:1835
+#: templates/js/translated/bom.js:882 templates/js/translated/build.js:1835
msgid "Variant stock allowed"
msgstr ""
-#: templates/js/translated/bom.js:983 templates/js/translated/build.js:1907
-#: templates/js/translated/order.js:3927
-msgid "No Stock Available"
-msgstr ""
-
-#: templates/js/translated/bom.js:988 templates/js/translated/build.js:1911
-msgid "Includes variant and substitute stock"
-msgstr ""
-
-#: templates/js/translated/bom.js:990 templates/js/translated/build.js:1913
-#: templates/js/translated/part.js:761 templates/js/translated/part.js:1539
-msgid "Includes variant stock"
-msgstr ""
-
-#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1915
-msgid "Includes substitute stock"
-msgstr ""
-
-#: templates/js/translated/bom.js:1010
+#: templates/js/translated/bom.js:972
msgid "Substitutes"
msgstr ""
-#: templates/js/translated/bom.js:1061 templates/js/translated/bom.js:1195
+#: templates/js/translated/bom.js:1023 templates/js/translated/bom.js:1260
msgid "View BOM"
msgstr ""
-#: templates/js/translated/bom.js:1071
-msgid "Purchase Price Range"
+#: templates/js/translated/bom.js:1094
+msgid "BOM pricing is complete"
msgstr ""
-#: templates/js/translated/bom.js:1078
-msgid "Purchase Price Average"
+#: templates/js/translated/bom.js:1099
+msgid "BOM pricing is incomplete"
msgstr ""
-#: templates/js/translated/bom.js:1106 templates/js/translated/build.js:1898
+#: templates/js/translated/bom.js:1106
+msgid "No pricing available"
+msgstr ""
+
+#: templates/js/translated/bom.js:1137 templates/js/translated/build.js:1907
+#: templates/js/translated/order.js:3924
+msgid "No Stock Available"
+msgstr ""
+
+#: templates/js/translated/bom.js:1142 templates/js/translated/build.js:1911
+msgid "Includes variant and substitute stock"
+msgstr ""
+
+#: templates/js/translated/bom.js:1144 templates/js/translated/build.js:1913
+#: templates/js/translated/part.js:775 templates/js/translated/part.js:1550
+msgid "Includes variant stock"
+msgstr ""
+
+#: templates/js/translated/bom.js:1146 templates/js/translated/build.js:1915
+msgid "Includes substitute stock"
+msgstr ""
+
+#: templates/js/translated/bom.js:1171 templates/js/translated/build.js:1898
#: templates/js/translated/build.js:1985
msgid "Consumable item"
msgstr ""
-#: templates/js/translated/bom.js:1166
+#: templates/js/translated/bom.js:1231
msgid "Validate BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1168
+#: templates/js/translated/bom.js:1233
msgid "This line has been validated"
msgstr ""
-#: templates/js/translated/bom.js:1170
+#: templates/js/translated/bom.js:1235
msgid "Edit substitute parts"
msgstr ""
-#: templates/js/translated/bom.js:1172 templates/js/translated/bom.js:1369
+#: templates/js/translated/bom.js:1237 templates/js/translated/bom.js:1433
msgid "Edit BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1174
+#: templates/js/translated/bom.js:1239
msgid "Delete BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1280 templates/js/translated/build.js:1679
+#: templates/js/translated/bom.js:1344 templates/js/translated/build.js:1679
msgid "No BOM items found"
msgstr ""
-#: templates/js/translated/bom.js:1549 templates/js/translated/build.js:1818
+#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1818
msgid "Required Part"
msgstr ""
-#: templates/js/translated/bom.js:1575
+#: templates/js/translated/bom.js:1638
msgid "Inherited from parent BOM"
msgstr ""
@@ -8353,12 +8637,12 @@ msgid "Complete Build Order"
msgstr ""
#: templates/js/translated/build.js:311 templates/js/translated/stock.js:92
-#: templates/js/translated/stock.js:214
+#: templates/js/translated/stock.js:233
msgid "Next available serial number"
msgstr ""
#: templates/js/translated/build.js:313 templates/js/translated/stock.js:94
-#: templates/js/translated/stock.js:216
+#: templates/js/translated/stock.js:235
msgid "Latest serial number"
msgstr ""
@@ -8455,12 +8739,12 @@ msgid "No required tests for this build"
msgstr ""
#: templates/js/translated/build.js:1775 templates/js/translated/build.js:2765
-#: templates/js/translated/order.js:3627
+#: templates/js/translated/order.js:3638
msgid "Edit stock allocation"
msgstr ""
#: templates/js/translated/build.js:1777 templates/js/translated/build.js:2766
-#: templates/js/translated/order.js:3628
+#: templates/js/translated/order.js:3639
msgid "Delete stock allocation"
msgstr ""
@@ -8480,20 +8764,15 @@ msgstr ""
msgid "Quantity Per"
msgstr ""
-#: templates/js/translated/build.js:1901 templates/js/translated/order.js:3934
+#: templates/js/translated/build.js:1901 templates/js/translated/order.js:3931
msgid "Insufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3932
+#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3929
msgid "Sufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1937 templates/js/translated/build.js:2195
-#: templates/js/translated/build.js:2761 templates/js/translated/order.js:3946
-msgid "Allocated"
-msgstr ""
-
-#: templates/js/translated/build.js:1993 templates/js/translated/order.js:4026
+#: templates/js/translated/build.js:1993 templates/js/translated/order.js:4023
msgid "Build stock"
msgstr ""
@@ -8501,21 +8780,21 @@ msgstr ""
msgid "Order stock"
msgstr ""
-#: templates/js/translated/build.js:2000 templates/js/translated/order.js:4019
+#: templates/js/translated/build.js:2000 templates/js/translated/order.js:4016
msgid "Allocate stock"
msgstr ""
#: templates/js/translated/build.js:2039 templates/js/translated/label.js:172
-#: templates/js/translated/order.js:1007 templates/js/translated/order.js:3154
+#: templates/js/translated/order.js:1041 templates/js/translated/order.js:3165
#: templates/js/translated/report.js:225
msgid "Select Parts"
msgstr ""
-#: templates/js/translated/build.js:2040 templates/js/translated/order.js:3155
+#: templates/js/translated/build.js:2040 templates/js/translated/order.js:3166
msgid "You must select at least one part to allocate"
msgstr ""
-#: templates/js/translated/build.js:2089 templates/js/translated/order.js:3103
+#: templates/js/translated/build.js:2089 templates/js/translated/order.js:3114
msgid "Specify stock allocation quantity"
msgstr ""
@@ -8527,7 +8806,7 @@ msgstr ""
msgid "All selected parts have been fully allocated"
msgstr ""
-#: templates/js/translated/build.js:2183 templates/js/translated/order.js:3169
+#: templates/js/translated/build.js:2183 templates/js/translated/order.js:3180
msgid "Select source location (leave blank to take from all locations)"
msgstr ""
@@ -8535,11 +8814,11 @@ msgstr ""
msgid "Allocate Stock Items to Build Order"
msgstr ""
-#: templates/js/translated/build.js:2222 templates/js/translated/order.js:3266
+#: templates/js/translated/build.js:2222 templates/js/translated/order.js:3277
msgid "No matching stock locations"
msgstr ""
-#: templates/js/translated/build.js:2294 templates/js/translated/order.js:3343
+#: templates/js/translated/build.js:2294 templates/js/translated/order.js:3354
msgid "No matching stock items"
msgstr ""
@@ -8571,9 +8850,9 @@ msgstr ""
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:2558 templates/js/translated/part.js:1423
-#: templates/js/translated/part.js:1957 templates/js/translated/stock.js:1686
-#: templates/js/translated/stock.js:2390
+#: templates/js/translated/build.js:2558 templates/js/translated/part.js:1444
+#: templates/js/translated/part.js:1981 templates/js/translated/stock.js:1705
+#: templates/js/translated/stock.js:2408
msgid "Select"
msgstr ""
@@ -8585,7 +8864,7 @@ msgstr ""
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2636 templates/js/translated/stock.js:2657
+#: templates/js/translated/build.js:2636 templates/js/translated/stock.js:2675
msgid "No user information"
msgstr ""
@@ -8593,118 +8872,144 @@ msgstr ""
msgid "No parts allocated for"
msgstr ""
-#: templates/js/translated/company.js:66
+#: templates/js/translated/company.js:67
msgid "Add Manufacturer"
msgstr ""
-#: templates/js/translated/company.js:79 templates/js/translated/company.js:181
+#: templates/js/translated/company.js:80 templates/js/translated/company.js:182
msgid "Add Manufacturer Part"
msgstr ""
-#: templates/js/translated/company.js:100
+#: templates/js/translated/company.js:101
msgid "Edit Manufacturer Part"
msgstr ""
-#: templates/js/translated/company.js:169 templates/js/translated/order.js:576
+#: templates/js/translated/company.js:170 templates/js/translated/order.js:576
msgid "Add Supplier"
msgstr ""
-#: templates/js/translated/company.js:197 templates/js/translated/order.js:828
+#: templates/js/translated/company.js:198 templates/js/translated/order.js:862
msgid "Add Supplier Part"
msgstr ""
-#: templates/js/translated/company.js:297
+#: templates/js/translated/company.js:298
msgid "All selected supplier parts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:313
+#: templates/js/translated/company.js:314
msgid "Delete Supplier Parts"
msgstr ""
-#: templates/js/translated/company.js:385
+#: templates/js/translated/company.js:386
msgid "Add new Company"
msgstr ""
-#: templates/js/translated/company.js:462
+#: templates/js/translated/company.js:463
msgid "Parts Supplied"
msgstr ""
-#: templates/js/translated/company.js:471
+#: templates/js/translated/company.js:472
msgid "Parts Manufactured"
msgstr ""
-#: templates/js/translated/company.js:486
+#: templates/js/translated/company.js:487
msgid "No company information found"
msgstr ""
-#: templates/js/translated/company.js:527
+#: templates/js/translated/company.js:528
msgid "All selected manufacturer parts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:542
+#: templates/js/translated/company.js:543
msgid "Delete Manufacturer Parts"
msgstr ""
-#: templates/js/translated/company.js:576
+#: templates/js/translated/company.js:577
msgid "All selected parameters will be deleted"
msgstr ""
-#: templates/js/translated/company.js:590
+#: templates/js/translated/company.js:591
msgid "Delete Parameters"
msgstr ""
-#: templates/js/translated/company.js:631
+#: templates/js/translated/company.js:632
msgid "No manufacturer parts found"
msgstr ""
-#: templates/js/translated/company.js:651
-#: templates/js/translated/company.js:912 templates/js/translated/part.js:636
-#: templates/js/translated/part.js:721
+#: templates/js/translated/company.js:652
+#: templates/js/translated/company.js:913 templates/js/translated/part.js:650
+#: templates/js/translated/part.js:735
msgid "Template part"
msgstr ""
-#: templates/js/translated/company.js:655
-#: templates/js/translated/company.js:916 templates/js/translated/part.js:640
-#: templates/js/translated/part.js:725
+#: templates/js/translated/company.js:656
+#: templates/js/translated/company.js:917 templates/js/translated/part.js:654
+#: templates/js/translated/part.js:739
msgid "Assembled part"
msgstr ""
-#: templates/js/translated/company.js:783 templates/js/translated/part.js:828
+#: templates/js/translated/company.js:784 templates/js/translated/part.js:855
msgid "No parameters found"
msgstr ""
-#: templates/js/translated/company.js:820 templates/js/translated/part.js:870
+#: templates/js/translated/company.js:821 templates/js/translated/part.js:897
msgid "Edit parameter"
msgstr ""
-#: templates/js/translated/company.js:821 templates/js/translated/part.js:871
+#: templates/js/translated/company.js:822 templates/js/translated/part.js:898
msgid "Delete parameter"
msgstr ""
-#: templates/js/translated/company.js:840 templates/js/translated/part.js:888
+#: templates/js/translated/company.js:841 templates/js/translated/part.js:915
msgid "Edit Parameter"
msgstr ""
-#: templates/js/translated/company.js:851 templates/js/translated/part.js:900
+#: templates/js/translated/company.js:852 templates/js/translated/part.js:927
msgid "Delete Parameter"
msgstr ""
-#: templates/js/translated/company.js:891
+#: templates/js/translated/company.js:892
msgid "No supplier parts found"
msgstr ""
-#: templates/js/translated/company.js:1032
+#: templates/js/translated/company.js:1033
msgid "Availability"
msgstr ""
-#: templates/js/translated/company.js:1055
+#: templates/js/translated/company.js:1056
msgid "Edit supplier part"
msgstr ""
-#: templates/js/translated/company.js:1056
+#: templates/js/translated/company.js:1057
msgid "Delete supplier part"
msgstr ""
+#: templates/js/translated/company.js:1112
+#: templates/js/translated/pricing.js:423
+msgid "Delete Price Break"
+msgstr ""
+
+#: templates/js/translated/company.js:1128
+#: templates/js/translated/pricing.js:437
+msgid "Edit Price Break"
+msgstr ""
+
+#: templates/js/translated/company.js:1145
+msgid "No price break information found"
+msgstr ""
+
+#: templates/js/translated/company.js:1174
+msgid "Last updated"
+msgstr ""
+
+#: templates/js/translated/company.js:1180
+msgid "Edit price break"
+msgstr ""
+
+#: templates/js/translated/company.js:1181
+msgid "Delete price break"
+msgstr ""
+
#: templates/js/translated/filters.js:178
#: templates/js/translated/filters.js:441
msgid "true"
@@ -8785,27 +9090,27 @@ msgstr ""
msgid "Clear input"
msgstr ""
-#: templates/js/translated/forms.js:2638
+#: templates/js/translated/forms.js:2628
msgid "File Column"
msgstr ""
-#: templates/js/translated/forms.js:2638
+#: templates/js/translated/forms.js:2628
msgid "Field Name"
msgstr ""
-#: templates/js/translated/forms.js:2650
+#: templates/js/translated/forms.js:2640
msgid "Select Columns"
msgstr ""
-#: templates/js/translated/helpers.js:24
+#: templates/js/translated/helpers.js:26
msgid "YES"
msgstr ""
-#: templates/js/translated/helpers.js:26
+#: templates/js/translated/helpers.js:28
msgid "NO"
msgstr ""
-#: templates/js/translated/helpers.js:363
+#: templates/js/translated/helpers.js:434
msgid "Notes updated"
msgstr ""
@@ -8814,7 +9119,7 @@ msgid "Labels sent to printer"
msgstr ""
#: templates/js/translated/label.js:60 templates/js/translated/report.js:118
-#: templates/js/translated/stock.js:1078
+#: templates/js/translated/stock.js:1097
msgid "Select Stock Items"
msgstr ""
@@ -8934,14 +9239,6 @@ msgstr ""
msgid "Stock ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:159
-msgid "Location ID"
-msgstr ""
-
-#: templates/js/translated/model_renderers.js:177
-msgid "Build ID"
-msgstr ""
-
#: templates/js/translated/model_renderers.js:278
#: templates/js/translated/model_renderers.js:303
msgid "Order ID"
@@ -8952,16 +9249,12 @@ msgstr ""
msgid "Shipment ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:338
-msgid "Category ID"
-msgstr ""
-
#: templates/js/translated/model_renderers.js:381
msgid "Manufacturer Part ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:418
-msgid "Supplier Part ID"
+#: templates/js/translated/news.js:23
+msgid "No news found"
msgstr ""
#: templates/js/translated/notification.js:42
@@ -9104,659 +9397,688 @@ msgstr ""
msgid "Duplication Options"
msgstr ""
-#: templates/js/translated/order.js:957
+#: templates/js/translated/order.js:991
msgid "Export Order"
msgstr ""
-#: templates/js/translated/order.js:1008
+#: templates/js/translated/order.js:1042
msgid "At least one purchaseable part must be selected"
msgstr ""
-#: templates/js/translated/order.js:1033
+#: templates/js/translated/order.js:1067
msgid "Quantity to order"
msgstr ""
-#: templates/js/translated/order.js:1042
+#: templates/js/translated/order.js:1076
msgid "New supplier part"
msgstr ""
-#: templates/js/translated/order.js:1060
+#: templates/js/translated/order.js:1094
msgid "New purchase order"
msgstr ""
-#: templates/js/translated/order.js:1093
+#: templates/js/translated/order.js:1127
msgid "Add to purchase order"
msgstr ""
-#: templates/js/translated/order.js:1233
+#: templates/js/translated/order.js:1267
msgid "No matching supplier parts"
msgstr ""
-#: templates/js/translated/order.js:1252
+#: templates/js/translated/order.js:1286
msgid "No matching purchase orders"
msgstr ""
-#: templates/js/translated/order.js:1429
+#: templates/js/translated/order.js:1463
msgid "Select Line Items"
msgstr ""
-#: templates/js/translated/order.js:1430
+#: templates/js/translated/order.js:1464
msgid "At least one line item must be selected"
msgstr ""
-#: templates/js/translated/order.js:1450 templates/js/translated/order.js:1563
+#: templates/js/translated/order.js:1484 templates/js/translated/order.js:1597
msgid "Add batch code"
msgstr ""
-#: templates/js/translated/order.js:1456 templates/js/translated/order.js:1574
+#: templates/js/translated/order.js:1490 templates/js/translated/order.js:1608
msgid "Add serial numbers"
msgstr ""
-#: templates/js/translated/order.js:1471
+#: templates/js/translated/order.js:1505
msgid "Received Quantity"
msgstr ""
-#: templates/js/translated/order.js:1482
+#: templates/js/translated/order.js:1516
msgid "Quantity to receive"
msgstr ""
-#: templates/js/translated/order.js:1546 templates/js/translated/stock.js:2146
+#: templates/js/translated/order.js:1580 templates/js/translated/stock.js:2164
msgid "Stock Status"
msgstr ""
-#: templates/js/translated/order.js:1639
+#: templates/js/translated/order.js:1673
msgid "Order Code"
msgstr ""
-#: templates/js/translated/order.js:1640
+#: templates/js/translated/order.js:1674
msgid "Ordered"
msgstr ""
-#: templates/js/translated/order.js:1642
+#: templates/js/translated/order.js:1676
msgid "Quantity to Receive"
msgstr ""
-#: templates/js/translated/order.js:1661
+#: templates/js/translated/order.js:1695
msgid "Confirm receipt of items"
msgstr ""
-#: templates/js/translated/order.js:1662
+#: templates/js/translated/order.js:1696
msgid "Receive Purchase Order Items"
msgstr ""
-#: templates/js/translated/order.js:1940 templates/js/translated/part.js:941
+#: templates/js/translated/order.js:1974 templates/js/translated/part.js:968
msgid "No purchase orders found"
msgstr ""
-#: templates/js/translated/order.js:1967 templates/js/translated/order.js:2798
+#: templates/js/translated/order.js:2001 templates/js/translated/order.js:2809
msgid "Order is overdue"
msgstr ""
-#: templates/js/translated/order.js:2017 templates/js/translated/order.js:2863
-#: templates/js/translated/order.js:3004
+#: templates/js/translated/order.js:2051 templates/js/translated/order.js:2874
+#: templates/js/translated/order.js:3015
msgid "Items"
msgstr ""
-#: templates/js/translated/order.js:2115 templates/js/translated/order.js:4078
+#: templates/js/translated/order.js:2154 templates/js/translated/order.js:4075
msgid "Duplicate Line Item"
msgstr ""
-#: templates/js/translated/order.js:2132 templates/js/translated/order.js:4100
+#: templates/js/translated/order.js:2171 templates/js/translated/order.js:4097
msgid "Edit Line Item"
msgstr ""
-#: templates/js/translated/order.js:2145 templates/js/translated/order.js:4111
+#: templates/js/translated/order.js:2184 templates/js/translated/order.js:4108
msgid "Delete Line Item"
msgstr ""
-#: templates/js/translated/order.js:2188
+#: templates/js/translated/order.js:2227
msgid "No line items found"
msgstr ""
-#: templates/js/translated/order.js:2215 templates/js/translated/order.js:3812
+#: templates/js/translated/order.js:2254 templates/js/translated/order.js:3827
msgid "Total"
msgstr ""
-#: templates/js/translated/order.js:2270 templates/js/translated/part.js:1043
-#: templates/js/translated/part.js:1095
+#: templates/js/translated/order.js:2309 templates/js/translated/part.js:1070
+#: templates/js/translated/part.js:1122
msgid "Total Quantity"
msgstr ""
-#: templates/js/translated/order.js:2301 templates/js/translated/order.js:2500
-#: templates/js/translated/order.js:3837 templates/js/translated/order.js:4342
-#: templates/js/translated/part.js:2199 templates/js/translated/part.js:2797
+#: templates/js/translated/order.js:2340 templates/js/translated/order.js:2527
+#: templates/js/translated/order.js:3852 templates/js/translated/order.js:4343
+#: templates/js/translated/pricing.js:260
+#: templates/js/translated/pricing.js:329
+#: templates/js/translated/pricing.js:545
msgid "Unit Price"
msgstr ""
-#: templates/js/translated/order.js:2316 templates/js/translated/order.js:2516
-#: templates/js/translated/order.js:3853 templates/js/translated/order.js:4358
+#: templates/js/translated/order.js:2350 templates/js/translated/order.js:2537
+#: templates/js/translated/order.js:3862 templates/js/translated/order.js:4353
msgid "Total Price"
msgstr ""
-#: templates/js/translated/order.js:2357 templates/js/translated/order.js:3895
-#: templates/js/translated/part.js:1079
+#: templates/js/translated/order.js:2380 templates/js/translated/order.js:3892
+#: templates/js/translated/part.js:1106
msgid "This line item is overdue"
msgstr ""
-#: templates/js/translated/order.js:2416 templates/js/translated/part.js:1130
+#: templates/js/translated/order.js:2439 templates/js/translated/part.js:1151
msgid "Receive line item"
msgstr ""
-#: templates/js/translated/order.js:2420 templates/js/translated/order.js:4032
+#: templates/js/translated/order.js:2443 templates/js/translated/order.js:4029
msgid "Duplicate line item"
msgstr ""
-#: templates/js/translated/order.js:2421 templates/js/translated/order.js:4033
+#: templates/js/translated/order.js:2444 templates/js/translated/order.js:4030
msgid "Edit line item"
msgstr ""
-#: templates/js/translated/order.js:2422 templates/js/translated/order.js:4037
+#: templates/js/translated/order.js:2445 templates/js/translated/order.js:4034
msgid "Delete line item"
msgstr ""
-#: templates/js/translated/order.js:2564 templates/js/translated/order.js:4406
+#: templates/js/translated/order.js:2574 templates/js/translated/order.js:4389
msgid "Duplicate line"
msgstr ""
-#: templates/js/translated/order.js:2565 templates/js/translated/order.js:4407
+#: templates/js/translated/order.js:2575 templates/js/translated/order.js:4390
msgid "Edit line"
msgstr ""
-#: templates/js/translated/order.js:2566 templates/js/translated/order.js:4408
+#: templates/js/translated/order.js:2576 templates/js/translated/order.js:4391
msgid "Delete line"
msgstr ""
-#: templates/js/translated/order.js:2595 templates/js/translated/order.js:4437
+#: templates/js/translated/order.js:2606 templates/js/translated/order.js:4420
msgid "Duplicate Line"
msgstr ""
-#: templates/js/translated/order.js:2616 templates/js/translated/order.js:4458
+#: templates/js/translated/order.js:2627 templates/js/translated/order.js:4441
msgid "Edit Line"
msgstr ""
-#: templates/js/translated/order.js:2627 templates/js/translated/order.js:4469
+#: templates/js/translated/order.js:2638 templates/js/translated/order.js:4452
msgid "Delete Line"
msgstr ""
-#: templates/js/translated/order.js:2638
+#: templates/js/translated/order.js:2649
msgid "No matching line"
msgstr ""
-#: templates/js/translated/order.js:2749
+#: templates/js/translated/order.js:2760
msgid "No sales orders found"
msgstr ""
-#: templates/js/translated/order.js:2812
+#: templates/js/translated/order.js:2823
msgid "Invalid Customer"
msgstr ""
-#: templates/js/translated/order.js:2910
+#: templates/js/translated/order.js:2921
msgid "Edit shipment"
msgstr ""
-#: templates/js/translated/order.js:2913
+#: templates/js/translated/order.js:2924
msgid "Complete shipment"
msgstr ""
-#: templates/js/translated/order.js:2918
+#: templates/js/translated/order.js:2929
msgid "Delete shipment"
msgstr ""
-#: templates/js/translated/order.js:2938
+#: templates/js/translated/order.js:2949
msgid "Edit Shipment"
msgstr ""
-#: templates/js/translated/order.js:2955
+#: templates/js/translated/order.js:2966
msgid "Delete Shipment"
msgstr ""
-#: templates/js/translated/order.js:2989
+#: templates/js/translated/order.js:3000
msgid "No matching shipments found"
msgstr ""
-#: templates/js/translated/order.js:2999
+#: templates/js/translated/order.js:3010
msgid "Shipment Reference"
msgstr ""
-#: templates/js/translated/order.js:3023
+#: templates/js/translated/order.js:3034
msgid "Not shipped"
msgstr ""
-#: templates/js/translated/order.js:3029
+#: templates/js/translated/order.js:3040
msgid "Tracking"
msgstr ""
-#: templates/js/translated/order.js:3033
+#: templates/js/translated/order.js:3044
msgid "Invoice"
msgstr ""
-#: templates/js/translated/order.js:3202
+#: templates/js/translated/order.js:3213
msgid "Add Shipment"
msgstr ""
-#: templates/js/translated/order.js:3253
+#: templates/js/translated/order.js:3264
msgid "Confirm stock allocation"
msgstr ""
-#: templates/js/translated/order.js:3254
+#: templates/js/translated/order.js:3265
msgid "Allocate Stock Items to Sales Order"
msgstr ""
-#: templates/js/translated/order.js:3462
+#: templates/js/translated/order.js:3473
msgid "No sales order allocations found"
msgstr ""
-#: templates/js/translated/order.js:3541
+#: templates/js/translated/order.js:3552
msgid "Edit Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:3558
+#: templates/js/translated/order.js:3569
msgid "Confirm Delete Operation"
msgstr ""
-#: templates/js/translated/order.js:3559
+#: templates/js/translated/order.js:3570
msgid "Delete Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:3604 templates/js/translated/order.js:3693
-#: templates/js/translated/stock.js:1602
+#: templates/js/translated/order.js:3615 templates/js/translated/order.js:3704
+#: templates/js/translated/stock.js:1621
msgid "Shipped to customer"
msgstr ""
-#: templates/js/translated/order.js:3612 templates/js/translated/order.js:3702
+#: templates/js/translated/order.js:3623 templates/js/translated/order.js:3713
msgid "Stock location not specified"
msgstr ""
-#: templates/js/translated/order.js:4016
+#: templates/js/translated/order.js:4013
msgid "Allocate serial numbers"
msgstr ""
-#: templates/js/translated/order.js:4022
+#: templates/js/translated/order.js:4019
msgid "Purchase stock"
msgstr ""
-#: templates/js/translated/order.js:4029 templates/js/translated/order.js:4227
+#: templates/js/translated/order.js:4026 templates/js/translated/order.js:4224
msgid "Calculate price"
msgstr ""
-#: templates/js/translated/order.js:4041
+#: templates/js/translated/order.js:4038
msgid "Cannot be deleted as items have been shipped"
msgstr ""
-#: templates/js/translated/order.js:4044
+#: templates/js/translated/order.js:4041
msgid "Cannot be deleted as items have been allocated"
msgstr ""
-#: templates/js/translated/order.js:4126
+#: templates/js/translated/order.js:4123
msgid "Allocate Serial Numbers"
msgstr ""
-#: templates/js/translated/order.js:4235
+#: templates/js/translated/order.js:4232
msgid "Update Unit Price"
msgstr ""
-#: templates/js/translated/order.js:4249
+#: templates/js/translated/order.js:4246
msgid "No matching line items"
msgstr ""
-#: templates/js/translated/order.js:4480
+#: templates/js/translated/order.js:4463
msgid "No matching lines"
msgstr ""
-#: templates/js/translated/part.js:56
+#: templates/js/translated/part.js:52
msgid "Part Attributes"
msgstr ""
-#: templates/js/translated/part.js:60
+#: templates/js/translated/part.js:56
msgid "Part Creation Options"
msgstr ""
-#: templates/js/translated/part.js:64
+#: templates/js/translated/part.js:60
msgid "Part Duplication Options"
msgstr ""
-#: templates/js/translated/part.js:68
+#: templates/js/translated/part.js:64
msgid "Supplier Options"
msgstr ""
-#: templates/js/translated/part.js:82
+#: templates/js/translated/part.js:78
msgid "Add Part Category"
msgstr ""
-#: templates/js/translated/part.js:166
+#: templates/js/translated/part.js:162
msgid "Create Initial Stock"
msgstr ""
-#: templates/js/translated/part.js:167
+#: templates/js/translated/part.js:163
msgid "Create an initial stock item for this part"
msgstr ""
-#: templates/js/translated/part.js:174
+#: templates/js/translated/part.js:170
msgid "Initial Stock Quantity"
msgstr ""
-#: templates/js/translated/part.js:175
+#: templates/js/translated/part.js:171
msgid "Specify initial stock quantity for this part"
msgstr ""
-#: templates/js/translated/part.js:182
+#: templates/js/translated/part.js:178
msgid "Select destination stock location"
msgstr ""
-#: templates/js/translated/part.js:200
+#: templates/js/translated/part.js:196
msgid "Copy Category Parameters"
msgstr ""
-#: templates/js/translated/part.js:201
+#: templates/js/translated/part.js:197
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: templates/js/translated/part.js:209
+#: templates/js/translated/part.js:205
msgid "Add Supplier Data"
msgstr ""
-#: templates/js/translated/part.js:210
+#: templates/js/translated/part.js:206
msgid "Create initial supplier data for this part"
msgstr ""
-#: templates/js/translated/part.js:266
+#: templates/js/translated/part.js:262
msgid "Copy Image"
msgstr ""
-#: templates/js/translated/part.js:267
+#: templates/js/translated/part.js:263
msgid "Copy image from original part"
msgstr ""
-#: templates/js/translated/part.js:275
+#: templates/js/translated/part.js:271
msgid "Copy bill of materials from original part"
msgstr ""
-#: templates/js/translated/part.js:282
+#: templates/js/translated/part.js:278
msgid "Copy Parameters"
msgstr ""
-#: templates/js/translated/part.js:283
+#: templates/js/translated/part.js:279
msgid "Copy parameter data from original part"
msgstr ""
-#: templates/js/translated/part.js:296
+#: templates/js/translated/part.js:292
msgid "Parent part category"
msgstr ""
-#: templates/js/translated/part.js:306 templates/js/translated/stock.js:118
+#: templates/js/translated/part.js:302 templates/js/translated/stock.js:118
msgid "Icon (optional) - Explore all available icons on"
msgstr ""
-#: templates/js/translated/part.js:322
+#: templates/js/translated/part.js:318
msgid "Edit Part Category"
msgstr ""
-#: templates/js/translated/part.js:335
+#: templates/js/translated/part.js:331
msgid "Are you sure you want to delete this part category?"
msgstr ""
-#: templates/js/translated/part.js:337
-msgid "Any child categories will be moved to the parent of this category"
+#: templates/js/translated/part.js:336
+msgid "Move to parent category"
msgstr ""
-#: templates/js/translated/part.js:338
-msgid "Any parts in this category will be moved to the parent of this category"
-msgstr ""
-
-#: templates/js/translated/part.js:343
+#: templates/js/translated/part.js:345
msgid "Delete Part Category"
msgstr ""
-#: templates/js/translated/part.js:369
+#: templates/js/translated/part.js:349
+msgid "Action for parts in this category"
+msgstr ""
+
+#: templates/js/translated/part.js:354
+msgid "Action for child categories"
+msgstr ""
+
+#: templates/js/translated/part.js:383
msgid "Edit Part"
msgstr ""
-#: templates/js/translated/part.js:371
+#: templates/js/translated/part.js:385
msgid "Part edited"
msgstr ""
-#: templates/js/translated/part.js:382
+#: templates/js/translated/part.js:396
msgid "Create Part Variant"
msgstr ""
-#: templates/js/translated/part.js:434
+#: templates/js/translated/part.js:448
msgid "Active Part"
msgstr ""
-#: templates/js/translated/part.js:435
+#: templates/js/translated/part.js:449
msgid "Part cannot be deleted as it is currently active"
msgstr ""
-#: templates/js/translated/part.js:449
+#: templates/js/translated/part.js:463
msgid "Deleting this part cannot be reversed"
msgstr ""
-#: templates/js/translated/part.js:451
+#: templates/js/translated/part.js:465
msgid "Any stock items for this part will be deleted"
msgstr ""
-#: templates/js/translated/part.js:452
+#: templates/js/translated/part.js:466
msgid "This part will be removed from any Bills of Material"
msgstr ""
-#: templates/js/translated/part.js:453
+#: templates/js/translated/part.js:467
msgid "All manufacturer and supplier information for this part will be deleted"
msgstr ""
-#: templates/js/translated/part.js:460
+#: templates/js/translated/part.js:474
msgid "Delete Part"
msgstr ""
-#: templates/js/translated/part.js:496
+#: templates/js/translated/part.js:510
msgid "You are subscribed to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:498
+#: templates/js/translated/part.js:512
msgid "You have subscribed to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:503
+#: templates/js/translated/part.js:517
msgid "Subscribe to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:505
+#: templates/js/translated/part.js:519
msgid "You have unsubscribed to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:522
+#: templates/js/translated/part.js:536
msgid "Validating the BOM will mark each line item as valid"
msgstr ""
-#: templates/js/translated/part.js:532
+#: templates/js/translated/part.js:546
msgid "Validate Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:535
+#: templates/js/translated/part.js:549
msgid "Validated Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:560
+#: templates/js/translated/part.js:574
msgid "Copy Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:584 templates/js/translated/part.js:1521
-#: templates/js/translated/table_filters.js:476
+#: templates/js/translated/part.js:598 templates/js/translated/part.js:1532
+#: templates/js/translated/table_filters.js:480
msgid "Low stock"
msgstr ""
-#: templates/js/translated/part.js:594
+#: templates/js/translated/part.js:608
msgid "No stock available"
msgstr ""
-#: templates/js/translated/part.js:628 templates/js/translated/part.js:713
+#: templates/js/translated/part.js:642 templates/js/translated/part.js:727
msgid "Trackable part"
msgstr ""
-#: templates/js/translated/part.js:632 templates/js/translated/part.js:717
+#: templates/js/translated/part.js:646 templates/js/translated/part.js:731
msgid "Virtual part"
msgstr ""
-#: templates/js/translated/part.js:644
+#: templates/js/translated/part.js:658
msgid "Subscribed part"
msgstr ""
-#: templates/js/translated/part.js:648
+#: templates/js/translated/part.js:662
msgid "Salable part"
msgstr ""
-#: templates/js/translated/part.js:776
+#: templates/js/translated/part.js:800
msgid "No variants found"
msgstr ""
-#: templates/js/translated/part.js:1200
+#: templates/js/translated/part.js:1221
msgid "Delete part relationship"
msgstr ""
-#: templates/js/translated/part.js:1224
+#: templates/js/translated/part.js:1245
msgid "Delete Part Relationship"
msgstr ""
-#: templates/js/translated/part.js:1291 templates/js/translated/part.js:1609
+#: templates/js/translated/part.js:1312 templates/js/translated/part.js:1633
msgid "No parts found"
msgstr ""
-#: templates/js/translated/part.js:1488
+#: templates/js/translated/part.js:1499
msgid "No category"
msgstr ""
-#: templates/js/translated/part.js:1519
+#: templates/js/translated/part.js:1530
msgid "No stock"
msgstr ""
-#: templates/js/translated/part.js:1543
+#: templates/js/translated/part.js:1554
msgid "Allocated to build orders"
msgstr ""
-#: templates/js/translated/part.js:1547
+#: templates/js/translated/part.js:1558
msgid "Allocated to sales orders"
msgstr ""
-#: templates/js/translated/part.js:1633 templates/js/translated/part.js:1876
-#: templates/js/translated/stock.js:2349
+#: templates/js/translated/part.js:1657 templates/js/translated/part.js:1900
+#: templates/js/translated/stock.js:2367
msgid "Display as list"
msgstr ""
-#: templates/js/translated/part.js:1649
+#: templates/js/translated/part.js:1673
msgid "Display as grid"
msgstr ""
-#: templates/js/translated/part.js:1715
+#: templates/js/translated/part.js:1739
msgid "Set the part category for the selected parts"
msgstr ""
-#: templates/js/translated/part.js:1720
+#: templates/js/translated/part.js:1744
msgid "Set Part Category"
msgstr ""
-#: templates/js/translated/part.js:1725
+#: templates/js/translated/part.js:1749
msgid "Select Part Category"
msgstr ""
-#: templates/js/translated/part.js:1738
+#: templates/js/translated/part.js:1762
msgid "Category is required"
msgstr ""
-#: templates/js/translated/part.js:1896 templates/js/translated/stock.js:2369
+#: templates/js/translated/part.js:1920 templates/js/translated/stock.js:2387
msgid "Display as tree"
msgstr ""
-#: templates/js/translated/part.js:1976
+#: templates/js/translated/part.js:2000
msgid "Load Subcategories"
msgstr ""
-#: templates/js/translated/part.js:1992
+#: templates/js/translated/part.js:2016
msgid "Subscribed category"
msgstr ""
-#: templates/js/translated/part.js:2056
+#: templates/js/translated/part.js:2080
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:2107 templates/js/translated/stock.js:1299
+#: templates/js/translated/part.js:2131 templates/js/translated/stock.js:1318
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:2108 templates/js/translated/stock.js:1300
-#: templates/js/translated/stock.js:1560
+#: templates/js/translated/part.js:2132 templates/js/translated/stock.js:1319
+#: templates/js/translated/stock.js:1579
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:2114
+#: templates/js/translated/part.js:2138
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:2136
+#: templates/js/translated/part.js:2160
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2150
+#: templates/js/translated/part.js:2174
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2175
-#, python-brace-format
-msgid "No ${human_name} information found"
-msgstr ""
-
-#: templates/js/translated/part.js:2232
-#, python-brace-format
-msgid "Edit ${human_name}"
-msgstr ""
-
-#: templates/js/translated/part.js:2233
-#, python-brace-format
-msgid "Delete ${human_name}"
-msgstr ""
-
-#: templates/js/translated/part.js:2398 templates/js/translated/part.js:2399
+#: templates/js/translated/part.js:2255 templates/js/translated/part.js:2256
msgid "No date specified"
msgstr ""
-#: templates/js/translated/part.js:2401
+#: templates/js/translated/part.js:2258
msgid "Specified date is in the past"
msgstr ""
-#: templates/js/translated/part.js:2407
+#: templates/js/translated/part.js:2264
msgid "Speculative"
msgstr ""
-#: templates/js/translated/part.js:2457
+#: templates/js/translated/part.js:2314
msgid "No scheduling information available for this part"
msgstr ""
-#: templates/js/translated/part.js:2463
+#: templates/js/translated/part.js:2320
msgid "Error fetching scheduling information for this part"
msgstr ""
-#: templates/js/translated/part.js:2559
+#: templates/js/translated/part.js:2416
msgid "Scheduled Stock Quantities"
msgstr ""
-#: templates/js/translated/part.js:2575
+#: templates/js/translated/part.js:2432
msgid "Maximum Quantity"
msgstr ""
-#: templates/js/translated/part.js:2620
+#: templates/js/translated/part.js:2477
msgid "Minimum Stock Level"
msgstr ""
-#: templates/js/translated/part.js:2721
-msgid "Single Price"
-msgstr ""
-
-#: templates/js/translated/part.js:2740
-msgid "Single Price Difference"
-msgstr ""
-
#: templates/js/translated/plugin.js:23
msgid "The Plugin was installed"
msgstr ""
+#: templates/js/translated/pricing.js:54
+msgid "No BOM data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:196
+msgid "No supplier pricing data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:305
+msgid "No price break data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:361
+#, python-brace-format
+msgid "Edit ${human_name}"
+msgstr ""
+
+#: templates/js/translated/pricing.js:362
+#, python-brace-format
+msgid "Delete ${human_name}"
+msgstr ""
+
+#: templates/js/translated/pricing.js:480
+msgid "No purchase history data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:502
+msgid "Purchase Price History"
+msgstr ""
+
+#: templates/js/translated/pricing.js:602
+msgid "No sales history data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:624
+msgid "Sale Price History"
+msgstr ""
+
+#: templates/js/translated/pricing.js:708
+msgid "No variant data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:748
+msgid "Variant Part"
+msgstr ""
+
#: templates/js/translated/report.js:67
msgid "items selected"
msgstr ""
@@ -9855,364 +10177,364 @@ msgstr ""
msgid "Are you sure you want to delete this stock location?"
msgstr ""
-#: templates/js/translated/stock.js:175
-msgid "Any child locations will be moved to the parent of this location"
+#: templates/js/translated/stock.js:180
+msgid "Move to parent stock location"
msgstr ""
-#: templates/js/translated/stock.js:176
-msgid "Any stock items in this location will be moved to the parent of this location"
-msgstr ""
-
-#: templates/js/translated/stock.js:182
+#: templates/js/translated/stock.js:189
msgid "Delete Stock Location"
msgstr ""
-#: templates/js/translated/stock.js:227
+#: templates/js/translated/stock.js:193
+msgid "Action for stock items in this stock location"
+msgstr ""
+
+#: templates/js/translated/stock.js:198
+msgid "Action for sub-locations"
+msgstr ""
+
+#: templates/js/translated/stock.js:246
msgid "This part cannot be serialized"
msgstr ""
-#: templates/js/translated/stock.js:266
+#: templates/js/translated/stock.js:285
msgid "Enter initial quantity for this stock item"
msgstr ""
-#: templates/js/translated/stock.js:272
+#: templates/js/translated/stock.js:291
msgid "Enter serial numbers for new stock (or leave blank)"
msgstr ""
-#: templates/js/translated/stock.js:337
+#: templates/js/translated/stock.js:356
msgid "Stock item duplicated"
msgstr ""
-#: templates/js/translated/stock.js:357
+#: templates/js/translated/stock.js:376
msgid "Duplicate Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:373
+#: templates/js/translated/stock.js:392
msgid "Are you sure you want to delete this stock item?"
msgstr ""
-#: templates/js/translated/stock.js:378
+#: templates/js/translated/stock.js:397
msgid "Delete Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:399
+#: templates/js/translated/stock.js:418
msgid "Edit Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:449
+#: templates/js/translated/stock.js:468
msgid "Created new stock item"
msgstr ""
-#: templates/js/translated/stock.js:462
+#: templates/js/translated/stock.js:481
msgid "Created multiple stock items"
msgstr ""
-#: templates/js/translated/stock.js:487
+#: templates/js/translated/stock.js:506
msgid "Find Serial Number"
msgstr ""
-#: templates/js/translated/stock.js:491 templates/js/translated/stock.js:492
+#: templates/js/translated/stock.js:510 templates/js/translated/stock.js:511
msgid "Enter serial number"
msgstr ""
-#: templates/js/translated/stock.js:508
+#: templates/js/translated/stock.js:527
msgid "Enter a serial number"
msgstr ""
-#: templates/js/translated/stock.js:528
+#: templates/js/translated/stock.js:547
msgid "No matching serial number"
msgstr ""
-#: templates/js/translated/stock.js:537
+#: templates/js/translated/stock.js:556
msgid "More than one matching result found"
msgstr ""
-#: templates/js/translated/stock.js:660
+#: templates/js/translated/stock.js:679
msgid "Confirm stock assignment"
msgstr ""
-#: templates/js/translated/stock.js:661
+#: templates/js/translated/stock.js:680
msgid "Assign Stock to Customer"
msgstr ""
-#: templates/js/translated/stock.js:738
+#: templates/js/translated/stock.js:757
msgid "Warning: Merge operation cannot be reversed"
msgstr ""
-#: templates/js/translated/stock.js:739
+#: templates/js/translated/stock.js:758
msgid "Some information will be lost when merging stock items"
msgstr ""
-#: templates/js/translated/stock.js:741
+#: templates/js/translated/stock.js:760
msgid "Stock transaction history will be deleted for merged items"
msgstr ""
-#: templates/js/translated/stock.js:742
+#: templates/js/translated/stock.js:761
msgid "Supplier part information will be deleted for merged items"
msgstr ""
-#: templates/js/translated/stock.js:828
+#: templates/js/translated/stock.js:847
msgid "Confirm stock item merge"
msgstr ""
-#: templates/js/translated/stock.js:829
+#: templates/js/translated/stock.js:848
msgid "Merge Stock Items"
msgstr ""
-#: templates/js/translated/stock.js:924
+#: templates/js/translated/stock.js:943
msgid "Transfer Stock"
msgstr ""
-#: templates/js/translated/stock.js:925
+#: templates/js/translated/stock.js:944
msgid "Move"
msgstr ""
-#: templates/js/translated/stock.js:931
+#: templates/js/translated/stock.js:950
msgid "Count Stock"
msgstr ""
-#: templates/js/translated/stock.js:932
+#: templates/js/translated/stock.js:951
msgid "Count"
msgstr ""
-#: templates/js/translated/stock.js:936
+#: templates/js/translated/stock.js:955
msgid "Remove Stock"
msgstr ""
-#: templates/js/translated/stock.js:937
+#: templates/js/translated/stock.js:956
msgid "Take"
msgstr ""
-#: templates/js/translated/stock.js:941
+#: templates/js/translated/stock.js:960
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:942 users/models.py:218
+#: templates/js/translated/stock.js:961 users/models.py:220
msgid "Add"
msgstr ""
-#: templates/js/translated/stock.js:946
+#: templates/js/translated/stock.js:965
msgid "Delete Stock"
msgstr ""
-#: templates/js/translated/stock.js:1039
+#: templates/js/translated/stock.js:1058
msgid "Quantity cannot be adjusted for serialized stock"
msgstr ""
-#: templates/js/translated/stock.js:1039
+#: templates/js/translated/stock.js:1058
msgid "Specify stock quantity"
msgstr ""
-#: templates/js/translated/stock.js:1079
+#: templates/js/translated/stock.js:1098
msgid "You must select at least one available stock item"
msgstr ""
-#: templates/js/translated/stock.js:1102
+#: templates/js/translated/stock.js:1121
msgid "Confirm stock adjustment"
msgstr ""
-#: templates/js/translated/stock.js:1238
+#: templates/js/translated/stock.js:1257
msgid "PASS"
msgstr ""
-#: templates/js/translated/stock.js:1240
+#: templates/js/translated/stock.js:1259
msgid "FAIL"
msgstr ""
-#: templates/js/translated/stock.js:1245
+#: templates/js/translated/stock.js:1264
msgid "NO RESULT"
msgstr ""
-#: templates/js/translated/stock.js:1292
+#: templates/js/translated/stock.js:1311
msgid "Pass test"
msgstr ""
-#: templates/js/translated/stock.js:1295
+#: templates/js/translated/stock.js:1314
msgid "Add test result"
msgstr ""
-#: templates/js/translated/stock.js:1321
+#: templates/js/translated/stock.js:1340
msgid "No test results found"
msgstr ""
-#: templates/js/translated/stock.js:1378
+#: templates/js/translated/stock.js:1397
msgid "Test Date"
msgstr ""
-#: templates/js/translated/stock.js:1543
+#: templates/js/translated/stock.js:1562
msgid "Edit Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1565
+#: templates/js/translated/stock.js:1584
msgid "Delete Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1594
+#: templates/js/translated/stock.js:1613
msgid "In production"
msgstr ""
-#: templates/js/translated/stock.js:1598
+#: templates/js/translated/stock.js:1617
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:1606
+#: templates/js/translated/stock.js:1625
msgid "Assigned to Sales Order"
msgstr ""
-#: templates/js/translated/stock.js:1612
+#: templates/js/translated/stock.js:1631
msgid "No stock location set"
msgstr ""
-#: templates/js/translated/stock.js:1781
+#: templates/js/translated/stock.js:1800
msgid "Stock item is in production"
msgstr ""
-#: templates/js/translated/stock.js:1786
+#: templates/js/translated/stock.js:1805
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/translated/stock.js:1789
+#: templates/js/translated/stock.js:1808
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/translated/stock.js:1792
+#: templates/js/translated/stock.js:1811
msgid "Serialized stock item has been allocated"
msgstr ""
-#: templates/js/translated/stock.js:1794
+#: templates/js/translated/stock.js:1813
msgid "Stock item has been fully allocated"
msgstr ""
-#: templates/js/translated/stock.js:1796
+#: templates/js/translated/stock.js:1815
msgid "Stock item has been partially allocated"
msgstr ""
-#: templates/js/translated/stock.js:1799
+#: templates/js/translated/stock.js:1818
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:1803
+#: templates/js/translated/stock.js:1822
msgid "Stock item has expired"
msgstr ""
-#: templates/js/translated/stock.js:1805
+#: templates/js/translated/stock.js:1824
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/translated/stock.js:1812
+#: templates/js/translated/stock.js:1831
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/translated/stock.js:1814
+#: templates/js/translated/stock.js:1833
msgid "Stock item is lost"
msgstr ""
-#: templates/js/translated/stock.js:1816
+#: templates/js/translated/stock.js:1835
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/translated/stock.js:1820
-#: templates/js/translated/table_filters.js:204
+#: templates/js/translated/stock.js:1839
+#: templates/js/translated/table_filters.js:208
msgid "Depleted"
msgstr ""
-#: templates/js/translated/stock.js:1871
-msgid "Stocktake"
-msgstr ""
-
-#: templates/js/translated/stock.js:1950
+#: templates/js/translated/stock.js:1969
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/translated/stock.js:1988
+#: templates/js/translated/stock.js:2006
msgid "No stock items matching query"
msgstr ""
-#: templates/js/translated/stock.js:2161
+#: templates/js/translated/stock.js:2179
msgid "Set Stock Status"
msgstr ""
-#: templates/js/translated/stock.js:2175
+#: templates/js/translated/stock.js:2193
msgid "Select Status Code"
msgstr ""
-#: templates/js/translated/stock.js:2176
+#: templates/js/translated/stock.js:2194
msgid "Status code must be selected"
msgstr ""
-#: templates/js/translated/stock.js:2408
+#: templates/js/translated/stock.js:2426
msgid "Load Subloactions"
msgstr ""
-#: templates/js/translated/stock.js:2503
+#: templates/js/translated/stock.js:2521
msgid "Details"
msgstr ""
-#: templates/js/translated/stock.js:2519
+#: templates/js/translated/stock.js:2537
msgid "Part information unavailable"
msgstr ""
-#: templates/js/translated/stock.js:2541
+#: templates/js/translated/stock.js:2559
msgid "Location no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2560
+#: templates/js/translated/stock.js:2578
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2579
+#: templates/js/translated/stock.js:2597
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2597
+#: templates/js/translated/stock.js:2615
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2620
+#: templates/js/translated/stock.js:2638
msgid "Added"
msgstr ""
-#: templates/js/translated/stock.js:2628
+#: templates/js/translated/stock.js:2646
msgid "Removed"
msgstr ""
-#: templates/js/translated/stock.js:2704
+#: templates/js/translated/stock.js:2722
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:2755 templates/js/translated/stock.js:2791
+#: templates/js/translated/stock.js:2773 templates/js/translated/stock.js:2809
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2804
+#: templates/js/translated/stock.js:2822
msgid "Select stock item to uninstall"
msgstr ""
-#: templates/js/translated/stock.js:2825
+#: templates/js/translated/stock.js:2843
msgid "Install another stock item into this item"
msgstr ""
-#: templates/js/translated/stock.js:2826
+#: templates/js/translated/stock.js:2844
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: templates/js/translated/stock.js:2828
+#: templates/js/translated/stock.js:2846
msgid "The Stock Item links to a Part which is the BOM for this Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2829
+#: templates/js/translated/stock.js:2847
msgid "The Stock Item is currently available in stock"
msgstr ""
-#: templates/js/translated/stock.js:2830
+#: templates/js/translated/stock.js:2848
msgid "The Stock Item is not already installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:2831
+#: templates/js/translated/stock.js:2849
msgid "The Stock Item is tracked by either a batch code or serial number"
msgstr ""
-#: templates/js/translated/stock.js:2844
+#: templates/js/translated/stock.js:2862
msgid "Select part to install"
msgstr ""
@@ -10236,215 +10558,220 @@ msgstr ""
msgid "Allow Variant Stock"
msgstr ""
-#: templates/js/translated/table_filters.js:126
-#: templates/js/translated/table_filters.js:199
+#: templates/js/translated/table_filters.js:92
+#: templates/js/translated/table_filters.js:508
+msgid "Has Pricing"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:130
+#: templates/js/translated/table_filters.js:203
msgid "Include sublocations"
msgstr ""
-#: templates/js/translated/table_filters.js:127
+#: templates/js/translated/table_filters.js:131
msgid "Include locations"
msgstr ""
-#: templates/js/translated/table_filters.js:137
-#: templates/js/translated/table_filters.js:138
-#: templates/js/translated/table_filters.js:445
+#: templates/js/translated/table_filters.js:141
+#: templates/js/translated/table_filters.js:142
+#: templates/js/translated/table_filters.js:449
msgid "Include subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:142
-#: templates/js/translated/table_filters.js:488
+#: templates/js/translated/table_filters.js:146
+#: templates/js/translated/table_filters.js:492
msgid "Subscribed"
msgstr ""
-#: templates/js/translated/table_filters.js:152
-#: templates/js/translated/table_filters.js:234
-msgid "Is Serialized"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:155
-#: templates/js/translated/table_filters.js:241
-msgid "Serial number GTE"
-msgstr ""
-
#: templates/js/translated/table_filters.js:156
-#: templates/js/translated/table_filters.js:242
-msgid "Serial number greater than or equal to"
+#: templates/js/translated/table_filters.js:238
+msgid "Is Serialized"
msgstr ""
#: templates/js/translated/table_filters.js:159
#: templates/js/translated/table_filters.js:245
-msgid "Serial number LTE"
+msgid "Serial number GTE"
msgstr ""
#: templates/js/translated/table_filters.js:160
#: templates/js/translated/table_filters.js:246
-msgid "Serial number less than or equal to"
+msgid "Serial number greater than or equal to"
msgstr ""
#: templates/js/translated/table_filters.js:163
+#: templates/js/translated/table_filters.js:249
+msgid "Serial number LTE"
+msgstr ""
+
#: templates/js/translated/table_filters.js:164
-#: templates/js/translated/table_filters.js:237
-#: templates/js/translated/table_filters.js:238
+#: templates/js/translated/table_filters.js:250
+msgid "Serial number less than or equal to"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:167
+#: templates/js/translated/table_filters.js:168
+#: templates/js/translated/table_filters.js:241
+#: templates/js/translated/table_filters.js:242
msgid "Serial number"
msgstr ""
-#: templates/js/translated/table_filters.js:168
-#: templates/js/translated/table_filters.js:259
+#: templates/js/translated/table_filters.js:172
+#: templates/js/translated/table_filters.js:263
msgid "Batch code"
msgstr ""
-#: templates/js/translated/table_filters.js:179
-#: templates/js/translated/table_filters.js:417
+#: templates/js/translated/table_filters.js:183
+#: templates/js/translated/table_filters.js:421
msgid "Active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:180
+#: templates/js/translated/table_filters.js:184
msgid "Show stock for active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:185
+#: templates/js/translated/table_filters.js:189
msgid "Part is an assembly"
msgstr ""
-#: templates/js/translated/table_filters.js:189
+#: templates/js/translated/table_filters.js:193
msgid "Is allocated"
msgstr ""
-#: templates/js/translated/table_filters.js:190
+#: templates/js/translated/table_filters.js:194
msgid "Item has been allocated"
msgstr ""
-#: templates/js/translated/table_filters.js:195
+#: templates/js/translated/table_filters.js:199
msgid "Stock is available for use"
msgstr ""
-#: templates/js/translated/table_filters.js:200
+#: templates/js/translated/table_filters.js:204
msgid "Include stock in sublocations"
msgstr ""
-#: templates/js/translated/table_filters.js:205
+#: templates/js/translated/table_filters.js:209
msgid "Show stock items which are depleted"
msgstr ""
-#: templates/js/translated/table_filters.js:210
+#: templates/js/translated/table_filters.js:214
msgid "Show items which are in stock"
msgstr ""
-#: templates/js/translated/table_filters.js:214
+#: templates/js/translated/table_filters.js:218
msgid "In Production"
msgstr ""
-#: templates/js/translated/table_filters.js:215
+#: templates/js/translated/table_filters.js:219
msgid "Show items which are in production"
msgstr ""
-#: templates/js/translated/table_filters.js:219
+#: templates/js/translated/table_filters.js:223
msgid "Include Variants"
msgstr ""
-#: templates/js/translated/table_filters.js:220
+#: templates/js/translated/table_filters.js:224
msgid "Include stock items for variant parts"
msgstr ""
-#: templates/js/translated/table_filters.js:224
+#: templates/js/translated/table_filters.js:228
msgid "Installed"
msgstr ""
-#: templates/js/translated/table_filters.js:225
+#: templates/js/translated/table_filters.js:229
msgid "Show stock items which are installed in another item"
msgstr ""
-#: templates/js/translated/table_filters.js:230
+#: templates/js/translated/table_filters.js:234
msgid "Show items which have been assigned to a customer"
msgstr ""
-#: templates/js/translated/table_filters.js:250
-#: templates/js/translated/table_filters.js:251
+#: templates/js/translated/table_filters.js:254
+#: templates/js/translated/table_filters.js:255
msgid "Stock status"
msgstr ""
-#: templates/js/translated/table_filters.js:254
+#: templates/js/translated/table_filters.js:258
msgid "Has batch code"
msgstr ""
-#: templates/js/translated/table_filters.js:262
+#: templates/js/translated/table_filters.js:266
msgid "Tracked"
msgstr ""
-#: templates/js/translated/table_filters.js:263
+#: templates/js/translated/table_filters.js:267
msgid "Stock item is tracked by either batch code or serial number"
msgstr ""
-#: templates/js/translated/table_filters.js:268
+#: templates/js/translated/table_filters.js:272
msgid "Has purchase price"
msgstr ""
-#: templates/js/translated/table_filters.js:269
+#: templates/js/translated/table_filters.js:273
msgid "Show stock items which have a purchase price set"
msgstr ""
-#: templates/js/translated/table_filters.js:278
+#: templates/js/translated/table_filters.js:282
msgid "Show stock items which have expired"
msgstr ""
-#: templates/js/translated/table_filters.js:284
+#: templates/js/translated/table_filters.js:288
msgid "Show stock which is close to expiring"
msgstr ""
-#: templates/js/translated/table_filters.js:296
+#: templates/js/translated/table_filters.js:300
msgid "Test Passed"
msgstr ""
-#: templates/js/translated/table_filters.js:300
+#: templates/js/translated/table_filters.js:304
msgid "Include Installed Items"
msgstr ""
-#: templates/js/translated/table_filters.js:319
+#: templates/js/translated/table_filters.js:323
msgid "Build status"
msgstr ""
-#: templates/js/translated/table_filters.js:332
-#: templates/js/translated/table_filters.js:373
+#: templates/js/translated/table_filters.js:336
+#: templates/js/translated/table_filters.js:377
msgid "Assigned to me"
msgstr ""
-#: templates/js/translated/table_filters.js:349
-#: templates/js/translated/table_filters.js:360
-#: templates/js/translated/table_filters.js:390
+#: templates/js/translated/table_filters.js:353
+#: templates/js/translated/table_filters.js:364
+#: templates/js/translated/table_filters.js:394
msgid "Order status"
msgstr ""
-#: templates/js/translated/table_filters.js:365
-#: templates/js/translated/table_filters.js:382
-#: templates/js/translated/table_filters.js:395
+#: templates/js/translated/table_filters.js:369
+#: templates/js/translated/table_filters.js:386
+#: templates/js/translated/table_filters.js:399
msgid "Outstanding"
msgstr ""
-#: templates/js/translated/table_filters.js:446
+#: templates/js/translated/table_filters.js:450
msgid "Include parts in subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:451
+#: templates/js/translated/table_filters.js:455
msgid "Show active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:459
+#: templates/js/translated/table_filters.js:463
msgid "Available stock"
msgstr ""
-#: templates/js/translated/table_filters.js:467
+#: templates/js/translated/table_filters.js:471
msgid "Has IPN"
msgstr ""
-#: templates/js/translated/table_filters.js:468
+#: templates/js/translated/table_filters.js:472
msgid "Part has internal part number"
msgstr ""
-#: templates/js/translated/table_filters.js:472
+#: templates/js/translated/table_filters.js:476
msgid "In stock"
msgstr ""
-#: templates/js/translated/table_filters.js:480
+#: templates/js/translated/table_filters.js:484
msgid "Purchasable"
msgstr ""
@@ -10554,6 +10881,10 @@ msgstr ""
msgid "Show all notifications and history"
msgstr ""
+#: templates/price_data.html:7
+msgid "No data"
+msgstr ""
+
#: templates/qr_code.html:11
msgid "QR data not provided"
msgstr ""
@@ -10738,35 +11069,35 @@ msgstr ""
msgid "Important dates"
msgstr ""
-#: users/models.py:205
+#: users/models.py:207
msgid "Permission set"
msgstr ""
-#: users/models.py:213
+#: users/models.py:215
msgid "Group"
msgstr ""
-#: users/models.py:216
+#: users/models.py:218
msgid "View"
msgstr ""
-#: users/models.py:216
+#: users/models.py:218
msgid "Permission to view items"
msgstr ""
-#: users/models.py:218
+#: users/models.py:220
msgid "Permission to add items"
msgstr ""
-#: users/models.py:220
+#: users/models.py:222
msgid "Change"
msgstr ""
-#: users/models.py:220
+#: users/models.py:222
msgid "Permissions to edit items"
msgstr ""
-#: users/models.py:222
+#: users/models.py:224
msgid "Permission to delete items"
msgstr ""
diff --git a/InvenTree/locale/it/LC_MESSAGES/django.po b/InvenTree/locale/it/LC_MESSAGES/django.po
index 8cc8988071..5730d7755e 100644
--- a/InvenTree/locale/it/LC_MESSAGES/django.po
+++ b/InvenTree/locale/it/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-11-04 14:07+0000\n"
-"PO-Revision-Date: 2022-11-04 19:03\n"
+"POT-Creation-Date: 2022-11-14 04:59+0000\n"
+"PO-Revision-Date: 2022-11-14 14:51\n"
"Last-Translator: \n"
"Language-Team: Italian\n"
"Language: it_IT\n"
@@ -17,7 +17,7 @@ msgstr ""
"X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n"
"X-Crowdin-File-ID: 154\n"
-#: InvenTree/api.py:54
+#: InvenTree/api.py:61
msgid "API endpoint not found"
msgstr "Endpoint API non trovato"
@@ -25,27 +25,27 @@ msgstr "Endpoint API non trovato"
msgid "Error details can be found in the admin panel"
msgstr "I dettagli dell'errore possono essere trovati nel pannello di amministrazione"
-#: InvenTree/fields.py:120
+#: InvenTree/fields.py:129
msgid "Enter date"
msgstr "Inserisci la data"
-#: InvenTree/fields.py:195 build/serializers.py:387
-#: build/templates/build/sidebar.html:21 company/models.py:525
-#: company/templates/company/sidebar.html:25 order/models.py:920
+#: InvenTree/fields.py:204 build/serializers.py:387
+#: build/templates/build/sidebar.html:21 company/models.py:529
+#: company/templates/company/sidebar.html:25 order/models.py:943
#: order/templates/order/po_sidebar.html:11
-#: order/templates/order/so_sidebar.html:17
-#: part/templates/part/part_sidebar.html:59
+#: order/templates/order/so_sidebar.html:17 part/admin.py:27
+#: part/templates/part/part_sidebar.html:57
#: report/templates/report/inventree_build_order_base.html:172
-#: stock/models.py:2002 stock/models.py:2110 stock/serializers.py:327
-#: stock/serializers.py:460 stock/serializers.py:541 stock/serializers.py:827
-#: stock/serializers.py:926 stock/serializers.py:1058
+#: stock/admin.py:103 stock/models.py:2018 stock/models.py:2126
+#: stock/serializers.py:321 stock/serializers.py:454 stock/serializers.py:535
+#: stock/serializers.py:826 stock/serializers.py:925 stock/serializers.py:1057
#: stock/templates/stock/stock_sidebar.html:25
-#: templates/js/translated/barcode.js:108 templates/js/translated/bom.js:1146
-#: templates/js/translated/company.js:1022
-#: templates/js/translated/order.js:2404 templates/js/translated/order.js:2552
-#: templates/js/translated/order.js:3048 templates/js/translated/order.js:3999
-#: templates/js/translated/order.js:4394 templates/js/translated/stock.js:1374
-#: templates/js/translated/stock.js:1982
+#: templates/js/translated/barcode.js:108 templates/js/translated/bom.js:1211
+#: templates/js/translated/company.js:1023
+#: templates/js/translated/order.js:2427 templates/js/translated/order.js:2561
+#: templates/js/translated/order.js:3059 templates/js/translated/order.js:3996
+#: templates/js/translated/order.js:4377 templates/js/translated/stock.js:1393
+#: templates/js/translated/stock.js:2000
msgid "Notes"
msgstr "Note"
@@ -122,43 +122,43 @@ msgstr ""
msgid "Supplied URL is not a valid image file"
msgstr "L'URL fornito non è un file immagine valido"
-#: InvenTree/helpers.py:602 order/models.py:325 order/models.py:477
+#: InvenTree/helpers.py:589 order/models.py:329 order/models.py:496
msgid "Invalid quantity provided"
msgstr "Quantità inserita non valida"
-#: InvenTree/helpers.py:610
+#: InvenTree/helpers.py:597
msgid "Empty serial number string"
msgstr "Numero seriale vuoto"
-#: InvenTree/helpers.py:640
+#: InvenTree/helpers.py:627
msgid "Duplicate serial"
msgstr ""
-#: InvenTree/helpers.py:673 InvenTree/helpers.py:708
+#: InvenTree/helpers.py:660 InvenTree/helpers.py:695
#, python-brace-format
msgid "Invalid group range: {g}"
msgstr "Range gruppo: {g}"
-#: InvenTree/helpers.py:702
+#: InvenTree/helpers.py:689
#, python-brace-format
msgid "Group range {g} exceeds allowed quantity ({q})"
msgstr ""
-#: InvenTree/helpers.py:726 InvenTree/helpers.py:733 InvenTree/helpers.py:748
+#: InvenTree/helpers.py:713 InvenTree/helpers.py:720 InvenTree/helpers.py:735
#, python-brace-format
msgid "Invalid group sequence: {g}"
msgstr "Sequenza gruppo non valida: {g}"
-#: InvenTree/helpers.py:758
+#: InvenTree/helpers.py:745
msgid "No serial numbers found"
msgstr "Nessun numero di serie trovato"
-#: InvenTree/helpers.py:761
+#: InvenTree/helpers.py:748
#, python-brace-format
msgid "Number of unique serial numbers ({s}) must match quantity ({q})"
msgstr "Il numero dei numeri seriali univoci ({s}) deve essere uguale alla quantità ({q})"
-#: InvenTree/helpers.py:960
+#: InvenTree/helpers.py:947
msgid "Remove HTML tags from this value"
msgstr ""
@@ -194,7 +194,7 @@ msgstr "File mancante"
msgid "Missing external link"
msgstr "Link esterno mancante"
-#: InvenTree/models.py:405 stock/models.py:2104
+#: InvenTree/models.py:405 stock/models.py:2120
#: templates/js/translated/attachment.js:103
#: templates/js/translated/attachment.js:241
msgid "Attachment"
@@ -204,18 +204,19 @@ msgstr "Allegato"
msgid "Select file to attach"
msgstr "Seleziona file da allegare"
-#: InvenTree/models.py:412 company/models.py:125 company/models.py:277
-#: company/models.py:512 order/models.py:84 order/models.py:1259
-#: part/models.py:816 part/templates/part/part_scheduling.html:11
+#: InvenTree/models.py:412 common/models.py:2313 company/models.py:129
+#: company/models.py:281 company/models.py:516 order/models.py:85
+#: order/models.py:1282 part/admin.py:25 part/models.py:835
+#: part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
-#: templates/js/translated/company.js:691
-#: templates/js/translated/company.js:1011
-#: templates/js/translated/order.js:3037 templates/js/translated/part.js:1569
+#: stock/admin.py:102 templates/js/translated/company.js:692
+#: templates/js/translated/company.js:1012
+#: templates/js/translated/order.js:3048 templates/js/translated/part.js:1593
msgid "Link"
msgstr "Collegamento"
-#: InvenTree/models.py:413 build/models.py:290 part/models.py:817
-#: stock/models.py:660
+#: InvenTree/models.py:413 build/models.py:290 part/models.py:836
+#: stock/models.py:676
msgid "Link to external URL"
msgstr "Link a URL esterno"
@@ -228,12 +229,12 @@ msgstr "Commento"
msgid "File comment"
msgstr "Commento del file"
-#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1744
-#: common/models.py:1745 common/models.py:1968 common/models.py:1969
-#: common/models.py:2231 common/models.py:2232 part/models.py:2254
-#: part/models.py:2274 plugin/models.py:264 plugin/models.py:265
+#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1756
+#: common/models.py:1757 common/models.py:1980 common/models.py:1981
+#: common/models.py:2243 common/models.py:2244 part/models.py:2867
+#: part/models.py:2887 plugin/models.py:264 plugin/models.py:265
#: report/templates/report/inventree_test_report_base.html:96
-#: templates/js/translated/stock.js:2651
+#: templates/js/translated/stock.js:2669
msgid "User"
msgstr "Utente"
@@ -270,44 +271,45 @@ msgstr "Errore nella rinominazione del file"
msgid "Invalid choice"
msgstr "Scelta non valida"
-#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1954
-#: company/models.py:359 label/models.py:101 part/models.py:760
-#: part/models.py:2429 plugin/models.py:94 report/models.py:152
+#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1966
+#: company/models.py:363 label/models.py:101 part/models.py:779
+#: part/models.py:3042 plugin/models.py:94 report/models.py:152
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/plugin.html:60
#: templates/InvenTree/settings/plugin.html:104
#: templates/InvenTree/settings/plugin_settings.html:23
#: templates/InvenTree/settings/settings.html:344
-#: templates/js/translated/company.js:580
-#: templates/js/translated/company.js:793
+#: templates/js/translated/company.js:581
+#: templates/js/translated/company.js:794
#: templates/js/translated/notification.js:71
-#: templates/js/translated/part.js:686 templates/js/translated/part.js:838
-#: templates/js/translated/part.js:1964 templates/js/translated/stock.js:2396
+#: templates/js/translated/part.js:700 templates/js/translated/part.js:865
+#: templates/js/translated/part.js:1988 templates/js/translated/stock.js:2414
msgid "Name"
msgstr "Nome"
#: InvenTree/models.py:564 build/models.py:163
-#: build/templates/build/detail.html:24 company/models.py:283
-#: company/models.py:518 company/templates/company/company_base.html:71
+#: build/templates/build/detail.html:24 company/models.py:287
+#: company/models.py:522 company/templates/company/company_base.html:71
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:108 label/models.py:108
-#: order/models.py:82 part/models.py:783 part/models.py:2438
-#: part/templates/part/category.html:75 part/templates/part/part_base.html:172
+#: order/models.py:83 part/admin.py:141 part/admin.py:222 part/models.py:802
+#: part/models.py:3051 part/templates/part/category.html:75
+#: part/templates/part/part_base.html:172
#: part/templates/part/part_scheduling.html:12 report/models.py:165
#: report/models.py:507 report/models.py:551
#: report/templates/report/inventree_build_order_base.html:117
-#: stock/templates/stock/location.html:117
+#: stock/admin.py:25 stock/templates/stock/location.html:117
#: templates/InvenTree/settings/plugin_settings.html:28
#: templates/InvenTree/settings/settings.html:355
-#: templates/js/translated/bom.js:579 templates/js/translated/bom.js:887
-#: templates/js/translated/build.js:2580 templates/js/translated/company.js:444
-#: templates/js/translated/company.js:702
-#: templates/js/translated/company.js:986 templates/js/translated/order.js:1988
-#: templates/js/translated/order.js:2220 templates/js/translated/order.js:2826
-#: templates/js/translated/part.js:745 templates/js/translated/part.js:1187
-#: templates/js/translated/part.js:1464 templates/js/translated/part.js:2000
-#: templates/js/translated/part.js:2075 templates/js/translated/stock.js:1748
-#: templates/js/translated/stock.js:2428 templates/js/translated/stock.js:2488
+#: templates/js/translated/bom.js:592 templates/js/translated/bom.js:895
+#: templates/js/translated/build.js:2580 templates/js/translated/company.js:445
+#: templates/js/translated/company.js:703
+#: templates/js/translated/company.js:987 templates/js/translated/order.js:2022
+#: templates/js/translated/order.js:2259 templates/js/translated/order.js:2837
+#: templates/js/translated/part.js:759 templates/js/translated/part.js:1208
+#: templates/js/translated/part.js:1475 templates/js/translated/part.js:2024
+#: templates/js/translated/part.js:2099 templates/js/translated/stock.js:1767
+#: templates/js/translated/stock.js:2446 templates/js/translated/stock.js:2506
msgid "Description"
msgstr "Descrizione"
@@ -320,7 +322,7 @@ msgid "parent"
msgstr "genitore"
#: InvenTree/models.py:580 InvenTree/models.py:581
-#: templates/js/translated/part.js:2009 templates/js/translated/stock.js:2437
+#: templates/js/translated/part.js:2033 templates/js/translated/stock.js:2455
msgid "Path"
msgstr "Percorso"
@@ -332,7 +334,7 @@ msgstr ""
msgid "Third party barcode data"
msgstr ""
-#: InvenTree/models.py:688 order/serializers.py:486
+#: InvenTree/models.py:688 order/serializers.py:477
msgid "Barcode Hash"
msgstr ""
@@ -352,187 +354,187 @@ msgstr "Errore del server"
msgid "An error has been logged by the server."
msgstr "Un errore è stato loggato dal server."
-#: InvenTree/serializers.py:58 part/models.py:2774
+#: InvenTree/serializers.py:58 part/models.py:3387
msgid "Must be a valid number"
msgstr "Deve essere un numero valido"
-#: InvenTree/serializers.py:265
+#: InvenTree/serializers.py:266
msgid "Filename"
msgstr "Nome del file"
-#: InvenTree/serializers.py:300
+#: InvenTree/serializers.py:301
msgid "Invalid value"
msgstr "Valore non valido"
-#: InvenTree/serializers.py:322
+#: InvenTree/serializers.py:323
msgid "Data File"
msgstr "File dati"
-#: InvenTree/serializers.py:323
+#: InvenTree/serializers.py:324
msgid "Select data file for upload"
msgstr "Seleziona un file per il caricamento"
-#: InvenTree/serializers.py:344
+#: InvenTree/serializers.py:345
msgid "Unsupported file type"
msgstr "Formato file non supportato"
-#: InvenTree/serializers.py:350
+#: InvenTree/serializers.py:351
msgid "File is too large"
msgstr "File troppo grande"
-#: InvenTree/serializers.py:371
+#: InvenTree/serializers.py:372
msgid "No columns found in file"
msgstr "Nessun colonna trovata nel file"
-#: InvenTree/serializers.py:374
+#: InvenTree/serializers.py:375
msgid "No data rows found in file"
msgstr "Nessuna riga di dati trovata nel file"
-#: InvenTree/serializers.py:497
+#: InvenTree/serializers.py:498
msgid "No data rows provided"
msgstr ""
-#: InvenTree/serializers.py:500
+#: InvenTree/serializers.py:501
msgid "No data columns supplied"
msgstr ""
-#: InvenTree/serializers.py:577
+#: InvenTree/serializers.py:578
#, python-brace-format
msgid "Missing required column: '{name}'"
msgstr "Colonna richiesta mancante: '{name}'"
-#: InvenTree/serializers.py:586
+#: InvenTree/serializers.py:587
#, python-brace-format
msgid "Duplicate column: '{col}'"
msgstr "Colonna duplicata: '{col}'"
-#: InvenTree/serializers.py:605
+#: InvenTree/serializers.py:606
#: templates/InvenTree/settings/mixins/urls.html:14
msgid "URL"
msgstr ""
-#: InvenTree/serializers.py:606
+#: InvenTree/serializers.py:607
msgid "URL of remote image file"
msgstr ""
-#: InvenTree/serializers.py:620
+#: InvenTree/serializers.py:621
msgid "Downloading images from remote URL is not enabled"
msgstr ""
-#: InvenTree/settings.py:621
+#: InvenTree/settings.py:627
msgid "Czech"
msgstr "Ceco"
-#: InvenTree/settings.py:622
+#: InvenTree/settings.py:628
msgid "Danish"
msgstr ""
-#: InvenTree/settings.py:623
+#: InvenTree/settings.py:629
msgid "German"
msgstr "Tedesco"
-#: InvenTree/settings.py:624
+#: InvenTree/settings.py:630
msgid "Greek"
msgstr "Greco"
-#: InvenTree/settings.py:625
+#: InvenTree/settings.py:631
msgid "English"
msgstr "Inglese"
-#: InvenTree/settings.py:626
+#: InvenTree/settings.py:632
msgid "Spanish"
msgstr "Spagnolo"
-#: InvenTree/settings.py:627
+#: InvenTree/settings.py:633
msgid "Spanish (Mexican)"
msgstr "Spagnolo (Messicano)"
-#: InvenTree/settings.py:628
+#: InvenTree/settings.py:634
msgid "Farsi / Persian"
msgstr "Farsi / Persiano"
-#: InvenTree/settings.py:629
+#: InvenTree/settings.py:635
msgid "French"
msgstr "Francese"
-#: InvenTree/settings.py:630
+#: InvenTree/settings.py:636
msgid "Hebrew"
msgstr "Ebraico"
-#: InvenTree/settings.py:631
+#: InvenTree/settings.py:637
msgid "Hungarian"
msgstr "Ungherese"
-#: InvenTree/settings.py:632
+#: InvenTree/settings.py:638
msgid "Italian"
msgstr "Italiano"
-#: InvenTree/settings.py:633
+#: InvenTree/settings.py:639
msgid "Japanese"
msgstr "Giapponese"
-#: InvenTree/settings.py:634
+#: InvenTree/settings.py:640
msgid "Korean"
msgstr "Coreano"
-#: InvenTree/settings.py:635
+#: InvenTree/settings.py:641
msgid "Dutch"
msgstr "Olandese"
-#: InvenTree/settings.py:636
+#: InvenTree/settings.py:642
msgid "Norwegian"
msgstr "Norvegese"
-#: InvenTree/settings.py:637
+#: InvenTree/settings.py:643
msgid "Polish"
msgstr "Polacco"
-#: InvenTree/settings.py:638
+#: InvenTree/settings.py:644
msgid "Portuguese"
msgstr "Portoghese"
-#: InvenTree/settings.py:639
+#: InvenTree/settings.py:645
msgid "Portuguese (Brazilian)"
msgstr "Portoghese (Brasile)"
-#: InvenTree/settings.py:640
+#: InvenTree/settings.py:646
msgid "Russian"
msgstr "Russo"
-#: InvenTree/settings.py:641
+#: InvenTree/settings.py:647
msgid "Swedish"
msgstr "Svedese"
-#: InvenTree/settings.py:642
+#: InvenTree/settings.py:648
msgid "Thai"
msgstr "Thailandese"
-#: InvenTree/settings.py:643
+#: InvenTree/settings.py:649
msgid "Turkish"
msgstr "Turco"
-#: InvenTree/settings.py:644
+#: InvenTree/settings.py:650
msgid "Vietnamese"
msgstr "Vietnamita"
-#: InvenTree/settings.py:645
+#: InvenTree/settings.py:651
msgid "Chinese"
msgstr "Cinese"
-#: InvenTree/status.py:99
+#: InvenTree/status.py:98
msgid "Background worker check failed"
msgstr "Controllo in background non riuscito"
-#: InvenTree/status.py:103
+#: InvenTree/status.py:102
msgid "Email backend not configured"
msgstr "Server di posta non configurato"
-#: InvenTree/status.py:106
+#: InvenTree/status.py:105
msgid "InvenTree system health checks failed"
msgstr "Controlli di sistema InvenTree falliti"
#: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140
-#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:342
+#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:346
msgid "Pending"
msgstr "In attesa"
@@ -561,8 +563,8 @@ msgstr "Perso"
msgid "Returned"
msgstr "Reso"
-#: InvenTree/status_codes.py:141 order/models.py:1142
-#: templates/js/translated/order.js:3625 templates/js/translated/order.js:3974
+#: InvenTree/status_codes.py:141 order/models.py:1165
+#: templates/js/translated/order.js:3636 templates/js/translated/order.js:3971
msgid "Shipped"
msgstr "Spedito"
@@ -646,7 +648,7 @@ msgstr "Diviso dall'elemento genitore"
msgid "Split child item"
msgstr "Dividi elemento figlio"
-#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2086
+#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2104
msgid "Merged stock items"
msgstr "Elemento stock raggruppato"
@@ -654,7 +656,7 @@ msgstr "Elemento stock raggruppato"
msgid "Converted to variant"
msgstr "Convertito in variante"
-#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:229
+#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:233
msgid "Sent to customer"
msgstr "Inviato al cliente"
@@ -746,7 +748,7 @@ msgstr "Ordine di Produzione"
#: build/models.py:111 build/templates/build/build_base.html:13
#: build/templates/build/index.html:8 build/templates/build/index.html:12
-#: order/templates/order/sales_order_detail.html:120
+#: order/templates/order/sales_order_detail.html:125
#: order/templates/order/so_sidebar.html:13
#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221
#: templates/InvenTree/search.html:141
@@ -759,15 +761,15 @@ msgstr "Ordini di Produzione"
msgid "Build Order Reference"
msgstr ""
-#: build/models.py:155 order/models.py:240 order/models.py:632
-#: order/models.py:918 part/models.py:2684
+#: build/models.py:155 order/models.py:241 order/models.py:651
+#: order/models.py:941 part/admin.py:224 part/models.py:3297
#: part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:92
-#: templates/js/translated/bom.js:716 templates/js/translated/bom.js:897
-#: templates/js/translated/build.js:1843 templates/js/translated/order.js:2251
-#: templates/js/translated/order.js:2481 templates/js/translated/order.js:3818
-#: templates/js/translated/order.js:4323
+#: templates/js/translated/bom.js:729 templates/js/translated/bom.js:905
+#: templates/js/translated/build.js:1843 templates/js/translated/order.js:2290
+#: templates/js/translated/order.js:2508 templates/js/translated/order.js:3833
+#: templates/js/translated/order.js:4324 templates/js/translated/pricing.js:119
msgid "Reference"
msgstr "Riferimento"
@@ -785,39 +787,40 @@ msgid "BuildOrder to which this build is allocated"
msgstr ""
#: build/models.py:180 build/templates/build/build_base.html:80
-#: build/templates/build/detail.html:29 company/models.py:680
-#: order/models.py:1015 order/models.py:1126 order/models.py:1127
-#: part/models.py:343 part/models.py:2200 part/models.py:2215
-#: part/models.py:2234 part/models.py:2252 part/models.py:2351
-#: part/models.py:2472 part/models.py:2564 part/models.py:2649
-#: part/models.py:2943 part/serializers.py:828
+#: build/templates/build/detail.html:29 company/models.py:684
+#: order/models.py:1038 order/models.py:1149 order/models.py:1150
+#: part/models.py:362 part/models.py:2700 part/models.py:2813
+#: part/models.py:2828 part/models.py:2847 part/models.py:2865
+#: part/models.py:2964 part/models.py:3085 part/models.py:3177
+#: part/models.py:3262 part/models.py:3578 part/serializers.py:852
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
#: report/templates/report/inventree_build_order_base.html:109
#: report/templates/report/inventree_po_report.html:89
-#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:86
-#: stock/serializers.py:494 templates/InvenTree/search.html:82
+#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:90
+#: stock/serializers.py:488 templates/InvenTree/search.html:82
#: templates/email/build_order_completed.html:17
#: templates/email/build_order_required_stock.html:17
#: templates/email/low_stock_notification.html:16
#: templates/email/overdue_build_order.html:16
-#: templates/js/translated/barcode.js:479 templates/js/translated/bom.js:578
-#: templates/js/translated/bom.js:715 templates/js/translated/bom.js:841
+#: templates/js/translated/barcode.js:479 templates/js/translated/bom.js:591
+#: templates/js/translated/bom.js:728 templates/js/translated/bom.js:849
#: templates/js/translated/build.js:1214 templates/js/translated/build.js:1711
#: templates/js/translated/build.js:2194 templates/js/translated/build.js:2585
-#: templates/js/translated/company.js:301
-#: templates/js/translated/company.js:531
-#: templates/js/translated/company.js:643
-#: templates/js/translated/company.js:904 templates/js/translated/order.js:106
-#: templates/js/translated/order.js:1134 templates/js/translated/order.js:1638
-#: templates/js/translated/order.js:2205 templates/js/translated/order.js:3180
-#: templates/js/translated/order.js:3576 templates/js/translated/order.js:3802
-#: templates/js/translated/part.js:1172 templates/js/translated/part.js:1244
-#: templates/js/translated/part.js:1442 templates/js/translated/stock.js:586
-#: templates/js/translated/stock.js:751 templates/js/translated/stock.js:958
-#: templates/js/translated/stock.js:1700 templates/js/translated/stock.js:2514
-#: templates/js/translated/stock.js:2709 templates/js/translated/stock.js:2843
+#: templates/js/translated/company.js:302
+#: templates/js/translated/company.js:532
+#: templates/js/translated/company.js:644
+#: templates/js/translated/company.js:905 templates/js/translated/order.js:106
+#: templates/js/translated/order.js:1168 templates/js/translated/order.js:1672
+#: templates/js/translated/order.js:2244 templates/js/translated/order.js:3191
+#: templates/js/translated/order.js:3587 templates/js/translated/order.js:3817
+#: templates/js/translated/part.js:1193 templates/js/translated/part.js:1265
+#: templates/js/translated/part.js:1452 templates/js/translated/pricing.js:102
+#: templates/js/translated/stock.js:605 templates/js/translated/stock.js:770
+#: templates/js/translated/stock.js:977 templates/js/translated/stock.js:1719
+#: templates/js/translated/stock.js:2532 templates/js/translated/stock.js:2727
+#: templates/js/translated/stock.js:2861
msgid "Part"
msgstr "Articolo"
@@ -834,7 +837,7 @@ msgid "SalesOrder to which this build is allocated"
msgstr ""
#: build/models.py:202 build/serializers.py:822
-#: templates/js/translated/build.js:2182 templates/js/translated/order.js:3168
+#: templates/js/translated/build.js:2182 templates/js/translated/order.js:3179
msgid "Source Location"
msgstr "Posizione Di Origine"
@@ -874,8 +877,8 @@ msgstr "Stato Build"
msgid "Build status code"
msgstr ""
-#: build/models.py:245 build/serializers.py:224 order/serializers.py:464
-#: stock/models.py:664 templates/js/translated/order.js:1496
+#: build/models.py:245 build/serializers.py:224 order/serializers.py:455
+#: stock/models.py:680 templates/js/translated/order.js:1530
msgid "Batch Code"
msgstr "Codice Lotto"
@@ -883,12 +886,12 @@ msgstr "Codice Lotto"
msgid "Batch code for this build output"
msgstr ""
-#: build/models.py:252 order/models.py:86 part/models.py:952
-#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2839
+#: build/models.py:252 order/models.py:87 part/models.py:971
+#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2850
msgid "Creation Date"
msgstr "Data di creazione"
-#: build/models.py:256 order/models.py:662
+#: build/models.py:256 order/models.py:681
msgid "Target completion date"
msgstr "Data completamento obiettivo"
@@ -896,7 +899,7 @@ msgstr "Data completamento obiettivo"
msgid "Target date for build completion. Build will be overdue after this date."
msgstr ""
-#: build/models.py:260 order/models.py:291
+#: build/models.py:260 order/models.py:292
#: templates/js/translated/build.js:2662
msgid "Completion Date"
msgstr "Data di completamento"
@@ -914,11 +917,11 @@ msgid "User who issued this build order"
msgstr ""
#: build/models.py:283 build/templates/build/build_base.html:193
-#: build/templates/build/detail.html:115 order/models.py:100
+#: build/templates/build/detail.html:115 order/models.py:101
#: order/templates/order/order_base.html:185
-#: order/templates/order/sales_order_base.html:183 part/models.py:956
+#: order/templates/order/sales_order_base.html:183 part/models.py:975
#: report/templates/report/inventree_build_order_base.html:158
-#: templates/js/translated/build.js:2642 templates/js/translated/order.js:2022
+#: templates/js/translated/build.js:2642 templates/js/translated/order.js:2056
msgid "Responsible"
msgstr "Responsabile"
@@ -929,7 +932,7 @@ msgstr ""
#: build/models.py:289 build/templates/build/detail.html:101
#: company/templates/company/manufacturer_part.html:107
#: company/templates/company/supplier_part.html:188
-#: part/templates/part/part_base.html:361 stock/models.py:658
+#: part/templates/part/part_base.html:376 stock/models.py:674
#: stock/templates/stock/item_base.html:203
msgid "External Link"
msgstr "Collegamento esterno"
@@ -968,11 +971,11 @@ msgstr ""
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr "La quantità assegnata ({q}) non deve essere maggiore della quantità disponibile ({a})"
-#: build/models.py:1191 order/models.py:1393
+#: build/models.py:1191 order/models.py:1416
msgid "Stock item is over-allocated"
msgstr "L'articolo in giacenza è sovrallocato"
-#: build/models.py:1197 order/models.py:1396
+#: build/models.py:1197 order/models.py:1419
msgid "Allocation quantity must be greater than zero"
msgstr "La quantità di assegnazione deve essere maggiore di zero"
@@ -994,18 +997,18 @@ msgstr "Produzione"
msgid "Build to allocate parts"
msgstr ""
-#: build/models.py:1346 build/serializers.py:663 order/serializers.py:1039
-#: order/serializers.py:1060 stock/serializers.py:398 stock/serializers.py:758
-#: stock/serializers.py:884 stock/templates/stock/item_base.html:10
+#: build/models.py:1346 build/serializers.py:663 order/serializers.py:1032
+#: order/serializers.py:1053 stock/serializers.py:392 stock/serializers.py:757
+#: stock/serializers.py:883 stock/templates/stock/item_base.html:10
#: stock/templates/stock/item_base.html:23
#: stock/templates/stock/item_base.html:197
#: templates/js/translated/build.js:790 templates/js/translated/build.js:795
#: templates/js/translated/build.js:2196 templates/js/translated/build.js:2747
-#: templates/js/translated/order.js:107 templates/js/translated/order.js:3181
-#: templates/js/translated/order.js:3483 templates/js/translated/order.js:3488
-#: templates/js/translated/order.js:3583 templates/js/translated/order.js:3675
-#: templates/js/translated/stock.js:587 templates/js/translated/stock.js:752
-#: templates/js/translated/stock.js:2587
+#: templates/js/translated/order.js:107 templates/js/translated/order.js:3192
+#: templates/js/translated/order.js:3494 templates/js/translated/order.js:3499
+#: templates/js/translated/order.js:3594 templates/js/translated/order.js:3686
+#: templates/js/translated/stock.js:606 templates/js/translated/stock.js:771
+#: templates/js/translated/stock.js:2605
msgid "Stock Item"
msgstr "Articoli in magazzino"
@@ -1015,12 +1018,10 @@ msgstr "Origine giacenza articolo"
#: build/models.py:1359 build/serializers.py:192
#: build/templates/build/build_base.html:85
-#: build/templates/build/detail.html:34 common/models.py:1776
-#: company/templates/company/supplier_part.html:341 order/models.py:911
-#: order/models.py:1437 order/serializers.py:1213
-#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:40
-#: part/models.py:2665 part/templates/part/detail.html:938
-#: part/templates/part/detail.html:1024
+#: build/templates/build/detail.html:34 common/models.py:1788
+#: order/models.py:934 order/models.py:1460 order/serializers.py:1206
+#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:223
+#: part/forms.py:40 part/models.py:3278
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_build_order_base.html:113
@@ -1028,25 +1029,29 @@ msgstr "Origine giacenza articolo"
#: report/templates/report/inventree_so_report.html:91
#: report/templates/report/inventree_test_report_base.html:81
#: report/templates/report/inventree_test_report_base.html:139
-#: stock/serializers.py:291 stock/templates/stock/item_base.html:290
+#: stock/admin.py:86 stock/serializers.py:285
+#: stock/templates/stock/item_base.html:290
#: stock/templates/stock/item_base.html:298
#: templates/email/build_order_completed.html:18
-#: templates/js/translated/barcode.js:481 templates/js/translated/bom.js:717
-#: templates/js/translated/bom.js:905 templates/js/translated/build.js:474
+#: templates/js/translated/barcode.js:481 templates/js/translated/bom.js:730
+#: templates/js/translated/bom.js:913 templates/js/translated/build.js:474
#: templates/js/translated/build.js:626 templates/js/translated/build.js:817
#: templates/js/translated/build.js:1236 templates/js/translated/build.js:1737
#: templates/js/translated/build.js:2197
+#: templates/js/translated/company.js:1159
#: templates/js/translated/model_renderers.js:120
-#: templates/js/translated/order.js:123 templates/js/translated/order.js:1137
-#: templates/js/translated/order.js:2257 templates/js/translated/order.js:2487
-#: templates/js/translated/order.js:3182 templates/js/translated/order.js:3502
-#: templates/js/translated/order.js:3589 templates/js/translated/order.js:3681
-#: templates/js/translated/order.js:3824 templates/js/translated/order.js:4329
-#: templates/js/translated/part.js:1036 templates/js/translated/part.js:2220
-#: templates/js/translated/part.js:2689 templates/js/translated/part.js:2730
-#: templates/js/translated/part.js:2808 templates/js/translated/stock.js:458
-#: templates/js/translated/stock.js:612 templates/js/translated/stock.js:782
-#: templates/js/translated/stock.js:2636 templates/js/translated/stock.js:2721
+#: templates/js/translated/order.js:123 templates/js/translated/order.js:1171
+#: templates/js/translated/order.js:2296 templates/js/translated/order.js:2514
+#: templates/js/translated/order.js:3193 templates/js/translated/order.js:3513
+#: templates/js/translated/order.js:3600 templates/js/translated/order.js:3692
+#: templates/js/translated/order.js:3839 templates/js/translated/order.js:4330
+#: templates/js/translated/part.js:1063 templates/js/translated/part.js:2546
+#: templates/js/translated/pricing.js:114
+#: templates/js/translated/pricing.js:207
+#: templates/js/translated/pricing.js:255
+#: templates/js/translated/pricing.js:349 templates/js/translated/stock.js:477
+#: templates/js/translated/stock.js:631 templates/js/translated/stock.js:801
+#: templates/js/translated/stock.js:2654 templates/js/translated/stock.js:2739
msgid "Quantity"
msgstr "Quantità"
@@ -1087,10 +1092,10 @@ msgstr ""
msgid "Enter quantity for build output"
msgstr "Inserisci la quantità per l'output di compilazione"
-#: build/serializers.py:207 build/serializers.py:683 order/models.py:323
-#: order/serializers.py:304 order/serializers.py:459 part/serializers.py:558
-#: part/serializers.py:991 stock/models.py:518 stock/models.py:1253
-#: stock/serializers.py:300
+#: build/serializers.py:207 build/serializers.py:683 order/models.py:327
+#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:644
+#: part/serializers.py:1015 stock/models.py:534 stock/models.py:1269
+#: stock/serializers.py:294
msgid "Quantity must be greater than zero"
msgstr "La quantità deve essere maggiore di zero"
@@ -1102,9 +1107,9 @@ msgstr ""
msgid "Integer quantity required, as the bill of materials contains trackable parts"
msgstr ""
-#: build/serializers.py:231 order/serializers.py:472 order/serializers.py:1217
-#: stock/serializers.py:309 templates/js/translated/order.js:1507
-#: templates/js/translated/stock.js:271 templates/js/translated/stock.js:459
+#: build/serializers.py:231 order/serializers.py:463 order/serializers.py:1210
+#: stock/serializers.py:303 templates/js/translated/order.js:1541
+#: templates/js/translated/stock.js:290 templates/js/translated/stock.js:478
msgid "Serial Numbers"
msgstr "Codice Seriale"
@@ -1120,7 +1125,7 @@ msgstr ""
msgid "Automatically allocate required items with matching serial numbers"
msgstr ""
-#: build/serializers.py:281 stock/api.py:589
+#: build/serializers.py:281 stock/api.py:599
msgid "The following serial numbers already exist or are invalid"
msgstr ""
@@ -1128,18 +1133,18 @@ msgstr ""
msgid "A list of build outputs must be provided"
msgstr ""
-#: build/serializers.py:369 order/serializers.py:445 order/serializers.py:556
-#: stock/serializers.py:320 stock/serializers.py:455 stock/serializers.py:536
-#: stock/serializers.py:919 stock/serializers.py:1152
+#: build/serializers.py:369 order/serializers.py:436 order/serializers.py:547
+#: stock/serializers.py:314 stock/serializers.py:449 stock/serializers.py:530
+#: stock/serializers.py:918 stock/serializers.py:1151
#: stock/templates/stock/item_base.html:388
#: templates/js/translated/barcode.js:480
#: templates/js/translated/barcode.js:724 templates/js/translated/build.js:802
-#: templates/js/translated/build.js:1749 templates/js/translated/order.js:1534
-#: templates/js/translated/order.js:3495 templates/js/translated/order.js:3600
-#: templates/js/translated/order.js:3608 templates/js/translated/order.js:3689
-#: templates/js/translated/part.js:181 templates/js/translated/stock.js:588
-#: templates/js/translated/stock.js:753 templates/js/translated/stock.js:960
-#: templates/js/translated/stock.js:1856 templates/js/translated/stock.js:2528
+#: templates/js/translated/build.js:1749 templates/js/translated/order.js:1568
+#: templates/js/translated/order.js:3506 templates/js/translated/order.js:3611
+#: templates/js/translated/order.js:3619 templates/js/translated/order.js:3700
+#: templates/js/translated/part.js:177 templates/js/translated/stock.js:607
+#: templates/js/translated/stock.js:772 templates/js/translated/stock.js:979
+#: templates/js/translated/stock.js:1875 templates/js/translated/stock.js:2546
msgid "Location"
msgstr "Posizione"
@@ -1148,12 +1153,13 @@ msgid "Location for completed build outputs"
msgstr "Posizione per gli output di build completati"
#: build/serializers.py:376 build/templates/build/build_base.html:145
-#: build/templates/build/detail.html:62 order/models.py:651
-#: order/serializers.py:482 stock/templates/stock/item_base.html:421
+#: build/templates/build/detail.html:62 order/models.py:670
+#: order/serializers.py:473 stock/admin.py:89
+#: stock/templates/stock/item_base.html:421
#: templates/js/translated/barcode.js:214 templates/js/translated/build.js:2614
-#: templates/js/translated/order.js:1643 templates/js/translated/order.js:1992
-#: templates/js/translated/order.js:2831 templates/js/translated/stock.js:1831
-#: templates/js/translated/stock.js:2605 templates/js/translated/stock.js:2737
+#: templates/js/translated/order.js:1677 templates/js/translated/order.js:2026
+#: templates/js/translated/order.js:2842 templates/js/translated/stock.js:1850
+#: templates/js/translated/stock.js:2623 templates/js/translated/stock.js:2755
msgid "Status"
msgstr "Stato"
@@ -1213,7 +1219,7 @@ msgstr ""
msgid "Required stock has not been fully allocated"
msgstr ""
-#: build/serializers.py:545 order/serializers.py:208 order/serializers.py:1107
+#: build/serializers.py:545 order/serializers.py:202 order/serializers.py:1100
msgid "Accept Incomplete"
msgstr ""
@@ -1229,8 +1235,8 @@ msgstr ""
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:595 build/serializers.py:640 part/models.py:2801
-#: part/models.py:2935
+#: build/serializers.py:595 build/serializers.py:640 part/models.py:3414
+#: part/models.py:3570
msgid "BOM Item"
msgstr "Distinta base (Bom)"
@@ -1246,11 +1252,11 @@ msgstr ""
msgid "bom_item.part must point to the same part as the build order"
msgstr ""
-#: build/serializers.py:669 stock/serializers.py:771
+#: build/serializers.py:669 stock/serializers.py:770
msgid "Item must be in stock"
msgstr "L'articolo deve essere disponibile"
-#: build/serializers.py:727 order/serializers.py:1097
+#: build/serializers.py:727 order/serializers.py:1090
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr "Quantità disponibile ({q}) superata"
@@ -1267,7 +1273,7 @@ msgstr ""
msgid "This stock item has already been allocated to this build output"
msgstr ""
-#: build/serializers.py:768 order/serializers.py:1381
+#: build/serializers.py:768 order/serializers.py:1374
msgid "Allocation items must be provided"
msgstr "Deve essere indicata l'allocazione dell'articolo"
@@ -1382,13 +1388,13 @@ msgid "Stock has not been fully allocated to this Build Order"
msgstr ""
#: build/templates/build/build_base.html:154
-#: build/templates/build/detail.html:131 order/models.py:924
+#: build/templates/build/detail.html:131 order/models.py:947
#: order/templates/order/order_base.html:171
#: order/templates/order/sales_order_base.html:164
#: report/templates/report/inventree_build_order_base.html:125
-#: templates/js/translated/build.js:2654 templates/js/translated/order.js:2009
-#: templates/js/translated/order.js:2351 templates/js/translated/order.js:2847
-#: templates/js/translated/order.js:3887 templates/js/translated/part.js:1051
+#: templates/js/translated/build.js:2654 templates/js/translated/order.js:2043
+#: templates/js/translated/order.js:2374 templates/js/translated/order.js:2858
+#: templates/js/translated/order.js:3884 templates/js/translated/part.js:1078
msgid "Target Date"
msgstr "Data scadenza"
@@ -1401,29 +1407,29 @@ msgstr ""
#: build/templates/build/build_base.html:204
#: order/templates/order/order_base.html:107
#: order/templates/order/sales_order_base.html:94
-#: templates/js/translated/table_filters.js:328
-#: templates/js/translated/table_filters.js:369
-#: templates/js/translated/table_filters.js:399
+#: templates/js/translated/table_filters.js:332
+#: templates/js/translated/table_filters.js:373
+#: templates/js/translated/table_filters.js:403
msgid "Overdue"
msgstr "In ritardo"
#: build/templates/build/build_base.html:166
#: build/templates/build/detail.html:67 build/templates/build/detail.html:142
#: order/templates/order/sales_order_base.html:171
-#: templates/js/translated/table_filters.js:408
+#: templates/js/translated/table_filters.js:412
msgid "Completed"
msgstr "Completato"
#: build/templates/build/build_base.html:179
-#: build/templates/build/detail.html:94 order/models.py:1119
-#: order/models.py:1213 order/models.py:1344
+#: build/templates/build/detail.html:94 order/models.py:1142
+#: order/models.py:1236 order/models.py:1367
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
#: report/templates/report/inventree_build_order_base.html:135
#: report/templates/report/inventree_so_report.html:77
#: stock/templates/stock/item_base.html:368
#: templates/email/overdue_sales_order.html:15
-#: templates/js/translated/order.js:2793
+#: templates/js/translated/order.js:2804 templates/js/translated/pricing.js:637
msgid "Sales Order"
msgstr "Ordini di Vendita"
@@ -1449,8 +1455,8 @@ msgstr ""
msgid "Stock can be taken from any available location."
msgstr "Lo stock può essere prelevato da qualsiasi posizione disponibile."
-#: build/templates/build/detail.html:49 order/models.py:1037
-#: templates/js/translated/order.js:1644 templates/js/translated/order.js:2393
+#: build/templates/build/detail.html:49 order/models.py:1060
+#: templates/js/translated/order.js:1678 templates/js/translated/order.js:2416
msgid "Destination"
msgstr "Destinazione"
@@ -1462,14 +1468,14 @@ msgstr "Posizione di destinazione non specificata"
msgid "Allocated Parts"
msgstr ""
-#: build/templates/build/detail.html:80
+#: build/templates/build/detail.html:80 stock/admin.py:88
#: stock/templates/stock/item_base.html:168
#: templates/js/translated/build.js:1240
#: templates/js/translated/model_renderers.js:124
-#: templates/js/translated/stock.js:1026 templates/js/translated/stock.js:1845
-#: templates/js/translated/stock.js:2744
-#: templates/js/translated/table_filters.js:167
-#: templates/js/translated/table_filters.js:258
+#: templates/js/translated/stock.js:1045 templates/js/translated/stock.js:1864
+#: templates/js/translated/stock.js:2762
+#: templates/js/translated/table_filters.js:171
+#: templates/js/translated/table_filters.js:262
msgid "Batch"
msgstr "Lotto"
@@ -1527,7 +1533,7 @@ msgstr "Ordina articoli richiesti"
#: build/templates/build/detail.html:187
#: company/templates/company/detail.html:37
#: company/templates/company/detail.html:85
-#: part/templates/part/category.html:178 templates/js/translated/order.js:1177
+#: part/templates/part/category.html:178 templates/js/translated/order.js:1211
msgid "Order Parts"
msgstr "Ordine Articoli"
@@ -1597,10 +1603,10 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:151
#: company/templates/company/manufacturer_part_sidebar.html:9
#: order/templates/order/po_sidebar.html:9
-#: order/templates/order/purchase_order_detail.html:82
-#: order/templates/order/sales_order_detail.html:135
-#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:212
-#: part/templates/part/part_sidebar.html:57 stock/templates/stock/item.html:117
+#: order/templates/order/purchase_order_detail.html:86
+#: order/templates/order/sales_order_detail.html:140
+#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:210
+#: part/templates/part/part_sidebar.html:55 stock/templates/stock/item.html:117
#: stock/templates/stock/stock_sidebar.html:23
msgid "Attachments"
msgstr "Allegati"
@@ -1617,7 +1623,7 @@ msgstr "Assegnazione Completa"
msgid "All untracked stock items have been allocated"
msgstr "Tutte le giacenze non tracciate sono state assegnate"
-#: build/templates/build/index.html:18 part/templates/part/detail.html:318
+#: build/templates/build/index.html:18 part/templates/part/detail.html:316
msgid "New Build Order"
msgstr ""
@@ -1734,7 +1740,7 @@ msgstr ""
msgid "Show the `about` modal only to superusers"
msgstr ""
-#: common/models.py:833 company/models.py:94 company/models.py:95
+#: common/models.py:833 company/models.py:98 company/models.py:99
msgid "Company name"
msgstr "Nome azienda"
@@ -1902,9 +1908,9 @@ msgstr "Copia Template Parametri Categoria"
msgid "Copy category parameter templates when creating a part"
msgstr "Copia i modelli dei parametri categoria quando si crea un articolo"
-#: common/models.py:1002 part/models.py:2474 report/models.py:158
-#: templates/js/translated/table_filters.js:38
-#: templates/js/translated/table_filters.js:492
+#: common/models.py:1002 part/admin.py:41 part/models.py:3087
+#: report/models.py:158 templates/js/translated/table_filters.js:38
+#: templates/js/translated/table_filters.js:496
msgid "Template"
msgstr ""
@@ -1912,9 +1918,10 @@ msgstr ""
msgid "Parts are templates by default"
msgstr "Gli articoli sono modelli per impostazione predefinita"
-#: common/models.py:1009 part/models.py:908 templates/js/translated/bom.js:1531
-#: templates/js/translated/table_filters.js:184
-#: templates/js/translated/table_filters.js:455
+#: common/models.py:1009 part/admin.py:37 part/admin.py:229 part/models.py:927
+#: templates/js/translated/bom.js:1594
+#: templates/js/translated/table_filters.js:188
+#: templates/js/translated/table_filters.js:459
msgid "Assembly"
msgstr "Assemblaggio"
@@ -1922,8 +1929,8 @@ msgstr "Assemblaggio"
msgid "Parts can be assembled from other components by default"
msgstr "Gli articoli possono essere assemblate da altri componenti per impostazione predefinita"
-#: common/models.py:1016 part/models.py:914
-#: templates/js/translated/table_filters.js:463
+#: common/models.py:1016 part/admin.py:38 part/models.py:933
+#: templates/js/translated/table_filters.js:467
msgid "Component"
msgstr "Componente"
@@ -1931,7 +1938,7 @@ msgstr "Componente"
msgid "Parts can be used as sub-components by default"
msgstr "Gli articoli possono essere assemblati da altri componenti per impostazione predefinita"
-#: common/models.py:1023 part/models.py:925
+#: common/models.py:1023 part/admin.py:39 part/models.py:944
msgid "Purchaseable"
msgstr "Acquistabile"
@@ -1939,8 +1946,8 @@ msgstr "Acquistabile"
msgid "Parts are purchaseable by default"
msgstr "Gli articoli sono acquistabili per impostazione predefinita"
-#: common/models.py:1030 part/models.py:930
-#: templates/js/translated/table_filters.js:484
+#: common/models.py:1030 part/admin.py:40 part/models.py:949
+#: templates/js/translated/table_filters.js:488
msgid "Salable"
msgstr "Vendibile"
@@ -1948,10 +1955,10 @@ msgstr "Vendibile"
msgid "Parts are salable by default"
msgstr "Gli articoli sono acquistabili per impostazione predefinita"
-#: common/models.py:1037 part/models.py:920
+#: common/models.py:1037 part/admin.py:42 part/models.py:939
#: templates/js/translated/table_filters.js:46
-#: templates/js/translated/table_filters.js:116
-#: templates/js/translated/table_filters.js:496
+#: templates/js/translated/table_filters.js:120
+#: templates/js/translated/table_filters.js:500
msgid "Trackable"
msgstr "Tracciabile"
@@ -1959,10 +1966,10 @@ msgstr "Tracciabile"
msgid "Parts are trackable by default"
msgstr "Gli articoli sono tracciabili per impostazione predefinita"
-#: common/models.py:1044 part/models.py:940
+#: common/models.py:1044 part/admin.py:43 part/models.py:959
#: part/templates/part/part_base.html:156
#: templates/js/translated/table_filters.js:42
-#: templates/js/translated/table_filters.js:500
+#: templates/js/translated/table_filters.js:504
msgid "Virtual"
msgstr "Virtuale"
@@ -1979,791 +1986,837 @@ msgid "Display the import wizard in some part views"
msgstr "Mostra la procedura guidata di importazione in alcune viste articoli"
#: common/models.py:1058
-msgid "Show Price in Forms"
-msgstr "Mostra il prezzo nei moduli"
-
-#: common/models.py:1059
-msgid "Display part price in some forms"
-msgstr "Mostra il prezzo dell'articolo in alcuni moduli"
-
-#: common/models.py:1070
-msgid "Show Price in BOM"
-msgstr "Mostra il prezzo nella BOM"
-
-#: common/models.py:1071
-msgid "Include pricing information in BOM tables"
-msgstr "Includi le informazioni sui prezzi nelle tabelle BOM"
-
-#: common/models.py:1082
-msgid "Show Price History"
-msgstr ""
-
-#: common/models.py:1083
-msgid "Display historical pricing for Part"
-msgstr ""
-
-#: common/models.py:1089
msgid "Show related parts"
msgstr "Mostra articoli correlati"
-#: common/models.py:1090
+#: common/models.py:1059
msgid "Display related parts for a part"
msgstr "Visualizza parti correlate per ogni articolo"
-#: common/models.py:1096
+#: common/models.py:1065
msgid "Create initial stock"
msgstr "Crea giacenza iniziale"
-#: common/models.py:1097
+#: common/models.py:1066
msgid "Create initial stock on part creation"
msgstr "Crea giacenza iniziale sulla creazione articolo"
-#: common/models.py:1103
-msgid "Internal Prices"
-msgstr "Prezzi interni"
-
-#: common/models.py:1104
-msgid "Enable internal prices for parts"
-msgstr "Abilita prezzi interni per gli articoli"
-
-#: common/models.py:1110
-msgid "Internal Price as BOM-Price"
-msgstr "Prezzo interno come BOM-Price"
-
-#: common/models.py:1111
-msgid "Use the internal price (if set) in BOM-price calculations"
-msgstr "Utilizzare il prezzo interno (se impostato) nel calcolo del prezzo BOM"
-
-#: common/models.py:1117
+#: common/models.py:1072
msgid "Part Name Display Format"
msgstr "Formato di visualizzazione del nome articolo"
-#: common/models.py:1118
+#: common/models.py:1073
msgid "Format to display the part name"
msgstr "Formato per visualizzare il nome dell'articolo"
-#: common/models.py:1125
+#: common/models.py:1080
msgid "Part Category Default Icon"
msgstr ""
-#: common/models.py:1126
+#: common/models.py:1081
msgid "Part category default icon (empty means no icon)"
msgstr ""
-#: common/models.py:1131
-msgid "Enable label printing"
+#: common/models.py:1086
+msgid "Pricing Decimal Places"
msgstr ""
-#: common/models.py:1132
-msgid "Enable label printing from the web interface"
+#: common/models.py:1087
+msgid "Number of decimal places to display when rendering pricing data"
msgstr ""
-#: common/models.py:1138
-msgid "Label Image DPI"
+#: common/models.py:1097
+msgid "Pricing Rebuild Time"
msgstr ""
-#: common/models.py:1139
-msgid "DPI resolution when generating image files to supply to label printing plugins"
+#: common/models.py:1098
+msgid "Number of days before part pricing is automatically updated"
msgstr ""
-#: common/models.py:1148
-msgid "Enable Reports"
-msgstr "Abilita Report di Stampa"
-
-#: common/models.py:1149
-msgid "Enable generation of reports"
-msgstr "Abilita generazione di report di stampa"
-
-#: common/models.py:1155 templates/stats.html:25
-msgid "Debug Mode"
-msgstr "Modalità Debug"
-
-#: common/models.py:1156
-msgid "Generate reports in debug mode (HTML output)"
-msgstr "Genera report in modalità debug (output HTML)"
-
-#: common/models.py:1162
-msgid "Page Size"
-msgstr "Dimensioni pagina"
-
-#: common/models.py:1163
-msgid "Default page size for PDF reports"
-msgstr "Dimensione predefinita della pagina per i report PDF"
-
-#: common/models.py:1173
-msgid "Enable Test Reports"
-msgstr ""
-
-#: common/models.py:1174
-msgid "Enable generation of test reports"
-msgstr "Abilita generazione di stampe di prova"
-
-#: common/models.py:1180
-msgid "Attach Test Reports"
-msgstr ""
-
-#: common/models.py:1181
-msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item"
-msgstr ""
-
-#: common/models.py:1187
-msgid "Globally Unique Serials"
-msgstr ""
-
-#: common/models.py:1188
-msgid "Serial numbers for stock items must be globally unique"
-msgstr ""
-
-#: common/models.py:1194
-msgid "Batch Code Template"
-msgstr ""
-
-#: common/models.py:1195
-msgid "Template for generating default batch codes for stock items"
-msgstr ""
-
-#: common/models.py:1200
-msgid "Stock Expiry"
-msgstr "Scadenza giacenza"
-
-#: common/models.py:1201
-msgid "Enable stock expiry functionality"
-msgstr "Abilita funzionalità di scadenza della giacenza"
-
-#: common/models.py:1207
-msgid "Sell Expired Stock"
-msgstr "Vendi giacenza scaduta"
-
-#: common/models.py:1208
-msgid "Allow sale of expired stock"
-msgstr "Consenti la vendita di stock scaduti"
-
-#: common/models.py:1214
-msgid "Stock Stale Time"
-msgstr ""
-
-#: common/models.py:1215
-msgid "Number of days stock items are considered stale before expiring"
-msgstr "Numero di giorni in cui gli articoli in magazzino sono considerati obsoleti prima della scadenza"
-
-#: common/models.py:1217
+#: common/models.py:1099 common/models.py:1208
msgid "days"
msgstr "giorni"
-#: common/models.py:1222
+#: common/models.py:1108
+msgid "Internal Prices"
+msgstr "Prezzi interni"
+
+#: common/models.py:1109
+msgid "Enable internal prices for parts"
+msgstr "Abilita prezzi interni per gli articoli"
+
+#: common/models.py:1115
+msgid "Internal Price Override"
+msgstr ""
+
+#: common/models.py:1116
+msgid "If available, internal prices override price range calculations"
+msgstr ""
+
+#: common/models.py:1122
+msgid "Enable label printing"
+msgstr ""
+
+#: common/models.py:1123
+msgid "Enable label printing from the web interface"
+msgstr ""
+
+#: common/models.py:1129
+msgid "Label Image DPI"
+msgstr ""
+
+#: common/models.py:1130
+msgid "DPI resolution when generating image files to supply to label printing plugins"
+msgstr ""
+
+#: common/models.py:1139
+msgid "Enable Reports"
+msgstr "Abilita Report di Stampa"
+
+#: common/models.py:1140
+msgid "Enable generation of reports"
+msgstr "Abilita generazione di report di stampa"
+
+#: common/models.py:1146 templates/stats.html:25
+msgid "Debug Mode"
+msgstr "Modalità Debug"
+
+#: common/models.py:1147
+msgid "Generate reports in debug mode (HTML output)"
+msgstr "Genera report in modalità debug (output HTML)"
+
+#: common/models.py:1153
+msgid "Page Size"
+msgstr "Dimensioni pagina"
+
+#: common/models.py:1154
+msgid "Default page size for PDF reports"
+msgstr "Dimensione predefinita della pagina per i report PDF"
+
+#: common/models.py:1164
+msgid "Enable Test Reports"
+msgstr ""
+
+#: common/models.py:1165
+msgid "Enable generation of test reports"
+msgstr "Abilita generazione di stampe di prova"
+
+#: common/models.py:1171
+msgid "Attach Test Reports"
+msgstr ""
+
+#: common/models.py:1172
+msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item"
+msgstr ""
+
+#: common/models.py:1178
+msgid "Globally Unique Serials"
+msgstr ""
+
+#: common/models.py:1179
+msgid "Serial numbers for stock items must be globally unique"
+msgstr ""
+
+#: common/models.py:1185
+msgid "Batch Code Template"
+msgstr ""
+
+#: common/models.py:1186
+msgid "Template for generating default batch codes for stock items"
+msgstr ""
+
+#: common/models.py:1191
+msgid "Stock Expiry"
+msgstr "Scadenza giacenza"
+
+#: common/models.py:1192
+msgid "Enable stock expiry functionality"
+msgstr "Abilita funzionalità di scadenza della giacenza"
+
+#: common/models.py:1198
+msgid "Sell Expired Stock"
+msgstr "Vendi giacenza scaduta"
+
+#: common/models.py:1199
+msgid "Allow sale of expired stock"
+msgstr "Consenti la vendita di stock scaduti"
+
+#: common/models.py:1205
+msgid "Stock Stale Time"
+msgstr ""
+
+#: common/models.py:1206
+msgid "Number of days stock items are considered stale before expiring"
+msgstr "Numero di giorni in cui gli articoli in magazzino sono considerati obsoleti prima della scadenza"
+
+#: common/models.py:1213
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:1223
+#: common/models.py:1214
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:1229
+#: common/models.py:1220
msgid "Stock Ownership Control"
msgstr "Controllo della proprietà della giacenza"
-#: common/models.py:1230
+#: common/models.py:1221
msgid "Enable ownership control over stock locations and items"
msgstr "Abilita il controllo della proprietà sulle posizioni e gli oggetti in giacenza"
-#: common/models.py:1236
+#: common/models.py:1227
msgid "Stock Location Default Icon"
msgstr ""
-#: common/models.py:1237
+#: common/models.py:1228
msgid "Stock location default icon (empty means no icon)"
msgstr ""
-#: common/models.py:1242
+#: common/models.py:1233
msgid "Build Order Reference Pattern"
msgstr ""
-#: common/models.py:1243
+#: common/models.py:1234
msgid "Required pattern for generating Build Order reference field"
msgstr ""
-#: common/models.py:1249
+#: common/models.py:1240
msgid "Sales Order Reference Pattern"
msgstr ""
-#: common/models.py:1250
+#: common/models.py:1241
msgid "Required pattern for generating Sales Order reference field"
msgstr ""
-#: common/models.py:1256
+#: common/models.py:1247
msgid "Sales Order Default Shipment"
msgstr ""
-#: common/models.py:1257
+#: common/models.py:1248
msgid "Enable creation of default shipment with sales orders"
msgstr ""
-#: common/models.py:1263
+#: common/models.py:1254
+msgid "Edit Completed Sales Orders"
+msgstr ""
+
+#: common/models.py:1255
+msgid "Allow editing of sales orders after they have been shipped or completed"
+msgstr ""
+
+#: common/models.py:1261
msgid "Purchase Order Reference Pattern"
msgstr ""
-#: common/models.py:1264
+#: common/models.py:1262
msgid "Required pattern for generating Purchase Order reference field"
msgstr ""
-#: common/models.py:1271
+#: common/models.py:1268
+msgid "Edit Completed Purchase Orders"
+msgstr ""
+
+#: common/models.py:1269
+msgid "Allow editing of purchase orders after they have been shipped or completed"
+msgstr ""
+
+#: common/models.py:1276
msgid "Enable password forgot"
msgstr "Abilita password dimenticata"
-#: common/models.py:1272
+#: common/models.py:1277
msgid "Enable password forgot function on the login pages"
msgstr "Abilita la funzione password dimenticata nelle pagine di accesso"
-#: common/models.py:1278
+#: common/models.py:1283
msgid "Enable registration"
msgstr "Abilita registrazione"
-#: common/models.py:1279
+#: common/models.py:1284
msgid "Enable self-registration for users on the login pages"
msgstr "Abilita auto-registrazione per gli utenti nelle pagine di accesso"
-#: common/models.py:1285
+#: common/models.py:1290
msgid "Enable SSO"
msgstr "SSO abilitato"
-#: common/models.py:1286
+#: common/models.py:1291
msgid "Enable SSO on the login pages"
msgstr "Abilita SSO nelle pagine di accesso"
-#: common/models.py:1292
+#: common/models.py:1297
msgid "Email required"
msgstr "Email richiesta"
-#: common/models.py:1293
+#: common/models.py:1298
msgid "Require user to supply mail on signup"
msgstr "Richiedi all'utente di fornire una email al momento dell'iscrizione"
-#: common/models.py:1299
+#: common/models.py:1304
msgid "Auto-fill SSO users"
msgstr "Riempimento automatico degli utenti SSO"
-#: common/models.py:1300
+#: common/models.py:1305
msgid "Automatically fill out user-details from SSO account-data"
msgstr "Compila automaticamente i dettagli dell'utente dai dati dell'account SSO"
-#: common/models.py:1306
+#: common/models.py:1311
msgid "Mail twice"
msgstr ""
-#: common/models.py:1307
+#: common/models.py:1312
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/models.py:1313
+#: common/models.py:1318
msgid "Password twice"
msgstr ""
-#: common/models.py:1314
+#: common/models.py:1319
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/models.py:1320
+#: common/models.py:1325
msgid "Group on signup"
msgstr ""
-#: common/models.py:1321
+#: common/models.py:1326
msgid "Group to which new users are assigned on registration"
msgstr ""
-#: common/models.py:1327
+#: common/models.py:1332
msgid "Enforce MFA"
msgstr ""
-#: common/models.py:1328
+#: common/models.py:1333
msgid "Users must use multifactor security."
msgstr ""
-#: common/models.py:1334
+#: common/models.py:1339
msgid "Check plugins on startup"
msgstr ""
-#: common/models.py:1335
+#: common/models.py:1340
msgid "Check that all plugins are installed on startup - enable in container environments"
msgstr ""
-#: common/models.py:1342
+#: common/models.py:1347
msgid "Check plugin signatures"
msgstr ""
-#: common/models.py:1343
+#: common/models.py:1348
msgid "Check and show signatures for plugins"
msgstr ""
-#: common/models.py:1350
+#: common/models.py:1355
msgid "Enable URL integration"
msgstr ""
-#: common/models.py:1351
+#: common/models.py:1356
msgid "Enable plugins to add URL routes"
msgstr ""
-#: common/models.py:1358
+#: common/models.py:1363
msgid "Enable navigation integration"
msgstr ""
-#: common/models.py:1359
+#: common/models.py:1364
msgid "Enable plugins to integrate into navigation"
msgstr ""
-#: common/models.py:1366
+#: common/models.py:1371
msgid "Enable app integration"
msgstr ""
-#: common/models.py:1367
+#: common/models.py:1372
msgid "Enable plugins to add apps"
msgstr ""
-#: common/models.py:1374
+#: common/models.py:1379
msgid "Enable schedule integration"
msgstr ""
-#: common/models.py:1375
+#: common/models.py:1380
msgid "Enable plugins to run scheduled tasks"
msgstr ""
-#: common/models.py:1382
+#: common/models.py:1387
msgid "Enable event integration"
msgstr ""
-#: common/models.py:1383
+#: common/models.py:1388
msgid "Enable plugins to respond to internal events"
msgstr ""
-#: common/models.py:1402 common/models.py:1737
+#: common/models.py:1407 common/models.py:1749
msgid "Settings key (must be unique - case insensitive"
msgstr "Tasto impostazioni (deve essere univoco - maiuscole e minuscole"
-#: common/models.py:1424
+#: common/models.py:1429
msgid "Show subscribed parts"
msgstr ""
-#: common/models.py:1425
+#: common/models.py:1430
msgid "Show subscribed parts on the homepage"
msgstr ""
-#: common/models.py:1431
+#: common/models.py:1436
msgid "Show subscribed categories"
msgstr "Mostra le categorie sottoscritte"
-#: common/models.py:1432
+#: common/models.py:1437
msgid "Show subscribed part categories on the homepage"
msgstr "Mostra le categorie dei componenti sottoscritti nella homepage"
-#: common/models.py:1438
+#: common/models.py:1443
msgid "Show latest parts"
msgstr "Mostra ultimi articoli"
-#: common/models.py:1439
+#: common/models.py:1444
msgid "Show latest parts on the homepage"
msgstr ""
-#: common/models.py:1445
+#: common/models.py:1450
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:1446
+#: common/models.py:1451
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:1452
+#: common/models.py:1457
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:1453
+#: common/models.py:1458
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:1459
+#: common/models.py:1464
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:1460
+#: common/models.py:1465
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:1466
+#: common/models.py:1471
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:1467
+#: common/models.py:1472
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:1473
+#: common/models.py:1478
msgid "Show low stock"
msgstr ""
-#: common/models.py:1474
+#: common/models.py:1479
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:1480
+#: common/models.py:1485
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:1481
+#: common/models.py:1486
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:1487
+#: common/models.py:1492
msgid "Show needed stock"
msgstr ""
-#: common/models.py:1488
+#: common/models.py:1493
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:1494
+#: common/models.py:1499
msgid "Show expired stock"
msgstr ""
-#: common/models.py:1495
+#: common/models.py:1500
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:1501
+#: common/models.py:1506
msgid "Show stale stock"
msgstr ""
-#: common/models.py:1502
+#: common/models.py:1507
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:1508
+#: common/models.py:1513
msgid "Show pending builds"
msgstr ""
-#: common/models.py:1509
+#: common/models.py:1514
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:1515
+#: common/models.py:1520
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:1516
+#: common/models.py:1521
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:1522
+#: common/models.py:1527
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:1523
+#: common/models.py:1528
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:1529
+#: common/models.py:1534
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:1530
+#: common/models.py:1535
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:1536
+#: common/models.py:1541
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:1537
+#: common/models.py:1542
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:1543
+#: common/models.py:1548
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:1544
+#: common/models.py:1549
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:1550
+#: common/models.py:1555
+msgid "Show News"
+msgstr ""
+
+#: common/models.py:1556
+msgid "Show news on the homepage"
+msgstr ""
+
+#: common/models.py:1562
msgid "Inline label display"
msgstr "Visualizzazione dell'etichetta in linea"
-#: common/models.py:1551
+#: common/models.py:1563
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr "Visualizza le etichette PDF nel browser, invece di scaricare come file"
-#: common/models.py:1557
+#: common/models.py:1569
msgid "Inline report display"
msgstr "Visualizzazione dell'etichetta in linea"
-#: common/models.py:1558
+#: common/models.py:1570
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr "Visualizza le etichette PDF nel browser, invece di scaricare come file"
-#: common/models.py:1564
+#: common/models.py:1576
msgid "Search Parts"
msgstr ""
-#: common/models.py:1565
+#: common/models.py:1577
msgid "Display parts in search preview window"
msgstr ""
-#: common/models.py:1571
+#: common/models.py:1583
msgid "Seach Supplier Parts"
msgstr ""
-#: common/models.py:1572
+#: common/models.py:1584
msgid "Display supplier parts in search preview window"
msgstr ""
-#: common/models.py:1578
+#: common/models.py:1590
msgid "Search Manufacturer Parts"
msgstr ""
-#: common/models.py:1579
+#: common/models.py:1591
msgid "Display manufacturer parts in search preview window"
msgstr ""
-#: common/models.py:1585
+#: common/models.py:1597
msgid "Hide Inactive Parts"
msgstr ""
-#: common/models.py:1586
+#: common/models.py:1598
msgid "Excluded inactive parts from search preview window"
msgstr ""
-#: common/models.py:1592
+#: common/models.py:1604
msgid "Search Categories"
msgstr ""
-#: common/models.py:1593
+#: common/models.py:1605
msgid "Display part categories in search preview window"
msgstr ""
-#: common/models.py:1599
+#: common/models.py:1611
msgid "Search Stock"
msgstr ""
-#: common/models.py:1600
+#: common/models.py:1612
msgid "Display stock items in search preview window"
msgstr ""
-#: common/models.py:1606
+#: common/models.py:1618
msgid "Hide Unavailable Stock Items"
msgstr ""
-#: common/models.py:1607
+#: common/models.py:1619
msgid "Exclude stock items which are not available from the search preview window"
msgstr ""
-#: common/models.py:1613
+#: common/models.py:1625
msgid "Search Locations"
msgstr ""
-#: common/models.py:1614
+#: common/models.py:1626
msgid "Display stock locations in search preview window"
msgstr ""
-#: common/models.py:1620
+#: common/models.py:1632
msgid "Search Companies"
msgstr ""
-#: common/models.py:1621
+#: common/models.py:1633
msgid "Display companies in search preview window"
msgstr ""
-#: common/models.py:1627
+#: common/models.py:1639
msgid "Search Build Orders"
msgstr ""
-#: common/models.py:1628
+#: common/models.py:1640
msgid "Display build orders in search preview window"
msgstr ""
-#: common/models.py:1634
+#: common/models.py:1646
msgid "Search Purchase Orders"
msgstr ""
-#: common/models.py:1635
+#: common/models.py:1647
msgid "Display purchase orders in search preview window"
msgstr ""
-#: common/models.py:1641
+#: common/models.py:1653
msgid "Exclude Inactive Purchase Orders"
msgstr ""
-#: common/models.py:1642
+#: common/models.py:1654
msgid "Exclude inactive purchase orders from search preview window"
msgstr ""
-#: common/models.py:1648
+#: common/models.py:1660
msgid "Search Sales Orders"
msgstr ""
-#: common/models.py:1649
+#: common/models.py:1661
msgid "Display sales orders in search preview window"
msgstr ""
-#: common/models.py:1655
+#: common/models.py:1667
msgid "Exclude Inactive Sales Orders"
msgstr ""
-#: common/models.py:1656
+#: common/models.py:1668
msgid "Exclude inactive sales orders from search preview window"
msgstr ""
-#: common/models.py:1662
+#: common/models.py:1674
msgid "Search Preview Results"
msgstr "Risultati Dell'Anteprima Di Ricerca"
-#: common/models.py:1663
+#: common/models.py:1675
msgid "Number of results to show in each section of the search preview window"
msgstr ""
-#: common/models.py:1669
+#: common/models.py:1681
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:1670
+#: common/models.py:1682
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:1676
+#: common/models.py:1688
msgid "Escape Key Closes Forms"
msgstr ""
-#: common/models.py:1677
+#: common/models.py:1689
msgid "Use the escape key to close modal forms"
msgstr ""
-#: common/models.py:1683
+#: common/models.py:1695
msgid "Fixed Navbar"
msgstr ""
-#: common/models.py:1684
+#: common/models.py:1696
msgid "The navbar position is fixed to the top of the screen"
msgstr ""
-#: common/models.py:1690
+#: common/models.py:1702
msgid "Date Format"
msgstr ""
-#: common/models.py:1691
+#: common/models.py:1703
msgid "Preferred format for displaying dates"
msgstr ""
-#: common/models.py:1705 part/templates/part/detail.html:41
+#: common/models.py:1717 part/templates/part/detail.html:41
msgid "Part Scheduling"
msgstr ""
-#: common/models.py:1706
+#: common/models.py:1718
msgid "Display part scheduling information"
msgstr ""
-#: common/models.py:1712
+#: common/models.py:1724
msgid "Table String Length"
msgstr ""
-#: common/models.py:1713
+#: common/models.py:1725
msgid "Maximimum length limit for strings displayed in table views"
msgstr ""
-#: common/models.py:1777
+#: common/models.py:1789
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1784 company/serializers.py:372
-#: company/templates/company/supplier_part.html:346 order/models.py:952
-#: templates/js/translated/part.js:1103 templates/js/translated/part.js:2225
+#: common/models.py:1796 company/serializers.py:393 order/models.py:975
+#: templates/js/translated/company.js:1164 templates/js/translated/part.js:1130
+#: templates/js/translated/pricing.js:354
msgid "Price"
msgstr "Prezzo"
-#: common/models.py:1785
+#: common/models.py:1797
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1945 common/models.py:2123
+#: common/models.py:1957 common/models.py:2135
msgid "Endpoint"
msgstr ""
-#: common/models.py:1946
+#: common/models.py:1958
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:1955
+#: common/models.py:1967
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:1960 part/models.py:935 plugin/models.py:100
-#: templates/js/translated/table_filters.js:34
-#: templates/js/translated/table_filters.js:112
-#: templates/js/translated/table_filters.js:324
-#: templates/js/translated/table_filters.js:450
+#: common/models.py:1972 part/admin.py:36 part/models.py:954
+#: plugin/models.py:100 templates/js/translated/table_filters.js:34
+#: templates/js/translated/table_filters.js:116
+#: templates/js/translated/table_filters.js:328
+#: templates/js/translated/table_filters.js:454
msgid "Active"
msgstr "Attivo"
-#: common/models.py:1961
+#: common/models.py:1973
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:1975
+#: common/models.py:1987
msgid "Token"
msgstr "Token"
-#: common/models.py:1976
+#: common/models.py:1988
msgid "Token for access"
msgstr ""
-#: common/models.py:1983
+#: common/models.py:1995
msgid "Secret"
msgstr ""
-#: common/models.py:1984
+#: common/models.py:1996
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:2090
+#: common/models.py:2102
msgid "Message ID"
msgstr ""
-#: common/models.py:2091
+#: common/models.py:2103
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:2099
+#: common/models.py:2111
msgid "Host"
msgstr ""
-#: common/models.py:2100
+#: common/models.py:2112
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:2107
+#: common/models.py:2119
msgid "Header"
msgstr ""
-#: common/models.py:2108
+#: common/models.py:2120
msgid "Header of this message"
msgstr ""
-#: common/models.py:2114
+#: common/models.py:2126
msgid "Body"
msgstr ""
-#: common/models.py:2115
+#: common/models.py:2127
msgid "Body of this message"
msgstr ""
-#: common/models.py:2124
+#: common/models.py:2136
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:2129
+#: common/models.py:2141
msgid "Worked on"
msgstr ""
-#: common/models.py:2130
+#: common/models.py:2142
msgid "Was the work on this message finished?"
msgstr ""
+#: common/models.py:2302
+msgid "Id"
+msgstr ""
+
+#: common/models.py:2308 templates/js/translated/news.js:34
+msgid "Title"
+msgstr ""
+
+#: common/models.py:2318 templates/js/translated/news.js:50
+msgid "Published"
+msgstr ""
+
+#: common/models.py:2323 templates/InvenTree/settings/plugin.html:62
+#: templates/InvenTree/settings/plugin_settings.html:33
+#: templates/js/translated/news.js:46
+msgid "Author"
+msgstr ""
+
+#: common/models.py:2328 templates/js/translated/news.js:42
+msgid "Summary"
+msgstr ""
+
+#: common/models.py:2333
+msgid "Read"
+msgstr ""
+
+#: common/models.py:2334
+msgid "Was this news item read?"
+msgstr ""
+
#: common/notifications.py:293
#, python-brace-format
msgid "New {verbose_name}"
@@ -2785,15 +2838,15 @@ msgstr ""
msgid "Error raised by plugin"
msgstr ""
-#: common/views.py:85 order/templates/order/purchase_order_detail.html:23
-#: order/views.py:102 part/views.py:112
+#: common/views.py:85 order/templates/order/purchase_order_detail.html:25
+#: order/views.py:102 part/views.py:107
#: templates/patterns/wizard/upload.html:37
msgid "Upload File"
msgstr "Carica file"
#: common/views.py:86 order/views.py:103
#: part/templates/part/import_wizard/ajax_match_fields.html:45
-#: part/views.py:113 templates/patterns/wizard/match_fields.html:51
+#: part/views.py:108 templates/patterns/wizard/match_fields.html:51
msgid "Match Fields"
msgstr "Abbina Campi"
@@ -2816,298 +2869,301 @@ msgstr "Articoli importati"
msgid "Previous Step"
msgstr "Passaggio Precedente"
-#: company/models.py:99
+#: company/models.py:103
msgid "Company description"
msgstr "Descrizione azienda"
-#: company/models.py:100
+#: company/models.py:104
msgid "Description of the company"
msgstr "Descrizione dell'azienda"
-#: company/models.py:106 company/templates/company/company_base.html:100
+#: company/models.py:110 company/templates/company/company_base.html:100
#: templates/InvenTree/settings/plugin_settings.html:55
-#: templates/js/translated/company.js:448
+#: templates/js/translated/company.js:449
msgid "Website"
msgstr "Sito Web"
-#: company/models.py:107
+#: company/models.py:111
msgid "Company website URL"
msgstr "Sito web aziendale"
-#: company/models.py:111 company/templates/company/company_base.html:118
+#: company/models.py:115 company/templates/company/company_base.html:118
msgid "Address"
msgstr "Indirizzo"
-#: company/models.py:112
+#: company/models.py:116
msgid "Company address"
msgstr "Indirizzo dell'azienda"
-#: company/models.py:115
+#: company/models.py:119
msgid "Phone number"
msgstr "Telefono"
-#: company/models.py:116
+#: company/models.py:120
msgid "Contact phone number"
msgstr "Numero di telefono di contatto"
-#: company/models.py:119 company/templates/company/company_base.html:132
+#: company/models.py:123 company/templates/company/company_base.html:132
#: templates/InvenTree/settings/user.html:48
msgid "Email"
msgstr ""
-#: company/models.py:119
+#: company/models.py:123
msgid "Contact email address"
msgstr "Indirizzo email"
-#: company/models.py:122 company/templates/company/company_base.html:139
+#: company/models.py:126 company/templates/company/company_base.html:139
msgid "Contact"
msgstr "Contatto"
-#: company/models.py:123
+#: company/models.py:127
msgid "Point of contact"
msgstr "Punto di contatto"
-#: company/models.py:125
+#: company/models.py:129
msgid "Link to external company information"
msgstr "Collegamento alle informazioni aziendali esterne"
-#: company/models.py:136 part/models.py:829
+#: company/models.py:140 part/models.py:848
msgid "Image"
msgstr "Immagine"
-#: company/models.py:139 company/templates/company/detail.html:185
+#: company/models.py:143 company/templates/company/detail.html:185
msgid "Company Notes"
msgstr ""
-#: company/models.py:141
+#: company/models.py:145
msgid "is customer"
msgstr "è un cliente"
-#: company/models.py:141
+#: company/models.py:145
msgid "Do you sell items to this company?"
msgstr "Vendi oggetti a questa azienda?"
-#: company/models.py:143
+#: company/models.py:147
msgid "is supplier"
msgstr "è un fornitore"
-#: company/models.py:143
+#: company/models.py:147
msgid "Do you purchase items from this company?"
msgstr "Acquistate articoli da questa azienda?"
-#: company/models.py:145
+#: company/models.py:149
msgid "is manufacturer"
msgstr "è un produttore"
-#: company/models.py:145
+#: company/models.py:149
msgid "Does this company manufacture parts?"
msgstr ""
-#: company/models.py:149 company/serializers.py:378
-#: company/templates/company/company_base.html:106 part/serializers.py:153
-#: part/serializers.py:184 stock/serializers.py:178
+#: company/models.py:153 company/serializers.py:399
+#: company/templates/company/company_base.html:106 part/models.py:2681
+#: part/serializers.py:153 part/serializers.py:181 stock/serializers.py:182
+#: templates/InvenTree/settings/pricing.html:59
msgid "Currency"
msgstr "Valuta"
-#: company/models.py:152
+#: company/models.py:156
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:249 company/models.py:483 stock/models.py:600
-#: stock/serializers.py:85 stock/templates/stock/item_base.html:143
-#: templates/js/translated/bom.js:568
+#: company/models.py:253 company/models.py:487 stock/models.py:616
+#: stock/serializers.py:89 stock/templates/stock/item_base.html:143
+#: templates/js/translated/bom.js:581
msgid "Base Part"
msgstr "Articolo di base"
-#: company/models.py:253 company/models.py:487
+#: company/models.py:257 company/models.py:491
msgid "Select part"
msgstr "Seleziona articolo"
-#: company/models.py:264 company/templates/company/company_base.html:76
+#: company/models.py:268 company/templates/company/company_base.html:76
#: company/templates/company/manufacturer_part.html:90
#: company/templates/company/supplier_part.html:152
#: stock/templates/stock/item_base.html:210
-#: templates/js/translated/company.js:432
-#: templates/js/translated/company.js:533
-#: templates/js/translated/company.js:668
-#: templates/js/translated/company.js:956 templates/js/translated/part.js:236
-#: templates/js/translated/table_filters.js:427
+#: templates/js/translated/company.js:433
+#: templates/js/translated/company.js:534
+#: templates/js/translated/company.js:669
+#: templates/js/translated/company.js:957 templates/js/translated/part.js:232
+#: templates/js/translated/table_filters.js:431
msgid "Manufacturer"
msgstr "Produttore"
-#: company/models.py:265 templates/js/translated/part.js:237
+#: company/models.py:269 templates/js/translated/part.js:233
msgid "Select manufacturer"
msgstr "Seleziona Produttore"
-#: company/models.py:271 company/templates/company/manufacturer_part.html:101
+#: company/models.py:275 company/templates/company/manufacturer_part.html:101
#: company/templates/company/supplier_part.html:160
-#: templates/js/translated/company.js:304
-#: templates/js/translated/company.js:532
-#: templates/js/translated/company.js:684
-#: templates/js/translated/company.js:975 templates/js/translated/order.js:2239
-#: templates/js/translated/part.js:247 templates/js/translated/part.js:1025
+#: templates/js/translated/company.js:305
+#: templates/js/translated/company.js:533
+#: templates/js/translated/company.js:685
+#: templates/js/translated/company.js:976 templates/js/translated/order.js:2278
+#: templates/js/translated/part.js:243 templates/js/translated/part.js:1052
msgid "MPN"
msgstr "Codice articolo produttore (MPN)"
-#: company/models.py:272 templates/js/translated/part.js:248
+#: company/models.py:276 templates/js/translated/part.js:244
msgid "Manufacturer Part Number"
msgstr "Codice articolo produttore"
-#: company/models.py:278
+#: company/models.py:282
msgid "URL for external manufacturer part link"
msgstr "URL dell'articolo del fornitore"
-#: company/models.py:284
+#: company/models.py:288
msgid "Manufacturer part description"
msgstr "Descrizione articolo costruttore"
-#: company/models.py:329 company/models.py:353 company/models.py:506
+#: company/models.py:333 company/models.py:357 company/models.py:510
#: company/templates/company/manufacturer_part.html:7
#: company/templates/company/manufacturer_part.html:24
#: stock/templates/stock/item_base.html:220
msgid "Manufacturer Part"
msgstr "Codice articolo produttore"
-#: company/models.py:360
+#: company/models.py:364
msgid "Parameter name"
msgstr "Nome parametro"
-#: company/models.py:366
+#: company/models.py:370
#: report/templates/report/inventree_test_report_base.html:95
-#: stock/models.py:2097 templates/js/translated/company.js:581
-#: templates/js/translated/company.js:799 templates/js/translated/part.js:847
-#: templates/js/translated/stock.js:1360
+#: stock/models.py:2113 templates/js/translated/company.js:582
+#: templates/js/translated/company.js:800 templates/js/translated/part.js:874
+#: templates/js/translated/stock.js:1379
msgid "Value"
msgstr "Valore"
-#: company/models.py:367
+#: company/models.py:371
msgid "Parameter value"
msgstr "Valore del parametro"
-#: company/models.py:373 part/models.py:902 part/models.py:2434
-#: part/templates/part/part_base.html:286
+#: company/models.py:377 part/admin.py:26 part/models.py:921
+#: part/models.py:3047 part/templates/part/part_base.html:286
#: templates/InvenTree/settings/settings.html:349
-#: templates/js/translated/company.js:805 templates/js/translated/part.js:853
+#: templates/js/translated/company.js:806 templates/js/translated/part.js:880
msgid "Units"
msgstr "Unità"
-#: company/models.py:374
+#: company/models.py:378
msgid "Parameter units"
msgstr "Unità parametri"
-#: company/models.py:451
+#: company/models.py:455
msgid "Linked manufacturer part must reference the same base part"
msgstr "L'articolo del costruttore collegato deve riferirsi alla stesso articolo"
-#: company/models.py:493 company/templates/company/company_base.html:81
-#: company/templates/company/supplier_part.html:136 order/models.py:263
-#: order/templates/order/order_base.html:121 part/bom.py:237 part/bom.py:265
+#: company/models.py:497 company/templates/company/company_base.html:81
+#: company/templates/company/supplier_part.html:136 order/models.py:264
+#: order/templates/order/order_base.html:121 part/bom.py:252 part/bom.py:280
#: stock/templates/stock/item_base.html:227
#: templates/email/overdue_purchase_order.html:16
-#: templates/js/translated/company.js:303
-#: templates/js/translated/company.js:436
-#: templates/js/translated/company.js:929 templates/js/translated/order.js:1975
-#: templates/js/translated/part.js:217 templates/js/translated/part.js:993
-#: templates/js/translated/table_filters.js:431
+#: templates/js/translated/company.js:304
+#: templates/js/translated/company.js:437
+#: templates/js/translated/company.js:930 templates/js/translated/order.js:2009
+#: templates/js/translated/part.js:213 templates/js/translated/part.js:1020
+#: templates/js/translated/pricing.js:231
+#: templates/js/translated/table_filters.js:435
msgid "Supplier"
msgstr "Fornitore"
-#: company/models.py:494 templates/js/translated/part.js:218
+#: company/models.py:498 templates/js/translated/part.js:214
msgid "Select supplier"
msgstr "Seleziona fornitore"
-#: company/models.py:499 company/templates/company/supplier_part.html:146
-#: part/bom.py:238 part/bom.py:266 templates/js/translated/company.js:302
-#: templates/js/translated/order.js:2226 templates/js/translated/part.js:228
-#: templates/js/translated/part.js:1011
+#: company/models.py:503 company/templates/company/supplier_part.html:146
+#: part/bom.py:253 part/bom.py:281 templates/js/translated/company.js:303
+#: templates/js/translated/order.js:2265 templates/js/translated/part.js:224
+#: templates/js/translated/part.js:1038 templates/js/translated/pricing.js:243
msgid "SKU"
msgstr ""
-#: company/models.py:500 templates/js/translated/part.js:229
+#: company/models.py:504 templates/js/translated/part.js:225
msgid "Supplier stock keeping unit"
msgstr ""
-#: company/models.py:507
+#: company/models.py:511
msgid "Select manufacturer part"
msgstr "Selezionare un produttore"
-#: company/models.py:513
+#: company/models.py:517
msgid "URL for external supplier part link"
msgstr "URL dell'articolo del fornitore"
-#: company/models.py:519
+#: company/models.py:523
msgid "Supplier part description"
msgstr "Descrizione articolo fornitore"
-#: company/models.py:524 company/templates/company/supplier_part.html:181
-#: part/models.py:2687 part/templates/part/upload_bom.html:59
+#: company/models.py:528 company/templates/company/supplier_part.html:181
+#: part/admin.py:225 part/models.py:3300 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_po_report.html:92
-#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:403
+#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:397
msgid "Note"
msgstr "Nota"
-#: company/models.py:528 part/models.py:1788
+#: company/models.py:532 part/models.py:1817
msgid "base cost"
msgstr "costo base"
-#: company/models.py:528 part/models.py:1788
+#: company/models.py:532 part/models.py:1817
msgid "Minimum charge (e.g. stocking fee)"
msgstr "Onere minimo (ad esempio tassa di stoccaggio)"
-#: company/models.py:530 company/templates/company/supplier_part.html:167
-#: stock/models.py:626 stock/templates/stock/item_base.html:243
-#: templates/js/translated/company.js:991 templates/js/translated/stock.js:1978
+#: company/models.py:534 company/templates/company/supplier_part.html:167
+#: stock/admin.py:101 stock/models.py:642
+#: stock/templates/stock/item_base.html:243
+#: templates/js/translated/company.js:992 templates/js/translated/stock.js:1996
msgid "Packaging"
msgstr "Confezionamento"
-#: company/models.py:530
+#: company/models.py:534
msgid "Part packaging"
msgstr "Imballaggio del pezzo"
-#: company/models.py:533 company/serializers.py:242
+#: company/models.py:537 company/serializers.py:242
#: company/templates/company/supplier_part.html:174
-#: templates/js/translated/company.js:996 templates/js/translated/order.js:820
-#: templates/js/translated/order.js:1215 templates/js/translated/order.js:1470
-#: templates/js/translated/order.js:2270 templates/js/translated/order.js:2287
-#: templates/js/translated/part.js:1043 templates/js/translated/part.js:1095
+#: templates/js/translated/company.js:997 templates/js/translated/order.js:826
+#: templates/js/translated/order.js:1249 templates/js/translated/order.js:1504
+#: templates/js/translated/order.js:2309 templates/js/translated/order.js:2326
+#: templates/js/translated/part.js:1070 templates/js/translated/part.js:1122
msgid "Pack Quantity"
msgstr ""
-#: company/models.py:534
+#: company/models.py:538
msgid "Unit quantity supplied in a single pack"
msgstr ""
-#: company/models.py:540 part/models.py:1790
+#: company/models.py:544 part/models.py:1819
msgid "multiple"
msgstr "multiplo"
-#: company/models.py:540
+#: company/models.py:544
msgid "Order multiple"
msgstr "Ordine multiplo"
-#: company/models.py:548 company/templates/company/supplier_part.html:115
+#: company/models.py:552 company/templates/company/supplier_part.html:115
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:18
-#: templates/js/translated/bom.js:963 templates/js/translated/build.js:1873
-#: templates/js/translated/build.js:2754 templates/js/translated/part.js:598
-#: templates/js/translated/part.js:601
-#: templates/js/translated/table_filters.js:194
+#: templates/js/translated/bom.js:1117 templates/js/translated/build.js:1873
+#: templates/js/translated/build.js:2754 templates/js/translated/part.js:612
+#: templates/js/translated/part.js:615
+#: templates/js/translated/table_filters.js:198
msgid "Available"
msgstr "Disponibile"
-#: company/models.py:549
+#: company/models.py:553
msgid "Quantity available from supplier"
msgstr ""
-#: company/models.py:553
+#: company/models.py:557
msgid "Availability Updated"
msgstr ""
-#: company/models.py:554
+#: company/models.py:558
msgid "Date of last update of availability data"
msgstr ""
-#: company/models.py:682
+#: company/models.py:686
msgid "last updated"
msgstr ""
@@ -3121,7 +3177,7 @@ msgstr "Codice valuta"
#: company/templates/company/company_base.html:8
#: company/templates/company/company_base.html:12
-#: templates/InvenTree/search.html:179 templates/js/translated/company.js:421
+#: templates/InvenTree/search.html:179 templates/js/translated/company.js:422
msgid "Company"
msgstr "Azienda"
@@ -3139,7 +3195,7 @@ msgid "Edit company information"
msgstr "Modifica le informazioni dell'azienda"
#: company/templates/company/company_base.html:34
-#: templates/js/translated/company.js:364
+#: templates/js/translated/company.js:365
msgid "Edit Company"
msgstr "Modifica azienda"
@@ -3162,14 +3218,14 @@ msgstr "Carica nuova immagine"
msgid "Download image from URL"
msgstr "Scarica immagine dall'URL"
-#: company/templates/company/company_base.html:86 order/models.py:646
-#: order/templates/order/sales_order_base.html:116 stock/models.py:645
-#: stock/models.py:646 stock/serializers.py:813
+#: company/templates/company/company_base.html:86 order/models.py:665
+#: order/templates/order/sales_order_base.html:116 stock/models.py:661
+#: stock/models.py:662 stock/serializers.py:812
#: stock/templates/stock/item_base.html:399
#: templates/email/overdue_sales_order.html:16
-#: templates/js/translated/company.js:428 templates/js/translated/order.js:2808
-#: templates/js/translated/stock.js:2569
-#: templates/js/translated/table_filters.js:435
+#: templates/js/translated/company.js:429 templates/js/translated/order.js:2819
+#: templates/js/translated/stock.js:2587
+#: templates/js/translated/table_filters.js:439
msgid "Customer"
msgstr "Cliente"
@@ -3182,12 +3238,12 @@ msgid "Phone"
msgstr "Telefono"
#: company/templates/company/company_base.html:208
-#: part/templates/part/part_base.html:499
+#: part/templates/part/part_base.html:514
msgid "Upload Image"
msgstr "Carica immagine"
#: company/templates/company/company_base.html:223
-#: part/templates/part/part_base.html:554
+#: part/templates/part/part_base.html:569
msgid "Download Image"
msgstr "Download Immagine"
@@ -3203,7 +3259,7 @@ msgstr "Crea nuovo fornitore"
#: company/templates/company/detail.html:19
#: company/templates/company/manufacturer_part.html:123
-#: part/templates/part/detail.html:359
+#: part/templates/part/detail.html:357
msgid "New Supplier Part"
msgstr "Nuovo fornitore articolo"
@@ -3232,7 +3288,7 @@ msgstr ""
msgid "Create new manufacturer part"
msgstr ""
-#: company/templates/company/detail.html:66 part/templates/part/detail.html:389
+#: company/templates/company/detail.html:66 part/templates/part/detail.html:387
msgid "New Manufacturer Part"
msgstr ""
@@ -3246,7 +3302,7 @@ msgstr "Giacenza Fornitore"
#: order/templates/order/order_base.html:13
#: order/templates/order/purchase_orders.html:8
#: order/templates/order/purchase_orders.html:12
-#: part/templates/part/detail.html:84 part/templates/part/part_sidebar.html:37
+#: part/templates/part/detail.html:84 part/templates/part/part_sidebar.html:35
#: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200
#: templates/InvenTree/settings/sidebar.html:49
#: templates/js/translated/search.js:293 templates/navbar.html:50
@@ -3269,7 +3325,7 @@ msgstr ""
#: order/templates/order/sales_order_base.html:13
#: order/templates/order/sales_orders.html:8
#: order/templates/order/sales_orders.html:15
-#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:41
+#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:39
#: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220
#: templates/InvenTree/settings/sidebar.html:51
#: templates/js/translated/search.js:317 templates/navbar.html:61
@@ -3297,8 +3353,7 @@ msgid "Supplier List"
msgstr "Elenco dei fornitori"
#: company/templates/company/manufacturer_part.html:15 company/views.py:38
-#: part/templates/part/prices.html:172 templates/InvenTree/search.html:181
-#: templates/navbar.html:49
+#: templates/InvenTree/search.html:181 templates/navbar.html:49
msgid "Manufacturers"
msgstr "Produttori"
@@ -3309,12 +3364,12 @@ msgid "Order part"
msgstr "Articoli ordinati"
#: company/templates/company/manufacturer_part.html:39
-#: templates/js/translated/company.js:716
+#: templates/js/translated/company.js:717
msgid "Edit manufacturer part"
msgstr ""
#: company/templates/company/manufacturer_part.html:43
-#: templates/js/translated/company.js:717
+#: templates/js/translated/company.js:718
msgid "Delete manufacturer part"
msgstr ""
@@ -3329,35 +3384,36 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:119
#: company/templates/company/supplier_part.html:15 company/views.py:32
-#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:168
+#: part/admin.py:46 part/templates/part/part_sidebar.html:33
#: templates/InvenTree/search.html:191 templates/navbar.html:48
msgid "Suppliers"
msgstr "Fornitori"
#: company/templates/company/manufacturer_part.html:136
-#: part/templates/part/detail.html:370
+#: part/templates/part/detail.html:368
msgid "Delete supplier parts"
msgstr "Elimina articolo fornitore"
#: company/templates/company/manufacturer_part.html:136
#: company/templates/company/manufacturer_part.html:183
-#: part/templates/part/detail.html:371 part/templates/part/detail.html:401
-#: templates/js/translated/forms.js:455 templates/js/translated/helpers.js:36
-#: users/models.py:222
+#: part/templates/part/detail.html:369 part/templates/part/detail.html:399
+#: templates/js/translated/forms.js:455 templates/js/translated/helpers.js:38
+#: templates/js/translated/part.js:340 templates/js/translated/stock.js:184
+#: users/models.py:224
msgid "Delete"
msgstr "Elimina"
#: company/templates/company/manufacturer_part.html:166
#: company/templates/company/manufacturer_part_sidebar.html:5
#: part/templates/part/category_sidebar.html:19
-#: part/templates/part/detail.html:186 part/templates/part/part_sidebar.html:8
+#: part/templates/part/detail.html:184 part/templates/part/part_sidebar.html:8
msgid "Parameters"
msgstr "Parametri"
#: company/templates/company/manufacturer_part.html:170
-#: part/templates/part/detail.html:191
+#: part/templates/part/detail.html:189
#: templates/InvenTree/settings/category.html:12
-#: templates/InvenTree/settings/part.html:68
+#: templates/InvenTree/settings/part.html:62
msgid "New Parameter"
msgstr "Nuovo Parametro"
@@ -3366,7 +3422,7 @@ msgid "Delete parameters"
msgstr "Elimina il parametro"
#: company/templates/company/manufacturer_part.html:245
-#: part/templates/part/detail.html:827
+#: part/templates/part/detail.html:825
msgid "Add Parameter"
msgstr "Aggiungi parametro"
@@ -3387,10 +3443,10 @@ msgid "Assigned Stock Items"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:609
+#: company/templates/company/supplier_part.html:24 stock/models.py:625
#: stock/templates/stock/item_base.html:236
-#: templates/js/translated/company.js:945 templates/js/translated/order.js:1135
-#: templates/js/translated/stock.js:1935
+#: templates/js/translated/company.js:946 templates/js/translated/order.js:1169
+#: templates/js/translated/stock.js:1954
msgid "Supplier Part"
msgstr "Articolo Fornitore"
@@ -3441,13 +3497,13 @@ msgstr ""
#: company/templates/company/supplier_part.html:64
#: company/templates/company/supplier_part.html:65
-#: templates/js/translated/company.js:247
+#: templates/js/translated/company.js:248
msgid "Edit Supplier Part"
msgstr "Modifica fornitore articolo"
#: company/templates/company/supplier_part.html:69
#: company/templates/company/supplier_part.html:70
-#: templates/js/translated/company.js:222
+#: templates/js/translated/company.js:223
msgid "Duplicate Supplier Part"
msgstr ""
@@ -3482,7 +3538,7 @@ msgstr "Crea nuova allocazione magazzino"
#: company/templates/company/supplier_part.html:204
#: part/templates/part/detail.html:25 stock/templates/stock/location.html:198
-#: templates/js/translated/stock.js:435
+#: templates/js/translated/stock.js:454
msgid "New Stock Item"
msgstr "Nuovo Elemento in giacenza"
@@ -3492,47 +3548,20 @@ msgid "Supplier Part Orders"
msgstr "Ordini articoli fornitore"
#: company/templates/company/supplier_part.html:242
-#: part/templates/part/prices.html:10
msgid "Pricing Information"
msgstr "Informazioni Prezzi"
#: company/templates/company/supplier_part.html:247
-#: company/templates/company/supplier_part.html:388
-#: part/templates/part/prices.html:276 templates/js/translated/part.js:2297
+#: company/templates/company/supplier_part.html:317
+#: templates/js/translated/pricing.js:413
msgid "Add Price Break"
msgstr "Aggiungi riduzione prezzo"
-#: company/templates/company/supplier_part.html:282
+#: company/templates/company/supplier_part.html:285
msgid "Link Barcode to Supplier Part"
msgstr ""
-#: company/templates/company/supplier_part.html:300
-msgid "No price break information found"
-msgstr "Nessuna informazione di riduzione di prezzo trovata"
-
-#: company/templates/company/supplier_part.html:314
-#: templates/js/translated/part.js:2307
-msgid "Delete Price Break"
-msgstr "Elimina riduzione di prezzo"
-
-#: company/templates/company/supplier_part.html:328
-#: templates/js/translated/part.js:2321
-msgid "Edit Price Break"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:353
-msgid "Edit price break"
-msgstr "Modifica riduzione di prezzo"
-
-#: company/templates/company/supplier_part.html:354
-msgid "Delete price break"
-msgstr "Cancella riduzione di prezzo"
-
-#: company/templates/company/supplier_part.html:363
-msgid "Last updated"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:444
+#: company/templates/company/supplier_part.html:375
msgid "Update Part Availability"
msgstr ""
@@ -3542,9 +3571,9 @@ msgstr ""
#: stock/templates/stock/stock_app_base.html:10
#: templates/InvenTree/search.html:153
#: templates/InvenTree/settings/sidebar.html:45
-#: templates/js/translated/part.js:749 templates/js/translated/part.js:1335
-#: templates/js/translated/part.js:1501 templates/js/translated/stock.js:959
-#: templates/js/translated/stock.js:1760 templates/navbar.html:31
+#: templates/js/translated/part.js:763 templates/js/translated/part.js:1356
+#: templates/js/translated/part.js:1512 templates/js/translated/stock.js:978
+#: templates/js/translated/stock.js:1779 templates/navbar.html:31
msgid "Stock"
msgstr "Magazzino"
@@ -3558,19 +3587,20 @@ msgid "Supplier Part Pricing"
msgstr "Prezzo articolo del fornitore"
#: company/templates/company/supplier_part_navbar.html:29
-#: part/templates/part/part_sidebar.html:31
+#: part/templates/part/part_sidebar.html:30
+#: templates/InvenTree/settings/sidebar.html:35
msgid "Pricing"
msgstr "Prezzi"
#: company/templates/company/supplier_part_sidebar.html:5
#: part/templates/part/category.html:198
-#: part/templates/part/category_sidebar.html:17
+#: part/templates/part/category_sidebar.html:17 stock/admin.py:31
#: stock/templates/stock/location.html:168
#: stock/templates/stock/location.html:182
#: stock/templates/stock/location.html:194
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:155 templates/js/translated/search.js:225
-#: templates/js/translated/stock.js:2446 users/models.py:40
+#: templates/js/translated/stock.js:2464 users/models.py:40
msgid "Stock Items"
msgstr "Articoli in magazzino"
@@ -3672,438 +3702,439 @@ msgstr ""
msgid "No matching purchase order found"
msgstr ""
-#: order/models.py:82
+#: order/models.py:83
msgid "Order description"
msgstr "Descrizione ordine"
-#: order/models.py:84 order/models.py:1260
+#: order/models.py:85 order/models.py:1283
msgid "Link to external page"
msgstr ""
-#: order/models.py:92
+#: order/models.py:93
msgid "Created By"
msgstr "Creato Da"
-#: order/models.py:99
+#: order/models.py:100
msgid "User or group responsible for this order"
msgstr "Utente o gruppo responsabile di questo ordine"
-#: order/models.py:104
+#: order/models.py:105
msgid "Order notes"
msgstr "Note ordine"
-#: order/models.py:241 order/models.py:633
+#: order/models.py:242 order/models.py:652
msgid "Order reference"
msgstr "Riferimento ordine"
-#: order/models.py:249 order/models.py:651
+#: order/models.py:250 order/models.py:670
msgid "Purchase order status"
msgstr "Stato ordine d'acquisto"
-#: order/models.py:264
+#: order/models.py:265
msgid "Company from which the items are being ordered"
msgstr "Azienda da cui sono stati ordinati gli articoli"
-#: order/models.py:267 order/templates/order/order_base.html:133
-#: templates/js/translated/order.js:1984
+#: order/models.py:268 order/templates/order/order_base.html:133
+#: templates/js/translated/order.js:2018
msgid "Supplier Reference"
msgstr "Riferimento fornitore"
-#: order/models.py:267
+#: order/models.py:268
msgid "Supplier order reference code"
msgstr "Codice di riferimento ordine fornitore"
-#: order/models.py:274
+#: order/models.py:275
msgid "received by"
msgstr "ricevuto da"
-#: order/models.py:279
+#: order/models.py:280
msgid "Issue Date"
msgstr "Data di emissione"
-#: order/models.py:280
+#: order/models.py:281
msgid "Date order was issued"
msgstr "Data di emissione ordine"
-#: order/models.py:285
+#: order/models.py:286
msgid "Target Delivery Date"
msgstr "Data di consegna programmata"
-#: order/models.py:286
+#: order/models.py:287
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr "Data prevista per la consegna dell'ordine. L'ordine scadrà dopo questa data."
-#: order/models.py:292
+#: order/models.py:293
msgid "Date order was completed"
msgstr "Data ordine completato"
-#: order/models.py:328
+#: order/models.py:332
msgid "Part supplier must match PO supplier"
msgstr ""
-#: order/models.py:472
+#: order/models.py:491
msgid "Quantity must be a positive number"
msgstr ""
-#: order/models.py:647
+#: order/models.py:666
msgid "Company to which the items are being sold"
msgstr ""
-#: order/models.py:658
+#: order/models.py:677
msgid "Customer Reference "
msgstr ""
-#: order/models.py:658
+#: order/models.py:677
msgid "Customer order reference code"
msgstr ""
-#: order/models.py:663
+#: order/models.py:682
msgid "Target date for order completion. Order will be overdue after this date."
msgstr ""
-#: order/models.py:666 order/models.py:1218
-#: templates/js/translated/order.js:2855 templates/js/translated/order.js:3017
+#: order/models.py:685 order/models.py:1241
+#: templates/js/translated/order.js:2866 templates/js/translated/order.js:3028
msgid "Shipment Date"
msgstr ""
-#: order/models.py:673
+#: order/models.py:692
msgid "shipped by"
msgstr ""
-#: order/models.py:728
+#: order/models.py:747
msgid "Order cannot be completed as no parts have been assigned"
msgstr ""
-#: order/models.py:732
+#: order/models.py:751
msgid "Only a pending order can be marked as complete"
msgstr ""
-#: order/models.py:735 templates/js/translated/order.js:419
+#: order/models.py:754 templates/js/translated/order.js:419
msgid "Order cannot be completed as there are incomplete shipments"
msgstr ""
-#: order/models.py:738
+#: order/models.py:757
msgid "Order cannot be completed as there are incomplete line items"
msgstr ""
-#: order/models.py:912
+#: order/models.py:935
msgid "Item quantity"
msgstr ""
-#: order/models.py:918
+#: order/models.py:941
msgid "Line item reference"
msgstr ""
-#: order/models.py:920
+#: order/models.py:943
msgid "Line item notes"
msgstr ""
-#: order/models.py:925
+#: order/models.py:948
msgid "Target shipping date for this line item"
msgstr ""
-#: order/models.py:943
+#: order/models.py:966
msgid "Context"
msgstr ""
-#: order/models.py:944
+#: order/models.py:967
msgid "Additional context for this line"
msgstr ""
-#: order/models.py:953
+#: order/models.py:976
msgid "Unit price"
msgstr ""
-#: order/models.py:983
+#: order/models.py:1006
msgid "Supplier part must match supplier"
msgstr ""
-#: order/models.py:991
+#: order/models.py:1014
msgid "deleted"
msgstr ""
-#: order/models.py:997 order/models.py:1077 order/models.py:1118
-#: order/models.py:1212 order/models.py:1344
-#: templates/js/translated/order.js:3473
+#: order/models.py:1020 order/models.py:1100 order/models.py:1141
+#: order/models.py:1235 order/models.py:1367
+#: templates/js/translated/order.js:3484
msgid "Order"
msgstr ""
-#: order/models.py:998 order/models.py:1077
+#: order/models.py:1021 order/models.py:1100
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report.html:76
#: stock/templates/stock/item_base.html:182
#: templates/email/overdue_purchase_order.html:15
-#: templates/js/translated/order.js:619 templates/js/translated/order.js:1136
-#: templates/js/translated/order.js:1959 templates/js/translated/part.js:970
-#: templates/js/translated/stock.js:1915 templates/js/translated/stock.js:2550
+#: templates/js/translated/order.js:619 templates/js/translated/order.js:1170
+#: templates/js/translated/order.js:1993 templates/js/translated/part.js:997
+#: templates/js/translated/pricing.js:515 templates/js/translated/stock.js:1934
+#: templates/js/translated/stock.js:2568
msgid "Purchase Order"
msgstr ""
-#: order/models.py:1016
+#: order/models.py:1039
msgid "Supplier part"
msgstr "Articolo Fornitore"
-#: order/models.py:1023 order/templates/order/order_base.html:178
-#: templates/js/translated/order.js:1641 templates/js/translated/order.js:2373
-#: templates/js/translated/part.js:1087 templates/js/translated/part.js:1125
-#: templates/js/translated/table_filters.js:346
+#: order/models.py:1046 order/templates/order/order_base.html:178
+#: templates/js/translated/order.js:1675 templates/js/translated/order.js:2396
+#: templates/js/translated/part.js:1114 templates/js/translated/part.js:1146
+#: templates/js/translated/table_filters.js:350
msgid "Received"
msgstr ""
-#: order/models.py:1024
+#: order/models.py:1047
msgid "Number of items received"
msgstr ""
-#: order/models.py:1031 part/templates/part/prices.html:181 stock/models.py:741
-#: stock/serializers.py:169 stock/templates/stock/item_base.html:189
-#: templates/js/translated/stock.js:1966
+#: order/models.py:1054 stock/models.py:757 stock/serializers.py:173
+#: stock/templates/stock/item_base.html:189
+#: templates/js/translated/stock.js:1985
msgid "Purchase Price"
msgstr ""
-#: order/models.py:1032
+#: order/models.py:1055
msgid "Unit purchase price"
msgstr ""
-#: order/models.py:1040
+#: order/models.py:1063
msgid "Where does the Purchaser want this item to be stored?"
msgstr ""
-#: order/models.py:1106
+#: order/models.py:1129
msgid "Virtual part cannot be assigned to a sales order"
msgstr ""
-#: order/models.py:1111
+#: order/models.py:1134
msgid "Only salable parts can be assigned to a sales order"
msgstr ""
-#: order/models.py:1137 part/templates/part/part_pricing.html:115
-#: part/templates/part/prices.html:121 part/templates/part/prices.html:290
+#: order/models.py:1160 part/templates/part/part_pricing.html:107
+#: part/templates/part/prices.html:139 templates/js/translated/pricing.js:665
msgid "Sale Price"
msgstr ""
-#: order/models.py:1138
+#: order/models.py:1161
msgid "Unit sale price"
msgstr ""
-#: order/models.py:1143
+#: order/models.py:1166
msgid "Shipped quantity"
msgstr ""
-#: order/models.py:1219
+#: order/models.py:1242
msgid "Date of shipment"
msgstr ""
-#: order/models.py:1226
+#: order/models.py:1249
msgid "Checked By"
msgstr ""
-#: order/models.py:1227
+#: order/models.py:1250
msgid "User who checked this shipment"
msgstr ""
-#: order/models.py:1234 order/models.py:1419 order/serializers.py:1228
-#: order/serializers.py:1356 templates/js/translated/model_renderers.js:314
+#: order/models.py:1257 order/models.py:1442 order/serializers.py:1221
+#: order/serializers.py:1349 templates/js/translated/model_renderers.js:314
msgid "Shipment"
msgstr ""
-#: order/models.py:1235
+#: order/models.py:1258
msgid "Shipment number"
msgstr ""
-#: order/models.py:1239
+#: order/models.py:1262
msgid "Shipment notes"
msgstr ""
-#: order/models.py:1245
+#: order/models.py:1268
msgid "Tracking Number"
msgstr ""
-#: order/models.py:1246
+#: order/models.py:1269
msgid "Shipment tracking information"
msgstr ""
-#: order/models.py:1253
+#: order/models.py:1276
msgid "Invoice Number"
msgstr ""
-#: order/models.py:1254
+#: order/models.py:1277
msgid "Reference number for associated invoice"
msgstr ""
-#: order/models.py:1272
+#: order/models.py:1295
msgid "Shipment has already been sent"
msgstr ""
-#: order/models.py:1275
+#: order/models.py:1298
msgid "Shipment has no allocated stock items"
msgstr ""
-#: order/models.py:1378 order/models.py:1380
+#: order/models.py:1401 order/models.py:1403
msgid "Stock item has not been assigned"
msgstr ""
-#: order/models.py:1384
+#: order/models.py:1407
msgid "Cannot allocate stock item to a line with a different part"
msgstr ""
-#: order/models.py:1386
+#: order/models.py:1409
msgid "Cannot allocate stock to a line without a part"
msgstr ""
-#: order/models.py:1389
+#: order/models.py:1412
msgid "Allocation quantity cannot exceed stock quantity"
msgstr "La quantità di ripartizione non puo' superare la disponibilità della giacenza"
-#: order/models.py:1399 order/serializers.py:1090
+#: order/models.py:1422 order/serializers.py:1083
msgid "Quantity must be 1 for serialized stock item"
msgstr ""
-#: order/models.py:1402
+#: order/models.py:1425
msgid "Sales order does not match shipment"
msgstr ""
-#: order/models.py:1403
+#: order/models.py:1426
msgid "Shipment does not match sales order"
msgstr ""
-#: order/models.py:1411
+#: order/models.py:1434
msgid "Line"
msgstr ""
-#: order/models.py:1420
+#: order/models.py:1443
msgid "Sales order shipment reference"
msgstr ""
-#: order/models.py:1433 templates/js/translated/notification.js:55
+#: order/models.py:1456 templates/js/translated/notification.js:55
msgid "Item"
msgstr ""
-#: order/models.py:1434
+#: order/models.py:1457
msgid "Select stock item to allocate"
msgstr ""
-#: order/models.py:1437
+#: order/models.py:1460
msgid "Enter stock allocation quantity"
msgstr "Inserisci la quantità assegnata alla giacenza"
-#: order/serializers.py:67
+#: order/serializers.py:63
msgid "Price currency"
msgstr ""
-#: order/serializers.py:199
+#: order/serializers.py:193
msgid "Order cannot be cancelled"
msgstr ""
-#: order/serializers.py:209 order/serializers.py:1108
+#: order/serializers.py:203 order/serializers.py:1101
msgid "Allow order to be closed with incomplete line items"
msgstr ""
-#: order/serializers.py:220 order/serializers.py:1119
+#: order/serializers.py:214 order/serializers.py:1112
msgid "Order has incomplete line items"
msgstr ""
-#: order/serializers.py:311
+#: order/serializers.py:305
msgid "Order is not open"
msgstr ""
-#: order/serializers.py:335
+#: order/serializers.py:327
msgid "Purchase price currency"
msgstr ""
-#: order/serializers.py:354
+#: order/serializers.py:346
msgid "Supplier part must be specified"
msgstr ""
-#: order/serializers.py:359
+#: order/serializers.py:351
msgid "Purchase order must be specified"
msgstr ""
-#: order/serializers.py:365
+#: order/serializers.py:357
msgid "Supplier must match purchase order"
msgstr ""
-#: order/serializers.py:366
+#: order/serializers.py:358
msgid "Purchase order must match supplier"
msgstr ""
-#: order/serializers.py:430 order/serializers.py:1196
+#: order/serializers.py:421 order/serializers.py:1189
msgid "Line Item"
msgstr ""
-#: order/serializers.py:436
+#: order/serializers.py:427
msgid "Line item does not match purchase order"
msgstr ""
-#: order/serializers.py:446 order/serializers.py:557
+#: order/serializers.py:437 order/serializers.py:548
msgid "Select destination location for received items"
msgstr "Seleziona la posizione di destinazione per gli elementi ricevuti"
-#: order/serializers.py:465 templates/js/translated/order.js:1497
+#: order/serializers.py:456 templates/js/translated/order.js:1531
msgid "Enter batch code for incoming stock items"
msgstr ""
-#: order/serializers.py:473 templates/js/translated/order.js:1508
+#: order/serializers.py:464 templates/js/translated/order.js:1542
msgid "Enter serial numbers for incoming stock items"
msgstr ""
-#: order/serializers.py:487
+#: order/serializers.py:478
msgid "Unique identifier field"
msgstr ""
-#: order/serializers.py:501
+#: order/serializers.py:492
msgid "Barcode is already in use"
msgstr ""
-#: order/serializers.py:527
+#: order/serializers.py:518
msgid "An integer quantity must be provided for trackable parts"
msgstr ""
-#: order/serializers.py:573
+#: order/serializers.py:564
msgid "Line items must be provided"
msgstr ""
-#: order/serializers.py:590
+#: order/serializers.py:581
msgid "Destination location must be specified"
msgstr "La destinazione deve essere specificata"
-#: order/serializers.py:601
+#: order/serializers.py:592
msgid "Supplied barcode values must be unique"
msgstr ""
-#: order/serializers.py:907
+#: order/serializers.py:900
msgid "Sale price currency"
msgstr ""
-#: order/serializers.py:988
+#: order/serializers.py:981
msgid "No shipment details provided"
msgstr ""
-#: order/serializers.py:1051 order/serializers.py:1205
+#: order/serializers.py:1044 order/serializers.py:1198
msgid "Line item is not associated with this order"
msgstr ""
-#: order/serializers.py:1073
+#: order/serializers.py:1066
msgid "Quantity must be positive"
msgstr ""
-#: order/serializers.py:1218
+#: order/serializers.py:1211
msgid "Enter serial numbers to allocate"
msgstr ""
-#: order/serializers.py:1240 order/serializers.py:1364
+#: order/serializers.py:1233 order/serializers.py:1357
msgid "Shipment has already been shipped"
msgstr ""
-#: order/serializers.py:1243 order/serializers.py:1367
+#: order/serializers.py:1236 order/serializers.py:1360
msgid "Shipment is not associated with this order"
msgstr ""
-#: order/serializers.py:1297
+#: order/serializers.py:1290
msgid "No match found for the following serial numbers"
msgstr ""
-#: order/serializers.py:1307
+#: order/serializers.py:1300
msgid "The following serial numbers are already allocated"
msgstr ""
@@ -4154,15 +4185,16 @@ msgid "Duplicate order"
msgstr ""
#: order/templates/order/order_base.html:61
-msgid "Place order"
-msgstr "Invia l'ordine"
+#: order/templates/order/order_base.html:62
+msgid "Submit Order"
+msgstr ""
#: order/templates/order/order_base.html:65
msgid "Receive items"
msgstr "Ricevere articoli"
#: order/templates/order/order_base.html:67
-#: order/templates/order/purchase_order_detail.html:30
+#: order/templates/order/purchase_order_detail.html:32
msgid "Receive Items"
msgstr ""
@@ -4248,9 +4280,9 @@ msgstr "Seleziona l'articolo del fornitore"
#: part/templates/part/import_wizard/match_references.html:49
#: templates/js/translated/bom.js:102 templates/js/translated/build.js:479
#: templates/js/translated/build.js:631 templates/js/translated/build.js:2078
-#: templates/js/translated/order.js:1084 templates/js/translated/order.js:1586
-#: templates/js/translated/order.js:3092 templates/js/translated/stock.js:625
-#: templates/js/translated/stock.js:793
+#: templates/js/translated/order.js:1118 templates/js/translated/order.js:1620
+#: templates/js/translated/order.js:3103 templates/js/translated/stock.js:644
+#: templates/js/translated/stock.js:812
#: templates/patterns/wizard/match_fields.html:70
msgid "Remove row"
msgstr "Elimina riga"
@@ -4278,42 +4310,42 @@ msgstr ""
msgid "Received Stock"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:17
+#: order/templates/order/purchase_order_detail.html:19
msgid "Purchase Order Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:26
-#: order/templates/order/sales_order_detail.html:22
-#: order/templates/order/sales_order_detail.html:255
+#: order/templates/order/purchase_order_detail.html:28
+#: order/templates/order/sales_order_detail.html:24
+#: order/templates/order/sales_order_detail.html:260
#: templates/js/translated/order.js:728
msgid "Add Line Item"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:29
+#: order/templates/order/purchase_order_detail.html:31
msgid "Receive selected items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:48
-#: order/templates/order/sales_order_detail.html:42
+#: order/templates/order/purchase_order_detail.html:50
+#: order/templates/order/sales_order_detail.html:45
msgid "Extra Lines"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:53
-#: order/templates/order/sales_order_detail.html:47
-#: order/templates/order/sales_order_detail.html:280
+#: order/templates/order/purchase_order_detail.html:56
+#: order/templates/order/sales_order_detail.html:51
+#: order/templates/order/sales_order_detail.html:291
msgid "Add Extra Line"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:72
+#: order/templates/order/purchase_order_detail.html:76
msgid "Received Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:97
-#: order/templates/order/sales_order_detail.html:150
+#: order/templates/order/purchase_order_detail.html:101
+#: order/templates/order/sales_order_detail.html:155
msgid "Order Notes"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:232
+#: order/templates/order/purchase_order_detail.html:239
msgid "Add Order Line"
msgstr ""
@@ -4345,12 +4377,12 @@ msgid "This Sales Order has not been fully allocated"
msgstr ""
#: order/templates/order/sales_order_base.html:123
-#: templates/js/translated/order.js:2821
+#: templates/js/translated/order.js:2832
msgid "Customer Reference"
msgstr ""
#: order/templates/order/sales_order_base.html:141
-#: order/templates/order/sales_order_detail.html:104
+#: order/templates/order/sales_order_detail.html:109
#: order/templates/order/so_sidebar.html:11
msgid "Completed Shipments"
msgstr ""
@@ -4359,22 +4391,22 @@ msgstr ""
msgid "Edit Sales Order"
msgstr ""
-#: order/templates/order/sales_order_detail.html:17
+#: order/templates/order/sales_order_detail.html:18
msgid "Sales Order Items"
msgstr ""
-#: order/templates/order/sales_order_detail.html:68
+#: order/templates/order/sales_order_detail.html:73
#: order/templates/order/so_sidebar.html:8
msgid "Pending Shipments"
msgstr ""
-#: order/templates/order/sales_order_detail.html:72
-#: templates/attachment_table.html:6 templates/js/translated/bom.js:1158
+#: order/templates/order/sales_order_detail.html:77
+#: templates/attachment_table.html:6 templates/js/translated/bom.js:1223
#: templates/js/translated/build.js:1979
msgid "Actions"
msgstr ""
-#: order/templates/order/sales_order_detail.html:81
+#: order/templates/order/sales_order_detail.html:86
msgid "New Shipment"
msgstr ""
@@ -4400,617 +4432,844 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/api.py:516
-msgid "Incoming Purchase Order"
+#: part/admin.py:19 part/admin.py:219 part/models.py:3181 stock/admin.py:84
+#: templates/js/translated/model_renderers.js:212
+msgid "Part ID"
+msgstr "Codice Articolo"
+
+#: part/admin.py:20 part/admin.py:221 part/models.py:3185 stock/admin.py:85
+msgid "Part Name"
msgstr ""
-#: part/api.py:536
-msgid "Outgoing Sales Order"
+#: part/admin.py:21
+msgid "Part Description"
msgstr ""
-#: part/api.py:554
-msgid "Stock produced by Build Order"
+#: part/admin.py:22 part/models.py:822 part/templates/part/part_base.html:272
+#: templates/js/translated/part.js:751 templates/js/translated/part.js:1469
+#: templates/js/translated/stock.js:1745
+msgid "IPN"
+msgstr "IPN - Numero di riferimento interno"
+
+#: part/admin.py:23 part/models.py:830 part/templates/part/part_base.html:279
+#: report/models.py:171 templates/js/translated/part.js:755
+msgid "Revision"
+msgstr "Revisione"
+
+#: part/admin.py:24 part/admin.py:145 part/models.py:808
+#: part/templates/part/category.html:87 part/templates/part/part_base.html:300
+msgid "Keywords"
+msgstr "Parole Chiave"
+
+#: part/admin.py:28 part/admin.py:139
+#: templates/js/translated/model_renderers.js:338
+msgid "Category ID"
+msgstr "Id Categoria"
+
+#: part/admin.py:29 part/admin.py:140
+msgid "Category Name"
msgstr ""
-#: part/api.py:640
-msgid "Stock required for Build Order"
+#: part/admin.py:30 part/admin.py:144
+msgid "Default Location ID"
msgstr ""
-#: part/api.py:777
-msgid "Valid"
+#: part/admin.py:31
+msgid "Default Supplier ID"
msgstr ""
-#: part/api.py:778
-msgid "Validate entire Bill of Materials"
-msgstr ""
+#: part/admin.py:33 part/models.py:914 part/templates/part/part_base.html:206
+msgid "Minimum Stock"
+msgstr "Scorta Minima"
-#: part/api.py:784
-msgid "This option must be selected"
-msgstr ""
+#: part/admin.py:47 part/templates/part/part_base.html:200
+#: templates/js/translated/company.js:1028
+#: templates/js/translated/table_filters.js:213
+msgid "In Stock"
+msgstr "In magazzino"
-#: part/api.py:1207
-msgid "Must be greater than zero"
-msgstr ""
-
-#: part/api.py:1211
-msgid "Must be a valid quantity"
-msgstr ""
-
-#: part/api.py:1226
-msgid "Specify location for initial part stock"
-msgstr "Specifica la posizione per lo stock iniziale"
-
-#: part/api.py:1257 part/api.py:1261 part/api.py:1276 part/api.py:1280
-msgid "This field is required"
-msgstr ""
-
-#: part/bom.py:127 part/models.py:98 part/models.py:838
-#: part/templates/part/category.html:109 part/templates/part/part_base.html:345
-msgid "Default Location"
-msgstr "Posizione Predefinita"
-
-#: part/bom.py:128 templates/email/low_stock_notification.html:17
-msgid "Total Stock"
-msgstr "Giacenze Totali"
-
-#: part/bom.py:129 part/templates/part/part_base.html:195
-#: templates/js/translated/order.js:3913
-msgid "Available Stock"
-msgstr "Disponibilità in magazzino"
-
-#: part/bom.py:130 part/templates/part/part_base.html:213
-#: templates/js/translated/bom.js:1001 templates/js/translated/build.js:1925
-#: templates/js/translated/part.js:588 templates/js/translated/part.js:608
-#: templates/js/translated/part.js:1338 templates/js/translated/part.js:1526
+#: part/admin.py:48 part/bom.py:145 part/templates/part/part_base.html:213
+#: templates/js/translated/bom.js:1155 templates/js/translated/build.js:1925
+#: templates/js/translated/part.js:602 templates/js/translated/part.js:622
+#: templates/js/translated/part.js:1359 templates/js/translated/part.js:1537
#: templates/js/translated/table_filters.js:68
msgid "On Order"
msgstr "Ordinato"
-#: part/forms.py:41
-msgid "Input quantity for price calculation"
-msgstr "Digita la quantità per il calcolo del prezzo"
-
-#: part/models.py:99
-msgid "Default location for parts in this category"
-msgstr "Posizione predefinita per gli articoli di questa categoria"
-
-#: part/models.py:102
-msgid "Default keywords"
-msgstr "Keywords predefinite"
-
-#: part/models.py:102
-msgid "Default keywords for parts in this category"
-msgstr "Parole chiave predefinite per gli articoli in questa categoria"
-
-#: part/models.py:107 stock/models.py:85
-msgid "Icon"
+#: part/admin.py:49 part/templates/part/part_sidebar.html:27
+msgid "Used In"
msgstr ""
-#: part/models.py:108 stock/models.py:86
-msgid "Icon (optional)"
+#: part/admin.py:50 templates/js/translated/build.js:1937
+#: templates/js/translated/build.js:2195 templates/js/translated/build.js:2761
+#: templates/js/translated/order.js:3943
+msgid "Allocated"
msgstr ""
-#: part/models.py:122 part/models.py:2517 part/templates/part/category.html:16
-#: part/templates/part/part_app_base.html:10
-msgid "Part Category"
-msgstr "Categoria Articoli"
+#: part/admin.py:51 part/templates/part/part_base.html:244
+#: templates/js/translated/part.js:605 templates/js/translated/part.js:625
+#: templates/js/translated/part.js:1363 templates/js/translated/part.js:1544
+msgid "Building"
+msgstr ""
-#: part/models.py:123 part/templates/part/category.html:129
-#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200
-#: users/models.py:37
-msgid "Part Categories"
-msgstr "Categorie Articolo"
+#: part/admin.py:52 part/models.py:2765
+msgid "Minimum Cost"
+msgstr ""
-#: part/models.py:344 part/templates/part/cat_link.html:3
+#: part/admin.py:53 part/models.py:2771
+msgid "Maximum Cost"
+msgstr ""
+
+#: part/admin.py:142 part/admin.py:216 stock/admin.py:26 stock/admin.py:98
+msgid "Parent ID"
+msgstr ""
+
+#: part/admin.py:143 part/admin.py:218 stock/admin.py:27
+msgid "Parent Name"
+msgstr ""
+
+#: part/admin.py:146 part/templates/part/category.html:81
+#: part/templates/part/category.html:94
+msgid "Category Path"
+msgstr "Percorso Categoria"
+
+#: part/admin.py:149 part/models.py:363 part/templates/part/cat_link.html:3
#: part/templates/part/category.html:23 part/templates/part/category.html:134
#: part/templates/part/category.html:154
#: part/templates/part/category_sidebar.html:9
#: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84
#: templates/InvenTree/settings/sidebar.html:41
-#: templates/js/translated/part.js:2019 templates/js/translated/search.js:146
+#: templates/js/translated/part.js:2043 templates/js/translated/search.js:146
#: templates/navbar.html:24 users/models.py:38
msgid "Parts"
msgstr "Articoli"
-#: part/models.py:429
+#: part/admin.py:211
+msgid "BOM Level"
+msgstr ""
+
+#: part/admin.py:213
+msgid "BOM Item ID"
+msgstr ""
+
+#: part/admin.py:217
+msgid "Parent IPN"
+msgstr ""
+
+#: part/admin.py:220 part/models.py:3189
+msgid "Part IPN"
+msgstr ""
+
+#: part/admin.py:226 templates/js/translated/pricing.js:91
+#: templates/js/translated/pricing.js:727
+msgid "Minimum Price"
+msgstr ""
+
+#: part/admin.py:227 templates/js/translated/pricing.js:86
+#: templates/js/translated/pricing.js:735
+msgid "Maximum Price"
+msgstr ""
+
+#: part/api.py:532
+msgid "Incoming Purchase Order"
+msgstr ""
+
+#: part/api.py:552
+msgid "Outgoing Sales Order"
+msgstr ""
+
+#: part/api.py:570
+msgid "Stock produced by Build Order"
+msgstr ""
+
+#: part/api.py:656
+msgid "Stock required for Build Order"
+msgstr ""
+
+#: part/api.py:814
+msgid "Valid"
+msgstr ""
+
+#: part/api.py:815
+msgid "Validate entire Bill of Materials"
+msgstr ""
+
+#: part/api.py:821
+msgid "This option must be selected"
+msgstr ""
+
+#: part/api.py:1261
+msgid "Must be greater than zero"
+msgstr ""
+
+#: part/api.py:1265
+msgid "Must be a valid quantity"
+msgstr ""
+
+#: part/api.py:1280
+msgid "Specify location for initial part stock"
+msgstr "Specifica la posizione per lo stock iniziale"
+
+#: part/api.py:1311 part/api.py:1315 part/api.py:1330 part/api.py:1334
+msgid "This field is required"
+msgstr ""
+
+#: part/bom.py:142 part/models.py:116 part/models.py:857
+#: part/templates/part/category.html:109 part/templates/part/part_base.html:360
+msgid "Default Location"
+msgstr "Posizione Predefinita"
+
+#: part/bom.py:143 templates/email/low_stock_notification.html:17
+msgid "Total Stock"
+msgstr "Giacenze Totali"
+
+#: part/bom.py:144 part/templates/part/part_base.html:195
+#: templates/js/translated/order.js:3910
+msgid "Available Stock"
+msgstr "Disponibilità in magazzino"
+
+#: part/forms.py:41
+msgid "Input quantity for price calculation"
+msgstr "Digita la quantità per il calcolo del prezzo"
+
+#: part/models.py:117
+msgid "Default location for parts in this category"
+msgstr "Posizione predefinita per gli articoli di questa categoria"
+
+#: part/models.py:120
+msgid "Default keywords"
+msgstr "Keywords predefinite"
+
+#: part/models.py:120
+msgid "Default keywords for parts in this category"
+msgstr "Parole chiave predefinite per gli articoli in questa categoria"
+
+#: part/models.py:125 stock/models.py:101
+msgid "Icon"
+msgstr ""
+
+#: part/models.py:126 stock/models.py:102
+msgid "Icon (optional)"
+msgstr ""
+
+#: part/models.py:140 part/models.py:3130 part/templates/part/category.html:16
+#: part/templates/part/part_app_base.html:10
+msgid "Part Category"
+msgstr "Categoria Articoli"
+
+#: part/models.py:141 part/templates/part/category.html:129
+#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200
+#: users/models.py:37
+msgid "Part Categories"
+msgstr "Categorie Articolo"
+
+#: part/models.py:448
msgid "Invalid choice for parent part"
msgstr "Scelta non valida per l'articolo principale"
-#: part/models.py:499 part/models.py:511
+#: part/models.py:518 part/models.py:530
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:601
+#: part/models.py:620
msgid "Stock item with this serial number already exists"
msgstr ""
-#: part/models.py:732
+#: part/models.py:751
msgid "Duplicate IPN not allowed in part settings"
msgstr "Non è consentito duplicare IPN nelle impostazioni dell'articolo"
-#: part/models.py:759 part/models.py:2573
+#: part/models.py:778 part/models.py:3186
msgid "Part name"
msgstr "Nome articolo"
-#: part/models.py:766
+#: part/models.py:785
msgid "Is Template"
msgstr "È Template"
-#: part/models.py:767
+#: part/models.py:786
msgid "Is this part a template part?"
msgstr "Quest'articolo è un articolo di template?"
-#: part/models.py:777
+#: part/models.py:796
msgid "Is this part a variant of another part?"
msgstr "Questa parte è una variante di un altro articolo?"
-#: part/models.py:778
+#: part/models.py:797
msgid "Variant Of"
msgstr "Variante Di"
-#: part/models.py:784
+#: part/models.py:803
msgid "Part description"
msgstr "Descrizione articolo"
-#: part/models.py:789 part/templates/part/category.html:87
-#: part/templates/part/part_base.html:300
-msgid "Keywords"
-msgstr "Parole Chiave"
-
-#: part/models.py:790
+#: part/models.py:809
msgid "Part keywords to improve visibility in search results"
msgstr "Parole chiave per migliorare la visibilità nei risultati di ricerca"
-#: part/models.py:797 part/models.py:2272 part/models.py:2516
+#: part/models.py:816 part/models.py:2885 part/models.py:3129
#: part/templates/part/part_base.html:263
#: templates/InvenTree/settings/settings.html:229
#: templates/js/translated/notification.js:50
-#: templates/js/translated/part.js:1480 templates/js/translated/part.js:1724
+#: templates/js/translated/part.js:1491 templates/js/translated/part.js:1748
msgid "Category"
msgstr "Categoria"
-#: part/models.py:798
+#: part/models.py:817
msgid "Part category"
msgstr "Categoria articolo"
-#: part/models.py:803 part/templates/part/part_base.html:272
-#: templates/js/translated/part.js:737 templates/js/translated/part.js:1431
-#: templates/js/translated/stock.js:1726
-msgid "IPN"
-msgstr "IPN - Numero di riferimento interno"
-
-#: part/models.py:804
+#: part/models.py:823
msgid "Internal Part Number"
msgstr "Numero Dell'articolo Interno"
-#: part/models.py:810
+#: part/models.py:829
msgid "Part revision or version number"
msgstr "Numero di revisione o di versione"
-#: part/models.py:811 part/templates/part/part_base.html:279
-#: report/models.py:171 templates/js/translated/part.js:741
-msgid "Revision"
-msgstr "Revisione"
-
-#: part/models.py:836
+#: part/models.py:855
msgid "Where is this item normally stored?"
msgstr "Dove viene normalmente immagazzinato questo articolo?"
-#: part/models.py:881 part/templates/part/part_base.html:354
+#: part/models.py:900 part/templates/part/part_base.html:369
msgid "Default Supplier"
msgstr "Fornitore predefinito"
-#: part/models.py:882
+#: part/models.py:901
msgid "Default supplier part"
msgstr "Articolo fornitore predefinito"
-#: part/models.py:889
+#: part/models.py:908
msgid "Default Expiry"
msgstr "Scadenza Predefinita"
-#: part/models.py:890
+#: part/models.py:909
msgid "Expiry time (in days) for stock items of this part"
msgstr "Scadenza (in giorni) per gli articoli in giacenza di questo pezzo"
-#: part/models.py:895 part/templates/part/part_base.html:206
-msgid "Minimum Stock"
-msgstr "Scorta Minima"
-
-#: part/models.py:896
+#: part/models.py:915
msgid "Minimum allowed stock level"
msgstr "Livello minimo di giacenza consentito"
-#: part/models.py:903
+#: part/models.py:922
msgid "Stock keeping units for this part"
msgstr "Unità di conservazione delle scorte per quest'articolo"
-#: part/models.py:909
+#: part/models.py:928
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:915
+#: part/models.py:934
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:921
+#: part/models.py:940
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:926
+#: part/models.py:945
msgid "Can this part be purchased from external suppliers?"
msgstr "Quest'articolo può essere acquistato da fornitori esterni?"
-#: part/models.py:931
+#: part/models.py:950
msgid "Can this part be sold to customers?"
msgstr "Questo pezzo può essere venduto ai clienti?"
-#: part/models.py:936
+#: part/models.py:955
msgid "Is this part active?"
msgstr "Quest'articolo è attivo?"
-#: part/models.py:941
+#: part/models.py:960
msgid "Is this a virtual part, such as a software product or license?"
msgstr "È una parte virtuale, come un prodotto software o una licenza?"
-#: part/models.py:943
+#: part/models.py:962
msgid "Part notes"
msgstr ""
-#: part/models.py:945
+#: part/models.py:964
msgid "BOM checksum"
msgstr ""
-#: part/models.py:945
+#: part/models.py:964
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:948
+#: part/models.py:967
msgid "BOM checked by"
msgstr ""
-#: part/models.py:950
+#: part/models.py:969
msgid "BOM checked date"
msgstr ""
-#: part/models.py:954
+#: part/models.py:973
msgid "Creation User"
msgstr ""
-#: part/models.py:1790
+#: part/models.py:1819
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2319
+#: part/models.py:2682
+msgid "Currency used to cache pricing calculations"
+msgstr ""
+
+#: part/models.py:2687
+msgid "Updated"
+msgstr ""
+
+#: part/models.py:2688
+msgid "Timestamp of last pricing update"
+msgstr ""
+
+#: part/models.py:2705
+msgid "Minimum BOM Cost"
+msgstr ""
+
+#: part/models.py:2706
+msgid "Minimum cost of component parts"
+msgstr ""
+
+#: part/models.py:2711
+msgid "Maximum BOM Cost"
+msgstr ""
+
+#: part/models.py:2712
+msgid "Maximum cost of component parts"
+msgstr ""
+
+#: part/models.py:2717
+msgid "Minimum Purchase Cost"
+msgstr ""
+
+#: part/models.py:2718
+msgid "Minimum historical purchase cost"
+msgstr ""
+
+#: part/models.py:2723
+msgid "Maximum Purchase Cost"
+msgstr ""
+
+#: part/models.py:2724
+msgid "Maximum historical purchase cost"
+msgstr ""
+
+#: part/models.py:2729
+msgid "Minimum Internal Price"
+msgstr ""
+
+#: part/models.py:2730
+msgid "Minimum cost based on internal price breaks"
+msgstr ""
+
+#: part/models.py:2735
+msgid "Maximum Internal Price"
+msgstr ""
+
+#: part/models.py:2736
+msgid "Maximum cost based on internal price breaks"
+msgstr ""
+
+#: part/models.py:2741
+msgid "Minimum Supplier Price"
+msgstr ""
+
+#: part/models.py:2742
+msgid "Minimum price of part from external suppliers"
+msgstr ""
+
+#: part/models.py:2747
+msgid "Maximum Supplier Price"
+msgstr ""
+
+#: part/models.py:2748
+msgid "Maximum price of part from external suppliers"
+msgstr ""
+
+#: part/models.py:2753
+msgid "Minimum Variant Cost"
+msgstr ""
+
+#: part/models.py:2754
+msgid "Calculated minimum cost of variant parts"
+msgstr ""
+
+#: part/models.py:2759
+msgid "Maximum Variant Cost"
+msgstr ""
+
+#: part/models.py:2760
+msgid "Calculated maximum cost of variant parts"
+msgstr ""
+
+#: part/models.py:2766
+msgid "Calculated overall minimum cost"
+msgstr ""
+
+#: part/models.py:2772
+msgid "Calculated overall maximum cost"
+msgstr ""
+
+#: part/models.py:2777
+msgid "Minimum Sale Price"
+msgstr ""
+
+#: part/models.py:2778
+msgid "Minimum sale price based on price breaks"
+msgstr ""
+
+#: part/models.py:2783
+msgid "Maximum Sale Price"
+msgstr ""
+
+#: part/models.py:2784
+msgid "Maximum sale price based on price breaks"
+msgstr ""
+
+#: part/models.py:2789
+msgid "Minimum Sale Cost"
+msgstr ""
+
+#: part/models.py:2790
+msgid "Minimum historical sale price"
+msgstr ""
+
+#: part/models.py:2795
+msgid "Maximum Sale Cost"
+msgstr ""
+
+#: part/models.py:2796
+msgid "Maximum historical sale price"
+msgstr ""
+
+#: part/models.py:2932
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:2336
+#: part/models.py:2949
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2356 templates/js/translated/part.js:2070
-#: templates/js/translated/stock.js:1340
+#: part/models.py:2969 templates/js/translated/part.js:2094
+#: templates/js/translated/stock.js:1359
msgid "Test Name"
msgstr ""
-#: part/models.py:2357
+#: part/models.py:2970
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2362
+#: part/models.py:2975
msgid "Test Description"
msgstr "Descrizione Di Prova"
-#: part/models.py:2363
+#: part/models.py:2976
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2368 templates/js/translated/part.js:2079
-#: templates/js/translated/table_filters.js:310
+#: part/models.py:2981 templates/js/translated/part.js:2103
+#: templates/js/translated/table_filters.js:314
msgid "Required"
msgstr ""
-#: part/models.py:2369
+#: part/models.py:2982
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2374 templates/js/translated/part.js:2087
+#: part/models.py:2987 templates/js/translated/part.js:2111
msgid "Requires Value"
msgstr ""
-#: part/models.py:2375
+#: part/models.py:2988
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2380 templates/js/translated/part.js:2094
+#: part/models.py:2993 templates/js/translated/part.js:2118
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2381
+#: part/models.py:2994
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:2422
+#: part/models.py:3035
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:2430
+#: part/models.py:3043
msgid "Parameter Name"
msgstr ""
-#: part/models.py:2434
+#: part/models.py:3047
msgid "Parameter Units"
msgstr ""
-#: part/models.py:2439
+#: part/models.py:3052
msgid "Parameter description"
msgstr ""
-#: part/models.py:2472
+#: part/models.py:3085
msgid "Parent Part"
msgstr ""
-#: part/models.py:2474 part/models.py:2522 part/models.py:2523
+#: part/models.py:3087 part/models.py:3135 part/models.py:3136
#: templates/InvenTree/settings/settings.html:224
msgid "Parameter Template"
msgstr ""
-#: part/models.py:2476
+#: part/models.py:3089
msgid "Data"
msgstr ""
-#: part/models.py:2476
+#: part/models.py:3089
msgid "Parameter Value"
msgstr ""
-#: part/models.py:2527 templates/InvenTree/settings/settings.html:233
+#: part/models.py:3140 templates/InvenTree/settings/settings.html:233
msgid "Default Value"
msgstr ""
-#: part/models.py:2528
+#: part/models.py:3141
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:2565
+#: part/models.py:3178
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:2568 templates/js/translated/model_renderers.js:212
-msgid "Part ID"
-msgstr "Codice Articolo"
-
-#: part/models.py:2569
+#: part/models.py:3182
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:2572
-msgid "Part Name"
-msgstr ""
-
-#: part/models.py:2576
-msgid "Part IPN"
-msgstr ""
-
-#: part/models.py:2577
+#: part/models.py:3190
msgid "Part IPN value"
msgstr ""
-#: part/models.py:2580
+#: part/models.py:3193
msgid "Level"
msgstr ""
-#: part/models.py:2581
+#: part/models.py:3194
msgid "BOM level"
msgstr ""
-#: part/models.py:2650
+#: part/models.py:3263
msgid "Select parent part"
msgstr ""
-#: part/models.py:2658
+#: part/models.py:3271
msgid "Sub part"
msgstr ""
-#: part/models.py:2659
+#: part/models.py:3272
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:2665
+#: part/models.py:3278
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:2669 part/templates/part/upload_bom.html:58
-#: templates/js/translated/bom.js:924 templates/js/translated/bom.js:1024
+#: part/models.py:3282 part/templates/part/upload_bom.html:58
+#: templates/js/translated/bom.js:933 templates/js/translated/bom.js:986
#: templates/js/translated/build.js:1858
#: templates/js/translated/table_filters.js:84
-#: templates/js/translated/table_filters.js:108
+#: templates/js/translated/table_filters.js:112
msgid "Optional"
msgstr ""
-#: part/models.py:2670
+#: part/models.py:3283
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:2675 templates/js/translated/bom.js:920
-#: templates/js/translated/bom.js:1033 templates/js/translated/build.js:1849
+#: part/models.py:3288 templates/js/translated/bom.js:929
+#: templates/js/translated/bom.js:995 templates/js/translated/build.js:1849
#: templates/js/translated/table_filters.js:88
msgid "Consumable"
msgstr ""
-#: part/models.py:2676
+#: part/models.py:3289
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:2680 part/templates/part/upload_bom.html:55
+#: part/models.py:3293 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:2681
+#: part/models.py:3294
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:2684
+#: part/models.py:3297
msgid "BOM item reference"
msgstr ""
-#: part/models.py:2687
+#: part/models.py:3300
msgid "BOM item notes"
msgstr ""
-#: part/models.py:2689
+#: part/models.py:3302
msgid "Checksum"
msgstr ""
-#: part/models.py:2689
+#: part/models.py:3302
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:2693 part/templates/part/upload_bom.html:57
-#: templates/js/translated/bom.js:1050
+#: part/models.py:3306 part/templates/part/upload_bom.html:57
+#: templates/js/translated/bom.js:1012
#: templates/js/translated/table_filters.js:76
-#: templates/js/translated/table_filters.js:104
+#: templates/js/translated/table_filters.js:108
msgid "Inherited"
msgstr ""
-#: part/models.py:2694
+#: part/models.py:3307
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:2699 part/templates/part/upload_bom.html:56
-#: templates/js/translated/bom.js:1042
+#: part/models.py:3312 part/templates/part/upload_bom.html:56
+#: templates/js/translated/bom.js:1004
msgid "Allow Variants"
msgstr "Consenti Le Varianti"
-#: part/models.py:2700
+#: part/models.py:3313
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:2786 stock/models.py:502
+#: part/models.py:3399 stock/models.py:518
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:2795 part/models.py:2797
+#: part/models.py:3408 part/models.py:3410
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:2902
+#: part/models.py:3537
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:2923
+#: part/models.py:3558
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:2936
+#: part/models.py:3571
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:2944
+#: part/models.py:3579
msgid "Substitute part"
msgstr ""
-#: part/models.py:2959
+#: part/models.py:3594
msgid "Part 1"
msgstr ""
-#: part/models.py:2963
+#: part/models.py:3598
msgid "Part 2"
msgstr ""
-#: part/models.py:2963
+#: part/models.py:3598
msgid "Select Related Part"
msgstr ""
-#: part/models.py:2981
+#: part/models.py:3616
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:2985
+#: part/models.py:3620
msgid "Duplicate relationship already exists"
msgstr ""
-#: part/serializers.py:154 part/serializers.py:185 stock/serializers.py:179
+#: part/serializers.py:154 part/serializers.py:182 stock/serializers.py:183
msgid "Purchase currency of this stock item"
msgstr ""
-#: part/serializers.py:829
+#: part/serializers.py:542
+msgid "Update"
+msgstr ""
+
+#: part/serializers.py:543
+msgid "Update pricing for this part"
+msgstr ""
+
+#: part/serializers.py:853
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:837
+#: part/serializers.py:861
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:838
+#: part/serializers.py:862
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:843
+#: part/serializers.py:867
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:844
+#: part/serializers.py:868
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:849
+#: part/serializers.py:873
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:850
+#: part/serializers.py:874
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:855
+#: part/serializers.py:879
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:856
+#: part/serializers.py:880
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/serializers.py:896
+#: part/serializers.py:920
msgid "Clear Existing BOM"
msgstr ""
-#: part/serializers.py:897
+#: part/serializers.py:921
msgid "Delete existing BOM items before uploading"
msgstr ""
-#: part/serializers.py:927
+#: part/serializers.py:951
msgid "No part column specified"
msgstr ""
-#: part/serializers.py:970
+#: part/serializers.py:994
msgid "Multiple matching parts found"
msgstr ""
-#: part/serializers.py:973
+#: part/serializers.py:997
msgid "No matching part found"
msgstr ""
-#: part/serializers.py:976
+#: part/serializers.py:1000
msgid "Part is not designated as a component"
msgstr ""
-#: part/serializers.py:985
+#: part/serializers.py:1009
msgid "Quantity not provided"
msgstr ""
-#: part/serializers.py:993
+#: part/serializers.py:1017
msgid "Invalid quantity"
msgstr ""
-#: part/serializers.py:1014
+#: part/serializers.py:1038
msgid "At least one BOM item is required"
msgstr ""
-#: part/tasks.py:21
+#: part/tasks.py:25
msgid "Low stock notification"
msgstr "Notifica di magazzino bassa"
-#: part/tasks.py:22
+#: part/tasks.py:26
#, python-brace-format
msgid "The available stock for {part.name} has fallen below the configured minimum level"
msgstr ""
@@ -5034,7 +5293,7 @@ msgstr ""
msgid "The BOM for %(part)s has not been validated."
msgstr ""
-#: part/templates/part/bom.html:30 part/templates/part/detail.html:269
+#: part/templates/part/bom.html:30 part/templates/part/detail.html:267
msgid "BOM actions"
msgstr ""
@@ -5070,10 +5329,6 @@ msgstr "Elimina la categoria"
msgid "Delete Category"
msgstr "Cancella categoria"
-#: part/templates/part/category.html:81 part/templates/part/category.html:94
-msgid "Category Path"
-msgstr "Percorso Categoria"
-
#: part/templates/part/category.html:95
msgid "Top level part category"
msgstr "Categoria articolo di livello superiore"
@@ -5091,12 +5346,12 @@ msgstr "Articoli (incluse le sottocategorie)"
msgid "Create new part"
msgstr "Crea nuovo articolo"
-#: part/templates/part/category.html:159 templates/js/translated/bom.js:392
+#: part/templates/part/category.html:159 templates/js/translated/bom.js:405
msgid "New Part"
msgstr "Nuovo articolo"
-#: part/templates/part/category.html:169 part/templates/part/detail.html:368
-#: part/templates/part/detail.html:399
+#: part/templates/part/category.html:169 part/templates/part/detail.html:366
+#: part/templates/part/detail.html:397
msgid "Options"
msgstr "Opzioni"
@@ -5144,7 +5399,7 @@ msgstr ""
msgid "Import Parts"
msgstr ""
-#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:379
+#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:393
msgid "Duplicate Part"
msgstr ""
@@ -5176,7 +5431,8 @@ msgstr ""
msgid "Refresh scheduling data"
msgstr ""
-#: part/templates/part/detail.html:45 templates/js/translated/tables.js:524
+#: part/templates/part/detail.html:45 part/templates/part/prices.html:15
+#: templates/js/translated/tables.js:524
msgid "Refresh"
msgstr "Aggiorna"
@@ -5192,123 +5448,103 @@ msgstr ""
msgid "Sales Order Allocations"
msgstr "Assegnazione Ordine Di Vendita"
-#: part/templates/part/detail.html:143
+#: part/templates/part/detail.html:141
msgid "Part Notes"
msgstr ""
-#: part/templates/part/detail.html:158
+#: part/templates/part/detail.html:156
msgid "Part Variants"
msgstr ""
-#: part/templates/part/detail.html:162
+#: part/templates/part/detail.html:160
msgid "Create new variant"
msgstr ""
-#: part/templates/part/detail.html:163
+#: part/templates/part/detail.html:161
msgid "New Variant"
msgstr ""
-#: part/templates/part/detail.html:190
+#: part/templates/part/detail.html:188
msgid "Add new parameter"
msgstr ""
-#: part/templates/part/detail.html:227 part/templates/part/part_sidebar.html:54
+#: part/templates/part/detail.html:225 part/templates/part/part_sidebar.html:52
msgid "Related Parts"
msgstr "Articoli correlati"
-#: part/templates/part/detail.html:231 part/templates/part/detail.html:232
+#: part/templates/part/detail.html:229 part/templates/part/detail.html:230
msgid "Add Related"
msgstr ""
-#: part/templates/part/detail.html:252 part/templates/part/part_sidebar.html:17
+#: part/templates/part/detail.html:250 part/templates/part/part_sidebar.html:17
msgid "Bill of Materials"
msgstr "Distinta base"
-#: part/templates/part/detail.html:257
+#: part/templates/part/detail.html:255
msgid "Export actions"
msgstr ""
-#: part/templates/part/detail.html:261 templates/js/translated/bom.js:309
+#: part/templates/part/detail.html:259 templates/js/translated/bom.js:309
msgid "Export BOM"
msgstr ""
-#: part/templates/part/detail.html:263
+#: part/templates/part/detail.html:261
msgid "Print BOM Report"
msgstr ""
-#: part/templates/part/detail.html:273
+#: part/templates/part/detail.html:271
msgid "Upload BOM"
msgstr ""
-#: part/templates/part/detail.html:274 templates/js/translated/part.js:274
+#: part/templates/part/detail.html:272 templates/js/translated/part.js:270
msgid "Copy BOM"
msgstr ""
-#: part/templates/part/detail.html:275
+#: part/templates/part/detail.html:273
msgid "Validate BOM"
msgstr ""
-#: part/templates/part/detail.html:280 part/templates/part/detail.html:281
-#: templates/js/translated/bom.js:1202 templates/js/translated/bom.js:1203
+#: part/templates/part/detail.html:278 part/templates/part/detail.html:279
+#: templates/js/translated/bom.js:1267 templates/js/translated/bom.js:1268
msgid "Add BOM Item"
msgstr ""
-#: part/templates/part/detail.html:294
+#: part/templates/part/detail.html:292
msgid "Assemblies"
msgstr ""
-#: part/templates/part/detail.html:312
+#: part/templates/part/detail.html:310
msgid "Part Builds"
msgstr ""
-#: part/templates/part/detail.html:339 stock/templates/stock/item.html:38
+#: part/templates/part/detail.html:337 stock/templates/stock/item.html:38
msgid "Build Order Allocations"
msgstr ""
-#: part/templates/part/detail.html:355
+#: part/templates/part/detail.html:353
msgid "Part Suppliers"
msgstr "Fornitori articoli"
-#: part/templates/part/detail.html:385
+#: part/templates/part/detail.html:383
msgid "Part Manufacturers"
msgstr "Componenti Produttori"
-#: part/templates/part/detail.html:401
+#: part/templates/part/detail.html:399
msgid "Delete manufacturer parts"
msgstr ""
-#: part/templates/part/detail.html:658
+#: part/templates/part/detail.html:656
msgid "Related Part"
msgstr "Articoli correlati"
-#: part/templates/part/detail.html:666
+#: part/templates/part/detail.html:664
msgid "Add Related Part"
msgstr ""
-#: part/templates/part/detail.html:758
+#: part/templates/part/detail.html:756
msgid "Add Test Result Template"
msgstr ""
-#: part/templates/part/detail.html:901
-#, python-format
-msgid "Purchase Unit Price - %(currency)s"
-msgstr ""
-
-#: part/templates/part/detail.html:913
-#, python-format
-msgid "Unit Price-Cost Difference - %(currency)s"
-msgstr ""
-
-#: part/templates/part/detail.html:925
-#, python-format
-msgid "Supplier Unit Cost - %(currency)s"
-msgstr ""
-
-#: part/templates/part/detail.html:1014
-#, python-format
-msgid "Unit Price - %(currency)s"
-msgstr ""
-
#: part/templates/part/import_wizard/ajax_match_fields.html:9
#: templates/patterns/wizard/match_fields.html:8
msgid "Missing selections for the following required columns"
@@ -5439,15 +5675,15 @@ msgid "Part is virtual (not a physical part)"
msgstr ""
#: part/templates/part/part_base.html:148
-#: templates/js/translated/company.js:659
-#: templates/js/translated/company.js:920
+#: templates/js/translated/company.js:660
+#: templates/js/translated/company.js:921
#: templates/js/translated/model_renderers.js:204
-#: templates/js/translated/part.js:652 templates/js/translated/part.js:729
+#: templates/js/translated/part.js:666 templates/js/translated/part.js:743
msgid "Inactive"
msgstr "Inattivo"
#: part/templates/part/part_base.html:165
-#: part/templates/part/part_base.html:620
+#: part/templates/part/part_base.html:635
msgid "Show Part Details"
msgstr ""
@@ -5456,12 +5692,6 @@ msgstr ""
msgid "This part is a variant of %(link)s"
msgstr ""
-#: part/templates/part/part_base.html:200
-#: templates/js/translated/company.js:1027
-#: templates/js/translated/table_filters.js:209
-msgid "In Stock"
-msgstr "In magazzino"
-
#: part/templates/part/part_base.html:221
#: stock/templates/stock/item_base.html:382
msgid "Allocated to Build Orders"
@@ -5472,100 +5702,91 @@ msgstr ""
msgid "Allocated to Sales Orders"
msgstr ""
-#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1100
+#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1165
msgid "Can Build"
msgstr ""
-#: part/templates/part/part_base.html:244 templates/js/translated/part.js:591
-#: templates/js/translated/part.js:611 templates/js/translated/part.js:1342
-#: templates/js/translated/part.js:1533
-msgid "Building"
-msgstr ""
-
#: part/templates/part/part_base.html:293
msgid "Minimum stock level"
msgstr ""
-#: part/templates/part/part_base.html:330
+#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1032
+#: templates/js/translated/part.js:783 templates/js/translated/part.js:1582
+#: templates/js/translated/pricing.js:124
+#: templates/js/translated/pricing.js:757
+msgid "Price Range"
+msgstr ""
+
+#: part/templates/part/part_base.html:345
msgid "Latest Serial Number"
msgstr ""
-#: part/templates/part/part_base.html:334
+#: part/templates/part/part_base.html:349
#: stock/templates/stock/item_base.html:331
msgid "Search for serial number"
msgstr ""
-#: part/templates/part/part_base.html:431
+#: part/templates/part/part_base.html:446
msgid "Link Barcode to Part"
msgstr ""
-#: part/templates/part/part_base.html:477 part/templates/part/prices.html:149
+#: part/templates/part/part_base.html:492
msgid "Calculate"
msgstr ""
-#: part/templates/part/part_base.html:520
+#: part/templates/part/part_base.html:535
msgid "No matching images found"
msgstr ""
-#: part/templates/part/part_base.html:614
+#: part/templates/part/part_base.html:629
msgid "Hide Part Details"
msgstr ""
-#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:24
+#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:78
+#: part/templates/part/prices.html:238 templates/js/translated/pricing.js:218
msgid "Supplier Pricing"
msgstr ""
#: part/templates/part/part_pricing.html:26
#: part/templates/part/part_pricing.html:52
-#: part/templates/part/part_pricing.html:103
-#: part/templates/part/part_pricing.html:118 part/templates/part/prices.html:28
-#: part/templates/part/prices.html:55 part/templates/part/prices.html:108
-#: part/templates/part/prices.html:125
+#: part/templates/part/part_pricing.html:95
+#: part/templates/part/part_pricing.html:110
msgid "Unit Cost"
msgstr ""
#: part/templates/part/part_pricing.html:32
#: part/templates/part/part_pricing.html:58
-#: part/templates/part/part_pricing.html:107
-#: part/templates/part/part_pricing.html:122 part/templates/part/prices.html:35
-#: part/templates/part/prices.html:62 part/templates/part/prices.html:113
-#: part/templates/part/prices.html:130
+#: part/templates/part/part_pricing.html:99
+#: part/templates/part/part_pricing.html:114
msgid "Total Cost"
msgstr "Costo Totale"
-#: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:43
-#: templates/js/translated/bom.js:1091
+#: part/templates/part/part_pricing.html:40
msgid "No supplier pricing available"
msgstr ""
-#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:52
-#: part/templates/part/prices.html:248
+#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:94
+#: part/templates/part/prices.html:262
msgid "BOM Pricing"
msgstr ""
-#: part/templates/part/part_pricing.html:66 part/templates/part/prices.html:72
+#: part/templates/part/part_pricing.html:66
msgid "Unit Purchase Price"
msgstr ""
-#: part/templates/part/part_pricing.html:72 part/templates/part/prices.html:79
+#: part/templates/part/part_pricing.html:72
msgid "Total Purchase Price"
msgstr ""
-#: part/templates/part/part_pricing.html:82 part/templates/part/prices.html:89
-msgid "Note: BOM pricing is incomplete for this part"
-msgstr ""
-
-#: part/templates/part/part_pricing.html:91 part/templates/part/prices.html:98
+#: part/templates/part/part_pricing.html:83
msgid "No BOM pricing available"
msgstr ""
-#: part/templates/part/part_pricing.html:100
-#: part/templates/part/prices.html:107
+#: part/templates/part/part_pricing.html:92
msgid "Internal Price"
msgstr ""
-#: part/templates/part/part_pricing.html:131
-#: part/templates/part/prices.html:139
+#: part/templates/part/part_pricing.html:123
msgid "No pricing information is available for this part."
msgstr ""
@@ -5573,7 +5794,8 @@ msgstr ""
#: report/templates/report/inventree_test_report_base.html:97
#: templates/InvenTree/settings/plugin.html:63
#: templates/InvenTree/settings/plugin_settings.html:38
-#: templates/js/translated/order.js:2001 templates/js/translated/stock.js:2478
+#: templates/js/translated/order.js:2035 templates/js/translated/pricing.js:537
+#: templates/js/translated/pricing.js:658 templates/js/translated/stock.js:2496
msgid "Date"
msgstr "Data"
@@ -5585,15 +5807,11 @@ msgstr ""
msgid "Variants"
msgstr ""
-#: part/templates/part/part_sidebar.html:27
-msgid "Used In"
-msgstr ""
-
-#: part/templates/part/part_sidebar.html:46
+#: part/templates/part/part_sidebar.html:44
msgid "Scheduling"
msgstr ""
-#: part/templates/part/part_sidebar.html:50
+#: part/templates/part/part_sidebar.html:48
msgid "Test Templates"
msgstr ""
@@ -5601,74 +5819,82 @@ msgstr ""
msgid "Select from existing images"
msgstr ""
-#: part/templates/part/prices.html:19
-msgid "Pricing ranges"
+#: part/templates/part/prices.html:11
+msgid "Pricing Overview"
msgstr ""
-#: part/templates/part/prices.html:25
-msgid "Show supplier cost"
+#: part/templates/part/prices.html:14
+msgid "Refresh Part Pricing"
msgstr ""
-#: part/templates/part/prices.html:26
-msgid "Show purchase price"
+#: part/templates/part/prices.html:25 stock/admin.py:106
+#: stock/templates/stock/item_base.html:440
+#: templates/js/translated/company.js:1039
+#: templates/js/translated/stock.js:1920
+msgid "Last Updated"
+msgstr "Ultimo aggiornamento"
+
+#: part/templates/part/prices.html:34 part/templates/part/prices.html:126
+msgid "Price Category"
msgstr ""
-#: part/templates/part/prices.html:53
-msgid "Show BOM cost"
+#: part/templates/part/prices.html:35 part/templates/part/prices.html:127
+msgid "Minimum"
msgstr ""
-#: part/templates/part/prices.html:122
-msgid "Show sale cost"
+#: part/templates/part/prices.html:36 part/templates/part/prices.html:128
+msgid "Maximum"
msgstr ""
-#: part/templates/part/prices.html:123
-msgid "Show sale price"
+#: part/templates/part/prices.html:49 part/templates/part/prices.html:185
+msgid "Internal Pricing"
msgstr ""
-#: part/templates/part/prices.html:145
-msgid "Calculation parameters"
+#: part/templates/part/prices.html:64 part/templates/part/prices.html:217
+msgid "Purchase History"
msgstr ""
-#: part/templates/part/prices.html:160 templates/js/translated/bom.js:1085
-msgid "Supplier Cost"
+#: part/templates/part/prices.html:103 part/templates/part/prices.html:286
+msgid "Variant Pricing"
msgstr ""
-#: part/templates/part/prices.html:161 part/templates/part/prices.html:182
-#: part/templates/part/prices.html:206 part/templates/part/prices.html:236
-#: part/templates/part/prices.html:262 part/templates/part/prices.html:291
+#: part/templates/part/prices.html:111
+msgid "Overall Pricing"
+msgstr ""
+
+#: part/templates/part/prices.html:155 part/templates/part/prices.html:338
+msgid "Sale History"
+msgstr ""
+
+#: part/templates/part/prices.html:168
+msgid "Sale price data is not available for this part"
+msgstr ""
+
+#: part/templates/part/prices.html:175
+msgid "Price range data is not available for this part."
+msgstr ""
+
+#: part/templates/part/prices.html:186 part/templates/part/prices.html:218
+#: part/templates/part/prices.html:239 part/templates/part/prices.html:263
+#: part/templates/part/prices.html:287 part/templates/part/prices.html:310
+#: part/templates/part/prices.html:339
msgid "Jump to overview"
msgstr ""
-#: part/templates/part/prices.html:186
-msgid "Stock Pricing"
-msgstr ""
-
-#: part/templates/part/prices.html:195
-msgid "No stock pricing history is available for this part."
-msgstr ""
-
-#: part/templates/part/prices.html:205
-msgid "Internal Cost"
-msgstr ""
-
-#: part/templates/part/prices.html:220
+#: part/templates/part/prices.html:191
msgid "Add Internal Price Break"
msgstr ""
-#: part/templates/part/prices.html:235
-msgid "BOM Cost"
+#: part/templates/part/prices.html:309
+msgid "Sale Pricing"
msgstr ""
-#: part/templates/part/prices.html:261
-msgid "Sale Cost"
+#: part/templates/part/prices.html:315
+msgid "Add Sell Price Break"
msgstr ""
-#: part/templates/part/prices.html:302
-msgid "No sale pice history available for this part."
-msgstr ""
-
-#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:614
-#: templates/js/translated/part.js:1330 templates/js/translated/part.js:1332
+#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:628
+#: templates/js/translated/part.js:1351 templates/js/translated/part.js:1353
msgid "No Stock"
msgstr "Nessuna giacenza"
@@ -5722,40 +5948,36 @@ msgstr ""
msgid "Create a new variant of template '%(full_name)s'."
msgstr ""
-#: part/templatetags/inventree_extras.py:177
+#: part/templatetags/inventree_extras.py:210
msgid "Unknown database"
msgstr "Database sconosciuto"
-#: part/templatetags/inventree_extras.py:229
+#: part/templatetags/inventree_extras.py:262
#, python-brace-format
msgid "{title} v{version}"
msgstr ""
-#: part/views.py:114
+#: part/views.py:109
msgid "Match References"
msgstr ""
-#: part/views.py:415
-msgid "None"
-msgstr ""
-
-#: part/views.py:477
+#: part/views.py:354
msgid "Part QR Code"
msgstr ""
-#: part/views.py:495
+#: part/views.py:372
msgid "Select Part Image"
msgstr ""
-#: part/views.py:521
+#: part/views.py:398
msgid "Updated part image"
msgstr ""
-#: part/views.py:524
+#: part/views.py:401
msgid "Part image not found"
msgstr ""
-#: part/views.py:613
+#: part/views.py:493
msgid "Part Pricing"
msgstr ""
@@ -6070,12 +6292,12 @@ msgid "Stock Item Test Report"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:79
-#: stock/models.py:650 stock/templates/stock/item_base.html:320
+#: stock/models.py:666 stock/templates/stock/item_base.html:320
#: templates/js/translated/build.js:472 templates/js/translated/build.js:624
#: templates/js/translated/build.js:1234 templates/js/translated/build.js:1735
#: templates/js/translated/model_renderers.js:118
-#: templates/js/translated/order.js:121 templates/js/translated/order.js:3592
-#: templates/js/translated/order.js:3679 templates/js/translated/stock.js:490
+#: templates/js/translated/order.js:121 templates/js/translated/order.js:3603
+#: templates/js/translated/order.js:3690 templates/js/translated/stock.js:509
msgid "Serial Number"
msgstr ""
@@ -6084,12 +6306,12 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:93
-#: stock/models.py:2085
+#: stock/models.py:2101
msgid "Test"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:94
-#: stock/models.py:2091
+#: stock/models.py:2107
msgid "Result"
msgstr ""
@@ -6107,383 +6329,435 @@ msgid "Installed Items"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:137
-#: templates/js/translated/stock.js:610 templates/js/translated/stock.js:780
-#: templates/js/translated/stock.js:2727
+#: stock/admin.py:87 templates/js/translated/stock.js:629
+#: templates/js/translated/stock.js:799 templates/js/translated/stock.js:2745
msgid "Serial"
msgstr "Seriale"
-#: stock/api.py:529
+#: stock/admin.py:23 stock/admin.py:90
+#: templates/js/translated/model_renderers.js:159
+msgid "Location ID"
+msgstr "ID Posizione"
+
+#: stock/admin.py:24 stock/admin.py:91
+msgid "Location Name"
+msgstr ""
+
+#: stock/admin.py:28 stock/templates/stock/location.html:123
+#: stock/templates/stock/location.html:129
+msgid "Location Path"
+msgstr ""
+
+#: stock/admin.py:83
+msgid "Stock Item ID"
+msgstr ""
+
+#: stock/admin.py:92 templates/js/translated/model_renderers.js:418
+msgid "Supplier Part ID"
+msgstr ""
+
+#: stock/admin.py:93
+msgid "Supplier ID"
+msgstr ""
+
+#: stock/admin.py:94
+msgid "Supplier Name"
+msgstr ""
+
+#: stock/admin.py:95
+msgid "Customer ID"
+msgstr ""
+
+#: stock/admin.py:96 stock/models.py:649
+#: stock/templates/stock/item_base.html:359
+msgid "Installed In"
+msgstr "Installato In"
+
+#: stock/admin.py:97 templates/js/translated/model_renderers.js:177
+msgid "Build ID"
+msgstr ""
+
+#: stock/admin.py:99
+msgid "Sales Order ID"
+msgstr ""
+
+#: stock/admin.py:100
+msgid "Purchase Order ID"
+msgstr ""
+
+#: stock/admin.py:107 templates/js/translated/stock.js:1890
+msgid "Stocktake"
+msgstr "Inventario"
+
+#: stock/admin.py:108 stock/models.py:724
+#: stock/templates/stock/item_base.html:427
+#: templates/js/translated/stock.js:1904
+msgid "Expiry Date"
+msgstr "Data di Scadenza"
+
+#: stock/api.py:539
msgid "Quantity is required"
msgstr "La quantità è richiesta"
-#: stock/api.py:536
+#: stock/api.py:546
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:561
+#: stock/api.py:571
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/models.py:90 stock/models.py:746
+#: stock/models.py:106 stock/models.py:762
#: stock/templates/stock/item_base.html:250
msgid "Owner"
msgstr ""
-#: stock/models.py:91 stock/models.py:747
+#: stock/models.py:107 stock/models.py:763
msgid "Select Owner"
msgstr "Seleziona Owner"
-#: stock/models.py:508 stock/serializers.py:93
+#: stock/models.py:524 stock/serializers.py:97
msgid "Stock item cannot be created for virtual parts"
msgstr ""
-#: stock/models.py:525
+#: stock/models.py:541
#, python-brace-format
msgid "Part type ('{pf}') must be {pe}"
msgstr ""
-#: stock/models.py:535 stock/models.py:544
+#: stock/models.py:551 stock/models.py:560
msgid "Quantity must be 1 for item with a serial number"
msgstr ""
-#: stock/models.py:536
+#: stock/models.py:552
msgid "Serial number cannot be set if quantity greater than 1"
msgstr ""
-#: stock/models.py:558
+#: stock/models.py:574
msgid "Item cannot belong to itself"
msgstr ""
-#: stock/models.py:564
+#: stock/models.py:580
msgid "Item must have a build reference if is_building=True"
msgstr ""
-#: stock/models.py:578
+#: stock/models.py:594
msgid "Build reference does not point to the same part object"
msgstr ""
-#: stock/models.py:592
+#: stock/models.py:608
msgid "Parent Stock Item"
msgstr ""
-#: stock/models.py:602
+#: stock/models.py:618
msgid "Base part"
msgstr "Articolo base"
-#: stock/models.py:610
+#: stock/models.py:626
msgid "Select a matching supplier part for this stock item"
msgstr ""
-#: stock/models.py:617 stock/templates/stock/location.html:17
+#: stock/models.py:633 stock/templates/stock/location.html:17
#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
msgstr "Ubicazione magazzino"
-#: stock/models.py:620
+#: stock/models.py:636
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:627
+#: stock/models.py:643
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:633 stock/templates/stock/item_base.html:359
-msgid "Installed In"
-msgstr "Installato In"
-
-#: stock/models.py:636
+#: stock/models.py:652
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:652
+#: stock/models.py:668
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:666
+#: stock/models.py:682
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:671
+#: stock/models.py:687
msgid "Stock Quantity"
msgstr "Quantità disponibile"
-#: stock/models.py:680
+#: stock/models.py:696
msgid "Source Build"
msgstr ""
-#: stock/models.py:682
+#: stock/models.py:698
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:693
+#: stock/models.py:709
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:696
+#: stock/models.py:712
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:702
+#: stock/models.py:718
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:708 stock/templates/stock/item_base.html:427
-#: templates/js/translated/stock.js:1885
-msgid "Expiry Date"
-msgstr "Data di Scadenza"
-
-#: stock/models.py:709
+#: stock/models.py:725
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:722
+#: stock/models.py:738
msgid "Delete on deplete"
msgstr "Elimina al esaurimento"
-#: stock/models.py:722
+#: stock/models.py:738
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:734 stock/templates/stock/item.html:132
+#: stock/models.py:750 stock/templates/stock/item.html:132
msgid "Stock Item Notes"
msgstr ""
-#: stock/models.py:742
+#: stock/models.py:758
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:770
+#: stock/models.py:786
msgid "Converted to part"
msgstr ""
-#: stock/models.py:1244
+#: stock/models.py:1260
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1250
+#: stock/models.py:1266
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1256
+#: stock/models.py:1272
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr ""
-#: stock/models.py:1259
+#: stock/models.py:1275
msgid "Serial numbers must be a list of integers"
msgstr ""
-#: stock/models.py:1262
+#: stock/models.py:1278
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1269
+#: stock/models.py:1285
#, python-brace-format
msgid "Serial numbers already exist: {exists}"
msgstr ""
-#: stock/models.py:1339
+#: stock/models.py:1355
msgid "Stock item has been assigned to a sales order"
msgstr ""
-#: stock/models.py:1342
+#: stock/models.py:1358
msgid "Stock item is installed in another item"
msgstr ""
-#: stock/models.py:1345
+#: stock/models.py:1361
msgid "Stock item contains other items"
msgstr ""
-#: stock/models.py:1348
+#: stock/models.py:1364
msgid "Stock item has been assigned to a customer"
msgstr ""
-#: stock/models.py:1351
+#: stock/models.py:1367
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:1354
+#: stock/models.py:1370
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1361 stock/serializers.py:963
+#: stock/models.py:1377 stock/serializers.py:962
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:1365
+#: stock/models.py:1381
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:1369
+#: stock/models.py:1385
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:1373
+#: stock/models.py:1389
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:1542
+#: stock/models.py:1558
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:2003
+#: stock/models.py:2019
msgid "Entry notes"
msgstr ""
-#: stock/models.py:2061
+#: stock/models.py:2077
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:2067
+#: stock/models.py:2083
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:2086
+#: stock/models.py:2102
msgid "Test name"
msgstr ""
-#: stock/models.py:2092
+#: stock/models.py:2108
msgid "Test result"
msgstr ""
-#: stock/models.py:2098
+#: stock/models.py:2114
msgid "Test output value"
msgstr ""
-#: stock/models.py:2105
+#: stock/models.py:2121
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2111
+#: stock/models.py:2127
msgid "Test notes"
msgstr ""
-#: stock/serializers.py:71
+#: stock/serializers.py:75
msgid "Serial number is too large"
msgstr ""
-#: stock/serializers.py:172
+#: stock/serializers.py:176
msgid "Purchase price of this stock item"
msgstr ""
-#: stock/serializers.py:292
+#: stock/serializers.py:286
msgid "Enter number of stock items to serialize"
msgstr ""
-#: stock/serializers.py:304
+#: stock/serializers.py:298
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({q})"
msgstr ""
-#: stock/serializers.py:310
+#: stock/serializers.py:304
msgid "Enter serial numbers for new items"
msgstr ""
-#: stock/serializers.py:321 stock/serializers.py:920 stock/serializers.py:1153
+#: stock/serializers.py:315 stock/serializers.py:919 stock/serializers.py:1152
msgid "Destination stock location"
msgstr "Posizione magazzino di destinazione"
-#: stock/serializers.py:328
+#: stock/serializers.py:322
msgid "Optional note field"
msgstr ""
-#: stock/serializers.py:338
+#: stock/serializers.py:332
msgid "Serial numbers cannot be assigned to this part"
msgstr ""
-#: stock/serializers.py:359
+#: stock/serializers.py:353
msgid "Serial numbers already exist"
msgstr "Numeri di serie già esistenti"
-#: stock/serializers.py:399
+#: stock/serializers.py:393
msgid "Select stock item to install"
msgstr ""
-#: stock/serializers.py:412
+#: stock/serializers.py:406
msgid "Stock item is unavailable"
msgstr ""
-#: stock/serializers.py:419
+#: stock/serializers.py:413
msgid "Selected part is not in the Bill of Materials"
msgstr ""
-#: stock/serializers.py:456
+#: stock/serializers.py:450
msgid "Destination location for uninstalled item"
msgstr ""
-#: stock/serializers.py:461 stock/serializers.py:542
+#: stock/serializers.py:455 stock/serializers.py:536
msgid "Add transaction note (optional)"
msgstr ""
-#: stock/serializers.py:495
+#: stock/serializers.py:489
msgid "Select part to convert stock item into"
msgstr ""
-#: stock/serializers.py:506
+#: stock/serializers.py:500
msgid "Selected part is not a valid option for conversion"
msgstr ""
-#: stock/serializers.py:537
+#: stock/serializers.py:531
msgid "Destination location for returned item"
msgstr ""
-#: stock/serializers.py:775
+#: stock/serializers.py:774
msgid "Part must be salable"
msgstr ""
-#: stock/serializers.py:779
+#: stock/serializers.py:778
msgid "Item is allocated to a sales order"
msgstr ""
-#: stock/serializers.py:783
+#: stock/serializers.py:782
msgid "Item is allocated to a build order"
msgstr ""
-#: stock/serializers.py:814
+#: stock/serializers.py:813
msgid "Customer to assign stock items"
msgstr ""
-#: stock/serializers.py:820
+#: stock/serializers.py:819
msgid "Selected company is not a customer"
msgstr ""
-#: stock/serializers.py:828
+#: stock/serializers.py:827
msgid "Stock assignment notes"
msgstr ""
-#: stock/serializers.py:838 stock/serializers.py:1069
+#: stock/serializers.py:837 stock/serializers.py:1068
msgid "A list of stock items must be provided"
msgstr ""
-#: stock/serializers.py:927
+#: stock/serializers.py:926
msgid "Stock merging notes"
msgstr ""
-#: stock/serializers.py:932
+#: stock/serializers.py:931
msgid "Allow mismatched suppliers"
msgstr ""
-#: stock/serializers.py:933
+#: stock/serializers.py:932
msgid "Allow stock items with different supplier parts to be merged"
msgstr ""
-#: stock/serializers.py:938
+#: stock/serializers.py:937
msgid "Allow mismatched status"
msgstr ""
-#: stock/serializers.py:939
+#: stock/serializers.py:938
msgid "Allow stock items with different status codes to be merged"
msgstr ""
-#: stock/serializers.py:949
+#: stock/serializers.py:948
msgid "At least two stock items must be provided"
msgstr ""
-#: stock/serializers.py:1031
+#: stock/serializers.py:1030
msgid "StockItem primary key value"
msgstr ""
-#: stock/serializers.py:1059
+#: stock/serializers.py:1058
msgid "Stock transaction notes"
msgstr ""
@@ -6520,7 +6794,7 @@ msgstr ""
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2871
+#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2889
msgid "Install Stock Item"
msgstr ""
@@ -6528,7 +6802,7 @@ msgstr ""
msgid "Delete all test results for this stock item"
msgstr ""
-#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1522
+#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1541
msgid "Add Test Result"
msgstr ""
@@ -6687,7 +6961,7 @@ msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:431
-#: templates/js/translated/table_filters.js:277
+#: templates/js/translated/table_filters.js:281
msgid "Expired"
msgstr ""
@@ -6697,16 +6971,10 @@ msgid "This StockItem expires on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/table_filters.js:283
+#: templates/js/translated/table_filters.js:287
msgid "Stale"
msgstr ""
-#: stock/templates/stock/item_base.html:440
-#: templates/js/translated/company.js:1038
-#: templates/js/translated/stock.js:1901
-msgid "Last Updated"
-msgstr "Ultimo aggiornamento"
-
#: stock/templates/stock/item_base.html:445
msgid "Last Stocktake"
msgstr "Ultimo Inventario"
@@ -6783,11 +7051,6 @@ msgstr "Modifica la posizione"
msgid "Delete location"
msgstr "Elimina la posizione"
-#: stock/templates/stock/location.html:123
-#: stock/templates/stock/location.html:129
-msgid "Location Path"
-msgstr ""
-
#: stock/templates/stock/location.html:130
msgid "Top level stock location"
msgstr "Posizione stock di livello superiore"
@@ -6960,6 +7223,14 @@ msgstr ""
msgid "Overdue Sales Orders"
msgstr ""
+#: templates/InvenTree/index.html:312
+msgid "InvenTree News"
+msgstr ""
+
+#: templates/InvenTree/index.html:314
+msgid "Current News"
+msgstr ""
+
#: templates/InvenTree/notifications/history.html:9
msgid "Notification History"
msgstr ""
@@ -7026,30 +7297,6 @@ msgstr ""
msgid "Category Settings"
msgstr "Impostazioni categoria"
-#: templates/InvenTree/settings/currencies.html:8
-msgid "Currency Settings"
-msgstr ""
-
-#: templates/InvenTree/settings/currencies.html:19
-msgid "Base Currency"
-msgstr "Vauta di base"
-
-#: templates/InvenTree/settings/currencies.html:24
-msgid "Exchange Rates"
-msgstr ""
-
-#: templates/InvenTree/settings/currencies.html:38
-msgid "Last Update"
-msgstr ""
-
-#: templates/InvenTree/settings/currencies.html:44
-msgid "Never"
-msgstr "Mai"
-
-#: templates/InvenTree/settings/currencies.html:49
-msgid "Update Now"
-msgstr "Aggiorna Ora"
-
#: templates/InvenTree/settings/global.html:9
msgid "Server Settings"
msgstr "Impostazioni Server"
@@ -7090,15 +7337,15 @@ msgstr ""
msgid "Part Settings"
msgstr "Impostazioni articolo"
-#: templates/InvenTree/settings/part.html:46
+#: templates/InvenTree/settings/part.html:40
msgid "Part Import"
msgstr ""
-#: templates/InvenTree/settings/part.html:50
+#: templates/InvenTree/settings/part.html:44
msgid "Import Part"
msgstr ""
-#: templates/InvenTree/settings/part.html:64
+#: templates/InvenTree/settings/part.html:58
msgid "Part Parameter Templates"
msgstr ""
@@ -7125,11 +7372,6 @@ msgstr ""
msgid "External plugins are not enabled for this InvenTree installation"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:62
-#: templates/InvenTree/settings/plugin_settings.html:33
-msgid "Author"
-msgstr ""
-
#: templates/InvenTree/settings/plugin.html:64
#: templates/InvenTree/settings/plugin_settings.html:43
msgid "Version"
@@ -7239,6 +7481,39 @@ msgstr ""
msgid "Purchase Order Settings"
msgstr ""
+#: templates/InvenTree/settings/pricing.html:7
+msgid "Pricing Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:24
+msgid "Currency Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:30
+msgid "Update Now"
+msgstr "Aggiorna Ora"
+
+#: templates/InvenTree/settings/pricing.html:39
+#: templates/InvenTree/settings/pricing.html:43
+msgid "Last Update"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:43
+msgid "Never"
+msgstr "Mai"
+
+#: templates/InvenTree/settings/pricing.html:53
+msgid "Base Currency"
+msgstr "Vauta di base"
+
+#: templates/InvenTree/settings/pricing.html:58
+msgid "Exchange Rates"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:60
+msgid "Rate"
+msgstr ""
+
#: templates/InvenTree/settings/report.html:8
#: templates/InvenTree/settings/user_reports.html:9
msgid "Report Settings"
@@ -7295,6 +7570,7 @@ msgid "No part parameter templates found"
msgstr ""
#: templates/InvenTree/settings/settings.html:338
+#: templates/js/translated/news.js:28
#: templates/js/translated/notification.js:36
msgid "ID"
msgstr ""
@@ -7357,10 +7633,6 @@ msgstr ""
msgid "Server Configuration"
msgstr ""
-#: templates/InvenTree/settings/sidebar.html:35
-msgid "Currencies"
-msgstr ""
-
#: templates/InvenTree/settings/sidebar.html:43
msgid "Categories"
msgstr ""
@@ -7380,7 +7652,7 @@ msgid "Change Password"
msgstr "Modifica Password"
#: templates/InvenTree/settings/user.html:23
-#: templates/js/translated/helpers.js:31 templates/notes_buttons.html:3
+#: templates/js/translated/helpers.js:33 templates/notes_buttons.html:3
#: templates/notes_buttons.html:4
msgid "Edit"
msgstr "Modifica"
@@ -7890,7 +8162,7 @@ msgid "The following parts are low on required stock"
msgstr ""
#: templates/email/build_order_required_stock.html:18
-#: templates/js/translated/bom.js:1566
+#: templates/js/translated/bom.js:1629
msgid "Required Quantity"
msgstr "Quantità richiesta"
@@ -7904,7 +8176,7 @@ msgid "Click on the following link to view this part"
msgstr ""
#: templates/email/low_stock_notification.html:19
-#: templates/js/translated/part.js:2566
+#: templates/js/translated/part.js:2423
msgid "Minimum Quantity"
msgstr "Quantità minima"
@@ -8057,7 +8329,7 @@ msgstr ""
msgid "Unlink"
msgstr ""
-#: templates/js/translated/barcode.js:500 templates/js/translated/stock.js:1054
+#: templates/js/translated/barcode.js:500 templates/js/translated/stock.js:1073
msgid "Remove stock item"
msgstr ""
@@ -8127,10 +8399,10 @@ msgstr ""
msgid "Row Data"
msgstr ""
-#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:646
+#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:659
#: templates/js/translated/modals.js:56 templates/js/translated/modals.js:601
#: templates/js/translated/modals.js:695 templates/js/translated/modals.js:1003
-#: templates/js/translated/order.js:1179 templates/modals.html:15
+#: templates/js/translated/order.js:1213 templates/modals.html:15
#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50
msgid "Close"
msgstr "Chiudi"
@@ -8140,12 +8412,12 @@ msgid "Download BOM Template"
msgstr ""
#: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312
-#: templates/js/translated/order.js:960 templates/js/translated/tables.js:145
+#: templates/js/translated/order.js:994 templates/js/translated/tables.js:145
msgid "Format"
msgstr "Formato"
#: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313
-#: templates/js/translated/order.js:961
+#: templates/js/translated/order.js:995
msgid "Select file format"
msgstr ""
@@ -8197,118 +8469,130 @@ msgstr ""
msgid "Include part supplier data in exported BOM"
msgstr ""
-#: templates/js/translated/bom.js:537
+#: templates/js/translated/bom.js:358
+msgid "Include Pricing Data"
+msgstr ""
+
+#: templates/js/translated/bom.js:359
+msgid "Include part pricing data in exported BOM"
+msgstr ""
+
+#: templates/js/translated/bom.js:550
msgid "Remove substitute part"
msgstr ""
-#: templates/js/translated/bom.js:591
+#: templates/js/translated/bom.js:604
msgid "Select and add a new substitute part using the input below"
msgstr ""
-#: templates/js/translated/bom.js:602
+#: templates/js/translated/bom.js:615
msgid "Are you sure you wish to remove this substitute part link?"
msgstr ""
-#: templates/js/translated/bom.js:608
+#: templates/js/translated/bom.js:621
msgid "Remove Substitute Part"
msgstr ""
-#: templates/js/translated/bom.js:647
+#: templates/js/translated/bom.js:660
msgid "Add Substitute"
msgstr ""
-#: templates/js/translated/bom.js:648
+#: templates/js/translated/bom.js:661
msgid "Edit BOM Item Substitutes"
msgstr ""
-#: templates/js/translated/bom.js:710
+#: templates/js/translated/bom.js:723
msgid "All selected BOM items will be deleted"
msgstr ""
-#: templates/js/translated/bom.js:726
+#: templates/js/translated/bom.js:739
msgid "Delete selected BOM items?"
msgstr ""
-#: templates/js/translated/bom.js:860
+#: templates/js/translated/bom.js:868
msgid "Load BOM for subassembly"
msgstr ""
-#: templates/js/translated/bom.js:870
+#: templates/js/translated/bom.js:878
msgid "Substitutes Available"
msgstr ""
-#: templates/js/translated/bom.js:874 templates/js/translated/build.js:1835
+#: templates/js/translated/bom.js:882 templates/js/translated/build.js:1835
msgid "Variant stock allowed"
msgstr ""
-#: templates/js/translated/bom.js:983 templates/js/translated/build.js:1907
-#: templates/js/translated/order.js:3927
-msgid "No Stock Available"
-msgstr ""
-
-#: templates/js/translated/bom.js:988 templates/js/translated/build.js:1911
-msgid "Includes variant and substitute stock"
-msgstr ""
-
-#: templates/js/translated/bom.js:990 templates/js/translated/build.js:1913
-#: templates/js/translated/part.js:761 templates/js/translated/part.js:1539
-msgid "Includes variant stock"
-msgstr ""
-
-#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1915
-msgid "Includes substitute stock"
-msgstr ""
-
-#: templates/js/translated/bom.js:1010
+#: templates/js/translated/bom.js:972
msgid "Substitutes"
msgstr ""
-#: templates/js/translated/bom.js:1061 templates/js/translated/bom.js:1195
+#: templates/js/translated/bom.js:1023 templates/js/translated/bom.js:1260
msgid "View BOM"
msgstr ""
-#: templates/js/translated/bom.js:1071
-msgid "Purchase Price Range"
+#: templates/js/translated/bom.js:1094
+msgid "BOM pricing is complete"
msgstr ""
-#: templates/js/translated/bom.js:1078
-msgid "Purchase Price Average"
+#: templates/js/translated/bom.js:1099
+msgid "BOM pricing is incomplete"
msgstr ""
-#: templates/js/translated/bom.js:1106 templates/js/translated/build.js:1898
+#: templates/js/translated/bom.js:1106
+msgid "No pricing available"
+msgstr ""
+
+#: templates/js/translated/bom.js:1137 templates/js/translated/build.js:1907
+#: templates/js/translated/order.js:3924
+msgid "No Stock Available"
+msgstr ""
+
+#: templates/js/translated/bom.js:1142 templates/js/translated/build.js:1911
+msgid "Includes variant and substitute stock"
+msgstr ""
+
+#: templates/js/translated/bom.js:1144 templates/js/translated/build.js:1913
+#: templates/js/translated/part.js:775 templates/js/translated/part.js:1550
+msgid "Includes variant stock"
+msgstr ""
+
+#: templates/js/translated/bom.js:1146 templates/js/translated/build.js:1915
+msgid "Includes substitute stock"
+msgstr ""
+
+#: templates/js/translated/bom.js:1171 templates/js/translated/build.js:1898
#: templates/js/translated/build.js:1985
msgid "Consumable item"
msgstr ""
-#: templates/js/translated/bom.js:1166
+#: templates/js/translated/bom.js:1231
msgid "Validate BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1168
+#: templates/js/translated/bom.js:1233
msgid "This line has been validated"
msgstr ""
-#: templates/js/translated/bom.js:1170
+#: templates/js/translated/bom.js:1235
msgid "Edit substitute parts"
msgstr ""
-#: templates/js/translated/bom.js:1172 templates/js/translated/bom.js:1369
+#: templates/js/translated/bom.js:1237 templates/js/translated/bom.js:1433
msgid "Edit BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1174
+#: templates/js/translated/bom.js:1239
msgid "Delete BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1280 templates/js/translated/build.js:1679
+#: templates/js/translated/bom.js:1344 templates/js/translated/build.js:1679
msgid "No BOM items found"
msgstr ""
-#: templates/js/translated/bom.js:1549 templates/js/translated/build.js:1818
+#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1818
msgid "Required Part"
msgstr ""
-#: templates/js/translated/bom.js:1575
+#: templates/js/translated/bom.js:1638
msgid "Inherited from parent BOM"
msgstr ""
@@ -8353,12 +8637,12 @@ msgid "Complete Build Order"
msgstr ""
#: templates/js/translated/build.js:311 templates/js/translated/stock.js:92
-#: templates/js/translated/stock.js:214
+#: templates/js/translated/stock.js:233
msgid "Next available serial number"
msgstr ""
#: templates/js/translated/build.js:313 templates/js/translated/stock.js:94
-#: templates/js/translated/stock.js:216
+#: templates/js/translated/stock.js:235
msgid "Latest serial number"
msgstr ""
@@ -8455,12 +8739,12 @@ msgid "No required tests for this build"
msgstr ""
#: templates/js/translated/build.js:1775 templates/js/translated/build.js:2765
-#: templates/js/translated/order.js:3627
+#: templates/js/translated/order.js:3638
msgid "Edit stock allocation"
msgstr "Modifica allocazione magazzino"
#: templates/js/translated/build.js:1777 templates/js/translated/build.js:2766
-#: templates/js/translated/order.js:3628
+#: templates/js/translated/order.js:3639
msgid "Delete stock allocation"
msgstr "Elimina posizione giacenza"
@@ -8480,20 +8764,15 @@ msgstr ""
msgid "Quantity Per"
msgstr ""
-#: templates/js/translated/build.js:1901 templates/js/translated/order.js:3934
+#: templates/js/translated/build.js:1901 templates/js/translated/order.js:3931
msgid "Insufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3932
+#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3929
msgid "Sufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1937 templates/js/translated/build.js:2195
-#: templates/js/translated/build.js:2761 templates/js/translated/order.js:3946
-msgid "Allocated"
-msgstr ""
-
-#: templates/js/translated/build.js:1993 templates/js/translated/order.js:4026
+#: templates/js/translated/build.js:1993 templates/js/translated/order.js:4023
msgid "Build stock"
msgstr ""
@@ -8501,21 +8780,21 @@ msgstr ""
msgid "Order stock"
msgstr ""
-#: templates/js/translated/build.js:2000 templates/js/translated/order.js:4019
+#: templates/js/translated/build.js:2000 templates/js/translated/order.js:4016
msgid "Allocate stock"
msgstr ""
#: templates/js/translated/build.js:2039 templates/js/translated/label.js:172
-#: templates/js/translated/order.js:1007 templates/js/translated/order.js:3154
+#: templates/js/translated/order.js:1041 templates/js/translated/order.js:3165
#: templates/js/translated/report.js:225
msgid "Select Parts"
msgstr "Seleziona Articoli"
-#: templates/js/translated/build.js:2040 templates/js/translated/order.js:3155
+#: templates/js/translated/build.js:2040 templates/js/translated/order.js:3166
msgid "You must select at least one part to allocate"
msgstr ""
-#: templates/js/translated/build.js:2089 templates/js/translated/order.js:3103
+#: templates/js/translated/build.js:2089 templates/js/translated/order.js:3114
msgid "Specify stock allocation quantity"
msgstr "Specificare il quantitativo assegnato allo stock"
@@ -8527,7 +8806,7 @@ msgstr ""
msgid "All selected parts have been fully allocated"
msgstr ""
-#: templates/js/translated/build.js:2183 templates/js/translated/order.js:3169
+#: templates/js/translated/build.js:2183 templates/js/translated/order.js:3180
msgid "Select source location (leave blank to take from all locations)"
msgstr "Seleziona la posizione di origine (lascia vuoto per prendere da tutte le posizioni)"
@@ -8535,11 +8814,11 @@ msgstr "Seleziona la posizione di origine (lascia vuoto per prendere da tutte le
msgid "Allocate Stock Items to Build Order"
msgstr ""
-#: templates/js/translated/build.js:2222 templates/js/translated/order.js:3266
+#: templates/js/translated/build.js:2222 templates/js/translated/order.js:3277
msgid "No matching stock locations"
msgstr "Nessuna posizione di magazzino corrispondente"
-#: templates/js/translated/build.js:2294 templates/js/translated/order.js:3343
+#: templates/js/translated/build.js:2294 templates/js/translated/order.js:3354
msgid "No matching stock items"
msgstr ""
@@ -8571,9 +8850,9 @@ msgstr ""
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:2558 templates/js/translated/part.js:1423
-#: templates/js/translated/part.js:1957 templates/js/translated/stock.js:1686
-#: templates/js/translated/stock.js:2390
+#: templates/js/translated/build.js:2558 templates/js/translated/part.js:1444
+#: templates/js/translated/part.js:1981 templates/js/translated/stock.js:1705
+#: templates/js/translated/stock.js:2408
msgid "Select"
msgstr ""
@@ -8585,7 +8864,7 @@ msgstr ""
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2636 templates/js/translated/stock.js:2657
+#: templates/js/translated/build.js:2636 templates/js/translated/stock.js:2675
msgid "No user information"
msgstr ""
@@ -8593,118 +8872,144 @@ msgstr ""
msgid "No parts allocated for"
msgstr ""
-#: templates/js/translated/company.js:66
+#: templates/js/translated/company.js:67
msgid "Add Manufacturer"
msgstr ""
-#: templates/js/translated/company.js:79 templates/js/translated/company.js:181
+#: templates/js/translated/company.js:80 templates/js/translated/company.js:182
msgid "Add Manufacturer Part"
msgstr ""
-#: templates/js/translated/company.js:100
+#: templates/js/translated/company.js:101
msgid "Edit Manufacturer Part"
msgstr ""
-#: templates/js/translated/company.js:169 templates/js/translated/order.js:576
+#: templates/js/translated/company.js:170 templates/js/translated/order.js:576
msgid "Add Supplier"
msgstr "Aggiungi fornitore"
-#: templates/js/translated/company.js:197 templates/js/translated/order.js:828
+#: templates/js/translated/company.js:198 templates/js/translated/order.js:862
msgid "Add Supplier Part"
msgstr "Aggiungi fornitore articolo"
-#: templates/js/translated/company.js:297
+#: templates/js/translated/company.js:298
msgid "All selected supplier parts will be deleted"
msgstr "Tutte gli articoli del fornitore selezionati saranno eliminati"
-#: templates/js/translated/company.js:313
+#: templates/js/translated/company.js:314
msgid "Delete Supplier Parts"
msgstr ""
-#: templates/js/translated/company.js:385
+#: templates/js/translated/company.js:386
msgid "Add new Company"
msgstr ""
-#: templates/js/translated/company.js:462
+#: templates/js/translated/company.js:463
msgid "Parts Supplied"
msgstr "Fornitori articoli"
-#: templates/js/translated/company.js:471
+#: templates/js/translated/company.js:472
msgid "Parts Manufactured"
msgstr ""
-#: templates/js/translated/company.js:486
+#: templates/js/translated/company.js:487
msgid "No company information found"
msgstr ""
-#: templates/js/translated/company.js:527
+#: templates/js/translated/company.js:528
msgid "All selected manufacturer parts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:542
+#: templates/js/translated/company.js:543
msgid "Delete Manufacturer Parts"
msgstr ""
-#: templates/js/translated/company.js:576
+#: templates/js/translated/company.js:577
msgid "All selected parameters will be deleted"
msgstr ""
-#: templates/js/translated/company.js:590
+#: templates/js/translated/company.js:591
msgid "Delete Parameters"
msgstr "Elimina Parametri"
-#: templates/js/translated/company.js:631
+#: templates/js/translated/company.js:632
msgid "No manufacturer parts found"
msgstr ""
-#: templates/js/translated/company.js:651
-#: templates/js/translated/company.js:912 templates/js/translated/part.js:636
-#: templates/js/translated/part.js:721
+#: templates/js/translated/company.js:652
+#: templates/js/translated/company.js:913 templates/js/translated/part.js:650
+#: templates/js/translated/part.js:735
msgid "Template part"
msgstr ""
-#: templates/js/translated/company.js:655
-#: templates/js/translated/company.js:916 templates/js/translated/part.js:640
-#: templates/js/translated/part.js:725
+#: templates/js/translated/company.js:656
+#: templates/js/translated/company.js:917 templates/js/translated/part.js:654
+#: templates/js/translated/part.js:739
msgid "Assembled part"
msgstr ""
-#: templates/js/translated/company.js:783 templates/js/translated/part.js:828
+#: templates/js/translated/company.js:784 templates/js/translated/part.js:855
msgid "No parameters found"
msgstr ""
-#: templates/js/translated/company.js:820 templates/js/translated/part.js:870
+#: templates/js/translated/company.js:821 templates/js/translated/part.js:897
msgid "Edit parameter"
msgstr "Modifica parametro"
-#: templates/js/translated/company.js:821 templates/js/translated/part.js:871
+#: templates/js/translated/company.js:822 templates/js/translated/part.js:898
msgid "Delete parameter"
msgstr "Elimina il parametro"
-#: templates/js/translated/company.js:840 templates/js/translated/part.js:888
+#: templates/js/translated/company.js:841 templates/js/translated/part.js:915
msgid "Edit Parameter"
msgstr "Modifica parametro"
-#: templates/js/translated/company.js:851 templates/js/translated/part.js:900
+#: templates/js/translated/company.js:852 templates/js/translated/part.js:927
msgid "Delete Parameter"
msgstr "Elimina Parametri"
-#: templates/js/translated/company.js:891
+#: templates/js/translated/company.js:892
msgid "No supplier parts found"
msgstr "Nessun fornitore trovato"
-#: templates/js/translated/company.js:1032
+#: templates/js/translated/company.js:1033
msgid "Availability"
msgstr ""
-#: templates/js/translated/company.js:1055
+#: templates/js/translated/company.js:1056
msgid "Edit supplier part"
msgstr "Modifica articolo fornitore"
-#: templates/js/translated/company.js:1056
+#: templates/js/translated/company.js:1057
msgid "Delete supplier part"
msgstr "Elimina articolo fornitore"
+#: templates/js/translated/company.js:1112
+#: templates/js/translated/pricing.js:423
+msgid "Delete Price Break"
+msgstr "Elimina riduzione di prezzo"
+
+#: templates/js/translated/company.js:1128
+#: templates/js/translated/pricing.js:437
+msgid "Edit Price Break"
+msgstr ""
+
+#: templates/js/translated/company.js:1145
+msgid "No price break information found"
+msgstr "Nessuna informazione di riduzione di prezzo trovata"
+
+#: templates/js/translated/company.js:1174
+msgid "Last updated"
+msgstr ""
+
+#: templates/js/translated/company.js:1180
+msgid "Edit price break"
+msgstr "Modifica riduzione di prezzo"
+
+#: templates/js/translated/company.js:1181
+msgid "Delete price break"
+msgstr "Cancella riduzione di prezzo"
+
#: templates/js/translated/filters.js:178
#: templates/js/translated/filters.js:441
msgid "true"
@@ -8785,27 +9090,27 @@ msgstr "Ricerca"
msgid "Clear input"
msgstr "Cancella input"
-#: templates/js/translated/forms.js:2638
+#: templates/js/translated/forms.js:2628
msgid "File Column"
msgstr ""
-#: templates/js/translated/forms.js:2638
+#: templates/js/translated/forms.js:2628
msgid "Field Name"
msgstr ""
-#: templates/js/translated/forms.js:2650
+#: templates/js/translated/forms.js:2640
msgid "Select Columns"
msgstr ""
-#: templates/js/translated/helpers.js:24
+#: templates/js/translated/helpers.js:26
msgid "YES"
msgstr "SÌ"
-#: templates/js/translated/helpers.js:26
+#: templates/js/translated/helpers.js:28
msgid "NO"
msgstr ""
-#: templates/js/translated/helpers.js:363
+#: templates/js/translated/helpers.js:434
msgid "Notes updated"
msgstr ""
@@ -8814,7 +9119,7 @@ msgid "Labels sent to printer"
msgstr ""
#: templates/js/translated/label.js:60 templates/js/translated/report.js:118
-#: templates/js/translated/stock.js:1078
+#: templates/js/translated/stock.js:1097
msgid "Select Stock Items"
msgstr ""
@@ -8934,14 +9239,6 @@ msgstr "ID azienda"
msgid "Stock ID"
msgstr "ID Giacenza"
-#: templates/js/translated/model_renderers.js:159
-msgid "Location ID"
-msgstr "ID Posizione"
-
-#: templates/js/translated/model_renderers.js:177
-msgid "Build ID"
-msgstr ""
-
#: templates/js/translated/model_renderers.js:278
#: templates/js/translated/model_renderers.js:303
msgid "Order ID"
@@ -8952,16 +9249,12 @@ msgstr "ID Ordine"
msgid "Shipment ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:338
-msgid "Category ID"
-msgstr "Id Categoria"
-
#: templates/js/translated/model_renderers.js:381
msgid "Manufacturer Part ID"
msgstr "ID articolo produttore"
-#: templates/js/translated/model_renderers.js:418
-msgid "Supplier Part ID"
+#: templates/js/translated/news.js:23
+msgid "No news found"
msgstr ""
#: templates/js/translated/notification.js:42
@@ -9104,659 +9397,688 @@ msgstr "Modifica ordine d'acquisto"
msgid "Duplication Options"
msgstr ""
-#: templates/js/translated/order.js:957
+#: templates/js/translated/order.js:991
msgid "Export Order"
msgstr ""
-#: templates/js/translated/order.js:1008
+#: templates/js/translated/order.js:1042
msgid "At least one purchaseable part must be selected"
msgstr ""
-#: templates/js/translated/order.js:1033
+#: templates/js/translated/order.js:1067
msgid "Quantity to order"
msgstr ""
-#: templates/js/translated/order.js:1042
+#: templates/js/translated/order.js:1076
msgid "New supplier part"
msgstr ""
-#: templates/js/translated/order.js:1060
+#: templates/js/translated/order.js:1094
msgid "New purchase order"
msgstr ""
-#: templates/js/translated/order.js:1093
+#: templates/js/translated/order.js:1127
msgid "Add to purchase order"
msgstr ""
-#: templates/js/translated/order.js:1233
+#: templates/js/translated/order.js:1267
msgid "No matching supplier parts"
msgstr ""
-#: templates/js/translated/order.js:1252
+#: templates/js/translated/order.js:1286
msgid "No matching purchase orders"
msgstr ""
-#: templates/js/translated/order.js:1429
+#: templates/js/translated/order.js:1463
msgid "Select Line Items"
msgstr ""
-#: templates/js/translated/order.js:1430
+#: templates/js/translated/order.js:1464
msgid "At least one line item must be selected"
msgstr ""
-#: templates/js/translated/order.js:1450 templates/js/translated/order.js:1563
+#: templates/js/translated/order.js:1484 templates/js/translated/order.js:1597
msgid "Add batch code"
msgstr ""
-#: templates/js/translated/order.js:1456 templates/js/translated/order.js:1574
+#: templates/js/translated/order.js:1490 templates/js/translated/order.js:1608
msgid "Add serial numbers"
msgstr ""
-#: templates/js/translated/order.js:1471
+#: templates/js/translated/order.js:1505
msgid "Received Quantity"
msgstr ""
-#: templates/js/translated/order.js:1482
+#: templates/js/translated/order.js:1516
msgid "Quantity to receive"
msgstr "Quantità da ricevere"
-#: templates/js/translated/order.js:1546 templates/js/translated/stock.js:2146
+#: templates/js/translated/order.js:1580 templates/js/translated/stock.js:2164
msgid "Stock Status"
msgstr "Stato giacenza"
-#: templates/js/translated/order.js:1639
+#: templates/js/translated/order.js:1673
msgid "Order Code"
msgstr "Codice ordine"
-#: templates/js/translated/order.js:1640
+#: templates/js/translated/order.js:1674
msgid "Ordered"
msgstr "Ordinato"
-#: templates/js/translated/order.js:1642
+#: templates/js/translated/order.js:1676
msgid "Quantity to Receive"
msgstr ""
-#: templates/js/translated/order.js:1661
+#: templates/js/translated/order.js:1695
msgid "Confirm receipt of items"
msgstr ""
-#: templates/js/translated/order.js:1662
+#: templates/js/translated/order.js:1696
msgid "Receive Purchase Order Items"
msgstr ""
-#: templates/js/translated/order.js:1940 templates/js/translated/part.js:941
+#: templates/js/translated/order.js:1974 templates/js/translated/part.js:968
msgid "No purchase orders found"
msgstr ""
-#: templates/js/translated/order.js:1967 templates/js/translated/order.js:2798
+#: templates/js/translated/order.js:2001 templates/js/translated/order.js:2809
msgid "Order is overdue"
msgstr ""
-#: templates/js/translated/order.js:2017 templates/js/translated/order.js:2863
-#: templates/js/translated/order.js:3004
+#: templates/js/translated/order.js:2051 templates/js/translated/order.js:2874
+#: templates/js/translated/order.js:3015
msgid "Items"
msgstr ""
-#: templates/js/translated/order.js:2115 templates/js/translated/order.js:4078
+#: templates/js/translated/order.js:2154 templates/js/translated/order.js:4075
msgid "Duplicate Line Item"
msgstr ""
-#: templates/js/translated/order.js:2132 templates/js/translated/order.js:4100
+#: templates/js/translated/order.js:2171 templates/js/translated/order.js:4097
msgid "Edit Line Item"
msgstr ""
-#: templates/js/translated/order.js:2145 templates/js/translated/order.js:4111
+#: templates/js/translated/order.js:2184 templates/js/translated/order.js:4108
msgid "Delete Line Item"
msgstr ""
-#: templates/js/translated/order.js:2188
+#: templates/js/translated/order.js:2227
msgid "No line items found"
msgstr ""
-#: templates/js/translated/order.js:2215 templates/js/translated/order.js:3812
+#: templates/js/translated/order.js:2254 templates/js/translated/order.js:3827
msgid "Total"
msgstr "Totale"
-#: templates/js/translated/order.js:2270 templates/js/translated/part.js:1043
-#: templates/js/translated/part.js:1095
+#: templates/js/translated/order.js:2309 templates/js/translated/part.js:1070
+#: templates/js/translated/part.js:1122
msgid "Total Quantity"
msgstr ""
-#: templates/js/translated/order.js:2301 templates/js/translated/order.js:2500
-#: templates/js/translated/order.js:3837 templates/js/translated/order.js:4342
-#: templates/js/translated/part.js:2199 templates/js/translated/part.js:2797
+#: templates/js/translated/order.js:2340 templates/js/translated/order.js:2527
+#: templates/js/translated/order.js:3852 templates/js/translated/order.js:4343
+#: templates/js/translated/pricing.js:260
+#: templates/js/translated/pricing.js:329
+#: templates/js/translated/pricing.js:545
msgid "Unit Price"
msgstr "Prezzo Unitario"
-#: templates/js/translated/order.js:2316 templates/js/translated/order.js:2516
-#: templates/js/translated/order.js:3853 templates/js/translated/order.js:4358
+#: templates/js/translated/order.js:2350 templates/js/translated/order.js:2537
+#: templates/js/translated/order.js:3862 templates/js/translated/order.js:4353
msgid "Total Price"
msgstr "Prezzo Totale"
-#: templates/js/translated/order.js:2357 templates/js/translated/order.js:3895
-#: templates/js/translated/part.js:1079
+#: templates/js/translated/order.js:2380 templates/js/translated/order.js:3892
+#: templates/js/translated/part.js:1106
msgid "This line item is overdue"
msgstr ""
-#: templates/js/translated/order.js:2416 templates/js/translated/part.js:1130
+#: templates/js/translated/order.js:2439 templates/js/translated/part.js:1151
msgid "Receive line item"
msgstr ""
-#: templates/js/translated/order.js:2420 templates/js/translated/order.js:4032
+#: templates/js/translated/order.js:2443 templates/js/translated/order.js:4029
msgid "Duplicate line item"
msgstr ""
-#: templates/js/translated/order.js:2421 templates/js/translated/order.js:4033
+#: templates/js/translated/order.js:2444 templates/js/translated/order.js:4030
msgid "Edit line item"
msgstr ""
-#: templates/js/translated/order.js:2422 templates/js/translated/order.js:4037
+#: templates/js/translated/order.js:2445 templates/js/translated/order.js:4034
msgid "Delete line item"
msgstr ""
-#: templates/js/translated/order.js:2564 templates/js/translated/order.js:4406
+#: templates/js/translated/order.js:2574 templates/js/translated/order.js:4389
msgid "Duplicate line"
msgstr ""
-#: templates/js/translated/order.js:2565 templates/js/translated/order.js:4407
+#: templates/js/translated/order.js:2575 templates/js/translated/order.js:4390
msgid "Edit line"
msgstr ""
-#: templates/js/translated/order.js:2566 templates/js/translated/order.js:4408
+#: templates/js/translated/order.js:2576 templates/js/translated/order.js:4391
msgid "Delete line"
msgstr ""
-#: templates/js/translated/order.js:2595 templates/js/translated/order.js:4437
+#: templates/js/translated/order.js:2606 templates/js/translated/order.js:4420
msgid "Duplicate Line"
msgstr ""
-#: templates/js/translated/order.js:2616 templates/js/translated/order.js:4458
+#: templates/js/translated/order.js:2627 templates/js/translated/order.js:4441
msgid "Edit Line"
msgstr ""
-#: templates/js/translated/order.js:2627 templates/js/translated/order.js:4469
+#: templates/js/translated/order.js:2638 templates/js/translated/order.js:4452
msgid "Delete Line"
msgstr ""
-#: templates/js/translated/order.js:2638
+#: templates/js/translated/order.js:2649
msgid "No matching line"
msgstr ""
-#: templates/js/translated/order.js:2749
+#: templates/js/translated/order.js:2760
msgid "No sales orders found"
msgstr ""
-#: templates/js/translated/order.js:2812
+#: templates/js/translated/order.js:2823
msgid "Invalid Customer"
msgstr "Cliente non valido"
-#: templates/js/translated/order.js:2910
+#: templates/js/translated/order.js:2921
msgid "Edit shipment"
msgstr ""
-#: templates/js/translated/order.js:2913
+#: templates/js/translated/order.js:2924
msgid "Complete shipment"
msgstr ""
-#: templates/js/translated/order.js:2918
+#: templates/js/translated/order.js:2929
msgid "Delete shipment"
msgstr ""
-#: templates/js/translated/order.js:2938
+#: templates/js/translated/order.js:2949
msgid "Edit Shipment"
msgstr ""
-#: templates/js/translated/order.js:2955
+#: templates/js/translated/order.js:2966
msgid "Delete Shipment"
msgstr ""
-#: templates/js/translated/order.js:2989
+#: templates/js/translated/order.js:3000
msgid "No matching shipments found"
msgstr ""
-#: templates/js/translated/order.js:2999
+#: templates/js/translated/order.js:3010
msgid "Shipment Reference"
msgstr ""
-#: templates/js/translated/order.js:3023
+#: templates/js/translated/order.js:3034
msgid "Not shipped"
msgstr ""
-#: templates/js/translated/order.js:3029
+#: templates/js/translated/order.js:3040
msgid "Tracking"
msgstr ""
-#: templates/js/translated/order.js:3033
+#: templates/js/translated/order.js:3044
msgid "Invoice"
msgstr ""
-#: templates/js/translated/order.js:3202
+#: templates/js/translated/order.js:3213
msgid "Add Shipment"
msgstr ""
-#: templates/js/translated/order.js:3253
+#: templates/js/translated/order.js:3264
msgid "Confirm stock allocation"
msgstr "Conferma l'assegnazione della giacenza"
-#: templates/js/translated/order.js:3254
+#: templates/js/translated/order.js:3265
msgid "Allocate Stock Items to Sales Order"
msgstr ""
-#: templates/js/translated/order.js:3462
+#: templates/js/translated/order.js:3473
msgid "No sales order allocations found"
msgstr "Nessun ordine di vendita trovato"
-#: templates/js/translated/order.js:3541
+#: templates/js/translated/order.js:3552
msgid "Edit Stock Allocation"
msgstr "Modifica posizione giacenza"
-#: templates/js/translated/order.js:3558
+#: templates/js/translated/order.js:3569
msgid "Confirm Delete Operation"
msgstr "Conferma Operazione Eliminazione"
-#: templates/js/translated/order.js:3559
+#: templates/js/translated/order.js:3570
msgid "Delete Stock Allocation"
msgstr "Elimina posizione giacenza"
-#: templates/js/translated/order.js:3604 templates/js/translated/order.js:3693
-#: templates/js/translated/stock.js:1602
+#: templates/js/translated/order.js:3615 templates/js/translated/order.js:3704
+#: templates/js/translated/stock.js:1621
msgid "Shipped to customer"
msgstr "Spedito al cliente"
-#: templates/js/translated/order.js:3612 templates/js/translated/order.js:3702
+#: templates/js/translated/order.js:3623 templates/js/translated/order.js:3713
msgid "Stock location not specified"
msgstr "Nessun posizione specificata"
-#: templates/js/translated/order.js:4016
+#: templates/js/translated/order.js:4013
msgid "Allocate serial numbers"
msgstr ""
-#: templates/js/translated/order.js:4022
+#: templates/js/translated/order.js:4019
msgid "Purchase stock"
msgstr "Prezzo d'acquisto"
-#: templates/js/translated/order.js:4029 templates/js/translated/order.js:4227
+#: templates/js/translated/order.js:4026 templates/js/translated/order.js:4224
msgid "Calculate price"
msgstr "Calcola il prezzo"
-#: templates/js/translated/order.js:4041
+#: templates/js/translated/order.js:4038
msgid "Cannot be deleted as items have been shipped"
msgstr ""
-#: templates/js/translated/order.js:4044
+#: templates/js/translated/order.js:4041
msgid "Cannot be deleted as items have been allocated"
msgstr ""
-#: templates/js/translated/order.js:4126
+#: templates/js/translated/order.js:4123
msgid "Allocate Serial Numbers"
msgstr ""
-#: templates/js/translated/order.js:4235
+#: templates/js/translated/order.js:4232
msgid "Update Unit Price"
msgstr ""
-#: templates/js/translated/order.js:4249
+#: templates/js/translated/order.js:4246
msgid "No matching line items"
msgstr ""
-#: templates/js/translated/order.js:4480
+#: templates/js/translated/order.js:4463
msgid "No matching lines"
msgstr ""
-#: templates/js/translated/part.js:56
+#: templates/js/translated/part.js:52
msgid "Part Attributes"
msgstr "Attributi Articolo"
-#: templates/js/translated/part.js:60
+#: templates/js/translated/part.js:56
msgid "Part Creation Options"
msgstr ""
-#: templates/js/translated/part.js:64
+#: templates/js/translated/part.js:60
msgid "Part Duplication Options"
msgstr ""
-#: templates/js/translated/part.js:68
+#: templates/js/translated/part.js:64
msgid "Supplier Options"
msgstr "Opzioni Fornitore"
-#: templates/js/translated/part.js:82
+#: templates/js/translated/part.js:78
msgid "Add Part Category"
msgstr "Aggiungi Categoria Articolo"
-#: templates/js/translated/part.js:166
+#: templates/js/translated/part.js:162
msgid "Create Initial Stock"
msgstr "Crea giacenza iniziale"
-#: templates/js/translated/part.js:167
+#: templates/js/translated/part.js:163
msgid "Create an initial stock item for this part"
msgstr "Crea una giacenza iniziale per quest'articolo"
-#: templates/js/translated/part.js:174
+#: templates/js/translated/part.js:170
msgid "Initial Stock Quantity"
msgstr "Quantità iniziale"
-#: templates/js/translated/part.js:175
+#: templates/js/translated/part.js:171
msgid "Specify initial stock quantity for this part"
msgstr ""
-#: templates/js/translated/part.js:182
+#: templates/js/translated/part.js:178
msgid "Select destination stock location"
msgstr "Selezione la posizione di destinazione della giacenza"
-#: templates/js/translated/part.js:200
+#: templates/js/translated/part.js:196
msgid "Copy Category Parameters"
msgstr "Copia Parametri Categoria"
-#: templates/js/translated/part.js:201
+#: templates/js/translated/part.js:197
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: templates/js/translated/part.js:209
+#: templates/js/translated/part.js:205
msgid "Add Supplier Data"
msgstr "Aggiungi Dati Fornitore"
-#: templates/js/translated/part.js:210
+#: templates/js/translated/part.js:206
msgid "Create initial supplier data for this part"
msgstr ""
-#: templates/js/translated/part.js:266
+#: templates/js/translated/part.js:262
msgid "Copy Image"
msgstr "Copia immagine"
-#: templates/js/translated/part.js:267
+#: templates/js/translated/part.js:263
msgid "Copy image from original part"
msgstr "Copia immagine dall'articolo originale"
-#: templates/js/translated/part.js:275
+#: templates/js/translated/part.js:271
msgid "Copy bill of materials from original part"
msgstr ""
-#: templates/js/translated/part.js:282
+#: templates/js/translated/part.js:278
msgid "Copy Parameters"
msgstr "Copia parametri"
-#: templates/js/translated/part.js:283
+#: templates/js/translated/part.js:279
msgid "Copy parameter data from original part"
msgstr ""
-#: templates/js/translated/part.js:296
+#: templates/js/translated/part.js:292
msgid "Parent part category"
msgstr "Categoria articolo principale"
-#: templates/js/translated/part.js:306 templates/js/translated/stock.js:118
+#: templates/js/translated/part.js:302 templates/js/translated/stock.js:118
msgid "Icon (optional) - Explore all available icons on"
msgstr ""
-#: templates/js/translated/part.js:322
+#: templates/js/translated/part.js:318
msgid "Edit Part Category"
msgstr "Modifica Categoria Articoli"
-#: templates/js/translated/part.js:335
+#: templates/js/translated/part.js:331
msgid "Are you sure you want to delete this part category?"
msgstr ""
-#: templates/js/translated/part.js:337
-msgid "Any child categories will be moved to the parent of this category"
+#: templates/js/translated/part.js:336
+msgid "Move to parent category"
msgstr ""
-#: templates/js/translated/part.js:338
-msgid "Any parts in this category will be moved to the parent of this category"
-msgstr ""
-
-#: templates/js/translated/part.js:343
+#: templates/js/translated/part.js:345
msgid "Delete Part Category"
msgstr "Elimina categoria"
-#: templates/js/translated/part.js:369
+#: templates/js/translated/part.js:349
+msgid "Action for parts in this category"
+msgstr ""
+
+#: templates/js/translated/part.js:354
+msgid "Action for child categories"
+msgstr ""
+
+#: templates/js/translated/part.js:383
msgid "Edit Part"
msgstr "Modifica l'articolo"
-#: templates/js/translated/part.js:371
+#: templates/js/translated/part.js:385
msgid "Part edited"
msgstr "Articolo modificato"
-#: templates/js/translated/part.js:382
+#: templates/js/translated/part.js:396
msgid "Create Part Variant"
msgstr ""
-#: templates/js/translated/part.js:434
+#: templates/js/translated/part.js:448
msgid "Active Part"
msgstr ""
-#: templates/js/translated/part.js:435
+#: templates/js/translated/part.js:449
msgid "Part cannot be deleted as it is currently active"
msgstr ""
-#: templates/js/translated/part.js:449
+#: templates/js/translated/part.js:463
msgid "Deleting this part cannot be reversed"
msgstr ""
-#: templates/js/translated/part.js:451
+#: templates/js/translated/part.js:465
msgid "Any stock items for this part will be deleted"
msgstr ""
-#: templates/js/translated/part.js:452
+#: templates/js/translated/part.js:466
msgid "This part will be removed from any Bills of Material"
msgstr ""
-#: templates/js/translated/part.js:453
+#: templates/js/translated/part.js:467
msgid "All manufacturer and supplier information for this part will be deleted"
msgstr ""
-#: templates/js/translated/part.js:460
+#: templates/js/translated/part.js:474
msgid "Delete Part"
msgstr ""
-#: templates/js/translated/part.js:496
+#: templates/js/translated/part.js:510
msgid "You are subscribed to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:498
+#: templates/js/translated/part.js:512
msgid "You have subscribed to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:503
+#: templates/js/translated/part.js:517
msgid "Subscribe to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:505
+#: templates/js/translated/part.js:519
msgid "You have unsubscribed to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:522
+#: templates/js/translated/part.js:536
msgid "Validating the BOM will mark each line item as valid"
msgstr ""
-#: templates/js/translated/part.js:532
+#: templates/js/translated/part.js:546
msgid "Validate Bill of Materials"
msgstr "Convalida la distinta dei materiali"
-#: templates/js/translated/part.js:535
+#: templates/js/translated/part.js:549
msgid "Validated Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:560
+#: templates/js/translated/part.js:574
msgid "Copy Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:584 templates/js/translated/part.js:1521
-#: templates/js/translated/table_filters.js:476
+#: templates/js/translated/part.js:598 templates/js/translated/part.js:1532
+#: templates/js/translated/table_filters.js:480
msgid "Low stock"
msgstr "In esaurimento"
-#: templates/js/translated/part.js:594
+#: templates/js/translated/part.js:608
msgid "No stock available"
msgstr ""
-#: templates/js/translated/part.js:628 templates/js/translated/part.js:713
+#: templates/js/translated/part.js:642 templates/js/translated/part.js:727
msgid "Trackable part"
msgstr "Parte tracciabile"
-#: templates/js/translated/part.js:632 templates/js/translated/part.js:717
+#: templates/js/translated/part.js:646 templates/js/translated/part.js:731
msgid "Virtual part"
msgstr "Parte virtuale"
-#: templates/js/translated/part.js:644
+#: templates/js/translated/part.js:658
msgid "Subscribed part"
msgstr "Parte sottoscritta"
-#: templates/js/translated/part.js:648
+#: templates/js/translated/part.js:662
msgid "Salable part"
msgstr "Parte vendibile"
-#: templates/js/translated/part.js:776
+#: templates/js/translated/part.js:800
msgid "No variants found"
msgstr "Nessuna variante trovata"
-#: templates/js/translated/part.js:1200
+#: templates/js/translated/part.js:1221
msgid "Delete part relationship"
msgstr "Elimina relazione tra i componenti"
-#: templates/js/translated/part.js:1224
+#: templates/js/translated/part.js:1245
msgid "Delete Part Relationship"
msgstr ""
-#: templates/js/translated/part.js:1291 templates/js/translated/part.js:1609
+#: templates/js/translated/part.js:1312 templates/js/translated/part.js:1633
msgid "No parts found"
msgstr "Nessun articolo trovato"
-#: templates/js/translated/part.js:1488
+#: templates/js/translated/part.js:1499
msgid "No category"
msgstr "Nessuna categoria"
-#: templates/js/translated/part.js:1519
+#: templates/js/translated/part.js:1530
msgid "No stock"
msgstr ""
-#: templates/js/translated/part.js:1543
+#: templates/js/translated/part.js:1554
msgid "Allocated to build orders"
msgstr ""
-#: templates/js/translated/part.js:1547
+#: templates/js/translated/part.js:1558
msgid "Allocated to sales orders"
msgstr ""
-#: templates/js/translated/part.js:1633 templates/js/translated/part.js:1876
-#: templates/js/translated/stock.js:2349
+#: templates/js/translated/part.js:1657 templates/js/translated/part.js:1900
+#: templates/js/translated/stock.js:2367
msgid "Display as list"
msgstr "Visualizza come elenco"
-#: templates/js/translated/part.js:1649
+#: templates/js/translated/part.js:1673
msgid "Display as grid"
msgstr "Visualizza come griglia"
-#: templates/js/translated/part.js:1715
+#: templates/js/translated/part.js:1739
msgid "Set the part category for the selected parts"
msgstr ""
-#: templates/js/translated/part.js:1720
+#: templates/js/translated/part.js:1744
msgid "Set Part Category"
msgstr "Imposta categoria articolo"
-#: templates/js/translated/part.js:1725
+#: templates/js/translated/part.js:1749
msgid "Select Part Category"
msgstr ""
-#: templates/js/translated/part.js:1738
+#: templates/js/translated/part.js:1762
msgid "Category is required"
msgstr ""
-#: templates/js/translated/part.js:1896 templates/js/translated/stock.js:2369
+#: templates/js/translated/part.js:1920 templates/js/translated/stock.js:2387
msgid "Display as tree"
msgstr "Visualizza come struttura ad albero"
-#: templates/js/translated/part.js:1976
+#: templates/js/translated/part.js:2000
msgid "Load Subcategories"
msgstr ""
-#: templates/js/translated/part.js:1992
+#: templates/js/translated/part.js:2016
msgid "Subscribed category"
msgstr "Categoria sottoscritta"
-#: templates/js/translated/part.js:2056
+#: templates/js/translated/part.js:2080
msgid "No test templates matching query"
msgstr "Nessun modello di test corrispondente"
-#: templates/js/translated/part.js:2107 templates/js/translated/stock.js:1299
+#: templates/js/translated/part.js:2131 templates/js/translated/stock.js:1318
msgid "Edit test result"
msgstr "Modificare il risultato del test"
-#: templates/js/translated/part.js:2108 templates/js/translated/stock.js:1300
-#: templates/js/translated/stock.js:1560
+#: templates/js/translated/part.js:2132 templates/js/translated/stock.js:1319
+#: templates/js/translated/stock.js:1579
msgid "Delete test result"
msgstr "Cancellare il risultato del test"
-#: templates/js/translated/part.js:2114
+#: templates/js/translated/part.js:2138
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:2136
+#: templates/js/translated/part.js:2160
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2150
+#: templates/js/translated/part.js:2174
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2175
-#, python-brace-format
-msgid "No ${human_name} information found"
-msgstr ""
-
-#: templates/js/translated/part.js:2232
-#, python-brace-format
-msgid "Edit ${human_name}"
-msgstr "Modifica ${human_name}"
-
-#: templates/js/translated/part.js:2233
-#, python-brace-format
-msgid "Delete ${human_name}"
-msgstr "Elimina ${human_name}"
-
-#: templates/js/translated/part.js:2398 templates/js/translated/part.js:2399
+#: templates/js/translated/part.js:2255 templates/js/translated/part.js:2256
msgid "No date specified"
msgstr ""
-#: templates/js/translated/part.js:2401
+#: templates/js/translated/part.js:2258
msgid "Specified date is in the past"
msgstr ""
-#: templates/js/translated/part.js:2407
+#: templates/js/translated/part.js:2264
msgid "Speculative"
msgstr ""
-#: templates/js/translated/part.js:2457
+#: templates/js/translated/part.js:2314
msgid "No scheduling information available for this part"
msgstr ""
-#: templates/js/translated/part.js:2463
+#: templates/js/translated/part.js:2320
msgid "Error fetching scheduling information for this part"
msgstr ""
-#: templates/js/translated/part.js:2559
+#: templates/js/translated/part.js:2416
msgid "Scheduled Stock Quantities"
msgstr ""
-#: templates/js/translated/part.js:2575
+#: templates/js/translated/part.js:2432
msgid "Maximum Quantity"
msgstr ""
-#: templates/js/translated/part.js:2620
+#: templates/js/translated/part.js:2477
msgid "Minimum Stock Level"
msgstr ""
-#: templates/js/translated/part.js:2721
-msgid "Single Price"
-msgstr "Prezzo Singolo"
-
-#: templates/js/translated/part.js:2740
-msgid "Single Price Difference"
-msgstr ""
-
#: templates/js/translated/plugin.js:23
msgid "The Plugin was installed"
msgstr "Il Plugin è stato installato"
+#: templates/js/translated/pricing.js:54
+msgid "No BOM data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:196
+msgid "No supplier pricing data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:305
+msgid "No price break data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:361
+#, python-brace-format
+msgid "Edit ${human_name}"
+msgstr "Modifica ${human_name}"
+
+#: templates/js/translated/pricing.js:362
+#, python-brace-format
+msgid "Delete ${human_name}"
+msgstr "Elimina ${human_name}"
+
+#: templates/js/translated/pricing.js:480
+msgid "No purchase history data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:502
+msgid "Purchase Price History"
+msgstr ""
+
+#: templates/js/translated/pricing.js:602
+msgid "No sales history data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:624
+msgid "Sale Price History"
+msgstr ""
+
+#: templates/js/translated/pricing.js:708
+msgid "No variant data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:748
+msgid "Variant Part"
+msgstr ""
+
#: templates/js/translated/report.js:67
msgid "items selected"
msgstr "elementi selezionati"
@@ -9855,364 +10177,364 @@ msgstr "Nuova posizione giacenza"
msgid "Are you sure you want to delete this stock location?"
msgstr "Sei sicuro di voler eliminare questa posizione?"
-#: templates/js/translated/stock.js:175
-msgid "Any child locations will be moved to the parent of this location"
+#: templates/js/translated/stock.js:180
+msgid "Move to parent stock location"
msgstr ""
-#: templates/js/translated/stock.js:176
-msgid "Any stock items in this location will be moved to the parent of this location"
-msgstr ""
-
-#: templates/js/translated/stock.js:182
+#: templates/js/translated/stock.js:189
msgid "Delete Stock Location"
msgstr "Elimina Posizione di Giacenza"
-#: templates/js/translated/stock.js:227
+#: templates/js/translated/stock.js:193
+msgid "Action for stock items in this stock location"
+msgstr ""
+
+#: templates/js/translated/stock.js:198
+msgid "Action for sub-locations"
+msgstr ""
+
+#: templates/js/translated/stock.js:246
msgid "This part cannot be serialized"
msgstr ""
-#: templates/js/translated/stock.js:266
+#: templates/js/translated/stock.js:285
msgid "Enter initial quantity for this stock item"
msgstr "Inserisci quantità iniziale per questo articolo in giacenza"
-#: templates/js/translated/stock.js:272
+#: templates/js/translated/stock.js:291
msgid "Enter serial numbers for new stock (or leave blank)"
msgstr "Inserire i numeri di serie per la nuova giacenza (o lasciare vuoto)"
-#: templates/js/translated/stock.js:337
+#: templates/js/translated/stock.js:356
msgid "Stock item duplicated"
msgstr ""
-#: templates/js/translated/stock.js:357
+#: templates/js/translated/stock.js:376
msgid "Duplicate Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:373
+#: templates/js/translated/stock.js:392
msgid "Are you sure you want to delete this stock item?"
msgstr ""
-#: templates/js/translated/stock.js:378
+#: templates/js/translated/stock.js:397
msgid "Delete Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:399
+#: templates/js/translated/stock.js:418
msgid "Edit Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:449
+#: templates/js/translated/stock.js:468
msgid "Created new stock item"
msgstr "Crea nuova allocazione magazzino"
-#: templates/js/translated/stock.js:462
+#: templates/js/translated/stock.js:481
msgid "Created multiple stock items"
msgstr "Creato più elementi stock"
-#: templates/js/translated/stock.js:487
+#: templates/js/translated/stock.js:506
msgid "Find Serial Number"
msgstr ""
-#: templates/js/translated/stock.js:491 templates/js/translated/stock.js:492
+#: templates/js/translated/stock.js:510 templates/js/translated/stock.js:511
msgid "Enter serial number"
msgstr ""
-#: templates/js/translated/stock.js:508
+#: templates/js/translated/stock.js:527
msgid "Enter a serial number"
msgstr ""
-#: templates/js/translated/stock.js:528
+#: templates/js/translated/stock.js:547
msgid "No matching serial number"
msgstr ""
-#: templates/js/translated/stock.js:537
+#: templates/js/translated/stock.js:556
msgid "More than one matching result found"
msgstr ""
-#: templates/js/translated/stock.js:660
+#: templates/js/translated/stock.js:679
msgid "Confirm stock assignment"
msgstr ""
-#: templates/js/translated/stock.js:661
+#: templates/js/translated/stock.js:680
msgid "Assign Stock to Customer"
msgstr ""
-#: templates/js/translated/stock.js:738
+#: templates/js/translated/stock.js:757
msgid "Warning: Merge operation cannot be reversed"
msgstr ""
-#: templates/js/translated/stock.js:739
+#: templates/js/translated/stock.js:758
msgid "Some information will be lost when merging stock items"
msgstr ""
-#: templates/js/translated/stock.js:741
+#: templates/js/translated/stock.js:760
msgid "Stock transaction history will be deleted for merged items"
msgstr ""
-#: templates/js/translated/stock.js:742
+#: templates/js/translated/stock.js:761
msgid "Supplier part information will be deleted for merged items"
msgstr ""
-#: templates/js/translated/stock.js:828
+#: templates/js/translated/stock.js:847
msgid "Confirm stock item merge"
msgstr ""
-#: templates/js/translated/stock.js:829
+#: templates/js/translated/stock.js:848
msgid "Merge Stock Items"
msgstr ""
-#: templates/js/translated/stock.js:924
+#: templates/js/translated/stock.js:943
msgid "Transfer Stock"
msgstr "Trasferisci giacenza"
-#: templates/js/translated/stock.js:925
+#: templates/js/translated/stock.js:944
msgid "Move"
msgstr "Sposta"
-#: templates/js/translated/stock.js:931
+#: templates/js/translated/stock.js:950
msgid "Count Stock"
msgstr "Conta giacenza"
-#: templates/js/translated/stock.js:932
+#: templates/js/translated/stock.js:951
msgid "Count"
msgstr "Conta"
-#: templates/js/translated/stock.js:936
+#: templates/js/translated/stock.js:955
msgid "Remove Stock"
msgstr "Rimuovi giacenza"
-#: templates/js/translated/stock.js:937
+#: templates/js/translated/stock.js:956
msgid "Take"
msgstr "Prendi"
-#: templates/js/translated/stock.js:941
+#: templates/js/translated/stock.js:960
msgid "Add Stock"
msgstr "Aggiungi giacenza"
-#: templates/js/translated/stock.js:942 users/models.py:218
+#: templates/js/translated/stock.js:961 users/models.py:220
msgid "Add"
msgstr "Aggiungi"
-#: templates/js/translated/stock.js:946
+#: templates/js/translated/stock.js:965
msgid "Delete Stock"
msgstr "Elimina Stock"
-#: templates/js/translated/stock.js:1039
+#: templates/js/translated/stock.js:1058
msgid "Quantity cannot be adjusted for serialized stock"
msgstr ""
-#: templates/js/translated/stock.js:1039
+#: templates/js/translated/stock.js:1058
msgid "Specify stock quantity"
msgstr "Specificare la quantità di magazzino"
-#: templates/js/translated/stock.js:1079
+#: templates/js/translated/stock.js:1098
msgid "You must select at least one available stock item"
msgstr "Devi selezionare almeno un articolo disponibile"
-#: templates/js/translated/stock.js:1102
+#: templates/js/translated/stock.js:1121
msgid "Confirm stock adjustment"
msgstr ""
-#: templates/js/translated/stock.js:1238
+#: templates/js/translated/stock.js:1257
msgid "PASS"
msgstr ""
-#: templates/js/translated/stock.js:1240
+#: templates/js/translated/stock.js:1259
msgid "FAIL"
msgstr ""
-#: templates/js/translated/stock.js:1245
+#: templates/js/translated/stock.js:1264
msgid "NO RESULT"
msgstr "NESSUN RISULTATO"
-#: templates/js/translated/stock.js:1292
+#: templates/js/translated/stock.js:1311
msgid "Pass test"
msgstr ""
-#: templates/js/translated/stock.js:1295
+#: templates/js/translated/stock.js:1314
msgid "Add test result"
msgstr "Aggiungi risultato test"
-#: templates/js/translated/stock.js:1321
+#: templates/js/translated/stock.js:1340
msgid "No test results found"
msgstr "Nessun risultato di prova trovato"
-#: templates/js/translated/stock.js:1378
+#: templates/js/translated/stock.js:1397
msgid "Test Date"
msgstr ""
-#: templates/js/translated/stock.js:1543
+#: templates/js/translated/stock.js:1562
msgid "Edit Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1565
+#: templates/js/translated/stock.js:1584
msgid "Delete Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1594
+#: templates/js/translated/stock.js:1613
msgid "In production"
msgstr "In produzione"
-#: templates/js/translated/stock.js:1598
+#: templates/js/translated/stock.js:1617
msgid "Installed in Stock Item"
msgstr "Installato nell'elemento stock"
-#: templates/js/translated/stock.js:1606
+#: templates/js/translated/stock.js:1625
msgid "Assigned to Sales Order"
msgstr "Assegnato all'ordine di vendita"
-#: templates/js/translated/stock.js:1612
+#: templates/js/translated/stock.js:1631
msgid "No stock location set"
msgstr "Nessuna giacenza impostata"
-#: templates/js/translated/stock.js:1781
+#: templates/js/translated/stock.js:1800
msgid "Stock item is in production"
msgstr "L'articolo di magazzino è in produzione"
-#: templates/js/translated/stock.js:1786
+#: templates/js/translated/stock.js:1805
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/translated/stock.js:1789
+#: templates/js/translated/stock.js:1808
msgid "Stock item assigned to customer"
msgstr "Articolo stock assegnato al cliente"
-#: templates/js/translated/stock.js:1792
+#: templates/js/translated/stock.js:1811
msgid "Serialized stock item has been allocated"
msgstr ""
-#: templates/js/translated/stock.js:1794
+#: templates/js/translated/stock.js:1813
msgid "Stock item has been fully allocated"
msgstr ""
-#: templates/js/translated/stock.js:1796
+#: templates/js/translated/stock.js:1815
msgid "Stock item has been partially allocated"
msgstr ""
-#: templates/js/translated/stock.js:1799
+#: templates/js/translated/stock.js:1818
msgid "Stock item has been installed in another item"
msgstr "L'elemento stock è stato installato in un altro articolo"
-#: templates/js/translated/stock.js:1803
+#: templates/js/translated/stock.js:1822
msgid "Stock item has expired"
msgstr "L'articolo stock è scaduto"
-#: templates/js/translated/stock.js:1805
+#: templates/js/translated/stock.js:1824
msgid "Stock item will expire soon"
msgstr "Articolo in giacenza prossimo alla scadenza"
-#: templates/js/translated/stock.js:1812
+#: templates/js/translated/stock.js:1831
msgid "Stock item has been rejected"
msgstr "L'articolo stock è stato rifiutato"
-#: templates/js/translated/stock.js:1814
+#: templates/js/translated/stock.js:1833
msgid "Stock item is lost"
msgstr ""
-#: templates/js/translated/stock.js:1816
+#: templates/js/translated/stock.js:1835
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/translated/stock.js:1820
-#: templates/js/translated/table_filters.js:204
+#: templates/js/translated/stock.js:1839
+#: templates/js/translated/table_filters.js:208
msgid "Depleted"
msgstr "Esaurito"
-#: templates/js/translated/stock.js:1871
-msgid "Stocktake"
-msgstr "Inventario"
-
-#: templates/js/translated/stock.js:1950
+#: templates/js/translated/stock.js:1969
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/translated/stock.js:1988
+#: templates/js/translated/stock.js:2006
msgid "No stock items matching query"
msgstr ""
-#: templates/js/translated/stock.js:2161
+#: templates/js/translated/stock.js:2179
msgid "Set Stock Status"
msgstr ""
-#: templates/js/translated/stock.js:2175
+#: templates/js/translated/stock.js:2193
msgid "Select Status Code"
msgstr ""
-#: templates/js/translated/stock.js:2176
+#: templates/js/translated/stock.js:2194
msgid "Status code must be selected"
msgstr ""
-#: templates/js/translated/stock.js:2408
+#: templates/js/translated/stock.js:2426
msgid "Load Subloactions"
msgstr ""
-#: templates/js/translated/stock.js:2503
+#: templates/js/translated/stock.js:2521
msgid "Details"
msgstr ""
-#: templates/js/translated/stock.js:2519
+#: templates/js/translated/stock.js:2537
msgid "Part information unavailable"
msgstr ""
-#: templates/js/translated/stock.js:2541
+#: templates/js/translated/stock.js:2559
msgid "Location no longer exists"
msgstr "La posizione non esiste più"
-#: templates/js/translated/stock.js:2560
+#: templates/js/translated/stock.js:2578
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2579
+#: templates/js/translated/stock.js:2597
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2597
+#: templates/js/translated/stock.js:2615
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2620
+#: templates/js/translated/stock.js:2638
msgid "Added"
msgstr "Aggiunto"
-#: templates/js/translated/stock.js:2628
+#: templates/js/translated/stock.js:2646
msgid "Removed"
msgstr "Rimosso"
-#: templates/js/translated/stock.js:2704
+#: templates/js/translated/stock.js:2722
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:2755 templates/js/translated/stock.js:2791
+#: templates/js/translated/stock.js:2773 templates/js/translated/stock.js:2809
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2804
+#: templates/js/translated/stock.js:2822
msgid "Select stock item to uninstall"
msgstr ""
-#: templates/js/translated/stock.js:2825
+#: templates/js/translated/stock.js:2843
msgid "Install another stock item into this item"
msgstr ""
-#: templates/js/translated/stock.js:2826
+#: templates/js/translated/stock.js:2844
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: templates/js/translated/stock.js:2828
+#: templates/js/translated/stock.js:2846
msgid "The Stock Item links to a Part which is the BOM for this Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2829
+#: templates/js/translated/stock.js:2847
msgid "The Stock Item is currently available in stock"
msgstr ""
-#: templates/js/translated/stock.js:2830
+#: templates/js/translated/stock.js:2848
msgid "The Stock Item is not already installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:2831
+#: templates/js/translated/stock.js:2849
msgid "The Stock Item is tracked by either a batch code or serial number"
msgstr ""
-#: templates/js/translated/stock.js:2844
+#: templates/js/translated/stock.js:2862
msgid "Select part to install"
msgstr ""
@@ -10236,215 +10558,220 @@ msgstr "Convalidato"
msgid "Allow Variant Stock"
msgstr ""
-#: templates/js/translated/table_filters.js:126
-#: templates/js/translated/table_filters.js:199
+#: templates/js/translated/table_filters.js:92
+#: templates/js/translated/table_filters.js:508
+msgid "Has Pricing"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:130
+#: templates/js/translated/table_filters.js:203
msgid "Include sublocations"
msgstr "Includi sottoallocazioni/posizioni"
-#: templates/js/translated/table_filters.js:127
+#: templates/js/translated/table_filters.js:131
msgid "Include locations"
msgstr "Includi posizioni"
-#: templates/js/translated/table_filters.js:137
-#: templates/js/translated/table_filters.js:138
-#: templates/js/translated/table_filters.js:445
+#: templates/js/translated/table_filters.js:141
+#: templates/js/translated/table_filters.js:142
+#: templates/js/translated/table_filters.js:449
msgid "Include subcategories"
msgstr "Includi sottocategorie"
-#: templates/js/translated/table_filters.js:142
-#: templates/js/translated/table_filters.js:488
+#: templates/js/translated/table_filters.js:146
+#: templates/js/translated/table_filters.js:492
msgid "Subscribed"
msgstr "Sottoscritto"
-#: templates/js/translated/table_filters.js:152
-#: templates/js/translated/table_filters.js:234
-msgid "Is Serialized"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:155
-#: templates/js/translated/table_filters.js:241
-msgid "Serial number GTE"
-msgstr ""
-
#: templates/js/translated/table_filters.js:156
-#: templates/js/translated/table_filters.js:242
-msgid "Serial number greater than or equal to"
+#: templates/js/translated/table_filters.js:238
+msgid "Is Serialized"
msgstr ""
#: templates/js/translated/table_filters.js:159
#: templates/js/translated/table_filters.js:245
-msgid "Serial number LTE"
+msgid "Serial number GTE"
msgstr ""
#: templates/js/translated/table_filters.js:160
#: templates/js/translated/table_filters.js:246
-msgid "Serial number less than or equal to"
+msgid "Serial number greater than or equal to"
msgstr ""
#: templates/js/translated/table_filters.js:163
+#: templates/js/translated/table_filters.js:249
+msgid "Serial number LTE"
+msgstr ""
+
#: templates/js/translated/table_filters.js:164
-#: templates/js/translated/table_filters.js:237
-#: templates/js/translated/table_filters.js:238
+#: templates/js/translated/table_filters.js:250
+msgid "Serial number less than or equal to"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:167
+#: templates/js/translated/table_filters.js:168
+#: templates/js/translated/table_filters.js:241
+#: templates/js/translated/table_filters.js:242
msgid "Serial number"
msgstr ""
-#: templates/js/translated/table_filters.js:168
-#: templates/js/translated/table_filters.js:259
+#: templates/js/translated/table_filters.js:172
+#: templates/js/translated/table_filters.js:263
msgid "Batch code"
msgstr "Codice Lotto"
-#: templates/js/translated/table_filters.js:179
-#: templates/js/translated/table_filters.js:417
+#: templates/js/translated/table_filters.js:183
+#: templates/js/translated/table_filters.js:421
msgid "Active parts"
msgstr "Elementi attivi"
-#: templates/js/translated/table_filters.js:180
+#: templates/js/translated/table_filters.js:184
msgid "Show stock for active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:185
+#: templates/js/translated/table_filters.js:189
msgid "Part is an assembly"
msgstr ""
-#: templates/js/translated/table_filters.js:189
+#: templates/js/translated/table_filters.js:193
msgid "Is allocated"
msgstr ""
-#: templates/js/translated/table_filters.js:190
+#: templates/js/translated/table_filters.js:194
msgid "Item has been allocated"
msgstr "L'elemento è stato posizionato"
-#: templates/js/translated/table_filters.js:195
+#: templates/js/translated/table_filters.js:199
msgid "Stock is available for use"
msgstr ""
-#: templates/js/translated/table_filters.js:200
+#: templates/js/translated/table_filters.js:204
msgid "Include stock in sublocations"
msgstr "Includi elementi in giacenza nelle sottoallocazioni"
-#: templates/js/translated/table_filters.js:205
+#: templates/js/translated/table_filters.js:209
msgid "Show stock items which are depleted"
msgstr ""
-#: templates/js/translated/table_filters.js:210
+#: templates/js/translated/table_filters.js:214
msgid "Show items which are in stock"
msgstr "Mostra gli elementi che sono in giacenza"
-#: templates/js/translated/table_filters.js:214
+#: templates/js/translated/table_filters.js:218
msgid "In Production"
msgstr "In Produzione"
-#: templates/js/translated/table_filters.js:215
+#: templates/js/translated/table_filters.js:219
msgid "Show items which are in production"
msgstr "Mostra gli elementi in produzione"
-#: templates/js/translated/table_filters.js:219
+#: templates/js/translated/table_filters.js:223
msgid "Include Variants"
msgstr "Includi Varianti"
-#: templates/js/translated/table_filters.js:220
+#: templates/js/translated/table_filters.js:224
msgid "Include stock items for variant parts"
msgstr "Includi gli articoli stock per le varianti degli articoli"
-#: templates/js/translated/table_filters.js:224
+#: templates/js/translated/table_filters.js:228
msgid "Installed"
msgstr "Installato"
-#: templates/js/translated/table_filters.js:225
+#: templates/js/translated/table_filters.js:229
msgid "Show stock items which are installed in another item"
msgstr "Mostra gli elementi stock che sono installati in un altro elemento"
-#: templates/js/translated/table_filters.js:230
+#: templates/js/translated/table_filters.js:234
msgid "Show items which have been assigned to a customer"
msgstr "Mostra elementi che sono stati assegnati a un cliente"
-#: templates/js/translated/table_filters.js:250
-#: templates/js/translated/table_filters.js:251
+#: templates/js/translated/table_filters.js:254
+#: templates/js/translated/table_filters.js:255
msgid "Stock status"
msgstr "Stato magazzino"
-#: templates/js/translated/table_filters.js:254
+#: templates/js/translated/table_filters.js:258
msgid "Has batch code"
msgstr ""
-#: templates/js/translated/table_filters.js:262
+#: templates/js/translated/table_filters.js:266
msgid "Tracked"
msgstr ""
-#: templates/js/translated/table_filters.js:263
+#: templates/js/translated/table_filters.js:267
msgid "Stock item is tracked by either batch code or serial number"
msgstr ""
-#: templates/js/translated/table_filters.js:268
+#: templates/js/translated/table_filters.js:272
msgid "Has purchase price"
msgstr "Ha il prezzo d'acquisto"
-#: templates/js/translated/table_filters.js:269
+#: templates/js/translated/table_filters.js:273
msgid "Show stock items which have a purchase price set"
msgstr "Mostra gli articoli di magazzino che hanno un prezzo di acquisto impostato"
-#: templates/js/translated/table_filters.js:278
+#: templates/js/translated/table_filters.js:282
msgid "Show stock items which have expired"
msgstr "Mostra gli elementi in giacenza scaduti"
-#: templates/js/translated/table_filters.js:284
+#: templates/js/translated/table_filters.js:288
msgid "Show stock which is close to expiring"
msgstr "Mostra giacenza prossima alla scadenza"
-#: templates/js/translated/table_filters.js:296
+#: templates/js/translated/table_filters.js:300
msgid "Test Passed"
msgstr ""
-#: templates/js/translated/table_filters.js:300
+#: templates/js/translated/table_filters.js:304
msgid "Include Installed Items"
msgstr ""
-#: templates/js/translated/table_filters.js:319
+#: templates/js/translated/table_filters.js:323
msgid "Build status"
msgstr "Stato Build"
-#: templates/js/translated/table_filters.js:332
-#: templates/js/translated/table_filters.js:373
+#: templates/js/translated/table_filters.js:336
+#: templates/js/translated/table_filters.js:377
msgid "Assigned to me"
msgstr ""
-#: templates/js/translated/table_filters.js:349
-#: templates/js/translated/table_filters.js:360
-#: templates/js/translated/table_filters.js:390
+#: templates/js/translated/table_filters.js:353
+#: templates/js/translated/table_filters.js:364
+#: templates/js/translated/table_filters.js:394
msgid "Order status"
msgstr "Stato dell'ordine"
-#: templates/js/translated/table_filters.js:365
-#: templates/js/translated/table_filters.js:382
-#: templates/js/translated/table_filters.js:395
+#: templates/js/translated/table_filters.js:369
+#: templates/js/translated/table_filters.js:386
+#: templates/js/translated/table_filters.js:399
msgid "Outstanding"
msgstr "In Sospeso"
-#: templates/js/translated/table_filters.js:446
+#: templates/js/translated/table_filters.js:450
msgid "Include parts in subcategories"
msgstr "Includi articoli nelle sottocategorie"
-#: templates/js/translated/table_filters.js:451
+#: templates/js/translated/table_filters.js:455
msgid "Show active parts"
msgstr "Visualizza articoli attivi"
-#: templates/js/translated/table_filters.js:459
+#: templates/js/translated/table_filters.js:463
msgid "Available stock"
msgstr ""
-#: templates/js/translated/table_filters.js:467
+#: templates/js/translated/table_filters.js:471
msgid "Has IPN"
msgstr "Ha IPN"
-#: templates/js/translated/table_filters.js:468
+#: templates/js/translated/table_filters.js:472
msgid "Part has internal part number"
msgstr "L'articolo possiede un part number interno"
-#: templates/js/translated/table_filters.js:472
+#: templates/js/translated/table_filters.js:476
msgid "In stock"
msgstr ""
-#: templates/js/translated/table_filters.js:480
+#: templates/js/translated/table_filters.js:484
msgid "Purchasable"
msgstr "Acquistabile"
@@ -10554,6 +10881,10 @@ msgstr ""
msgid "Show all notifications and history"
msgstr ""
+#: templates/price_data.html:7
+msgid "No data"
+msgstr ""
+
#: templates/qr_code.html:11
msgid "QR data not provided"
msgstr "Dati QR non forniti"
@@ -10738,35 +11069,35 @@ msgstr "Permessi"
msgid "Important dates"
msgstr "Date Importanti"
-#: users/models.py:205
+#: users/models.py:207
msgid "Permission set"
msgstr "Impostazione autorizzazioni"
-#: users/models.py:213
+#: users/models.py:215
msgid "Group"
msgstr "Gruppo"
-#: users/models.py:216
+#: users/models.py:218
msgid "View"
msgstr "Visualizza"
-#: users/models.py:216
+#: users/models.py:218
msgid "Permission to view items"
msgstr "Autorizzazione a visualizzare gli articoli"
-#: users/models.py:218
+#: users/models.py:220
msgid "Permission to add items"
msgstr "Autorizzazione ad aggiungere elementi"
-#: users/models.py:220
+#: users/models.py:222
msgid "Change"
msgstr "Modificare"
-#: users/models.py:220
+#: users/models.py:222
msgid "Permissions to edit items"
msgstr "Permessi per modificare gli elementi"
-#: users/models.py:222
+#: users/models.py:224
msgid "Permission to delete items"
msgstr "Autorizzazione ad eliminare gli elementi"
diff --git a/InvenTree/locale/ja/LC_MESSAGES/django.po b/InvenTree/locale/ja/LC_MESSAGES/django.po
index 9267bb7f61..265a7b0e51 100644
--- a/InvenTree/locale/ja/LC_MESSAGES/django.po
+++ b/InvenTree/locale/ja/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-11-04 14:07+0000\n"
-"PO-Revision-Date: 2022-11-04 19:02\n"
+"POT-Creation-Date: 2022-11-14 04:59+0000\n"
+"PO-Revision-Date: 2022-11-14 14:51\n"
"Last-Translator: \n"
"Language-Team: Japanese\n"
"Language: ja_JP\n"
@@ -17,7 +17,7 @@ msgstr ""
"X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n"
"X-Crowdin-File-ID: 154\n"
-#: InvenTree/api.py:54
+#: InvenTree/api.py:61
msgid "API endpoint not found"
msgstr "APIエンドポイントが見つかりません"
@@ -25,27 +25,27 @@ msgstr "APIエンドポイントが見つかりません"
msgid "Error details can be found in the admin panel"
msgstr ""
-#: InvenTree/fields.py:120
+#: InvenTree/fields.py:129
msgid "Enter date"
msgstr "日付を入力する"
-#: InvenTree/fields.py:195 build/serializers.py:387
-#: build/templates/build/sidebar.html:21 company/models.py:525
-#: company/templates/company/sidebar.html:25 order/models.py:920
+#: InvenTree/fields.py:204 build/serializers.py:387
+#: build/templates/build/sidebar.html:21 company/models.py:529
+#: company/templates/company/sidebar.html:25 order/models.py:943
#: order/templates/order/po_sidebar.html:11
-#: order/templates/order/so_sidebar.html:17
-#: part/templates/part/part_sidebar.html:59
+#: order/templates/order/so_sidebar.html:17 part/admin.py:27
+#: part/templates/part/part_sidebar.html:57
#: report/templates/report/inventree_build_order_base.html:172
-#: stock/models.py:2002 stock/models.py:2110 stock/serializers.py:327
-#: stock/serializers.py:460 stock/serializers.py:541 stock/serializers.py:827
-#: stock/serializers.py:926 stock/serializers.py:1058
+#: stock/admin.py:103 stock/models.py:2018 stock/models.py:2126
+#: stock/serializers.py:321 stock/serializers.py:454 stock/serializers.py:535
+#: stock/serializers.py:826 stock/serializers.py:925 stock/serializers.py:1057
#: stock/templates/stock/stock_sidebar.html:25
-#: templates/js/translated/barcode.js:108 templates/js/translated/bom.js:1146
-#: templates/js/translated/company.js:1022
-#: templates/js/translated/order.js:2404 templates/js/translated/order.js:2552
-#: templates/js/translated/order.js:3048 templates/js/translated/order.js:3999
-#: templates/js/translated/order.js:4394 templates/js/translated/stock.js:1374
-#: templates/js/translated/stock.js:1982
+#: templates/js/translated/barcode.js:108 templates/js/translated/bom.js:1211
+#: templates/js/translated/company.js:1023
+#: templates/js/translated/order.js:2427 templates/js/translated/order.js:2561
+#: templates/js/translated/order.js:3059 templates/js/translated/order.js:3996
+#: templates/js/translated/order.js:4377 templates/js/translated/stock.js:1393
+#: templates/js/translated/stock.js:2000
msgid "Notes"
msgstr "メモ"
@@ -122,43 +122,43 @@ msgstr ""
msgid "Supplied URL is not a valid image file"
msgstr ""
-#: InvenTree/helpers.py:602 order/models.py:325 order/models.py:477
+#: InvenTree/helpers.py:589 order/models.py:329 order/models.py:496
msgid "Invalid quantity provided"
msgstr "数量コードが無効です"
-#: InvenTree/helpers.py:610
+#: InvenTree/helpers.py:597
msgid "Empty serial number string"
msgstr "シリアル番号は空です"
-#: InvenTree/helpers.py:640
+#: InvenTree/helpers.py:627
msgid "Duplicate serial"
msgstr ""
-#: InvenTree/helpers.py:673 InvenTree/helpers.py:708
+#: InvenTree/helpers.py:660 InvenTree/helpers.py:695
#, python-brace-format
msgid "Invalid group range: {g}"
msgstr ""
-#: InvenTree/helpers.py:702
+#: InvenTree/helpers.py:689
#, python-brace-format
msgid "Group range {g} exceeds allowed quantity ({q})"
msgstr ""
-#: InvenTree/helpers.py:726 InvenTree/helpers.py:733 InvenTree/helpers.py:748
+#: InvenTree/helpers.py:713 InvenTree/helpers.py:720 InvenTree/helpers.py:735
#, python-brace-format
msgid "Invalid group sequence: {g}"
msgstr ""
-#: InvenTree/helpers.py:758
+#: InvenTree/helpers.py:745
msgid "No serial numbers found"
msgstr "シリアル番号が見つかりません"
-#: InvenTree/helpers.py:761
+#: InvenTree/helpers.py:748
#, python-brace-format
msgid "Number of unique serial numbers ({s}) must match quantity ({q})"
msgstr ""
-#: InvenTree/helpers.py:960
+#: InvenTree/helpers.py:947
msgid "Remove HTML tags from this value"
msgstr ""
@@ -194,7 +194,7 @@ msgstr "ファイルがありません"
msgid "Missing external link"
msgstr "外部リンクが見つかりません。"
-#: InvenTree/models.py:405 stock/models.py:2104
+#: InvenTree/models.py:405 stock/models.py:2120
#: templates/js/translated/attachment.js:103
#: templates/js/translated/attachment.js:241
msgid "Attachment"
@@ -204,18 +204,19 @@ msgstr "添付ファイル"
msgid "Select file to attach"
msgstr "添付ファイルを選択"
-#: InvenTree/models.py:412 company/models.py:125 company/models.py:277
-#: company/models.py:512 order/models.py:84 order/models.py:1259
-#: part/models.py:816 part/templates/part/part_scheduling.html:11
+#: InvenTree/models.py:412 common/models.py:2313 company/models.py:129
+#: company/models.py:281 company/models.py:516 order/models.py:85
+#: order/models.py:1282 part/admin.py:25 part/models.py:835
+#: part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
-#: templates/js/translated/company.js:691
-#: templates/js/translated/company.js:1011
-#: templates/js/translated/order.js:3037 templates/js/translated/part.js:1569
+#: stock/admin.py:102 templates/js/translated/company.js:692
+#: templates/js/translated/company.js:1012
+#: templates/js/translated/order.js:3048 templates/js/translated/part.js:1593
msgid "Link"
msgstr "リンク"
-#: InvenTree/models.py:413 build/models.py:290 part/models.py:817
-#: stock/models.py:660
+#: InvenTree/models.py:413 build/models.py:290 part/models.py:836
+#: stock/models.py:676
msgid "Link to external URL"
msgstr "外部 サイト へのリンク"
@@ -228,12 +229,12 @@ msgstr "コメント:"
msgid "File comment"
msgstr "ファイルコメント"
-#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1744
-#: common/models.py:1745 common/models.py:1968 common/models.py:1969
-#: common/models.py:2231 common/models.py:2232 part/models.py:2254
-#: part/models.py:2274 plugin/models.py:264 plugin/models.py:265
+#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1756
+#: common/models.py:1757 common/models.py:1980 common/models.py:1981
+#: common/models.py:2243 common/models.py:2244 part/models.py:2867
+#: part/models.py:2887 plugin/models.py:264 plugin/models.py:265
#: report/templates/report/inventree_test_report_base.html:96
-#: templates/js/translated/stock.js:2651
+#: templates/js/translated/stock.js:2669
msgid "User"
msgstr "ユーザー"
@@ -270,44 +271,45 @@ msgstr "ファイル名の変更に失敗しました"
msgid "Invalid choice"
msgstr "無効な選択です"
-#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1954
-#: company/models.py:359 label/models.py:101 part/models.py:760
-#: part/models.py:2429 plugin/models.py:94 report/models.py:152
+#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1966
+#: company/models.py:363 label/models.py:101 part/models.py:779
+#: part/models.py:3042 plugin/models.py:94 report/models.py:152
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/plugin.html:60
#: templates/InvenTree/settings/plugin.html:104
#: templates/InvenTree/settings/plugin_settings.html:23
#: templates/InvenTree/settings/settings.html:344
-#: templates/js/translated/company.js:580
-#: templates/js/translated/company.js:793
+#: templates/js/translated/company.js:581
+#: templates/js/translated/company.js:794
#: templates/js/translated/notification.js:71
-#: templates/js/translated/part.js:686 templates/js/translated/part.js:838
-#: templates/js/translated/part.js:1964 templates/js/translated/stock.js:2396
+#: templates/js/translated/part.js:700 templates/js/translated/part.js:865
+#: templates/js/translated/part.js:1988 templates/js/translated/stock.js:2414
msgid "Name"
msgstr "お名前"
#: InvenTree/models.py:564 build/models.py:163
-#: build/templates/build/detail.html:24 company/models.py:283
-#: company/models.py:518 company/templates/company/company_base.html:71
+#: build/templates/build/detail.html:24 company/models.py:287
+#: company/models.py:522 company/templates/company/company_base.html:71
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:108 label/models.py:108
-#: order/models.py:82 part/models.py:783 part/models.py:2438
-#: part/templates/part/category.html:75 part/templates/part/part_base.html:172
+#: order/models.py:83 part/admin.py:141 part/admin.py:222 part/models.py:802
+#: part/models.py:3051 part/templates/part/category.html:75
+#: part/templates/part/part_base.html:172
#: part/templates/part/part_scheduling.html:12 report/models.py:165
#: report/models.py:507 report/models.py:551
#: report/templates/report/inventree_build_order_base.html:117
-#: stock/templates/stock/location.html:117
+#: stock/admin.py:25 stock/templates/stock/location.html:117
#: templates/InvenTree/settings/plugin_settings.html:28
#: templates/InvenTree/settings/settings.html:355
-#: templates/js/translated/bom.js:579 templates/js/translated/bom.js:887
-#: templates/js/translated/build.js:2580 templates/js/translated/company.js:444
-#: templates/js/translated/company.js:702
-#: templates/js/translated/company.js:986 templates/js/translated/order.js:1988
-#: templates/js/translated/order.js:2220 templates/js/translated/order.js:2826
-#: templates/js/translated/part.js:745 templates/js/translated/part.js:1187
-#: templates/js/translated/part.js:1464 templates/js/translated/part.js:2000
-#: templates/js/translated/part.js:2075 templates/js/translated/stock.js:1748
-#: templates/js/translated/stock.js:2428 templates/js/translated/stock.js:2488
+#: templates/js/translated/bom.js:592 templates/js/translated/bom.js:895
+#: templates/js/translated/build.js:2580 templates/js/translated/company.js:445
+#: templates/js/translated/company.js:703
+#: templates/js/translated/company.js:987 templates/js/translated/order.js:2022
+#: templates/js/translated/order.js:2259 templates/js/translated/order.js:2837
+#: templates/js/translated/part.js:759 templates/js/translated/part.js:1208
+#: templates/js/translated/part.js:1475 templates/js/translated/part.js:2024
+#: templates/js/translated/part.js:2099 templates/js/translated/stock.js:1767
+#: templates/js/translated/stock.js:2446 templates/js/translated/stock.js:2506
msgid "Description"
msgstr "説明"
@@ -320,7 +322,7 @@ msgid "parent"
msgstr "親"
#: InvenTree/models.py:580 InvenTree/models.py:581
-#: templates/js/translated/part.js:2009 templates/js/translated/stock.js:2437
+#: templates/js/translated/part.js:2033 templates/js/translated/stock.js:2455
msgid "Path"
msgstr ""
@@ -332,7 +334,7 @@ msgstr ""
msgid "Third party barcode data"
msgstr ""
-#: InvenTree/models.py:688 order/serializers.py:486
+#: InvenTree/models.py:688 order/serializers.py:477
msgid "Barcode Hash"
msgstr ""
@@ -352,187 +354,187 @@ msgstr ""
msgid "An error has been logged by the server."
msgstr ""
-#: InvenTree/serializers.py:58 part/models.py:2774
+#: InvenTree/serializers.py:58 part/models.py:3387
msgid "Must be a valid number"
msgstr "有効な数字でなければなりません"
-#: InvenTree/serializers.py:265
+#: InvenTree/serializers.py:266
msgid "Filename"
msgstr "ファイル名"
-#: InvenTree/serializers.py:300
+#: InvenTree/serializers.py:301
msgid "Invalid value"
msgstr "無効な値です。"
-#: InvenTree/serializers.py:322
+#: InvenTree/serializers.py:323
msgid "Data File"
msgstr "データファイル"
-#: InvenTree/serializers.py:323
+#: InvenTree/serializers.py:324
msgid "Select data file for upload"
msgstr "アップロードするファイルを選択"
-#: InvenTree/serializers.py:344
+#: InvenTree/serializers.py:345
msgid "Unsupported file type"
msgstr "サポートされていないファイル形式"
-#: InvenTree/serializers.py:350
+#: InvenTree/serializers.py:351
msgid "File is too large"
msgstr "ファイルサイズが大きすぎます"
-#: InvenTree/serializers.py:371
+#: InvenTree/serializers.py:372
msgid "No columns found in file"
msgstr "ファイルに列が見つかりません"
-#: InvenTree/serializers.py:374
+#: InvenTree/serializers.py:375
msgid "No data rows found in file"
msgstr "ファイルにデータ行がみつかりません"
-#: InvenTree/serializers.py:497
+#: InvenTree/serializers.py:498
msgid "No data rows provided"
msgstr "データが入力されていません"
-#: InvenTree/serializers.py:500
+#: InvenTree/serializers.py:501
msgid "No data columns supplied"
msgstr "データ列が指定されていません"
-#: InvenTree/serializers.py:577
+#: InvenTree/serializers.py:578
#, python-brace-format
msgid "Missing required column: '{name}'"
msgstr "必須の列がありません: {name}"
-#: InvenTree/serializers.py:586
+#: InvenTree/serializers.py:587
#, python-brace-format
msgid "Duplicate column: '{col}'"
msgstr "{col} 列が重複しています。"
-#: InvenTree/serializers.py:605
+#: InvenTree/serializers.py:606
#: templates/InvenTree/settings/mixins/urls.html:14
msgid "URL"
msgstr ""
-#: InvenTree/serializers.py:606
+#: InvenTree/serializers.py:607
msgid "URL of remote image file"
msgstr ""
-#: InvenTree/serializers.py:620
+#: InvenTree/serializers.py:621
msgid "Downloading images from remote URL is not enabled"
msgstr ""
-#: InvenTree/settings.py:621
+#: InvenTree/settings.py:627
msgid "Czech"
msgstr ""
-#: InvenTree/settings.py:622
+#: InvenTree/settings.py:628
msgid "Danish"
msgstr ""
-#: InvenTree/settings.py:623
+#: InvenTree/settings.py:629
msgid "German"
msgstr "ドイツ語"
-#: InvenTree/settings.py:624
+#: InvenTree/settings.py:630
msgid "Greek"
msgstr "ギリシャ語"
-#: InvenTree/settings.py:625
+#: InvenTree/settings.py:631
msgid "English"
msgstr "英語"
-#: InvenTree/settings.py:626
+#: InvenTree/settings.py:632
msgid "Spanish"
msgstr "スペイン語"
-#: InvenTree/settings.py:627
+#: InvenTree/settings.py:633
msgid "Spanish (Mexican)"
msgstr "スペイン語(メキシコ)"
-#: InvenTree/settings.py:628
+#: InvenTree/settings.py:634
msgid "Farsi / Persian"
msgstr ""
-#: InvenTree/settings.py:629
+#: InvenTree/settings.py:635
msgid "French"
msgstr "フランス語"
-#: InvenTree/settings.py:630
+#: InvenTree/settings.py:636
msgid "Hebrew"
msgstr "ヘブライ語"
-#: InvenTree/settings.py:631
+#: InvenTree/settings.py:637
msgid "Hungarian"
msgstr "ハンガリー語"
-#: InvenTree/settings.py:632
+#: InvenTree/settings.py:638
msgid "Italian"
msgstr "イタリア語"
-#: InvenTree/settings.py:633
+#: InvenTree/settings.py:639
msgid "Japanese"
msgstr "日本語"
-#: InvenTree/settings.py:634
+#: InvenTree/settings.py:640
msgid "Korean"
msgstr "韓国語"
-#: InvenTree/settings.py:635
+#: InvenTree/settings.py:641
msgid "Dutch"
msgstr "オランダ語"
-#: InvenTree/settings.py:636
+#: InvenTree/settings.py:642
msgid "Norwegian"
msgstr "ノルウェー語"
-#: InvenTree/settings.py:637
+#: InvenTree/settings.py:643
msgid "Polish"
msgstr "ポーランド語"
-#: InvenTree/settings.py:638
+#: InvenTree/settings.py:644
msgid "Portuguese"
msgstr ""
-#: InvenTree/settings.py:639
+#: InvenTree/settings.py:645
msgid "Portuguese (Brazilian)"
msgstr ""
-#: InvenTree/settings.py:640
+#: InvenTree/settings.py:646
msgid "Russian"
msgstr "ロシア語"
-#: InvenTree/settings.py:641
+#: InvenTree/settings.py:647
msgid "Swedish"
msgstr "スウェーデン語"
-#: InvenTree/settings.py:642
+#: InvenTree/settings.py:648
msgid "Thai"
msgstr "タイ語"
-#: InvenTree/settings.py:643
+#: InvenTree/settings.py:649
msgid "Turkish"
msgstr "トルコ語"
-#: InvenTree/settings.py:644
+#: InvenTree/settings.py:650
msgid "Vietnamese"
msgstr "ベトナム語"
-#: InvenTree/settings.py:645
+#: InvenTree/settings.py:651
msgid "Chinese"
msgstr "中国語"
-#: InvenTree/status.py:99
+#: InvenTree/status.py:98
msgid "Background worker check failed"
msgstr "バックグラウンドワーカーのチェックに失敗しました"
-#: InvenTree/status.py:103
+#: InvenTree/status.py:102
msgid "Email backend not configured"
msgstr "メールアドレスが未設定です"
-#: InvenTree/status.py:106
+#: InvenTree/status.py:105
msgid "InvenTree system health checks failed"
msgstr "InvenTree システムのヘルスチェックに失敗しました"
#: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140
-#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:342
+#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:346
msgid "Pending"
msgstr "処理待ち"
@@ -561,8 +563,8 @@ msgstr "紛失"
msgid "Returned"
msgstr "返品済"
-#: InvenTree/status_codes.py:141 order/models.py:1142
-#: templates/js/translated/order.js:3625 templates/js/translated/order.js:3974
+#: InvenTree/status_codes.py:141 order/models.py:1165
+#: templates/js/translated/order.js:3636 templates/js/translated/order.js:3971
msgid "Shipped"
msgstr "発送済み"
@@ -646,7 +648,7 @@ msgstr "親アイテムから分割する"
msgid "Split child item"
msgstr "子項目を分割"
-#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2086
+#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2104
msgid "Merged stock items"
msgstr "商品在庫をマージしました"
@@ -654,7 +656,7 @@ msgstr "商品在庫をマージしました"
msgid "Converted to variant"
msgstr ""
-#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:229
+#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:233
msgid "Sent to customer"
msgstr "顧客に送信されました"
@@ -746,7 +748,7 @@ msgstr ""
#: build/models.py:111 build/templates/build/build_base.html:13
#: build/templates/build/index.html:8 build/templates/build/index.html:12
-#: order/templates/order/sales_order_detail.html:120
+#: order/templates/order/sales_order_detail.html:125
#: order/templates/order/so_sidebar.html:13
#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221
#: templates/InvenTree/search.html:141
@@ -759,15 +761,15 @@ msgstr ""
msgid "Build Order Reference"
msgstr ""
-#: build/models.py:155 order/models.py:240 order/models.py:632
-#: order/models.py:918 part/models.py:2684
+#: build/models.py:155 order/models.py:241 order/models.py:651
+#: order/models.py:941 part/admin.py:224 part/models.py:3297
#: part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:92
-#: templates/js/translated/bom.js:716 templates/js/translated/bom.js:897
-#: templates/js/translated/build.js:1843 templates/js/translated/order.js:2251
-#: templates/js/translated/order.js:2481 templates/js/translated/order.js:3818
-#: templates/js/translated/order.js:4323
+#: templates/js/translated/bom.js:729 templates/js/translated/bom.js:905
+#: templates/js/translated/build.js:1843 templates/js/translated/order.js:2290
+#: templates/js/translated/order.js:2508 templates/js/translated/order.js:3833
+#: templates/js/translated/order.js:4324 templates/js/translated/pricing.js:119
msgid "Reference"
msgstr ""
@@ -785,39 +787,40 @@ msgid "BuildOrder to which this build is allocated"
msgstr ""
#: build/models.py:180 build/templates/build/build_base.html:80
-#: build/templates/build/detail.html:29 company/models.py:680
-#: order/models.py:1015 order/models.py:1126 order/models.py:1127
-#: part/models.py:343 part/models.py:2200 part/models.py:2215
-#: part/models.py:2234 part/models.py:2252 part/models.py:2351
-#: part/models.py:2472 part/models.py:2564 part/models.py:2649
-#: part/models.py:2943 part/serializers.py:828
+#: build/templates/build/detail.html:29 company/models.py:684
+#: order/models.py:1038 order/models.py:1149 order/models.py:1150
+#: part/models.py:362 part/models.py:2700 part/models.py:2813
+#: part/models.py:2828 part/models.py:2847 part/models.py:2865
+#: part/models.py:2964 part/models.py:3085 part/models.py:3177
+#: part/models.py:3262 part/models.py:3578 part/serializers.py:852
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
#: report/templates/report/inventree_build_order_base.html:109
#: report/templates/report/inventree_po_report.html:89
-#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:86
-#: stock/serializers.py:494 templates/InvenTree/search.html:82
+#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:90
+#: stock/serializers.py:488 templates/InvenTree/search.html:82
#: templates/email/build_order_completed.html:17
#: templates/email/build_order_required_stock.html:17
#: templates/email/low_stock_notification.html:16
#: templates/email/overdue_build_order.html:16
-#: templates/js/translated/barcode.js:479 templates/js/translated/bom.js:578
-#: templates/js/translated/bom.js:715 templates/js/translated/bom.js:841
+#: templates/js/translated/barcode.js:479 templates/js/translated/bom.js:591
+#: templates/js/translated/bom.js:728 templates/js/translated/bom.js:849
#: templates/js/translated/build.js:1214 templates/js/translated/build.js:1711
#: templates/js/translated/build.js:2194 templates/js/translated/build.js:2585
-#: templates/js/translated/company.js:301
-#: templates/js/translated/company.js:531
-#: templates/js/translated/company.js:643
-#: templates/js/translated/company.js:904 templates/js/translated/order.js:106
-#: templates/js/translated/order.js:1134 templates/js/translated/order.js:1638
-#: templates/js/translated/order.js:2205 templates/js/translated/order.js:3180
-#: templates/js/translated/order.js:3576 templates/js/translated/order.js:3802
-#: templates/js/translated/part.js:1172 templates/js/translated/part.js:1244
-#: templates/js/translated/part.js:1442 templates/js/translated/stock.js:586
-#: templates/js/translated/stock.js:751 templates/js/translated/stock.js:958
-#: templates/js/translated/stock.js:1700 templates/js/translated/stock.js:2514
-#: templates/js/translated/stock.js:2709 templates/js/translated/stock.js:2843
+#: templates/js/translated/company.js:302
+#: templates/js/translated/company.js:532
+#: templates/js/translated/company.js:644
+#: templates/js/translated/company.js:905 templates/js/translated/order.js:106
+#: templates/js/translated/order.js:1168 templates/js/translated/order.js:1672
+#: templates/js/translated/order.js:2244 templates/js/translated/order.js:3191
+#: templates/js/translated/order.js:3587 templates/js/translated/order.js:3817
+#: templates/js/translated/part.js:1193 templates/js/translated/part.js:1265
+#: templates/js/translated/part.js:1452 templates/js/translated/pricing.js:102
+#: templates/js/translated/stock.js:605 templates/js/translated/stock.js:770
+#: templates/js/translated/stock.js:977 templates/js/translated/stock.js:1719
+#: templates/js/translated/stock.js:2532 templates/js/translated/stock.js:2727
+#: templates/js/translated/stock.js:2861
msgid "Part"
msgstr "パーツ"
@@ -834,7 +837,7 @@ msgid "SalesOrder to which this build is allocated"
msgstr ""
#: build/models.py:202 build/serializers.py:822
-#: templates/js/translated/build.js:2182 templates/js/translated/order.js:3168
+#: templates/js/translated/build.js:2182 templates/js/translated/order.js:3179
msgid "Source Location"
msgstr ""
@@ -874,8 +877,8 @@ msgstr ""
msgid "Build status code"
msgstr ""
-#: build/models.py:245 build/serializers.py:224 order/serializers.py:464
-#: stock/models.py:664 templates/js/translated/order.js:1496
+#: build/models.py:245 build/serializers.py:224 order/serializers.py:455
+#: stock/models.py:680 templates/js/translated/order.js:1530
msgid "Batch Code"
msgstr ""
@@ -883,12 +886,12 @@ msgstr ""
msgid "Batch code for this build output"
msgstr ""
-#: build/models.py:252 order/models.py:86 part/models.py:952
-#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2839
+#: build/models.py:252 order/models.py:87 part/models.py:971
+#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2850
msgid "Creation Date"
msgstr "作成日時"
-#: build/models.py:256 order/models.py:662
+#: build/models.py:256 order/models.py:681
msgid "Target completion date"
msgstr ""
@@ -896,7 +899,7 @@ msgstr ""
msgid "Target date for build completion. Build will be overdue after this date."
msgstr ""
-#: build/models.py:260 order/models.py:291
+#: build/models.py:260 order/models.py:292
#: templates/js/translated/build.js:2662
msgid "Completion Date"
msgstr ""
@@ -914,11 +917,11 @@ msgid "User who issued this build order"
msgstr ""
#: build/models.py:283 build/templates/build/build_base.html:193
-#: build/templates/build/detail.html:115 order/models.py:100
+#: build/templates/build/detail.html:115 order/models.py:101
#: order/templates/order/order_base.html:185
-#: order/templates/order/sales_order_base.html:183 part/models.py:956
+#: order/templates/order/sales_order_base.html:183 part/models.py:975
#: report/templates/report/inventree_build_order_base.html:158
-#: templates/js/translated/build.js:2642 templates/js/translated/order.js:2022
+#: templates/js/translated/build.js:2642 templates/js/translated/order.js:2056
msgid "Responsible"
msgstr ""
@@ -929,7 +932,7 @@ msgstr ""
#: build/models.py:289 build/templates/build/detail.html:101
#: company/templates/company/manufacturer_part.html:107
#: company/templates/company/supplier_part.html:188
-#: part/templates/part/part_base.html:361 stock/models.py:658
+#: part/templates/part/part_base.html:376 stock/models.py:674
#: stock/templates/stock/item_base.html:203
msgid "External Link"
msgstr ""
@@ -968,11 +971,11 @@ msgstr ""
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr ""
-#: build/models.py:1191 order/models.py:1393
+#: build/models.py:1191 order/models.py:1416
msgid "Stock item is over-allocated"
msgstr ""
-#: build/models.py:1197 order/models.py:1396
+#: build/models.py:1197 order/models.py:1419
msgid "Allocation quantity must be greater than zero"
msgstr ""
@@ -994,18 +997,18 @@ msgstr ""
msgid "Build to allocate parts"
msgstr "パーツを割り当てるためにビルドする"
-#: build/models.py:1346 build/serializers.py:663 order/serializers.py:1039
-#: order/serializers.py:1060 stock/serializers.py:398 stock/serializers.py:758
-#: stock/serializers.py:884 stock/templates/stock/item_base.html:10
+#: build/models.py:1346 build/serializers.py:663 order/serializers.py:1032
+#: order/serializers.py:1053 stock/serializers.py:392 stock/serializers.py:757
+#: stock/serializers.py:883 stock/templates/stock/item_base.html:10
#: stock/templates/stock/item_base.html:23
#: stock/templates/stock/item_base.html:197
#: templates/js/translated/build.js:790 templates/js/translated/build.js:795
#: templates/js/translated/build.js:2196 templates/js/translated/build.js:2747
-#: templates/js/translated/order.js:107 templates/js/translated/order.js:3181
-#: templates/js/translated/order.js:3483 templates/js/translated/order.js:3488
-#: templates/js/translated/order.js:3583 templates/js/translated/order.js:3675
-#: templates/js/translated/stock.js:587 templates/js/translated/stock.js:752
-#: templates/js/translated/stock.js:2587
+#: templates/js/translated/order.js:107 templates/js/translated/order.js:3192
+#: templates/js/translated/order.js:3494 templates/js/translated/order.js:3499
+#: templates/js/translated/order.js:3594 templates/js/translated/order.js:3686
+#: templates/js/translated/stock.js:606 templates/js/translated/stock.js:771
+#: templates/js/translated/stock.js:2605
msgid "Stock Item"
msgstr "在庫商品"
@@ -1015,12 +1018,10 @@ msgstr ""
#: build/models.py:1359 build/serializers.py:192
#: build/templates/build/build_base.html:85
-#: build/templates/build/detail.html:34 common/models.py:1776
-#: company/templates/company/supplier_part.html:341 order/models.py:911
-#: order/models.py:1437 order/serializers.py:1213
-#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:40
-#: part/models.py:2665 part/templates/part/detail.html:938
-#: part/templates/part/detail.html:1024
+#: build/templates/build/detail.html:34 common/models.py:1788
+#: order/models.py:934 order/models.py:1460 order/serializers.py:1206
+#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:223
+#: part/forms.py:40 part/models.py:3278
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_build_order_base.html:113
@@ -1028,25 +1029,29 @@ msgstr ""
#: report/templates/report/inventree_so_report.html:91
#: report/templates/report/inventree_test_report_base.html:81
#: report/templates/report/inventree_test_report_base.html:139
-#: stock/serializers.py:291 stock/templates/stock/item_base.html:290
+#: stock/admin.py:86 stock/serializers.py:285
+#: stock/templates/stock/item_base.html:290
#: stock/templates/stock/item_base.html:298
#: templates/email/build_order_completed.html:18
-#: templates/js/translated/barcode.js:481 templates/js/translated/bom.js:717
-#: templates/js/translated/bom.js:905 templates/js/translated/build.js:474
+#: templates/js/translated/barcode.js:481 templates/js/translated/bom.js:730
+#: templates/js/translated/bom.js:913 templates/js/translated/build.js:474
#: templates/js/translated/build.js:626 templates/js/translated/build.js:817
#: templates/js/translated/build.js:1236 templates/js/translated/build.js:1737
#: templates/js/translated/build.js:2197
+#: templates/js/translated/company.js:1159
#: templates/js/translated/model_renderers.js:120
-#: templates/js/translated/order.js:123 templates/js/translated/order.js:1137
-#: templates/js/translated/order.js:2257 templates/js/translated/order.js:2487
-#: templates/js/translated/order.js:3182 templates/js/translated/order.js:3502
-#: templates/js/translated/order.js:3589 templates/js/translated/order.js:3681
-#: templates/js/translated/order.js:3824 templates/js/translated/order.js:4329
-#: templates/js/translated/part.js:1036 templates/js/translated/part.js:2220
-#: templates/js/translated/part.js:2689 templates/js/translated/part.js:2730
-#: templates/js/translated/part.js:2808 templates/js/translated/stock.js:458
-#: templates/js/translated/stock.js:612 templates/js/translated/stock.js:782
-#: templates/js/translated/stock.js:2636 templates/js/translated/stock.js:2721
+#: templates/js/translated/order.js:123 templates/js/translated/order.js:1171
+#: templates/js/translated/order.js:2296 templates/js/translated/order.js:2514
+#: templates/js/translated/order.js:3193 templates/js/translated/order.js:3513
+#: templates/js/translated/order.js:3600 templates/js/translated/order.js:3692
+#: templates/js/translated/order.js:3839 templates/js/translated/order.js:4330
+#: templates/js/translated/part.js:1063 templates/js/translated/part.js:2546
+#: templates/js/translated/pricing.js:114
+#: templates/js/translated/pricing.js:207
+#: templates/js/translated/pricing.js:255
+#: templates/js/translated/pricing.js:349 templates/js/translated/stock.js:477
+#: templates/js/translated/stock.js:631 templates/js/translated/stock.js:801
+#: templates/js/translated/stock.js:2654 templates/js/translated/stock.js:2739
msgid "Quantity"
msgstr "数量"
@@ -1087,10 +1092,10 @@ msgstr ""
msgid "Enter quantity for build output"
msgstr ""
-#: build/serializers.py:207 build/serializers.py:683 order/models.py:323
-#: order/serializers.py:304 order/serializers.py:459 part/serializers.py:558
-#: part/serializers.py:991 stock/models.py:518 stock/models.py:1253
-#: stock/serializers.py:300
+#: build/serializers.py:207 build/serializers.py:683 order/models.py:327
+#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:644
+#: part/serializers.py:1015 stock/models.py:534 stock/models.py:1269
+#: stock/serializers.py:294
msgid "Quantity must be greater than zero"
msgstr ""
@@ -1102,9 +1107,9 @@ msgstr ""
msgid "Integer quantity required, as the bill of materials contains trackable parts"
msgstr ""
-#: build/serializers.py:231 order/serializers.py:472 order/serializers.py:1217
-#: stock/serializers.py:309 templates/js/translated/order.js:1507
-#: templates/js/translated/stock.js:271 templates/js/translated/stock.js:459
+#: build/serializers.py:231 order/serializers.py:463 order/serializers.py:1210
+#: stock/serializers.py:303 templates/js/translated/order.js:1541
+#: templates/js/translated/stock.js:290 templates/js/translated/stock.js:478
msgid "Serial Numbers"
msgstr ""
@@ -1120,7 +1125,7 @@ msgstr ""
msgid "Automatically allocate required items with matching serial numbers"
msgstr ""
-#: build/serializers.py:281 stock/api.py:589
+#: build/serializers.py:281 stock/api.py:599
msgid "The following serial numbers already exist or are invalid"
msgstr ""
@@ -1128,18 +1133,18 @@ msgstr ""
msgid "A list of build outputs must be provided"
msgstr ""
-#: build/serializers.py:369 order/serializers.py:445 order/serializers.py:556
-#: stock/serializers.py:320 stock/serializers.py:455 stock/serializers.py:536
-#: stock/serializers.py:919 stock/serializers.py:1152
+#: build/serializers.py:369 order/serializers.py:436 order/serializers.py:547
+#: stock/serializers.py:314 stock/serializers.py:449 stock/serializers.py:530
+#: stock/serializers.py:918 stock/serializers.py:1151
#: stock/templates/stock/item_base.html:388
#: templates/js/translated/barcode.js:480
#: templates/js/translated/barcode.js:724 templates/js/translated/build.js:802
-#: templates/js/translated/build.js:1749 templates/js/translated/order.js:1534
-#: templates/js/translated/order.js:3495 templates/js/translated/order.js:3600
-#: templates/js/translated/order.js:3608 templates/js/translated/order.js:3689
-#: templates/js/translated/part.js:181 templates/js/translated/stock.js:588
-#: templates/js/translated/stock.js:753 templates/js/translated/stock.js:960
-#: templates/js/translated/stock.js:1856 templates/js/translated/stock.js:2528
+#: templates/js/translated/build.js:1749 templates/js/translated/order.js:1568
+#: templates/js/translated/order.js:3506 templates/js/translated/order.js:3611
+#: templates/js/translated/order.js:3619 templates/js/translated/order.js:3700
+#: templates/js/translated/part.js:177 templates/js/translated/stock.js:607
+#: templates/js/translated/stock.js:772 templates/js/translated/stock.js:979
+#: templates/js/translated/stock.js:1875 templates/js/translated/stock.js:2546
msgid "Location"
msgstr ""
@@ -1148,12 +1153,13 @@ msgid "Location for completed build outputs"
msgstr ""
#: build/serializers.py:376 build/templates/build/build_base.html:145
-#: build/templates/build/detail.html:62 order/models.py:651
-#: order/serializers.py:482 stock/templates/stock/item_base.html:421
+#: build/templates/build/detail.html:62 order/models.py:670
+#: order/serializers.py:473 stock/admin.py:89
+#: stock/templates/stock/item_base.html:421
#: templates/js/translated/barcode.js:214 templates/js/translated/build.js:2614
-#: templates/js/translated/order.js:1643 templates/js/translated/order.js:1992
-#: templates/js/translated/order.js:2831 templates/js/translated/stock.js:1831
-#: templates/js/translated/stock.js:2605 templates/js/translated/stock.js:2737
+#: templates/js/translated/order.js:1677 templates/js/translated/order.js:2026
+#: templates/js/translated/order.js:2842 templates/js/translated/stock.js:1850
+#: templates/js/translated/stock.js:2623 templates/js/translated/stock.js:2755
msgid "Status"
msgstr "ステータス"
@@ -1213,7 +1219,7 @@ msgstr ""
msgid "Required stock has not been fully allocated"
msgstr ""
-#: build/serializers.py:545 order/serializers.py:208 order/serializers.py:1107
+#: build/serializers.py:545 order/serializers.py:202 order/serializers.py:1100
msgid "Accept Incomplete"
msgstr ""
@@ -1229,8 +1235,8 @@ msgstr ""
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:595 build/serializers.py:640 part/models.py:2801
-#: part/models.py:2935
+#: build/serializers.py:595 build/serializers.py:640 part/models.py:3414
+#: part/models.py:3570
msgid "BOM Item"
msgstr ""
@@ -1246,11 +1252,11 @@ msgstr ""
msgid "bom_item.part must point to the same part as the build order"
msgstr ""
-#: build/serializers.py:669 stock/serializers.py:771
+#: build/serializers.py:669 stock/serializers.py:770
msgid "Item must be in stock"
msgstr ""
-#: build/serializers.py:727 order/serializers.py:1097
+#: build/serializers.py:727 order/serializers.py:1090
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr ""
@@ -1267,7 +1273,7 @@ msgstr ""
msgid "This stock item has already been allocated to this build output"
msgstr ""
-#: build/serializers.py:768 order/serializers.py:1381
+#: build/serializers.py:768 order/serializers.py:1374
msgid "Allocation items must be provided"
msgstr ""
@@ -1382,13 +1388,13 @@ msgid "Stock has not been fully allocated to this Build Order"
msgstr ""
#: build/templates/build/build_base.html:154
-#: build/templates/build/detail.html:131 order/models.py:924
+#: build/templates/build/detail.html:131 order/models.py:947
#: order/templates/order/order_base.html:171
#: order/templates/order/sales_order_base.html:164
#: report/templates/report/inventree_build_order_base.html:125
-#: templates/js/translated/build.js:2654 templates/js/translated/order.js:2009
-#: templates/js/translated/order.js:2351 templates/js/translated/order.js:2847
-#: templates/js/translated/order.js:3887 templates/js/translated/part.js:1051
+#: templates/js/translated/build.js:2654 templates/js/translated/order.js:2043
+#: templates/js/translated/order.js:2374 templates/js/translated/order.js:2858
+#: templates/js/translated/order.js:3884 templates/js/translated/part.js:1078
msgid "Target Date"
msgstr ""
@@ -1401,29 +1407,29 @@ msgstr ""
#: build/templates/build/build_base.html:204
#: order/templates/order/order_base.html:107
#: order/templates/order/sales_order_base.html:94
-#: templates/js/translated/table_filters.js:328
-#: templates/js/translated/table_filters.js:369
-#: templates/js/translated/table_filters.js:399
+#: templates/js/translated/table_filters.js:332
+#: templates/js/translated/table_filters.js:373
+#: templates/js/translated/table_filters.js:403
msgid "Overdue"
msgstr ""
#: build/templates/build/build_base.html:166
#: build/templates/build/detail.html:67 build/templates/build/detail.html:142
#: order/templates/order/sales_order_base.html:171
-#: templates/js/translated/table_filters.js:408
+#: templates/js/translated/table_filters.js:412
msgid "Completed"
msgstr ""
#: build/templates/build/build_base.html:179
-#: build/templates/build/detail.html:94 order/models.py:1119
-#: order/models.py:1213 order/models.py:1344
+#: build/templates/build/detail.html:94 order/models.py:1142
+#: order/models.py:1236 order/models.py:1367
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
#: report/templates/report/inventree_build_order_base.html:135
#: report/templates/report/inventree_so_report.html:77
#: stock/templates/stock/item_base.html:368
#: templates/email/overdue_sales_order.html:15
-#: templates/js/translated/order.js:2793
+#: templates/js/translated/order.js:2804 templates/js/translated/pricing.js:637
msgid "Sales Order"
msgstr ""
@@ -1449,8 +1455,8 @@ msgstr ""
msgid "Stock can be taken from any available location."
msgstr ""
-#: build/templates/build/detail.html:49 order/models.py:1037
-#: templates/js/translated/order.js:1644 templates/js/translated/order.js:2393
+#: build/templates/build/detail.html:49 order/models.py:1060
+#: templates/js/translated/order.js:1678 templates/js/translated/order.js:2416
msgid "Destination"
msgstr ""
@@ -1462,14 +1468,14 @@ msgstr ""
msgid "Allocated Parts"
msgstr ""
-#: build/templates/build/detail.html:80
+#: build/templates/build/detail.html:80 stock/admin.py:88
#: stock/templates/stock/item_base.html:168
#: templates/js/translated/build.js:1240
#: templates/js/translated/model_renderers.js:124
-#: templates/js/translated/stock.js:1026 templates/js/translated/stock.js:1845
-#: templates/js/translated/stock.js:2744
-#: templates/js/translated/table_filters.js:167
-#: templates/js/translated/table_filters.js:258
+#: templates/js/translated/stock.js:1045 templates/js/translated/stock.js:1864
+#: templates/js/translated/stock.js:2762
+#: templates/js/translated/table_filters.js:171
+#: templates/js/translated/table_filters.js:262
msgid "Batch"
msgstr ""
@@ -1527,7 +1533,7 @@ msgstr "注文必須パーツ"
#: build/templates/build/detail.html:187
#: company/templates/company/detail.html:37
#: company/templates/company/detail.html:85
-#: part/templates/part/category.html:178 templates/js/translated/order.js:1177
+#: part/templates/part/category.html:178 templates/js/translated/order.js:1211
msgid "Order Parts"
msgstr "パーツの注文"
@@ -1597,10 +1603,10 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:151
#: company/templates/company/manufacturer_part_sidebar.html:9
#: order/templates/order/po_sidebar.html:9
-#: order/templates/order/purchase_order_detail.html:82
-#: order/templates/order/sales_order_detail.html:135
-#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:212
-#: part/templates/part/part_sidebar.html:57 stock/templates/stock/item.html:117
+#: order/templates/order/purchase_order_detail.html:86
+#: order/templates/order/sales_order_detail.html:140
+#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:210
+#: part/templates/part/part_sidebar.html:55 stock/templates/stock/item.html:117
#: stock/templates/stock/stock_sidebar.html:23
msgid "Attachments"
msgstr ""
@@ -1617,7 +1623,7 @@ msgstr ""
msgid "All untracked stock items have been allocated"
msgstr ""
-#: build/templates/build/index.html:18 part/templates/part/detail.html:318
+#: build/templates/build/index.html:18 part/templates/part/detail.html:316
msgid "New Build Order"
msgstr ""
@@ -1734,7 +1740,7 @@ msgstr ""
msgid "Show the `about` modal only to superusers"
msgstr ""
-#: common/models.py:833 company/models.py:94 company/models.py:95
+#: common/models.py:833 company/models.py:98 company/models.py:99
msgid "Company name"
msgstr ""
@@ -1902,9 +1908,9 @@ msgstr ""
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:1002 part/models.py:2474 report/models.py:158
-#: templates/js/translated/table_filters.js:38
-#: templates/js/translated/table_filters.js:492
+#: common/models.py:1002 part/admin.py:41 part/models.py:3087
+#: report/models.py:158 templates/js/translated/table_filters.js:38
+#: templates/js/translated/table_filters.js:496
msgid "Template"
msgstr "テンプレート"
@@ -1912,9 +1918,10 @@ msgstr "テンプレート"
msgid "Parts are templates by default"
msgstr "パーツはデフォルトのテンプレートです"
-#: common/models.py:1009 part/models.py:908 templates/js/translated/bom.js:1531
-#: templates/js/translated/table_filters.js:184
-#: templates/js/translated/table_filters.js:455
+#: common/models.py:1009 part/admin.py:37 part/admin.py:229 part/models.py:927
+#: templates/js/translated/bom.js:1594
+#: templates/js/translated/table_filters.js:188
+#: templates/js/translated/table_filters.js:459
msgid "Assembly"
msgstr "アセンブリ"
@@ -1922,8 +1929,8 @@ msgstr "アセンブリ"
msgid "Parts can be assembled from other components by default"
msgstr "パーツはデフォルトで他のコンポーネントから組み立てることができます"
-#: common/models.py:1016 part/models.py:914
-#: templates/js/translated/table_filters.js:463
+#: common/models.py:1016 part/admin.py:38 part/models.py:933
+#: templates/js/translated/table_filters.js:467
msgid "Component"
msgstr "コンポーネント"
@@ -1931,7 +1938,7 @@ msgstr "コンポーネント"
msgid "Parts can be used as sub-components by default"
msgstr "パーツはデフォルトでサブコンポーネントとして使用できます"
-#: common/models.py:1023 part/models.py:925
+#: common/models.py:1023 part/admin.py:39 part/models.py:944
msgid "Purchaseable"
msgstr "購入可能"
@@ -1939,8 +1946,8 @@ msgstr "購入可能"
msgid "Parts are purchaseable by default"
msgstr "パーツはデフォルトで購入可能です"
-#: common/models.py:1030 part/models.py:930
-#: templates/js/translated/table_filters.js:484
+#: common/models.py:1030 part/admin.py:40 part/models.py:949
+#: templates/js/translated/table_filters.js:488
msgid "Salable"
msgstr ""
@@ -1948,10 +1955,10 @@ msgstr ""
msgid "Parts are salable by default"
msgstr "パーツはデフォルトで販売可能です"
-#: common/models.py:1037 part/models.py:920
+#: common/models.py:1037 part/admin.py:42 part/models.py:939
#: templates/js/translated/table_filters.js:46
-#: templates/js/translated/table_filters.js:116
-#: templates/js/translated/table_filters.js:496
+#: templates/js/translated/table_filters.js:120
+#: templates/js/translated/table_filters.js:500
msgid "Trackable"
msgstr "追跡可能"
@@ -1959,10 +1966,10 @@ msgstr "追跡可能"
msgid "Parts are trackable by default"
msgstr "パーツはデフォルトで追跡可能です"
-#: common/models.py:1044 part/models.py:940
+#: common/models.py:1044 part/admin.py:43 part/models.py:959
#: part/templates/part/part_base.html:156
#: templates/js/translated/table_filters.js:42
-#: templates/js/translated/table_filters.js:500
+#: templates/js/translated/table_filters.js:504
msgid "Virtual"
msgstr ""
@@ -1979,791 +1986,837 @@ msgid "Display the import wizard in some part views"
msgstr ""
#: common/models.py:1058
-msgid "Show Price in Forms"
-msgstr ""
-
-#: common/models.py:1059
-msgid "Display part price in some forms"
-msgstr ""
-
-#: common/models.py:1070
-msgid "Show Price in BOM"
-msgstr ""
-
-#: common/models.py:1071
-msgid "Include pricing information in BOM tables"
-msgstr ""
-
-#: common/models.py:1082
-msgid "Show Price History"
-msgstr ""
-
-#: common/models.py:1083
-msgid "Display historical pricing for Part"
-msgstr ""
-
-#: common/models.py:1089
msgid "Show related parts"
msgstr ""
-#: common/models.py:1090
+#: common/models.py:1059
msgid "Display related parts for a part"
msgstr ""
-#: common/models.py:1096
+#: common/models.py:1065
msgid "Create initial stock"
msgstr ""
-#: common/models.py:1097
+#: common/models.py:1066
msgid "Create initial stock on part creation"
msgstr ""
-#: common/models.py:1103
-msgid "Internal Prices"
-msgstr ""
-
-#: common/models.py:1104
-msgid "Enable internal prices for parts"
-msgstr ""
-
-#: common/models.py:1110
-msgid "Internal Price as BOM-Price"
-msgstr ""
-
-#: common/models.py:1111
-msgid "Use the internal price (if set) in BOM-price calculations"
-msgstr ""
-
-#: common/models.py:1117
+#: common/models.py:1072
msgid "Part Name Display Format"
msgstr ""
-#: common/models.py:1118
+#: common/models.py:1073
msgid "Format to display the part name"
msgstr ""
-#: common/models.py:1125
+#: common/models.py:1080
msgid "Part Category Default Icon"
msgstr ""
-#: common/models.py:1126
+#: common/models.py:1081
msgid "Part category default icon (empty means no icon)"
msgstr ""
-#: common/models.py:1131
-msgid "Enable label printing"
+#: common/models.py:1086
+msgid "Pricing Decimal Places"
msgstr ""
-#: common/models.py:1132
-msgid "Enable label printing from the web interface"
+#: common/models.py:1087
+msgid "Number of decimal places to display when rendering pricing data"
msgstr ""
-#: common/models.py:1138
-msgid "Label Image DPI"
+#: common/models.py:1097
+msgid "Pricing Rebuild Time"
msgstr ""
-#: common/models.py:1139
-msgid "DPI resolution when generating image files to supply to label printing plugins"
+#: common/models.py:1098
+msgid "Number of days before part pricing is automatically updated"
msgstr ""
-#: common/models.py:1148
-msgid "Enable Reports"
-msgstr ""
-
-#: common/models.py:1149
-msgid "Enable generation of reports"
-msgstr ""
-
-#: common/models.py:1155 templates/stats.html:25
-msgid "Debug Mode"
-msgstr "デバッグモード"
-
-#: common/models.py:1156
-msgid "Generate reports in debug mode (HTML output)"
-msgstr ""
-
-#: common/models.py:1162
-msgid "Page Size"
-msgstr ""
-
-#: common/models.py:1163
-msgid "Default page size for PDF reports"
-msgstr ""
-
-#: common/models.py:1173
-msgid "Enable Test Reports"
-msgstr ""
-
-#: common/models.py:1174
-msgid "Enable generation of test reports"
-msgstr ""
-
-#: common/models.py:1180
-msgid "Attach Test Reports"
-msgstr ""
-
-#: common/models.py:1181
-msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item"
-msgstr ""
-
-#: common/models.py:1187
-msgid "Globally Unique Serials"
-msgstr ""
-
-#: common/models.py:1188
-msgid "Serial numbers for stock items must be globally unique"
-msgstr ""
-
-#: common/models.py:1194
-msgid "Batch Code Template"
-msgstr ""
-
-#: common/models.py:1195
-msgid "Template for generating default batch codes for stock items"
-msgstr ""
-
-#: common/models.py:1200
-msgid "Stock Expiry"
-msgstr ""
-
-#: common/models.py:1201
-msgid "Enable stock expiry functionality"
-msgstr ""
-
-#: common/models.py:1207
-msgid "Sell Expired Stock"
-msgstr ""
-
-#: common/models.py:1208
-msgid "Allow sale of expired stock"
-msgstr ""
-
-#: common/models.py:1214
-msgid "Stock Stale Time"
-msgstr ""
-
-#: common/models.py:1215
-msgid "Number of days stock items are considered stale before expiring"
-msgstr ""
-
-#: common/models.py:1217
+#: common/models.py:1099 common/models.py:1208
msgid "days"
msgstr ""
-#: common/models.py:1222
+#: common/models.py:1108
+msgid "Internal Prices"
+msgstr ""
+
+#: common/models.py:1109
+msgid "Enable internal prices for parts"
+msgstr ""
+
+#: common/models.py:1115
+msgid "Internal Price Override"
+msgstr ""
+
+#: common/models.py:1116
+msgid "If available, internal prices override price range calculations"
+msgstr ""
+
+#: common/models.py:1122
+msgid "Enable label printing"
+msgstr ""
+
+#: common/models.py:1123
+msgid "Enable label printing from the web interface"
+msgstr ""
+
+#: common/models.py:1129
+msgid "Label Image DPI"
+msgstr ""
+
+#: common/models.py:1130
+msgid "DPI resolution when generating image files to supply to label printing plugins"
+msgstr ""
+
+#: common/models.py:1139
+msgid "Enable Reports"
+msgstr ""
+
+#: common/models.py:1140
+msgid "Enable generation of reports"
+msgstr ""
+
+#: common/models.py:1146 templates/stats.html:25
+msgid "Debug Mode"
+msgstr "デバッグモード"
+
+#: common/models.py:1147
+msgid "Generate reports in debug mode (HTML output)"
+msgstr ""
+
+#: common/models.py:1153
+msgid "Page Size"
+msgstr ""
+
+#: common/models.py:1154
+msgid "Default page size for PDF reports"
+msgstr ""
+
+#: common/models.py:1164
+msgid "Enable Test Reports"
+msgstr ""
+
+#: common/models.py:1165
+msgid "Enable generation of test reports"
+msgstr ""
+
+#: common/models.py:1171
+msgid "Attach Test Reports"
+msgstr ""
+
+#: common/models.py:1172
+msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item"
+msgstr ""
+
+#: common/models.py:1178
+msgid "Globally Unique Serials"
+msgstr ""
+
+#: common/models.py:1179
+msgid "Serial numbers for stock items must be globally unique"
+msgstr ""
+
+#: common/models.py:1185
+msgid "Batch Code Template"
+msgstr ""
+
+#: common/models.py:1186
+msgid "Template for generating default batch codes for stock items"
+msgstr ""
+
+#: common/models.py:1191
+msgid "Stock Expiry"
+msgstr ""
+
+#: common/models.py:1192
+msgid "Enable stock expiry functionality"
+msgstr ""
+
+#: common/models.py:1198
+msgid "Sell Expired Stock"
+msgstr ""
+
+#: common/models.py:1199
+msgid "Allow sale of expired stock"
+msgstr ""
+
+#: common/models.py:1205
+msgid "Stock Stale Time"
+msgstr ""
+
+#: common/models.py:1206
+msgid "Number of days stock items are considered stale before expiring"
+msgstr ""
+
+#: common/models.py:1213
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:1223
+#: common/models.py:1214
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:1229
+#: common/models.py:1220
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:1230
+#: common/models.py:1221
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:1236
+#: common/models.py:1227
msgid "Stock Location Default Icon"
msgstr ""
-#: common/models.py:1237
+#: common/models.py:1228
msgid "Stock location default icon (empty means no icon)"
msgstr ""
-#: common/models.py:1242
+#: common/models.py:1233
msgid "Build Order Reference Pattern"
msgstr ""
-#: common/models.py:1243
+#: common/models.py:1234
msgid "Required pattern for generating Build Order reference field"
msgstr ""
-#: common/models.py:1249
+#: common/models.py:1240
msgid "Sales Order Reference Pattern"
msgstr ""
-#: common/models.py:1250
+#: common/models.py:1241
msgid "Required pattern for generating Sales Order reference field"
msgstr ""
-#: common/models.py:1256
+#: common/models.py:1247
msgid "Sales Order Default Shipment"
msgstr ""
-#: common/models.py:1257
+#: common/models.py:1248
msgid "Enable creation of default shipment with sales orders"
msgstr ""
-#: common/models.py:1263
+#: common/models.py:1254
+msgid "Edit Completed Sales Orders"
+msgstr ""
+
+#: common/models.py:1255
+msgid "Allow editing of sales orders after they have been shipped or completed"
+msgstr ""
+
+#: common/models.py:1261
msgid "Purchase Order Reference Pattern"
msgstr ""
-#: common/models.py:1264
+#: common/models.py:1262
msgid "Required pattern for generating Purchase Order reference field"
msgstr ""
-#: common/models.py:1271
+#: common/models.py:1268
+msgid "Edit Completed Purchase Orders"
+msgstr ""
+
+#: common/models.py:1269
+msgid "Allow editing of purchase orders after they have been shipped or completed"
+msgstr ""
+
+#: common/models.py:1276
msgid "Enable password forgot"
msgstr ""
-#: common/models.py:1272
+#: common/models.py:1277
msgid "Enable password forgot function on the login pages"
msgstr ""
-#: common/models.py:1278
+#: common/models.py:1283
msgid "Enable registration"
msgstr ""
-#: common/models.py:1279
+#: common/models.py:1284
msgid "Enable self-registration for users on the login pages"
msgstr ""
-#: common/models.py:1285
+#: common/models.py:1290
msgid "Enable SSO"
msgstr ""
-#: common/models.py:1286
+#: common/models.py:1291
msgid "Enable SSO on the login pages"
msgstr ""
-#: common/models.py:1292
+#: common/models.py:1297
msgid "Email required"
msgstr ""
-#: common/models.py:1293
+#: common/models.py:1298
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/models.py:1299
+#: common/models.py:1304
msgid "Auto-fill SSO users"
msgstr ""
-#: common/models.py:1300
+#: common/models.py:1305
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/models.py:1306
+#: common/models.py:1311
msgid "Mail twice"
msgstr ""
-#: common/models.py:1307
+#: common/models.py:1312
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/models.py:1313
+#: common/models.py:1318
msgid "Password twice"
msgstr ""
-#: common/models.py:1314
+#: common/models.py:1319
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/models.py:1320
+#: common/models.py:1325
msgid "Group on signup"
msgstr ""
-#: common/models.py:1321
+#: common/models.py:1326
msgid "Group to which new users are assigned on registration"
msgstr ""
-#: common/models.py:1327
+#: common/models.py:1332
msgid "Enforce MFA"
msgstr ""
-#: common/models.py:1328
+#: common/models.py:1333
msgid "Users must use multifactor security."
msgstr ""
-#: common/models.py:1334
+#: common/models.py:1339
msgid "Check plugins on startup"
msgstr ""
-#: common/models.py:1335
+#: common/models.py:1340
msgid "Check that all plugins are installed on startup - enable in container environments"
msgstr ""
-#: common/models.py:1342
+#: common/models.py:1347
msgid "Check plugin signatures"
msgstr ""
-#: common/models.py:1343
+#: common/models.py:1348
msgid "Check and show signatures for plugins"
msgstr ""
-#: common/models.py:1350
+#: common/models.py:1355
msgid "Enable URL integration"
msgstr ""
-#: common/models.py:1351
+#: common/models.py:1356
msgid "Enable plugins to add URL routes"
msgstr ""
-#: common/models.py:1358
+#: common/models.py:1363
msgid "Enable navigation integration"
msgstr ""
-#: common/models.py:1359
+#: common/models.py:1364
msgid "Enable plugins to integrate into navigation"
msgstr ""
-#: common/models.py:1366
+#: common/models.py:1371
msgid "Enable app integration"
msgstr ""
-#: common/models.py:1367
+#: common/models.py:1372
msgid "Enable plugins to add apps"
msgstr ""
-#: common/models.py:1374
+#: common/models.py:1379
msgid "Enable schedule integration"
msgstr ""
-#: common/models.py:1375
+#: common/models.py:1380
msgid "Enable plugins to run scheduled tasks"
msgstr ""
-#: common/models.py:1382
+#: common/models.py:1387
msgid "Enable event integration"
msgstr ""
-#: common/models.py:1383
+#: common/models.py:1388
msgid "Enable plugins to respond to internal events"
msgstr ""
-#: common/models.py:1402 common/models.py:1737
+#: common/models.py:1407 common/models.py:1749
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:1424
+#: common/models.py:1429
msgid "Show subscribed parts"
msgstr ""
-#: common/models.py:1425
+#: common/models.py:1430
msgid "Show subscribed parts on the homepage"
msgstr ""
-#: common/models.py:1431
+#: common/models.py:1436
msgid "Show subscribed categories"
msgstr ""
-#: common/models.py:1432
+#: common/models.py:1437
msgid "Show subscribed part categories on the homepage"
msgstr ""
-#: common/models.py:1438
+#: common/models.py:1443
msgid "Show latest parts"
msgstr ""
-#: common/models.py:1439
+#: common/models.py:1444
msgid "Show latest parts on the homepage"
msgstr ""
-#: common/models.py:1445
+#: common/models.py:1450
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:1446
+#: common/models.py:1451
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:1452
+#: common/models.py:1457
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:1453
+#: common/models.py:1458
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:1459
+#: common/models.py:1464
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:1460
+#: common/models.py:1465
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:1466
+#: common/models.py:1471
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:1467
+#: common/models.py:1472
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:1473
+#: common/models.py:1478
msgid "Show low stock"
msgstr ""
-#: common/models.py:1474
+#: common/models.py:1479
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:1480
+#: common/models.py:1485
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:1481
+#: common/models.py:1486
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:1487
+#: common/models.py:1492
msgid "Show needed stock"
msgstr ""
-#: common/models.py:1488
+#: common/models.py:1493
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:1494
+#: common/models.py:1499
msgid "Show expired stock"
msgstr ""
-#: common/models.py:1495
+#: common/models.py:1500
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:1501
+#: common/models.py:1506
msgid "Show stale stock"
msgstr ""
-#: common/models.py:1502
+#: common/models.py:1507
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:1508
+#: common/models.py:1513
msgid "Show pending builds"
msgstr ""
-#: common/models.py:1509
+#: common/models.py:1514
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:1515
+#: common/models.py:1520
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:1516
+#: common/models.py:1521
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:1522
+#: common/models.py:1527
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:1523
+#: common/models.py:1528
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:1529
+#: common/models.py:1534
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:1530
+#: common/models.py:1535
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:1536
+#: common/models.py:1541
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:1537
+#: common/models.py:1542
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:1543
+#: common/models.py:1548
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:1544
+#: common/models.py:1549
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:1550
+#: common/models.py:1555
+msgid "Show News"
+msgstr ""
+
+#: common/models.py:1556
+msgid "Show news on the homepage"
+msgstr ""
+
+#: common/models.py:1562
msgid "Inline label display"
msgstr ""
-#: common/models.py:1551
+#: common/models.py:1563
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1557
+#: common/models.py:1569
msgid "Inline report display"
msgstr ""
-#: common/models.py:1558
+#: common/models.py:1570
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1564
+#: common/models.py:1576
msgid "Search Parts"
msgstr ""
-#: common/models.py:1565
+#: common/models.py:1577
msgid "Display parts in search preview window"
msgstr ""
-#: common/models.py:1571
+#: common/models.py:1583
msgid "Seach Supplier Parts"
msgstr ""
-#: common/models.py:1572
+#: common/models.py:1584
msgid "Display supplier parts in search preview window"
msgstr ""
-#: common/models.py:1578
+#: common/models.py:1590
msgid "Search Manufacturer Parts"
msgstr ""
-#: common/models.py:1579
+#: common/models.py:1591
msgid "Display manufacturer parts in search preview window"
msgstr ""
-#: common/models.py:1585
+#: common/models.py:1597
msgid "Hide Inactive Parts"
msgstr ""
-#: common/models.py:1586
+#: common/models.py:1598
msgid "Excluded inactive parts from search preview window"
msgstr ""
-#: common/models.py:1592
+#: common/models.py:1604
msgid "Search Categories"
msgstr ""
-#: common/models.py:1593
+#: common/models.py:1605
msgid "Display part categories in search preview window"
msgstr ""
-#: common/models.py:1599
+#: common/models.py:1611
msgid "Search Stock"
msgstr ""
-#: common/models.py:1600
+#: common/models.py:1612
msgid "Display stock items in search preview window"
msgstr ""
-#: common/models.py:1606
+#: common/models.py:1618
msgid "Hide Unavailable Stock Items"
msgstr ""
-#: common/models.py:1607
+#: common/models.py:1619
msgid "Exclude stock items which are not available from the search preview window"
msgstr ""
-#: common/models.py:1613
+#: common/models.py:1625
msgid "Search Locations"
msgstr ""
-#: common/models.py:1614
+#: common/models.py:1626
msgid "Display stock locations in search preview window"
msgstr ""
-#: common/models.py:1620
+#: common/models.py:1632
msgid "Search Companies"
msgstr ""
-#: common/models.py:1621
+#: common/models.py:1633
msgid "Display companies in search preview window"
msgstr ""
-#: common/models.py:1627
+#: common/models.py:1639
msgid "Search Build Orders"
msgstr ""
-#: common/models.py:1628
+#: common/models.py:1640
msgid "Display build orders in search preview window"
msgstr ""
-#: common/models.py:1634
+#: common/models.py:1646
msgid "Search Purchase Orders"
msgstr ""
-#: common/models.py:1635
+#: common/models.py:1647
msgid "Display purchase orders in search preview window"
msgstr ""
-#: common/models.py:1641
+#: common/models.py:1653
msgid "Exclude Inactive Purchase Orders"
msgstr ""
-#: common/models.py:1642
+#: common/models.py:1654
msgid "Exclude inactive purchase orders from search preview window"
msgstr ""
-#: common/models.py:1648
+#: common/models.py:1660
msgid "Search Sales Orders"
msgstr ""
-#: common/models.py:1649
+#: common/models.py:1661
msgid "Display sales orders in search preview window"
msgstr ""
-#: common/models.py:1655
+#: common/models.py:1667
msgid "Exclude Inactive Sales Orders"
msgstr ""
-#: common/models.py:1656
+#: common/models.py:1668
msgid "Exclude inactive sales orders from search preview window"
msgstr ""
-#: common/models.py:1662
+#: common/models.py:1674
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:1663
+#: common/models.py:1675
msgid "Number of results to show in each section of the search preview window"
msgstr ""
-#: common/models.py:1669
+#: common/models.py:1681
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:1670
+#: common/models.py:1682
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:1676
+#: common/models.py:1688
msgid "Escape Key Closes Forms"
msgstr ""
-#: common/models.py:1677
+#: common/models.py:1689
msgid "Use the escape key to close modal forms"
msgstr ""
-#: common/models.py:1683
+#: common/models.py:1695
msgid "Fixed Navbar"
msgstr ""
-#: common/models.py:1684
+#: common/models.py:1696
msgid "The navbar position is fixed to the top of the screen"
msgstr ""
-#: common/models.py:1690
+#: common/models.py:1702
msgid "Date Format"
msgstr ""
-#: common/models.py:1691
+#: common/models.py:1703
msgid "Preferred format for displaying dates"
msgstr ""
-#: common/models.py:1705 part/templates/part/detail.html:41
+#: common/models.py:1717 part/templates/part/detail.html:41
msgid "Part Scheduling"
msgstr ""
-#: common/models.py:1706
+#: common/models.py:1718
msgid "Display part scheduling information"
msgstr ""
-#: common/models.py:1712
+#: common/models.py:1724
msgid "Table String Length"
msgstr ""
-#: common/models.py:1713
+#: common/models.py:1725
msgid "Maximimum length limit for strings displayed in table views"
msgstr ""
-#: common/models.py:1777
+#: common/models.py:1789
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1784 company/serializers.py:372
-#: company/templates/company/supplier_part.html:346 order/models.py:952
-#: templates/js/translated/part.js:1103 templates/js/translated/part.js:2225
+#: common/models.py:1796 company/serializers.py:393 order/models.py:975
+#: templates/js/translated/company.js:1164 templates/js/translated/part.js:1130
+#: templates/js/translated/pricing.js:354
msgid "Price"
msgstr ""
-#: common/models.py:1785
+#: common/models.py:1797
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1945 common/models.py:2123
+#: common/models.py:1957 common/models.py:2135
msgid "Endpoint"
msgstr ""
-#: common/models.py:1946
+#: common/models.py:1958
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:1955
+#: common/models.py:1967
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:1960 part/models.py:935 plugin/models.py:100
-#: templates/js/translated/table_filters.js:34
-#: templates/js/translated/table_filters.js:112
-#: templates/js/translated/table_filters.js:324
-#: templates/js/translated/table_filters.js:450
+#: common/models.py:1972 part/admin.py:36 part/models.py:954
+#: plugin/models.py:100 templates/js/translated/table_filters.js:34
+#: templates/js/translated/table_filters.js:116
+#: templates/js/translated/table_filters.js:328
+#: templates/js/translated/table_filters.js:454
msgid "Active"
msgstr ""
-#: common/models.py:1961
+#: common/models.py:1973
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:1975
+#: common/models.py:1987
msgid "Token"
msgstr ""
-#: common/models.py:1976
+#: common/models.py:1988
msgid "Token for access"
msgstr ""
-#: common/models.py:1983
+#: common/models.py:1995
msgid "Secret"
msgstr ""
-#: common/models.py:1984
+#: common/models.py:1996
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:2090
+#: common/models.py:2102
msgid "Message ID"
msgstr "メッセージ ID:"
-#: common/models.py:2091
+#: common/models.py:2103
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:2099
+#: common/models.py:2111
msgid "Host"
msgstr ""
-#: common/models.py:2100
+#: common/models.py:2112
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:2107
+#: common/models.py:2119
msgid "Header"
msgstr ""
-#: common/models.py:2108
+#: common/models.py:2120
msgid "Header of this message"
msgstr ""
-#: common/models.py:2114
+#: common/models.py:2126
msgid "Body"
msgstr ""
-#: common/models.py:2115
+#: common/models.py:2127
msgid "Body of this message"
msgstr ""
-#: common/models.py:2124
+#: common/models.py:2136
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:2129
+#: common/models.py:2141
msgid "Worked on"
msgstr ""
-#: common/models.py:2130
+#: common/models.py:2142
msgid "Was the work on this message finished?"
msgstr ""
+#: common/models.py:2302
+msgid "Id"
+msgstr ""
+
+#: common/models.py:2308 templates/js/translated/news.js:34
+msgid "Title"
+msgstr ""
+
+#: common/models.py:2318 templates/js/translated/news.js:50
+msgid "Published"
+msgstr ""
+
+#: common/models.py:2323 templates/InvenTree/settings/plugin.html:62
+#: templates/InvenTree/settings/plugin_settings.html:33
+#: templates/js/translated/news.js:46
+msgid "Author"
+msgstr ""
+
+#: common/models.py:2328 templates/js/translated/news.js:42
+msgid "Summary"
+msgstr ""
+
+#: common/models.py:2333
+msgid "Read"
+msgstr ""
+
+#: common/models.py:2334
+msgid "Was this news item read?"
+msgstr ""
+
#: common/notifications.py:293
#, python-brace-format
msgid "New {verbose_name}"
@@ -2785,15 +2838,15 @@ msgstr ""
msgid "Error raised by plugin"
msgstr ""
-#: common/views.py:85 order/templates/order/purchase_order_detail.html:23
-#: order/views.py:102 part/views.py:112
+#: common/views.py:85 order/templates/order/purchase_order_detail.html:25
+#: order/views.py:102 part/views.py:107
#: templates/patterns/wizard/upload.html:37
msgid "Upload File"
msgstr ""
#: common/views.py:86 order/views.py:103
#: part/templates/part/import_wizard/ajax_match_fields.html:45
-#: part/views.py:113 templates/patterns/wizard/match_fields.html:51
+#: part/views.py:108 templates/patterns/wizard/match_fields.html:51
msgid "Match Fields"
msgstr ""
@@ -2816,298 +2869,301 @@ msgstr ""
msgid "Previous Step"
msgstr ""
-#: company/models.py:99
+#: company/models.py:103
msgid "Company description"
msgstr ""
-#: company/models.py:100
+#: company/models.py:104
msgid "Description of the company"
msgstr ""
-#: company/models.py:106 company/templates/company/company_base.html:100
+#: company/models.py:110 company/templates/company/company_base.html:100
#: templates/InvenTree/settings/plugin_settings.html:55
-#: templates/js/translated/company.js:448
+#: templates/js/translated/company.js:449
msgid "Website"
msgstr ""
-#: company/models.py:107
+#: company/models.py:111
msgid "Company website URL"
msgstr ""
-#: company/models.py:111 company/templates/company/company_base.html:118
+#: company/models.py:115 company/templates/company/company_base.html:118
msgid "Address"
msgstr ""
-#: company/models.py:112
+#: company/models.py:116
msgid "Company address"
msgstr ""
-#: company/models.py:115
+#: company/models.py:119
msgid "Phone number"
msgstr ""
-#: company/models.py:116
+#: company/models.py:120
msgid "Contact phone number"
msgstr ""
-#: company/models.py:119 company/templates/company/company_base.html:132
+#: company/models.py:123 company/templates/company/company_base.html:132
#: templates/InvenTree/settings/user.html:48
msgid "Email"
msgstr ""
-#: company/models.py:119
+#: company/models.py:123
msgid "Contact email address"
msgstr ""
-#: company/models.py:122 company/templates/company/company_base.html:139
+#: company/models.py:126 company/templates/company/company_base.html:139
msgid "Contact"
msgstr ""
-#: company/models.py:123
+#: company/models.py:127
msgid "Point of contact"
msgstr ""
-#: company/models.py:125
+#: company/models.py:129
msgid "Link to external company information"
msgstr ""
-#: company/models.py:136 part/models.py:829
+#: company/models.py:140 part/models.py:848
msgid "Image"
msgstr ""
-#: company/models.py:139 company/templates/company/detail.html:185
+#: company/models.py:143 company/templates/company/detail.html:185
msgid "Company Notes"
msgstr ""
-#: company/models.py:141
+#: company/models.py:145
msgid "is customer"
msgstr ""
-#: company/models.py:141
+#: company/models.py:145
msgid "Do you sell items to this company?"
msgstr ""
-#: company/models.py:143
+#: company/models.py:147
msgid "is supplier"
msgstr ""
-#: company/models.py:143
+#: company/models.py:147
msgid "Do you purchase items from this company?"
msgstr ""
-#: company/models.py:145
+#: company/models.py:149
msgid "is manufacturer"
msgstr ""
-#: company/models.py:145
+#: company/models.py:149
msgid "Does this company manufacture parts?"
msgstr ""
-#: company/models.py:149 company/serializers.py:378
-#: company/templates/company/company_base.html:106 part/serializers.py:153
-#: part/serializers.py:184 stock/serializers.py:178
+#: company/models.py:153 company/serializers.py:399
+#: company/templates/company/company_base.html:106 part/models.py:2681
+#: part/serializers.py:153 part/serializers.py:181 stock/serializers.py:182
+#: templates/InvenTree/settings/pricing.html:59
msgid "Currency"
msgstr ""
-#: company/models.py:152
+#: company/models.py:156
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:249 company/models.py:483 stock/models.py:600
-#: stock/serializers.py:85 stock/templates/stock/item_base.html:143
-#: templates/js/translated/bom.js:568
+#: company/models.py:253 company/models.py:487 stock/models.py:616
+#: stock/serializers.py:89 stock/templates/stock/item_base.html:143
+#: templates/js/translated/bom.js:581
msgid "Base Part"
msgstr ""
-#: company/models.py:253 company/models.py:487
+#: company/models.py:257 company/models.py:491
msgid "Select part"
msgstr ""
-#: company/models.py:264 company/templates/company/company_base.html:76
+#: company/models.py:268 company/templates/company/company_base.html:76
#: company/templates/company/manufacturer_part.html:90
#: company/templates/company/supplier_part.html:152
#: stock/templates/stock/item_base.html:210
-#: templates/js/translated/company.js:432
-#: templates/js/translated/company.js:533
-#: templates/js/translated/company.js:668
-#: templates/js/translated/company.js:956 templates/js/translated/part.js:236
-#: templates/js/translated/table_filters.js:427
+#: templates/js/translated/company.js:433
+#: templates/js/translated/company.js:534
+#: templates/js/translated/company.js:669
+#: templates/js/translated/company.js:957 templates/js/translated/part.js:232
+#: templates/js/translated/table_filters.js:431
msgid "Manufacturer"
msgstr ""
-#: company/models.py:265 templates/js/translated/part.js:237
+#: company/models.py:269 templates/js/translated/part.js:233
msgid "Select manufacturer"
msgstr ""
-#: company/models.py:271 company/templates/company/manufacturer_part.html:101
+#: company/models.py:275 company/templates/company/manufacturer_part.html:101
#: company/templates/company/supplier_part.html:160
-#: templates/js/translated/company.js:304
-#: templates/js/translated/company.js:532
-#: templates/js/translated/company.js:684
-#: templates/js/translated/company.js:975 templates/js/translated/order.js:2239
-#: templates/js/translated/part.js:247 templates/js/translated/part.js:1025
+#: templates/js/translated/company.js:305
+#: templates/js/translated/company.js:533
+#: templates/js/translated/company.js:685
+#: templates/js/translated/company.js:976 templates/js/translated/order.js:2278
+#: templates/js/translated/part.js:243 templates/js/translated/part.js:1052
msgid "MPN"
msgstr ""
-#: company/models.py:272 templates/js/translated/part.js:248
+#: company/models.py:276 templates/js/translated/part.js:244
msgid "Manufacturer Part Number"
msgstr ""
-#: company/models.py:278
+#: company/models.py:282
msgid "URL for external manufacturer part link"
msgstr ""
-#: company/models.py:284
+#: company/models.py:288
msgid "Manufacturer part description"
msgstr ""
-#: company/models.py:329 company/models.py:353 company/models.py:506
+#: company/models.py:333 company/models.py:357 company/models.py:510
#: company/templates/company/manufacturer_part.html:7
#: company/templates/company/manufacturer_part.html:24
#: stock/templates/stock/item_base.html:220
msgid "Manufacturer Part"
msgstr "メーカー・パーツ"
-#: company/models.py:360
+#: company/models.py:364
msgid "Parameter name"
msgstr ""
-#: company/models.py:366
+#: company/models.py:370
#: report/templates/report/inventree_test_report_base.html:95
-#: stock/models.py:2097 templates/js/translated/company.js:581
-#: templates/js/translated/company.js:799 templates/js/translated/part.js:847
-#: templates/js/translated/stock.js:1360
+#: stock/models.py:2113 templates/js/translated/company.js:582
+#: templates/js/translated/company.js:800 templates/js/translated/part.js:874
+#: templates/js/translated/stock.js:1379
msgid "Value"
msgstr ""
-#: company/models.py:367
+#: company/models.py:371
msgid "Parameter value"
msgstr ""
-#: company/models.py:373 part/models.py:902 part/models.py:2434
-#: part/templates/part/part_base.html:286
+#: company/models.py:377 part/admin.py:26 part/models.py:921
+#: part/models.py:3047 part/templates/part/part_base.html:286
#: templates/InvenTree/settings/settings.html:349
-#: templates/js/translated/company.js:805 templates/js/translated/part.js:853
+#: templates/js/translated/company.js:806 templates/js/translated/part.js:880
msgid "Units"
msgstr ""
-#: company/models.py:374
+#: company/models.py:378
msgid "Parameter units"
msgstr ""
-#: company/models.py:451
+#: company/models.py:455
msgid "Linked manufacturer part must reference the same base part"
msgstr ""
-#: company/models.py:493 company/templates/company/company_base.html:81
-#: company/templates/company/supplier_part.html:136 order/models.py:263
-#: order/templates/order/order_base.html:121 part/bom.py:237 part/bom.py:265
+#: company/models.py:497 company/templates/company/company_base.html:81
+#: company/templates/company/supplier_part.html:136 order/models.py:264
+#: order/templates/order/order_base.html:121 part/bom.py:252 part/bom.py:280
#: stock/templates/stock/item_base.html:227
#: templates/email/overdue_purchase_order.html:16
-#: templates/js/translated/company.js:303
-#: templates/js/translated/company.js:436
-#: templates/js/translated/company.js:929 templates/js/translated/order.js:1975
-#: templates/js/translated/part.js:217 templates/js/translated/part.js:993
-#: templates/js/translated/table_filters.js:431
+#: templates/js/translated/company.js:304
+#: templates/js/translated/company.js:437
+#: templates/js/translated/company.js:930 templates/js/translated/order.js:2009
+#: templates/js/translated/part.js:213 templates/js/translated/part.js:1020
+#: templates/js/translated/pricing.js:231
+#: templates/js/translated/table_filters.js:435
msgid "Supplier"
msgstr ""
-#: company/models.py:494 templates/js/translated/part.js:218
+#: company/models.py:498 templates/js/translated/part.js:214
msgid "Select supplier"
msgstr ""
-#: company/models.py:499 company/templates/company/supplier_part.html:146
-#: part/bom.py:238 part/bom.py:266 templates/js/translated/company.js:302
-#: templates/js/translated/order.js:2226 templates/js/translated/part.js:228
-#: templates/js/translated/part.js:1011
+#: company/models.py:503 company/templates/company/supplier_part.html:146
+#: part/bom.py:253 part/bom.py:281 templates/js/translated/company.js:303
+#: templates/js/translated/order.js:2265 templates/js/translated/part.js:224
+#: templates/js/translated/part.js:1038 templates/js/translated/pricing.js:243
msgid "SKU"
msgstr ""
-#: company/models.py:500 templates/js/translated/part.js:229
+#: company/models.py:504 templates/js/translated/part.js:225
msgid "Supplier stock keeping unit"
msgstr ""
-#: company/models.py:507
+#: company/models.py:511
msgid "Select manufacturer part"
msgstr ""
-#: company/models.py:513
+#: company/models.py:517
msgid "URL for external supplier part link"
msgstr ""
-#: company/models.py:519
+#: company/models.py:523
msgid "Supplier part description"
msgstr ""
-#: company/models.py:524 company/templates/company/supplier_part.html:181
-#: part/models.py:2687 part/templates/part/upload_bom.html:59
+#: company/models.py:528 company/templates/company/supplier_part.html:181
+#: part/admin.py:225 part/models.py:3300 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_po_report.html:92
-#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:403
+#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:397
msgid "Note"
msgstr ""
-#: company/models.py:528 part/models.py:1788
+#: company/models.py:532 part/models.py:1817
msgid "base cost"
msgstr ""
-#: company/models.py:528 part/models.py:1788
+#: company/models.py:532 part/models.py:1817
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
-#: company/models.py:530 company/templates/company/supplier_part.html:167
-#: stock/models.py:626 stock/templates/stock/item_base.html:243
-#: templates/js/translated/company.js:991 templates/js/translated/stock.js:1978
+#: company/models.py:534 company/templates/company/supplier_part.html:167
+#: stock/admin.py:101 stock/models.py:642
+#: stock/templates/stock/item_base.html:243
+#: templates/js/translated/company.js:992 templates/js/translated/stock.js:1996
msgid "Packaging"
msgstr ""
-#: company/models.py:530
+#: company/models.py:534
msgid "Part packaging"
msgstr ""
-#: company/models.py:533 company/serializers.py:242
+#: company/models.py:537 company/serializers.py:242
#: company/templates/company/supplier_part.html:174
-#: templates/js/translated/company.js:996 templates/js/translated/order.js:820
-#: templates/js/translated/order.js:1215 templates/js/translated/order.js:1470
-#: templates/js/translated/order.js:2270 templates/js/translated/order.js:2287
-#: templates/js/translated/part.js:1043 templates/js/translated/part.js:1095
+#: templates/js/translated/company.js:997 templates/js/translated/order.js:826
+#: templates/js/translated/order.js:1249 templates/js/translated/order.js:1504
+#: templates/js/translated/order.js:2309 templates/js/translated/order.js:2326
+#: templates/js/translated/part.js:1070 templates/js/translated/part.js:1122
msgid "Pack Quantity"
msgstr ""
-#: company/models.py:534
+#: company/models.py:538
msgid "Unit quantity supplied in a single pack"
msgstr ""
-#: company/models.py:540 part/models.py:1790
+#: company/models.py:544 part/models.py:1819
msgid "multiple"
msgstr ""
-#: company/models.py:540
+#: company/models.py:544
msgid "Order multiple"
msgstr ""
-#: company/models.py:548 company/templates/company/supplier_part.html:115
+#: company/models.py:552 company/templates/company/supplier_part.html:115
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:18
-#: templates/js/translated/bom.js:963 templates/js/translated/build.js:1873
-#: templates/js/translated/build.js:2754 templates/js/translated/part.js:598
-#: templates/js/translated/part.js:601
-#: templates/js/translated/table_filters.js:194
+#: templates/js/translated/bom.js:1117 templates/js/translated/build.js:1873
+#: templates/js/translated/build.js:2754 templates/js/translated/part.js:612
+#: templates/js/translated/part.js:615
+#: templates/js/translated/table_filters.js:198
msgid "Available"
msgstr ""
-#: company/models.py:549
+#: company/models.py:553
msgid "Quantity available from supplier"
msgstr ""
-#: company/models.py:553
+#: company/models.py:557
msgid "Availability Updated"
msgstr ""
-#: company/models.py:554
+#: company/models.py:558
msgid "Date of last update of availability data"
msgstr ""
-#: company/models.py:682
+#: company/models.py:686
msgid "last updated"
msgstr ""
@@ -3121,7 +3177,7 @@ msgstr ""
#: company/templates/company/company_base.html:8
#: company/templates/company/company_base.html:12
-#: templates/InvenTree/search.html:179 templates/js/translated/company.js:421
+#: templates/InvenTree/search.html:179 templates/js/translated/company.js:422
msgid "Company"
msgstr ""
@@ -3139,7 +3195,7 @@ msgid "Edit company information"
msgstr ""
#: company/templates/company/company_base.html:34
-#: templates/js/translated/company.js:364
+#: templates/js/translated/company.js:365
msgid "Edit Company"
msgstr ""
@@ -3162,14 +3218,14 @@ msgstr ""
msgid "Download image from URL"
msgstr ""
-#: company/templates/company/company_base.html:86 order/models.py:646
-#: order/templates/order/sales_order_base.html:116 stock/models.py:645
-#: stock/models.py:646 stock/serializers.py:813
+#: company/templates/company/company_base.html:86 order/models.py:665
+#: order/templates/order/sales_order_base.html:116 stock/models.py:661
+#: stock/models.py:662 stock/serializers.py:812
#: stock/templates/stock/item_base.html:399
#: templates/email/overdue_sales_order.html:16
-#: templates/js/translated/company.js:428 templates/js/translated/order.js:2808
-#: templates/js/translated/stock.js:2569
-#: templates/js/translated/table_filters.js:435
+#: templates/js/translated/company.js:429 templates/js/translated/order.js:2819
+#: templates/js/translated/stock.js:2587
+#: templates/js/translated/table_filters.js:439
msgid "Customer"
msgstr ""
@@ -3182,12 +3238,12 @@ msgid "Phone"
msgstr ""
#: company/templates/company/company_base.html:208
-#: part/templates/part/part_base.html:499
+#: part/templates/part/part_base.html:514
msgid "Upload Image"
msgstr ""
#: company/templates/company/company_base.html:223
-#: part/templates/part/part_base.html:554
+#: part/templates/part/part_base.html:569
msgid "Download Image"
msgstr ""
@@ -3203,7 +3259,7 @@ msgstr "新しいサプライヤー・パーツを作成"
#: company/templates/company/detail.html:19
#: company/templates/company/manufacturer_part.html:123
-#: part/templates/part/detail.html:359
+#: part/templates/part/detail.html:357
msgid "New Supplier Part"
msgstr "新しいサプライヤー・パーツ"
@@ -3232,7 +3288,7 @@ msgstr "メーカー・パーツ"
msgid "Create new manufacturer part"
msgstr "新しいメーカー・パーツを作成"
-#: company/templates/company/detail.html:66 part/templates/part/detail.html:389
+#: company/templates/company/detail.html:66 part/templates/part/detail.html:387
msgid "New Manufacturer Part"
msgstr "新しいメーカ―・パーツ"
@@ -3246,7 +3302,7 @@ msgstr ""
#: order/templates/order/order_base.html:13
#: order/templates/order/purchase_orders.html:8
#: order/templates/order/purchase_orders.html:12
-#: part/templates/part/detail.html:84 part/templates/part/part_sidebar.html:37
+#: part/templates/part/detail.html:84 part/templates/part/part_sidebar.html:35
#: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200
#: templates/InvenTree/settings/sidebar.html:49
#: templates/js/translated/search.js:293 templates/navbar.html:50
@@ -3269,7 +3325,7 @@ msgstr ""
#: order/templates/order/sales_order_base.html:13
#: order/templates/order/sales_orders.html:8
#: order/templates/order/sales_orders.html:15
-#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:41
+#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:39
#: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220
#: templates/InvenTree/settings/sidebar.html:51
#: templates/js/translated/search.js:317 templates/navbar.html:61
@@ -3297,8 +3353,7 @@ msgid "Supplier List"
msgstr ""
#: company/templates/company/manufacturer_part.html:15 company/views.py:38
-#: part/templates/part/prices.html:172 templates/InvenTree/search.html:181
-#: templates/navbar.html:49
+#: templates/InvenTree/search.html:181 templates/navbar.html:49
msgid "Manufacturers"
msgstr ""
@@ -3309,12 +3364,12 @@ msgid "Order part"
msgstr "パーツの注文"
#: company/templates/company/manufacturer_part.html:39
-#: templates/js/translated/company.js:716
+#: templates/js/translated/company.js:717
msgid "Edit manufacturer part"
msgstr "メーカー・パーツの編集"
#: company/templates/company/manufacturer_part.html:43
-#: templates/js/translated/company.js:717
+#: templates/js/translated/company.js:718
msgid "Delete manufacturer part"
msgstr "メーカー・パーツを削除"
@@ -3329,35 +3384,36 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:119
#: company/templates/company/supplier_part.html:15 company/views.py:32
-#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:168
+#: part/admin.py:46 part/templates/part/part_sidebar.html:33
#: templates/InvenTree/search.html:191 templates/navbar.html:48
msgid "Suppliers"
msgstr ""
#: company/templates/company/manufacturer_part.html:136
-#: part/templates/part/detail.html:370
+#: part/templates/part/detail.html:368
msgid "Delete supplier parts"
msgstr ""
#: company/templates/company/manufacturer_part.html:136
#: company/templates/company/manufacturer_part.html:183
-#: part/templates/part/detail.html:371 part/templates/part/detail.html:401
-#: templates/js/translated/forms.js:455 templates/js/translated/helpers.js:36
-#: users/models.py:222
+#: part/templates/part/detail.html:369 part/templates/part/detail.html:399
+#: templates/js/translated/forms.js:455 templates/js/translated/helpers.js:38
+#: templates/js/translated/part.js:340 templates/js/translated/stock.js:184
+#: users/models.py:224
msgid "Delete"
msgstr ""
#: company/templates/company/manufacturer_part.html:166
#: company/templates/company/manufacturer_part_sidebar.html:5
#: part/templates/part/category_sidebar.html:19
-#: part/templates/part/detail.html:186 part/templates/part/part_sidebar.html:8
+#: part/templates/part/detail.html:184 part/templates/part/part_sidebar.html:8
msgid "Parameters"
msgstr ""
#: company/templates/company/manufacturer_part.html:170
-#: part/templates/part/detail.html:191
+#: part/templates/part/detail.html:189
#: templates/InvenTree/settings/category.html:12
-#: templates/InvenTree/settings/part.html:68
+#: templates/InvenTree/settings/part.html:62
msgid "New Parameter"
msgstr ""
@@ -3366,7 +3422,7 @@ msgid "Delete parameters"
msgstr ""
#: company/templates/company/manufacturer_part.html:245
-#: part/templates/part/detail.html:827
+#: part/templates/part/detail.html:825
msgid "Add Parameter"
msgstr ""
@@ -3387,10 +3443,10 @@ msgid "Assigned Stock Items"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:609
+#: company/templates/company/supplier_part.html:24 stock/models.py:625
#: stock/templates/stock/item_base.html:236
-#: templates/js/translated/company.js:945 templates/js/translated/order.js:1135
-#: templates/js/translated/stock.js:1935
+#: templates/js/translated/company.js:946 templates/js/translated/order.js:1169
+#: templates/js/translated/stock.js:1954
msgid "Supplier Part"
msgstr ""
@@ -3441,13 +3497,13 @@ msgstr ""
#: company/templates/company/supplier_part.html:64
#: company/templates/company/supplier_part.html:65
-#: templates/js/translated/company.js:247
+#: templates/js/translated/company.js:248
msgid "Edit Supplier Part"
msgstr ""
#: company/templates/company/supplier_part.html:69
#: company/templates/company/supplier_part.html:70
-#: templates/js/translated/company.js:222
+#: templates/js/translated/company.js:223
msgid "Duplicate Supplier Part"
msgstr ""
@@ -3482,7 +3538,7 @@ msgstr ""
#: company/templates/company/supplier_part.html:204
#: part/templates/part/detail.html:25 stock/templates/stock/location.html:198
-#: templates/js/translated/stock.js:435
+#: templates/js/translated/stock.js:454
msgid "New Stock Item"
msgstr ""
@@ -3492,47 +3548,20 @@ msgid "Supplier Part Orders"
msgstr ""
#: company/templates/company/supplier_part.html:242
-#: part/templates/part/prices.html:10
msgid "Pricing Information"
msgstr ""
#: company/templates/company/supplier_part.html:247
-#: company/templates/company/supplier_part.html:388
-#: part/templates/part/prices.html:276 templates/js/translated/part.js:2297
+#: company/templates/company/supplier_part.html:317
+#: templates/js/translated/pricing.js:413
msgid "Add Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:282
+#: company/templates/company/supplier_part.html:285
msgid "Link Barcode to Supplier Part"
msgstr ""
-#: company/templates/company/supplier_part.html:300
-msgid "No price break information found"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:314
-#: templates/js/translated/part.js:2307
-msgid "Delete Price Break"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:328
-#: templates/js/translated/part.js:2321
-msgid "Edit Price Break"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:353
-msgid "Edit price break"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:354
-msgid "Delete price break"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:363
-msgid "Last updated"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:444
+#: company/templates/company/supplier_part.html:375
msgid "Update Part Availability"
msgstr ""
@@ -3542,9 +3571,9 @@ msgstr ""
#: stock/templates/stock/stock_app_base.html:10
#: templates/InvenTree/search.html:153
#: templates/InvenTree/settings/sidebar.html:45
-#: templates/js/translated/part.js:749 templates/js/translated/part.js:1335
-#: templates/js/translated/part.js:1501 templates/js/translated/stock.js:959
-#: templates/js/translated/stock.js:1760 templates/navbar.html:31
+#: templates/js/translated/part.js:763 templates/js/translated/part.js:1356
+#: templates/js/translated/part.js:1512 templates/js/translated/stock.js:978
+#: templates/js/translated/stock.js:1779 templates/navbar.html:31
msgid "Stock"
msgstr ""
@@ -3558,19 +3587,20 @@ msgid "Supplier Part Pricing"
msgstr ""
#: company/templates/company/supplier_part_navbar.html:29
-#: part/templates/part/part_sidebar.html:31
+#: part/templates/part/part_sidebar.html:30
+#: templates/InvenTree/settings/sidebar.html:35
msgid "Pricing"
msgstr ""
#: company/templates/company/supplier_part_sidebar.html:5
#: part/templates/part/category.html:198
-#: part/templates/part/category_sidebar.html:17
+#: part/templates/part/category_sidebar.html:17 stock/admin.py:31
#: stock/templates/stock/location.html:168
#: stock/templates/stock/location.html:182
#: stock/templates/stock/location.html:194
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:155 templates/js/translated/search.js:225
-#: templates/js/translated/stock.js:2446 users/models.py:40
+#: templates/js/translated/stock.js:2464 users/models.py:40
msgid "Stock Items"
msgstr ""
@@ -3672,438 +3702,439 @@ msgstr ""
msgid "No matching purchase order found"
msgstr ""
-#: order/models.py:82
+#: order/models.py:83
msgid "Order description"
msgstr ""
-#: order/models.py:84 order/models.py:1260
+#: order/models.py:85 order/models.py:1283
msgid "Link to external page"
msgstr ""
-#: order/models.py:92
+#: order/models.py:93
msgid "Created By"
msgstr ""
-#: order/models.py:99
+#: order/models.py:100
msgid "User or group responsible for this order"
msgstr ""
-#: order/models.py:104
+#: order/models.py:105
msgid "Order notes"
msgstr ""
-#: order/models.py:241 order/models.py:633
+#: order/models.py:242 order/models.py:652
msgid "Order reference"
msgstr ""
-#: order/models.py:249 order/models.py:651
+#: order/models.py:250 order/models.py:670
msgid "Purchase order status"
msgstr ""
-#: order/models.py:264
+#: order/models.py:265
msgid "Company from which the items are being ordered"
msgstr ""
-#: order/models.py:267 order/templates/order/order_base.html:133
-#: templates/js/translated/order.js:1984
+#: order/models.py:268 order/templates/order/order_base.html:133
+#: templates/js/translated/order.js:2018
msgid "Supplier Reference"
msgstr ""
-#: order/models.py:267
+#: order/models.py:268
msgid "Supplier order reference code"
msgstr ""
-#: order/models.py:274
+#: order/models.py:275
msgid "received by"
msgstr ""
-#: order/models.py:279
+#: order/models.py:280
msgid "Issue Date"
msgstr ""
-#: order/models.py:280
+#: order/models.py:281
msgid "Date order was issued"
msgstr ""
-#: order/models.py:285
+#: order/models.py:286
msgid "Target Delivery Date"
msgstr ""
-#: order/models.py:286
+#: order/models.py:287
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr ""
-#: order/models.py:292
+#: order/models.py:293
msgid "Date order was completed"
msgstr ""
-#: order/models.py:328
+#: order/models.py:332
msgid "Part supplier must match PO supplier"
msgstr ""
-#: order/models.py:472
+#: order/models.py:491
msgid "Quantity must be a positive number"
msgstr ""
-#: order/models.py:647
+#: order/models.py:666
msgid "Company to which the items are being sold"
msgstr ""
-#: order/models.py:658
+#: order/models.py:677
msgid "Customer Reference "
msgstr ""
-#: order/models.py:658
+#: order/models.py:677
msgid "Customer order reference code"
msgstr ""
-#: order/models.py:663
+#: order/models.py:682
msgid "Target date for order completion. Order will be overdue after this date."
msgstr ""
-#: order/models.py:666 order/models.py:1218
-#: templates/js/translated/order.js:2855 templates/js/translated/order.js:3017
+#: order/models.py:685 order/models.py:1241
+#: templates/js/translated/order.js:2866 templates/js/translated/order.js:3028
msgid "Shipment Date"
msgstr ""
-#: order/models.py:673
+#: order/models.py:692
msgid "shipped by"
msgstr ""
-#: order/models.py:728
+#: order/models.py:747
msgid "Order cannot be completed as no parts have been assigned"
msgstr ""
-#: order/models.py:732
+#: order/models.py:751
msgid "Only a pending order can be marked as complete"
msgstr ""
-#: order/models.py:735 templates/js/translated/order.js:419
+#: order/models.py:754 templates/js/translated/order.js:419
msgid "Order cannot be completed as there are incomplete shipments"
msgstr ""
-#: order/models.py:738
+#: order/models.py:757
msgid "Order cannot be completed as there are incomplete line items"
msgstr ""
-#: order/models.py:912
+#: order/models.py:935
msgid "Item quantity"
msgstr ""
-#: order/models.py:918
+#: order/models.py:941
msgid "Line item reference"
msgstr ""
-#: order/models.py:920
+#: order/models.py:943
msgid "Line item notes"
msgstr ""
-#: order/models.py:925
+#: order/models.py:948
msgid "Target shipping date for this line item"
msgstr ""
-#: order/models.py:943
+#: order/models.py:966
msgid "Context"
msgstr ""
-#: order/models.py:944
+#: order/models.py:967
msgid "Additional context for this line"
msgstr ""
-#: order/models.py:953
+#: order/models.py:976
msgid "Unit price"
msgstr ""
-#: order/models.py:983
+#: order/models.py:1006
msgid "Supplier part must match supplier"
msgstr ""
-#: order/models.py:991
+#: order/models.py:1014
msgid "deleted"
msgstr ""
-#: order/models.py:997 order/models.py:1077 order/models.py:1118
-#: order/models.py:1212 order/models.py:1344
-#: templates/js/translated/order.js:3473
+#: order/models.py:1020 order/models.py:1100 order/models.py:1141
+#: order/models.py:1235 order/models.py:1367
+#: templates/js/translated/order.js:3484
msgid "Order"
msgstr ""
-#: order/models.py:998 order/models.py:1077
+#: order/models.py:1021 order/models.py:1100
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report.html:76
#: stock/templates/stock/item_base.html:182
#: templates/email/overdue_purchase_order.html:15
-#: templates/js/translated/order.js:619 templates/js/translated/order.js:1136
-#: templates/js/translated/order.js:1959 templates/js/translated/part.js:970
-#: templates/js/translated/stock.js:1915 templates/js/translated/stock.js:2550
+#: templates/js/translated/order.js:619 templates/js/translated/order.js:1170
+#: templates/js/translated/order.js:1993 templates/js/translated/part.js:997
+#: templates/js/translated/pricing.js:515 templates/js/translated/stock.js:1934
+#: templates/js/translated/stock.js:2568
msgid "Purchase Order"
msgstr ""
-#: order/models.py:1016
+#: order/models.py:1039
msgid "Supplier part"
msgstr ""
-#: order/models.py:1023 order/templates/order/order_base.html:178
-#: templates/js/translated/order.js:1641 templates/js/translated/order.js:2373
-#: templates/js/translated/part.js:1087 templates/js/translated/part.js:1125
-#: templates/js/translated/table_filters.js:346
+#: order/models.py:1046 order/templates/order/order_base.html:178
+#: templates/js/translated/order.js:1675 templates/js/translated/order.js:2396
+#: templates/js/translated/part.js:1114 templates/js/translated/part.js:1146
+#: templates/js/translated/table_filters.js:350
msgid "Received"
msgstr ""
-#: order/models.py:1024
+#: order/models.py:1047
msgid "Number of items received"
msgstr ""
-#: order/models.py:1031 part/templates/part/prices.html:181 stock/models.py:741
-#: stock/serializers.py:169 stock/templates/stock/item_base.html:189
-#: templates/js/translated/stock.js:1966
+#: order/models.py:1054 stock/models.py:757 stock/serializers.py:173
+#: stock/templates/stock/item_base.html:189
+#: templates/js/translated/stock.js:1985
msgid "Purchase Price"
msgstr "購入金額"
-#: order/models.py:1032
+#: order/models.py:1055
msgid "Unit purchase price"
msgstr ""
-#: order/models.py:1040
+#: order/models.py:1063
msgid "Where does the Purchaser want this item to be stored?"
msgstr ""
-#: order/models.py:1106
+#: order/models.py:1129
msgid "Virtual part cannot be assigned to a sales order"
msgstr ""
-#: order/models.py:1111
+#: order/models.py:1134
msgid "Only salable parts can be assigned to a sales order"
msgstr ""
-#: order/models.py:1137 part/templates/part/part_pricing.html:115
-#: part/templates/part/prices.html:121 part/templates/part/prices.html:290
+#: order/models.py:1160 part/templates/part/part_pricing.html:107
+#: part/templates/part/prices.html:139 templates/js/translated/pricing.js:665
msgid "Sale Price"
msgstr ""
-#: order/models.py:1138
+#: order/models.py:1161
msgid "Unit sale price"
msgstr ""
-#: order/models.py:1143
+#: order/models.py:1166
msgid "Shipped quantity"
msgstr ""
-#: order/models.py:1219
+#: order/models.py:1242
msgid "Date of shipment"
msgstr ""
-#: order/models.py:1226
+#: order/models.py:1249
msgid "Checked By"
msgstr ""
-#: order/models.py:1227
+#: order/models.py:1250
msgid "User who checked this shipment"
msgstr ""
-#: order/models.py:1234 order/models.py:1419 order/serializers.py:1228
-#: order/serializers.py:1356 templates/js/translated/model_renderers.js:314
+#: order/models.py:1257 order/models.py:1442 order/serializers.py:1221
+#: order/serializers.py:1349 templates/js/translated/model_renderers.js:314
msgid "Shipment"
msgstr ""
-#: order/models.py:1235
+#: order/models.py:1258
msgid "Shipment number"
msgstr ""
-#: order/models.py:1239
+#: order/models.py:1262
msgid "Shipment notes"
msgstr ""
-#: order/models.py:1245
+#: order/models.py:1268
msgid "Tracking Number"
msgstr ""
-#: order/models.py:1246
+#: order/models.py:1269
msgid "Shipment tracking information"
msgstr ""
-#: order/models.py:1253
+#: order/models.py:1276
msgid "Invoice Number"
msgstr ""
-#: order/models.py:1254
+#: order/models.py:1277
msgid "Reference number for associated invoice"
msgstr ""
-#: order/models.py:1272
+#: order/models.py:1295
msgid "Shipment has already been sent"
msgstr ""
-#: order/models.py:1275
+#: order/models.py:1298
msgid "Shipment has no allocated stock items"
msgstr ""
-#: order/models.py:1378 order/models.py:1380
+#: order/models.py:1401 order/models.py:1403
msgid "Stock item has not been assigned"
msgstr ""
-#: order/models.py:1384
+#: order/models.py:1407
msgid "Cannot allocate stock item to a line with a different part"
msgstr ""
-#: order/models.py:1386
+#: order/models.py:1409
msgid "Cannot allocate stock to a line without a part"
msgstr ""
-#: order/models.py:1389
+#: order/models.py:1412
msgid "Allocation quantity cannot exceed stock quantity"
msgstr ""
-#: order/models.py:1399 order/serializers.py:1090
+#: order/models.py:1422 order/serializers.py:1083
msgid "Quantity must be 1 for serialized stock item"
msgstr ""
-#: order/models.py:1402
+#: order/models.py:1425
msgid "Sales order does not match shipment"
msgstr ""
-#: order/models.py:1403
+#: order/models.py:1426
msgid "Shipment does not match sales order"
msgstr ""
-#: order/models.py:1411
+#: order/models.py:1434
msgid "Line"
msgstr ""
-#: order/models.py:1420
+#: order/models.py:1443
msgid "Sales order shipment reference"
msgstr ""
-#: order/models.py:1433 templates/js/translated/notification.js:55
+#: order/models.py:1456 templates/js/translated/notification.js:55
msgid "Item"
msgstr ""
-#: order/models.py:1434
+#: order/models.py:1457
msgid "Select stock item to allocate"
msgstr ""
-#: order/models.py:1437
+#: order/models.py:1460
msgid "Enter stock allocation quantity"
msgstr ""
-#: order/serializers.py:67
+#: order/serializers.py:63
msgid "Price currency"
msgstr ""
-#: order/serializers.py:199
+#: order/serializers.py:193
msgid "Order cannot be cancelled"
msgstr ""
-#: order/serializers.py:209 order/serializers.py:1108
+#: order/serializers.py:203 order/serializers.py:1101
msgid "Allow order to be closed with incomplete line items"
msgstr ""
-#: order/serializers.py:220 order/serializers.py:1119
+#: order/serializers.py:214 order/serializers.py:1112
msgid "Order has incomplete line items"
msgstr ""
-#: order/serializers.py:311
+#: order/serializers.py:305
msgid "Order is not open"
msgstr ""
-#: order/serializers.py:335
+#: order/serializers.py:327
msgid "Purchase price currency"
msgstr ""
-#: order/serializers.py:354
+#: order/serializers.py:346
msgid "Supplier part must be specified"
msgstr ""
-#: order/serializers.py:359
+#: order/serializers.py:351
msgid "Purchase order must be specified"
msgstr ""
-#: order/serializers.py:365
+#: order/serializers.py:357
msgid "Supplier must match purchase order"
msgstr ""
-#: order/serializers.py:366
+#: order/serializers.py:358
msgid "Purchase order must match supplier"
msgstr ""
-#: order/serializers.py:430 order/serializers.py:1196
+#: order/serializers.py:421 order/serializers.py:1189
msgid "Line Item"
msgstr ""
-#: order/serializers.py:436
+#: order/serializers.py:427
msgid "Line item does not match purchase order"
msgstr ""
-#: order/serializers.py:446 order/serializers.py:557
+#: order/serializers.py:437 order/serializers.py:548
msgid "Select destination location for received items"
msgstr ""
-#: order/serializers.py:465 templates/js/translated/order.js:1497
+#: order/serializers.py:456 templates/js/translated/order.js:1531
msgid "Enter batch code for incoming stock items"
msgstr ""
-#: order/serializers.py:473 templates/js/translated/order.js:1508
+#: order/serializers.py:464 templates/js/translated/order.js:1542
msgid "Enter serial numbers for incoming stock items"
msgstr ""
-#: order/serializers.py:487
+#: order/serializers.py:478
msgid "Unique identifier field"
msgstr ""
-#: order/serializers.py:501
+#: order/serializers.py:492
msgid "Barcode is already in use"
msgstr ""
-#: order/serializers.py:527
+#: order/serializers.py:518
msgid "An integer quantity must be provided for trackable parts"
msgstr ""
-#: order/serializers.py:573
+#: order/serializers.py:564
msgid "Line items must be provided"
msgstr ""
-#: order/serializers.py:590
+#: order/serializers.py:581
msgid "Destination location must be specified"
msgstr ""
-#: order/serializers.py:601
+#: order/serializers.py:592
msgid "Supplied barcode values must be unique"
msgstr ""
-#: order/serializers.py:907
+#: order/serializers.py:900
msgid "Sale price currency"
msgstr ""
-#: order/serializers.py:988
+#: order/serializers.py:981
msgid "No shipment details provided"
msgstr ""
-#: order/serializers.py:1051 order/serializers.py:1205
+#: order/serializers.py:1044 order/serializers.py:1198
msgid "Line item is not associated with this order"
msgstr ""
-#: order/serializers.py:1073
+#: order/serializers.py:1066
msgid "Quantity must be positive"
msgstr ""
-#: order/serializers.py:1218
+#: order/serializers.py:1211
msgid "Enter serial numbers to allocate"
msgstr ""
-#: order/serializers.py:1240 order/serializers.py:1364
+#: order/serializers.py:1233 order/serializers.py:1357
msgid "Shipment has already been shipped"
msgstr ""
-#: order/serializers.py:1243 order/serializers.py:1367
+#: order/serializers.py:1236 order/serializers.py:1360
msgid "Shipment is not associated with this order"
msgstr ""
-#: order/serializers.py:1297
+#: order/serializers.py:1290
msgid "No match found for the following serial numbers"
msgstr ""
-#: order/serializers.py:1307
+#: order/serializers.py:1300
msgid "The following serial numbers are already allocated"
msgstr ""
@@ -4154,7 +4185,8 @@ msgid "Duplicate order"
msgstr ""
#: order/templates/order/order_base.html:61
-msgid "Place order"
+#: order/templates/order/order_base.html:62
+msgid "Submit Order"
msgstr ""
#: order/templates/order/order_base.html:65
@@ -4162,7 +4194,7 @@ msgid "Receive items"
msgstr ""
#: order/templates/order/order_base.html:67
-#: order/templates/order/purchase_order_detail.html:30
+#: order/templates/order/purchase_order_detail.html:32
msgid "Receive Items"
msgstr ""
@@ -4248,9 +4280,9 @@ msgstr ""
#: part/templates/part/import_wizard/match_references.html:49
#: templates/js/translated/bom.js:102 templates/js/translated/build.js:479
#: templates/js/translated/build.js:631 templates/js/translated/build.js:2078
-#: templates/js/translated/order.js:1084 templates/js/translated/order.js:1586
-#: templates/js/translated/order.js:3092 templates/js/translated/stock.js:625
-#: templates/js/translated/stock.js:793
+#: templates/js/translated/order.js:1118 templates/js/translated/order.js:1620
+#: templates/js/translated/order.js:3103 templates/js/translated/stock.js:644
+#: templates/js/translated/stock.js:812
#: templates/patterns/wizard/match_fields.html:70
msgid "Remove row"
msgstr ""
@@ -4278,42 +4310,42 @@ msgstr ""
msgid "Received Stock"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:17
+#: order/templates/order/purchase_order_detail.html:19
msgid "Purchase Order Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:26
-#: order/templates/order/sales_order_detail.html:22
-#: order/templates/order/sales_order_detail.html:255
+#: order/templates/order/purchase_order_detail.html:28
+#: order/templates/order/sales_order_detail.html:24
+#: order/templates/order/sales_order_detail.html:260
#: templates/js/translated/order.js:728
msgid "Add Line Item"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:29
+#: order/templates/order/purchase_order_detail.html:31
msgid "Receive selected items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:48
-#: order/templates/order/sales_order_detail.html:42
+#: order/templates/order/purchase_order_detail.html:50
+#: order/templates/order/sales_order_detail.html:45
msgid "Extra Lines"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:53
-#: order/templates/order/sales_order_detail.html:47
-#: order/templates/order/sales_order_detail.html:280
+#: order/templates/order/purchase_order_detail.html:56
+#: order/templates/order/sales_order_detail.html:51
+#: order/templates/order/sales_order_detail.html:291
msgid "Add Extra Line"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:72
+#: order/templates/order/purchase_order_detail.html:76
msgid "Received Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:97
-#: order/templates/order/sales_order_detail.html:150
+#: order/templates/order/purchase_order_detail.html:101
+#: order/templates/order/sales_order_detail.html:155
msgid "Order Notes"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:232
+#: order/templates/order/purchase_order_detail.html:239
msgid "Add Order Line"
msgstr ""
@@ -4345,12 +4377,12 @@ msgid "This Sales Order has not been fully allocated"
msgstr ""
#: order/templates/order/sales_order_base.html:123
-#: templates/js/translated/order.js:2821
+#: templates/js/translated/order.js:2832
msgid "Customer Reference"
msgstr ""
#: order/templates/order/sales_order_base.html:141
-#: order/templates/order/sales_order_detail.html:104
+#: order/templates/order/sales_order_detail.html:109
#: order/templates/order/so_sidebar.html:11
msgid "Completed Shipments"
msgstr ""
@@ -4359,22 +4391,22 @@ msgstr ""
msgid "Edit Sales Order"
msgstr ""
-#: order/templates/order/sales_order_detail.html:17
+#: order/templates/order/sales_order_detail.html:18
msgid "Sales Order Items"
msgstr ""
-#: order/templates/order/sales_order_detail.html:68
+#: order/templates/order/sales_order_detail.html:73
#: order/templates/order/so_sidebar.html:8
msgid "Pending Shipments"
msgstr ""
-#: order/templates/order/sales_order_detail.html:72
-#: templates/attachment_table.html:6 templates/js/translated/bom.js:1158
+#: order/templates/order/sales_order_detail.html:77
+#: templates/attachment_table.html:6 templates/js/translated/bom.js:1223
#: templates/js/translated/build.js:1979
msgid "Actions"
msgstr ""
-#: order/templates/order/sales_order_detail.html:81
+#: order/templates/order/sales_order_detail.html:86
msgid "New Shipment"
msgstr ""
@@ -4400,617 +4432,844 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/api.py:516
+#: part/admin.py:19 part/admin.py:219 part/models.py:3181 stock/admin.py:84
+#: templates/js/translated/model_renderers.js:212
+msgid "Part ID"
+msgstr ""
+
+#: part/admin.py:20 part/admin.py:221 part/models.py:3185 stock/admin.py:85
+msgid "Part Name"
+msgstr ""
+
+#: part/admin.py:21
+msgid "Part Description"
+msgstr ""
+
+#: part/admin.py:22 part/models.py:822 part/templates/part/part_base.html:272
+#: templates/js/translated/part.js:751 templates/js/translated/part.js:1469
+#: templates/js/translated/stock.js:1745
+msgid "IPN"
+msgstr ""
+
+#: part/admin.py:23 part/models.py:830 part/templates/part/part_base.html:279
+#: report/models.py:171 templates/js/translated/part.js:755
+msgid "Revision"
+msgstr ""
+
+#: part/admin.py:24 part/admin.py:145 part/models.py:808
+#: part/templates/part/category.html:87 part/templates/part/part_base.html:300
+msgid "Keywords"
+msgstr ""
+
+#: part/admin.py:28 part/admin.py:139
+#: templates/js/translated/model_renderers.js:338
+msgid "Category ID"
+msgstr ""
+
+#: part/admin.py:29 part/admin.py:140
+msgid "Category Name"
+msgstr ""
+
+#: part/admin.py:30 part/admin.py:144
+msgid "Default Location ID"
+msgstr ""
+
+#: part/admin.py:31
+msgid "Default Supplier ID"
+msgstr ""
+
+#: part/admin.py:33 part/models.py:914 part/templates/part/part_base.html:206
+msgid "Minimum Stock"
+msgstr ""
+
+#: part/admin.py:47 part/templates/part/part_base.html:200
+#: templates/js/translated/company.js:1028
+#: templates/js/translated/table_filters.js:213
+msgid "In Stock"
+msgstr ""
+
+#: part/admin.py:48 part/bom.py:145 part/templates/part/part_base.html:213
+#: templates/js/translated/bom.js:1155 templates/js/translated/build.js:1925
+#: templates/js/translated/part.js:602 templates/js/translated/part.js:622
+#: templates/js/translated/part.js:1359 templates/js/translated/part.js:1537
+#: templates/js/translated/table_filters.js:68
+msgid "On Order"
+msgstr ""
+
+#: part/admin.py:49 part/templates/part/part_sidebar.html:27
+msgid "Used In"
+msgstr ""
+
+#: part/admin.py:50 templates/js/translated/build.js:1937
+#: templates/js/translated/build.js:2195 templates/js/translated/build.js:2761
+#: templates/js/translated/order.js:3943
+msgid "Allocated"
+msgstr ""
+
+#: part/admin.py:51 part/templates/part/part_base.html:244
+#: templates/js/translated/part.js:605 templates/js/translated/part.js:625
+#: templates/js/translated/part.js:1363 templates/js/translated/part.js:1544
+msgid "Building"
+msgstr ""
+
+#: part/admin.py:52 part/models.py:2765
+msgid "Minimum Cost"
+msgstr ""
+
+#: part/admin.py:53 part/models.py:2771
+msgid "Maximum Cost"
+msgstr ""
+
+#: part/admin.py:142 part/admin.py:216 stock/admin.py:26 stock/admin.py:98
+msgid "Parent ID"
+msgstr ""
+
+#: part/admin.py:143 part/admin.py:218 stock/admin.py:27
+msgid "Parent Name"
+msgstr ""
+
+#: part/admin.py:146 part/templates/part/category.html:81
+#: part/templates/part/category.html:94
+msgid "Category Path"
+msgstr ""
+
+#: part/admin.py:149 part/models.py:363 part/templates/part/cat_link.html:3
+#: part/templates/part/category.html:23 part/templates/part/category.html:134
+#: part/templates/part/category.html:154
+#: part/templates/part/category_sidebar.html:9
+#: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84
+#: templates/InvenTree/settings/sidebar.html:41
+#: templates/js/translated/part.js:2043 templates/js/translated/search.js:146
+#: templates/navbar.html:24 users/models.py:38
+msgid "Parts"
+msgstr "パーツ"
+
+#: part/admin.py:211
+msgid "BOM Level"
+msgstr ""
+
+#: part/admin.py:213
+msgid "BOM Item ID"
+msgstr ""
+
+#: part/admin.py:217
+msgid "Parent IPN"
+msgstr ""
+
+#: part/admin.py:220 part/models.py:3189
+msgid "Part IPN"
+msgstr ""
+
+#: part/admin.py:226 templates/js/translated/pricing.js:91
+#: templates/js/translated/pricing.js:727
+msgid "Minimum Price"
+msgstr ""
+
+#: part/admin.py:227 templates/js/translated/pricing.js:86
+#: templates/js/translated/pricing.js:735
+msgid "Maximum Price"
+msgstr ""
+
+#: part/api.py:532
msgid "Incoming Purchase Order"
msgstr ""
-#: part/api.py:536
+#: part/api.py:552
msgid "Outgoing Sales Order"
msgstr ""
-#: part/api.py:554
+#: part/api.py:570
msgid "Stock produced by Build Order"
msgstr ""
-#: part/api.py:640
+#: part/api.py:656
msgid "Stock required for Build Order"
msgstr ""
-#: part/api.py:777
+#: part/api.py:814
msgid "Valid"
msgstr ""
-#: part/api.py:778
+#: part/api.py:815
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/api.py:784
+#: part/api.py:821
msgid "This option must be selected"
msgstr ""
-#: part/api.py:1207
+#: part/api.py:1261
msgid "Must be greater than zero"
msgstr ""
-#: part/api.py:1211
+#: part/api.py:1265
msgid "Must be a valid quantity"
msgstr ""
-#: part/api.py:1226
+#: part/api.py:1280
msgid "Specify location for initial part stock"
msgstr ""
-#: part/api.py:1257 part/api.py:1261 part/api.py:1276 part/api.py:1280
+#: part/api.py:1311 part/api.py:1315 part/api.py:1330 part/api.py:1334
msgid "This field is required"
msgstr ""
-#: part/bom.py:127 part/models.py:98 part/models.py:838
-#: part/templates/part/category.html:109 part/templates/part/part_base.html:345
+#: part/bom.py:142 part/models.py:116 part/models.py:857
+#: part/templates/part/category.html:109 part/templates/part/part_base.html:360
msgid "Default Location"
msgstr ""
-#: part/bom.py:128 templates/email/low_stock_notification.html:17
+#: part/bom.py:143 templates/email/low_stock_notification.html:17
msgid "Total Stock"
msgstr ""
-#: part/bom.py:129 part/templates/part/part_base.html:195
-#: templates/js/translated/order.js:3913
+#: part/bom.py:144 part/templates/part/part_base.html:195
+#: templates/js/translated/order.js:3910
msgid "Available Stock"
msgstr ""
-#: part/bom.py:130 part/templates/part/part_base.html:213
-#: templates/js/translated/bom.js:1001 templates/js/translated/build.js:1925
-#: templates/js/translated/part.js:588 templates/js/translated/part.js:608
-#: templates/js/translated/part.js:1338 templates/js/translated/part.js:1526
-#: templates/js/translated/table_filters.js:68
-msgid "On Order"
-msgstr ""
-
#: part/forms.py:41
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:99
+#: part/models.py:117
msgid "Default location for parts in this category"
msgstr ""
-#: part/models.py:102
+#: part/models.py:120
msgid "Default keywords"
msgstr ""
-#: part/models.py:102
+#: part/models.py:120
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:107 stock/models.py:85
+#: part/models.py:125 stock/models.py:101
msgid "Icon"
msgstr ""
-#: part/models.py:108 stock/models.py:86
+#: part/models.py:126 stock/models.py:102
msgid "Icon (optional)"
msgstr ""
-#: part/models.py:122 part/models.py:2517 part/templates/part/category.html:16
+#: part/models.py:140 part/models.py:3130 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
-#: part/models.py:123 part/templates/part/category.html:129
+#: part/models.py:141 part/templates/part/category.html:129
#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200
#: users/models.py:37
msgid "Part Categories"
msgstr ""
-#: part/models.py:344 part/templates/part/cat_link.html:3
-#: part/templates/part/category.html:23 part/templates/part/category.html:134
-#: part/templates/part/category.html:154
-#: part/templates/part/category_sidebar.html:9
-#: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84
-#: templates/InvenTree/settings/sidebar.html:41
-#: templates/js/translated/part.js:2019 templates/js/translated/search.js:146
-#: templates/navbar.html:24 users/models.py:38
-msgid "Parts"
-msgstr "パーツ"
-
-#: part/models.py:429
+#: part/models.py:448
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:499 part/models.py:511
+#: part/models.py:518 part/models.py:530
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:601
+#: part/models.py:620
msgid "Stock item with this serial number already exists"
msgstr ""
-#: part/models.py:732
+#: part/models.py:751
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:759 part/models.py:2573
+#: part/models.py:778 part/models.py:3186
msgid "Part name"
msgstr ""
-#: part/models.py:766
+#: part/models.py:785
msgid "Is Template"
msgstr ""
-#: part/models.py:767
+#: part/models.py:786
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:777
+#: part/models.py:796
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:778
+#: part/models.py:797
msgid "Variant Of"
msgstr ""
-#: part/models.py:784
+#: part/models.py:803
msgid "Part description"
msgstr ""
-#: part/models.py:789 part/templates/part/category.html:87
-#: part/templates/part/part_base.html:300
-msgid "Keywords"
-msgstr ""
-
-#: part/models.py:790
+#: part/models.py:809
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:797 part/models.py:2272 part/models.py:2516
+#: part/models.py:816 part/models.py:2885 part/models.py:3129
#: part/templates/part/part_base.html:263
#: templates/InvenTree/settings/settings.html:229
#: templates/js/translated/notification.js:50
-#: templates/js/translated/part.js:1480 templates/js/translated/part.js:1724
+#: templates/js/translated/part.js:1491 templates/js/translated/part.js:1748
msgid "Category"
msgstr "カテゴリ"
-#: part/models.py:798
+#: part/models.py:817
msgid "Part category"
msgstr ""
-#: part/models.py:803 part/templates/part/part_base.html:272
-#: templates/js/translated/part.js:737 templates/js/translated/part.js:1431
-#: templates/js/translated/stock.js:1726
-msgid "IPN"
-msgstr ""
-
-#: part/models.py:804
+#: part/models.py:823
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:810
+#: part/models.py:829
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:811 part/templates/part/part_base.html:279
-#: report/models.py:171 templates/js/translated/part.js:741
-msgid "Revision"
-msgstr ""
-
-#: part/models.py:836
+#: part/models.py:855
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:881 part/templates/part/part_base.html:354
+#: part/models.py:900 part/templates/part/part_base.html:369
msgid "Default Supplier"
msgstr ""
-#: part/models.py:882
+#: part/models.py:901
msgid "Default supplier part"
msgstr ""
-#: part/models.py:889
+#: part/models.py:908
msgid "Default Expiry"
msgstr ""
-#: part/models.py:890
+#: part/models.py:909
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:895 part/templates/part/part_base.html:206
-msgid "Minimum Stock"
-msgstr ""
-
-#: part/models.py:896
+#: part/models.py:915
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:903
+#: part/models.py:922
msgid "Stock keeping units for this part"
msgstr ""
-#: part/models.py:909
+#: part/models.py:928
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:915
+#: part/models.py:934
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:921
+#: part/models.py:940
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:926
+#: part/models.py:945
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:931
+#: part/models.py:950
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:936
+#: part/models.py:955
msgid "Is this part active?"
msgstr ""
-#: part/models.py:941
+#: part/models.py:960
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:943
+#: part/models.py:962
msgid "Part notes"
msgstr ""
-#: part/models.py:945
+#: part/models.py:964
msgid "BOM checksum"
msgstr ""
-#: part/models.py:945
+#: part/models.py:964
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:948
+#: part/models.py:967
msgid "BOM checked by"
msgstr ""
-#: part/models.py:950
+#: part/models.py:969
msgid "BOM checked date"
msgstr ""
-#: part/models.py:954
+#: part/models.py:973
msgid "Creation User"
msgstr ""
-#: part/models.py:1790
+#: part/models.py:1819
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2319
+#: part/models.py:2682
+msgid "Currency used to cache pricing calculations"
+msgstr ""
+
+#: part/models.py:2687
+msgid "Updated"
+msgstr ""
+
+#: part/models.py:2688
+msgid "Timestamp of last pricing update"
+msgstr ""
+
+#: part/models.py:2705
+msgid "Minimum BOM Cost"
+msgstr ""
+
+#: part/models.py:2706
+msgid "Minimum cost of component parts"
+msgstr ""
+
+#: part/models.py:2711
+msgid "Maximum BOM Cost"
+msgstr ""
+
+#: part/models.py:2712
+msgid "Maximum cost of component parts"
+msgstr ""
+
+#: part/models.py:2717
+msgid "Minimum Purchase Cost"
+msgstr ""
+
+#: part/models.py:2718
+msgid "Minimum historical purchase cost"
+msgstr ""
+
+#: part/models.py:2723
+msgid "Maximum Purchase Cost"
+msgstr ""
+
+#: part/models.py:2724
+msgid "Maximum historical purchase cost"
+msgstr ""
+
+#: part/models.py:2729
+msgid "Minimum Internal Price"
+msgstr ""
+
+#: part/models.py:2730
+msgid "Minimum cost based on internal price breaks"
+msgstr ""
+
+#: part/models.py:2735
+msgid "Maximum Internal Price"
+msgstr ""
+
+#: part/models.py:2736
+msgid "Maximum cost based on internal price breaks"
+msgstr ""
+
+#: part/models.py:2741
+msgid "Minimum Supplier Price"
+msgstr ""
+
+#: part/models.py:2742
+msgid "Minimum price of part from external suppliers"
+msgstr ""
+
+#: part/models.py:2747
+msgid "Maximum Supplier Price"
+msgstr ""
+
+#: part/models.py:2748
+msgid "Maximum price of part from external suppliers"
+msgstr ""
+
+#: part/models.py:2753
+msgid "Minimum Variant Cost"
+msgstr ""
+
+#: part/models.py:2754
+msgid "Calculated minimum cost of variant parts"
+msgstr ""
+
+#: part/models.py:2759
+msgid "Maximum Variant Cost"
+msgstr ""
+
+#: part/models.py:2760
+msgid "Calculated maximum cost of variant parts"
+msgstr ""
+
+#: part/models.py:2766
+msgid "Calculated overall minimum cost"
+msgstr ""
+
+#: part/models.py:2772
+msgid "Calculated overall maximum cost"
+msgstr ""
+
+#: part/models.py:2777
+msgid "Minimum Sale Price"
+msgstr ""
+
+#: part/models.py:2778
+msgid "Minimum sale price based on price breaks"
+msgstr ""
+
+#: part/models.py:2783
+msgid "Maximum Sale Price"
+msgstr ""
+
+#: part/models.py:2784
+msgid "Maximum sale price based on price breaks"
+msgstr ""
+
+#: part/models.py:2789
+msgid "Minimum Sale Cost"
+msgstr ""
+
+#: part/models.py:2790
+msgid "Minimum historical sale price"
+msgstr ""
+
+#: part/models.py:2795
+msgid "Maximum Sale Cost"
+msgstr ""
+
+#: part/models.py:2796
+msgid "Maximum historical sale price"
+msgstr ""
+
+#: part/models.py:2932
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:2336
+#: part/models.py:2949
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2356 templates/js/translated/part.js:2070
-#: templates/js/translated/stock.js:1340
+#: part/models.py:2969 templates/js/translated/part.js:2094
+#: templates/js/translated/stock.js:1359
msgid "Test Name"
msgstr ""
-#: part/models.py:2357
+#: part/models.py:2970
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2362
+#: part/models.py:2975
msgid "Test Description"
msgstr ""
-#: part/models.py:2363
+#: part/models.py:2976
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2368 templates/js/translated/part.js:2079
-#: templates/js/translated/table_filters.js:310
+#: part/models.py:2981 templates/js/translated/part.js:2103
+#: templates/js/translated/table_filters.js:314
msgid "Required"
msgstr ""
-#: part/models.py:2369
+#: part/models.py:2982
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2374 templates/js/translated/part.js:2087
+#: part/models.py:2987 templates/js/translated/part.js:2111
msgid "Requires Value"
msgstr ""
-#: part/models.py:2375
+#: part/models.py:2988
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2380 templates/js/translated/part.js:2094
+#: part/models.py:2993 templates/js/translated/part.js:2118
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2381
+#: part/models.py:2994
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:2422
+#: part/models.py:3035
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:2430
+#: part/models.py:3043
msgid "Parameter Name"
msgstr ""
-#: part/models.py:2434
+#: part/models.py:3047
msgid "Parameter Units"
msgstr ""
-#: part/models.py:2439
+#: part/models.py:3052
msgid "Parameter description"
msgstr ""
-#: part/models.py:2472
+#: part/models.py:3085
msgid "Parent Part"
msgstr ""
-#: part/models.py:2474 part/models.py:2522 part/models.py:2523
+#: part/models.py:3087 part/models.py:3135 part/models.py:3136
#: templates/InvenTree/settings/settings.html:224
msgid "Parameter Template"
msgstr ""
-#: part/models.py:2476
+#: part/models.py:3089
msgid "Data"
msgstr ""
-#: part/models.py:2476
+#: part/models.py:3089
msgid "Parameter Value"
msgstr ""
-#: part/models.py:2527 templates/InvenTree/settings/settings.html:233
+#: part/models.py:3140 templates/InvenTree/settings/settings.html:233
msgid "Default Value"
msgstr ""
-#: part/models.py:2528
+#: part/models.py:3141
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:2565
+#: part/models.py:3178
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:2568 templates/js/translated/model_renderers.js:212
-msgid "Part ID"
-msgstr ""
-
-#: part/models.py:2569
+#: part/models.py:3182
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:2572
-msgid "Part Name"
-msgstr ""
-
-#: part/models.py:2576
-msgid "Part IPN"
-msgstr ""
-
-#: part/models.py:2577
+#: part/models.py:3190
msgid "Part IPN value"
msgstr ""
-#: part/models.py:2580
+#: part/models.py:3193
msgid "Level"
msgstr ""
-#: part/models.py:2581
+#: part/models.py:3194
msgid "BOM level"
msgstr ""
-#: part/models.py:2650
+#: part/models.py:3263
msgid "Select parent part"
msgstr ""
-#: part/models.py:2658
+#: part/models.py:3271
msgid "Sub part"
msgstr ""
-#: part/models.py:2659
+#: part/models.py:3272
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:2665
+#: part/models.py:3278
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:2669 part/templates/part/upload_bom.html:58
-#: templates/js/translated/bom.js:924 templates/js/translated/bom.js:1024
+#: part/models.py:3282 part/templates/part/upload_bom.html:58
+#: templates/js/translated/bom.js:933 templates/js/translated/bom.js:986
#: templates/js/translated/build.js:1858
#: templates/js/translated/table_filters.js:84
-#: templates/js/translated/table_filters.js:108
+#: templates/js/translated/table_filters.js:112
msgid "Optional"
msgstr ""
-#: part/models.py:2670
+#: part/models.py:3283
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:2675 templates/js/translated/bom.js:920
-#: templates/js/translated/bom.js:1033 templates/js/translated/build.js:1849
+#: part/models.py:3288 templates/js/translated/bom.js:929
+#: templates/js/translated/bom.js:995 templates/js/translated/build.js:1849
#: templates/js/translated/table_filters.js:88
msgid "Consumable"
msgstr ""
-#: part/models.py:2676
+#: part/models.py:3289
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:2680 part/templates/part/upload_bom.html:55
+#: part/models.py:3293 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:2681
+#: part/models.py:3294
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:2684
+#: part/models.py:3297
msgid "BOM item reference"
msgstr ""
-#: part/models.py:2687
+#: part/models.py:3300
msgid "BOM item notes"
msgstr ""
-#: part/models.py:2689
+#: part/models.py:3302
msgid "Checksum"
msgstr ""
-#: part/models.py:2689
+#: part/models.py:3302
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:2693 part/templates/part/upload_bom.html:57
-#: templates/js/translated/bom.js:1050
+#: part/models.py:3306 part/templates/part/upload_bom.html:57
+#: templates/js/translated/bom.js:1012
#: templates/js/translated/table_filters.js:76
-#: templates/js/translated/table_filters.js:104
+#: templates/js/translated/table_filters.js:108
msgid "Inherited"
msgstr ""
-#: part/models.py:2694
+#: part/models.py:3307
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:2699 part/templates/part/upload_bom.html:56
-#: templates/js/translated/bom.js:1042
+#: part/models.py:3312 part/templates/part/upload_bom.html:56
+#: templates/js/translated/bom.js:1004
msgid "Allow Variants"
msgstr ""
-#: part/models.py:2700
+#: part/models.py:3313
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:2786 stock/models.py:502
+#: part/models.py:3399 stock/models.py:518
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:2795 part/models.py:2797
+#: part/models.py:3408 part/models.py:3410
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:2902
+#: part/models.py:3537
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:2923
+#: part/models.py:3558
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:2936
+#: part/models.py:3571
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:2944
+#: part/models.py:3579
msgid "Substitute part"
msgstr ""
-#: part/models.py:2959
+#: part/models.py:3594
msgid "Part 1"
msgstr ""
-#: part/models.py:2963
+#: part/models.py:3598
msgid "Part 2"
msgstr ""
-#: part/models.py:2963
+#: part/models.py:3598
msgid "Select Related Part"
msgstr ""
-#: part/models.py:2981
+#: part/models.py:3616
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:2985
+#: part/models.py:3620
msgid "Duplicate relationship already exists"
msgstr ""
-#: part/serializers.py:154 part/serializers.py:185 stock/serializers.py:179
+#: part/serializers.py:154 part/serializers.py:182 stock/serializers.py:183
msgid "Purchase currency of this stock item"
msgstr ""
-#: part/serializers.py:829
+#: part/serializers.py:542
+msgid "Update"
+msgstr ""
+
+#: part/serializers.py:543
+msgid "Update pricing for this part"
+msgstr ""
+
+#: part/serializers.py:853
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:837
+#: part/serializers.py:861
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:838
+#: part/serializers.py:862
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:843
+#: part/serializers.py:867
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:844
+#: part/serializers.py:868
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:849
+#: part/serializers.py:873
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:850
+#: part/serializers.py:874
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:855
+#: part/serializers.py:879
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:856
+#: part/serializers.py:880
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/serializers.py:896
+#: part/serializers.py:920
msgid "Clear Existing BOM"
msgstr ""
-#: part/serializers.py:897
+#: part/serializers.py:921
msgid "Delete existing BOM items before uploading"
msgstr ""
-#: part/serializers.py:927
+#: part/serializers.py:951
msgid "No part column specified"
msgstr ""
-#: part/serializers.py:970
+#: part/serializers.py:994
msgid "Multiple matching parts found"
msgstr ""
-#: part/serializers.py:973
+#: part/serializers.py:997
msgid "No matching part found"
msgstr ""
-#: part/serializers.py:976
+#: part/serializers.py:1000
msgid "Part is not designated as a component"
msgstr ""
-#: part/serializers.py:985
+#: part/serializers.py:1009
msgid "Quantity not provided"
msgstr ""
-#: part/serializers.py:993
+#: part/serializers.py:1017
msgid "Invalid quantity"
msgstr ""
-#: part/serializers.py:1014
+#: part/serializers.py:1038
msgid "At least one BOM item is required"
msgstr ""
-#: part/tasks.py:21
+#: part/tasks.py:25
msgid "Low stock notification"
msgstr ""
-#: part/tasks.py:22
+#: part/tasks.py:26
#, python-brace-format
msgid "The available stock for {part.name} has fallen below the configured minimum level"
msgstr ""
@@ -5034,7 +5293,7 @@ msgstr ""
msgid "The BOM for %(part)s has not been validated."
msgstr ""
-#: part/templates/part/bom.html:30 part/templates/part/detail.html:269
+#: part/templates/part/bom.html:30 part/templates/part/detail.html:267
msgid "BOM actions"
msgstr ""
@@ -5070,10 +5329,6 @@ msgstr ""
msgid "Delete Category"
msgstr ""
-#: part/templates/part/category.html:81 part/templates/part/category.html:94
-msgid "Category Path"
-msgstr ""
-
#: part/templates/part/category.html:95
msgid "Top level part category"
msgstr ""
@@ -5091,12 +5346,12 @@ msgstr ""
msgid "Create new part"
msgstr ""
-#: part/templates/part/category.html:159 templates/js/translated/bom.js:392
+#: part/templates/part/category.html:159 templates/js/translated/bom.js:405
msgid "New Part"
msgstr "新規パーツ"
-#: part/templates/part/category.html:169 part/templates/part/detail.html:368
-#: part/templates/part/detail.html:399
+#: part/templates/part/category.html:169 part/templates/part/detail.html:366
+#: part/templates/part/detail.html:397
msgid "Options"
msgstr ""
@@ -5144,7 +5399,7 @@ msgstr ""
msgid "Import Parts"
msgstr ""
-#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:379
+#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:393
msgid "Duplicate Part"
msgstr ""
@@ -5176,7 +5431,8 @@ msgstr ""
msgid "Refresh scheduling data"
msgstr ""
-#: part/templates/part/detail.html:45 templates/js/translated/tables.js:524
+#: part/templates/part/detail.html:45 part/templates/part/prices.html:15
+#: templates/js/translated/tables.js:524
msgid "Refresh"
msgstr ""
@@ -5192,123 +5448,103 @@ msgstr ""
msgid "Sales Order Allocations"
msgstr ""
-#: part/templates/part/detail.html:143
+#: part/templates/part/detail.html:141
msgid "Part Notes"
msgstr ""
-#: part/templates/part/detail.html:158
+#: part/templates/part/detail.html:156
msgid "Part Variants"
msgstr ""
-#: part/templates/part/detail.html:162
+#: part/templates/part/detail.html:160
msgid "Create new variant"
msgstr ""
-#: part/templates/part/detail.html:163
+#: part/templates/part/detail.html:161
msgid "New Variant"
msgstr ""
-#: part/templates/part/detail.html:190
+#: part/templates/part/detail.html:188
msgid "Add new parameter"
msgstr ""
-#: part/templates/part/detail.html:227 part/templates/part/part_sidebar.html:54
+#: part/templates/part/detail.html:225 part/templates/part/part_sidebar.html:52
msgid "Related Parts"
msgstr ""
-#: part/templates/part/detail.html:231 part/templates/part/detail.html:232
+#: part/templates/part/detail.html:229 part/templates/part/detail.html:230
msgid "Add Related"
msgstr ""
-#: part/templates/part/detail.html:252 part/templates/part/part_sidebar.html:17
+#: part/templates/part/detail.html:250 part/templates/part/part_sidebar.html:17
msgid "Bill of Materials"
msgstr ""
-#: part/templates/part/detail.html:257
+#: part/templates/part/detail.html:255
msgid "Export actions"
msgstr ""
-#: part/templates/part/detail.html:261 templates/js/translated/bom.js:309
+#: part/templates/part/detail.html:259 templates/js/translated/bom.js:309
msgid "Export BOM"
msgstr ""
-#: part/templates/part/detail.html:263
+#: part/templates/part/detail.html:261
msgid "Print BOM Report"
msgstr ""
-#: part/templates/part/detail.html:273
+#: part/templates/part/detail.html:271
msgid "Upload BOM"
msgstr ""
-#: part/templates/part/detail.html:274 templates/js/translated/part.js:274
+#: part/templates/part/detail.html:272 templates/js/translated/part.js:270
msgid "Copy BOM"
msgstr ""
-#: part/templates/part/detail.html:275
+#: part/templates/part/detail.html:273
msgid "Validate BOM"
msgstr ""
-#: part/templates/part/detail.html:280 part/templates/part/detail.html:281
-#: templates/js/translated/bom.js:1202 templates/js/translated/bom.js:1203
+#: part/templates/part/detail.html:278 part/templates/part/detail.html:279
+#: templates/js/translated/bom.js:1267 templates/js/translated/bom.js:1268
msgid "Add BOM Item"
msgstr ""
-#: part/templates/part/detail.html:294
+#: part/templates/part/detail.html:292
msgid "Assemblies"
msgstr ""
-#: part/templates/part/detail.html:312
+#: part/templates/part/detail.html:310
msgid "Part Builds"
msgstr ""
-#: part/templates/part/detail.html:339 stock/templates/stock/item.html:38
+#: part/templates/part/detail.html:337 stock/templates/stock/item.html:38
msgid "Build Order Allocations"
msgstr ""
-#: part/templates/part/detail.html:355
+#: part/templates/part/detail.html:353
msgid "Part Suppliers"
msgstr ""
-#: part/templates/part/detail.html:385
+#: part/templates/part/detail.html:383
msgid "Part Manufacturers"
msgstr ""
-#: part/templates/part/detail.html:401
+#: part/templates/part/detail.html:399
msgid "Delete manufacturer parts"
msgstr ""
-#: part/templates/part/detail.html:658
+#: part/templates/part/detail.html:656
msgid "Related Part"
msgstr ""
-#: part/templates/part/detail.html:666
+#: part/templates/part/detail.html:664
msgid "Add Related Part"
msgstr ""
-#: part/templates/part/detail.html:758
+#: part/templates/part/detail.html:756
msgid "Add Test Result Template"
msgstr ""
-#: part/templates/part/detail.html:901
-#, python-format
-msgid "Purchase Unit Price - %(currency)s"
-msgstr ""
-
-#: part/templates/part/detail.html:913
-#, python-format
-msgid "Unit Price-Cost Difference - %(currency)s"
-msgstr ""
-
-#: part/templates/part/detail.html:925
-#, python-format
-msgid "Supplier Unit Cost - %(currency)s"
-msgstr ""
-
-#: part/templates/part/detail.html:1014
-#, python-format
-msgid "Unit Price - %(currency)s"
-msgstr ""
-
#: part/templates/part/import_wizard/ajax_match_fields.html:9
#: templates/patterns/wizard/match_fields.html:8
msgid "Missing selections for the following required columns"
@@ -5439,15 +5675,15 @@ msgid "Part is virtual (not a physical part)"
msgstr ""
#: part/templates/part/part_base.html:148
-#: templates/js/translated/company.js:659
-#: templates/js/translated/company.js:920
+#: templates/js/translated/company.js:660
+#: templates/js/translated/company.js:921
#: templates/js/translated/model_renderers.js:204
-#: templates/js/translated/part.js:652 templates/js/translated/part.js:729
+#: templates/js/translated/part.js:666 templates/js/translated/part.js:743
msgid "Inactive"
msgstr ""
#: part/templates/part/part_base.html:165
-#: part/templates/part/part_base.html:620
+#: part/templates/part/part_base.html:635
msgid "Show Part Details"
msgstr ""
@@ -5456,12 +5692,6 @@ msgstr ""
msgid "This part is a variant of %(link)s"
msgstr ""
-#: part/templates/part/part_base.html:200
-#: templates/js/translated/company.js:1027
-#: templates/js/translated/table_filters.js:209
-msgid "In Stock"
-msgstr ""
-
#: part/templates/part/part_base.html:221
#: stock/templates/stock/item_base.html:382
msgid "Allocated to Build Orders"
@@ -5472,100 +5702,91 @@ msgstr ""
msgid "Allocated to Sales Orders"
msgstr ""
-#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1100
+#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1165
msgid "Can Build"
msgstr ""
-#: part/templates/part/part_base.html:244 templates/js/translated/part.js:591
-#: templates/js/translated/part.js:611 templates/js/translated/part.js:1342
-#: templates/js/translated/part.js:1533
-msgid "Building"
-msgstr ""
-
#: part/templates/part/part_base.html:293
msgid "Minimum stock level"
msgstr ""
-#: part/templates/part/part_base.html:330
+#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1032
+#: templates/js/translated/part.js:783 templates/js/translated/part.js:1582
+#: templates/js/translated/pricing.js:124
+#: templates/js/translated/pricing.js:757
+msgid "Price Range"
+msgstr ""
+
+#: part/templates/part/part_base.html:345
msgid "Latest Serial Number"
msgstr ""
-#: part/templates/part/part_base.html:334
+#: part/templates/part/part_base.html:349
#: stock/templates/stock/item_base.html:331
msgid "Search for serial number"
msgstr ""
-#: part/templates/part/part_base.html:431
+#: part/templates/part/part_base.html:446
msgid "Link Barcode to Part"
msgstr ""
-#: part/templates/part/part_base.html:477 part/templates/part/prices.html:149
+#: part/templates/part/part_base.html:492
msgid "Calculate"
msgstr ""
-#: part/templates/part/part_base.html:520
+#: part/templates/part/part_base.html:535
msgid "No matching images found"
msgstr ""
-#: part/templates/part/part_base.html:614
+#: part/templates/part/part_base.html:629
msgid "Hide Part Details"
msgstr ""
-#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:24
+#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:78
+#: part/templates/part/prices.html:238 templates/js/translated/pricing.js:218
msgid "Supplier Pricing"
msgstr ""
#: part/templates/part/part_pricing.html:26
#: part/templates/part/part_pricing.html:52
-#: part/templates/part/part_pricing.html:103
-#: part/templates/part/part_pricing.html:118 part/templates/part/prices.html:28
-#: part/templates/part/prices.html:55 part/templates/part/prices.html:108
-#: part/templates/part/prices.html:125
+#: part/templates/part/part_pricing.html:95
+#: part/templates/part/part_pricing.html:110
msgid "Unit Cost"
msgstr ""
#: part/templates/part/part_pricing.html:32
#: part/templates/part/part_pricing.html:58
-#: part/templates/part/part_pricing.html:107
-#: part/templates/part/part_pricing.html:122 part/templates/part/prices.html:35
-#: part/templates/part/prices.html:62 part/templates/part/prices.html:113
-#: part/templates/part/prices.html:130
+#: part/templates/part/part_pricing.html:99
+#: part/templates/part/part_pricing.html:114
msgid "Total Cost"
msgstr ""
-#: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:43
-#: templates/js/translated/bom.js:1091
+#: part/templates/part/part_pricing.html:40
msgid "No supplier pricing available"
msgstr ""
-#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:52
-#: part/templates/part/prices.html:248
+#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:94
+#: part/templates/part/prices.html:262
msgid "BOM Pricing"
msgstr ""
-#: part/templates/part/part_pricing.html:66 part/templates/part/prices.html:72
+#: part/templates/part/part_pricing.html:66
msgid "Unit Purchase Price"
msgstr ""
-#: part/templates/part/part_pricing.html:72 part/templates/part/prices.html:79
+#: part/templates/part/part_pricing.html:72
msgid "Total Purchase Price"
msgstr ""
-#: part/templates/part/part_pricing.html:82 part/templates/part/prices.html:89
-msgid "Note: BOM pricing is incomplete for this part"
-msgstr ""
-
-#: part/templates/part/part_pricing.html:91 part/templates/part/prices.html:98
+#: part/templates/part/part_pricing.html:83
msgid "No BOM pricing available"
msgstr ""
-#: part/templates/part/part_pricing.html:100
-#: part/templates/part/prices.html:107
+#: part/templates/part/part_pricing.html:92
msgid "Internal Price"
msgstr ""
-#: part/templates/part/part_pricing.html:131
-#: part/templates/part/prices.html:139
+#: part/templates/part/part_pricing.html:123
msgid "No pricing information is available for this part."
msgstr ""
@@ -5573,7 +5794,8 @@ msgstr ""
#: report/templates/report/inventree_test_report_base.html:97
#: templates/InvenTree/settings/plugin.html:63
#: templates/InvenTree/settings/plugin_settings.html:38
-#: templates/js/translated/order.js:2001 templates/js/translated/stock.js:2478
+#: templates/js/translated/order.js:2035 templates/js/translated/pricing.js:537
+#: templates/js/translated/pricing.js:658 templates/js/translated/stock.js:2496
msgid "Date"
msgstr ""
@@ -5585,15 +5807,11 @@ msgstr ""
msgid "Variants"
msgstr ""
-#: part/templates/part/part_sidebar.html:27
-msgid "Used In"
-msgstr ""
-
-#: part/templates/part/part_sidebar.html:46
+#: part/templates/part/part_sidebar.html:44
msgid "Scheduling"
msgstr ""
-#: part/templates/part/part_sidebar.html:50
+#: part/templates/part/part_sidebar.html:48
msgid "Test Templates"
msgstr ""
@@ -5601,74 +5819,82 @@ msgstr ""
msgid "Select from existing images"
msgstr ""
-#: part/templates/part/prices.html:19
-msgid "Pricing ranges"
+#: part/templates/part/prices.html:11
+msgid "Pricing Overview"
msgstr ""
-#: part/templates/part/prices.html:25
-msgid "Show supplier cost"
+#: part/templates/part/prices.html:14
+msgid "Refresh Part Pricing"
msgstr ""
-#: part/templates/part/prices.html:26
-msgid "Show purchase price"
+#: part/templates/part/prices.html:25 stock/admin.py:106
+#: stock/templates/stock/item_base.html:440
+#: templates/js/translated/company.js:1039
+#: templates/js/translated/stock.js:1920
+msgid "Last Updated"
msgstr ""
-#: part/templates/part/prices.html:53
-msgid "Show BOM cost"
+#: part/templates/part/prices.html:34 part/templates/part/prices.html:126
+msgid "Price Category"
msgstr ""
-#: part/templates/part/prices.html:122
-msgid "Show sale cost"
+#: part/templates/part/prices.html:35 part/templates/part/prices.html:127
+msgid "Minimum"
msgstr ""
-#: part/templates/part/prices.html:123
-msgid "Show sale price"
+#: part/templates/part/prices.html:36 part/templates/part/prices.html:128
+msgid "Maximum"
msgstr ""
-#: part/templates/part/prices.html:145
-msgid "Calculation parameters"
+#: part/templates/part/prices.html:49 part/templates/part/prices.html:185
+msgid "Internal Pricing"
msgstr ""
-#: part/templates/part/prices.html:160 templates/js/translated/bom.js:1085
-msgid "Supplier Cost"
+#: part/templates/part/prices.html:64 part/templates/part/prices.html:217
+msgid "Purchase History"
msgstr ""
-#: part/templates/part/prices.html:161 part/templates/part/prices.html:182
-#: part/templates/part/prices.html:206 part/templates/part/prices.html:236
-#: part/templates/part/prices.html:262 part/templates/part/prices.html:291
+#: part/templates/part/prices.html:103 part/templates/part/prices.html:286
+msgid "Variant Pricing"
+msgstr ""
+
+#: part/templates/part/prices.html:111
+msgid "Overall Pricing"
+msgstr ""
+
+#: part/templates/part/prices.html:155 part/templates/part/prices.html:338
+msgid "Sale History"
+msgstr ""
+
+#: part/templates/part/prices.html:168
+msgid "Sale price data is not available for this part"
+msgstr ""
+
+#: part/templates/part/prices.html:175
+msgid "Price range data is not available for this part."
+msgstr ""
+
+#: part/templates/part/prices.html:186 part/templates/part/prices.html:218
+#: part/templates/part/prices.html:239 part/templates/part/prices.html:263
+#: part/templates/part/prices.html:287 part/templates/part/prices.html:310
+#: part/templates/part/prices.html:339
msgid "Jump to overview"
msgstr ""
-#: part/templates/part/prices.html:186
-msgid "Stock Pricing"
-msgstr ""
-
-#: part/templates/part/prices.html:195
-msgid "No stock pricing history is available for this part."
-msgstr ""
-
-#: part/templates/part/prices.html:205
-msgid "Internal Cost"
-msgstr ""
-
-#: part/templates/part/prices.html:220
+#: part/templates/part/prices.html:191
msgid "Add Internal Price Break"
msgstr ""
-#: part/templates/part/prices.html:235
-msgid "BOM Cost"
+#: part/templates/part/prices.html:309
+msgid "Sale Pricing"
msgstr ""
-#: part/templates/part/prices.html:261
-msgid "Sale Cost"
+#: part/templates/part/prices.html:315
+msgid "Add Sell Price Break"
msgstr ""
-#: part/templates/part/prices.html:302
-msgid "No sale pice history available for this part."
-msgstr ""
-
-#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:614
-#: templates/js/translated/part.js:1330 templates/js/translated/part.js:1332
+#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:628
+#: templates/js/translated/part.js:1351 templates/js/translated/part.js:1353
msgid "No Stock"
msgstr "在庫切れ"
@@ -5722,40 +5948,36 @@ msgstr ""
msgid "Create a new variant of template '%(full_name)s'."
msgstr ""
-#: part/templatetags/inventree_extras.py:177
+#: part/templatetags/inventree_extras.py:210
msgid "Unknown database"
msgstr ""
-#: part/templatetags/inventree_extras.py:229
+#: part/templatetags/inventree_extras.py:262
#, python-brace-format
msgid "{title} v{version}"
msgstr ""
-#: part/views.py:114
+#: part/views.py:109
msgid "Match References"
msgstr ""
-#: part/views.py:415
-msgid "None"
-msgstr ""
-
-#: part/views.py:477
+#: part/views.py:354
msgid "Part QR Code"
msgstr ""
-#: part/views.py:495
+#: part/views.py:372
msgid "Select Part Image"
msgstr ""
-#: part/views.py:521
+#: part/views.py:398
msgid "Updated part image"
msgstr ""
-#: part/views.py:524
+#: part/views.py:401
msgid "Part image not found"
msgstr ""
-#: part/views.py:613
+#: part/views.py:493
msgid "Part Pricing"
msgstr ""
@@ -6070,12 +6292,12 @@ msgid "Stock Item Test Report"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:79
-#: stock/models.py:650 stock/templates/stock/item_base.html:320
+#: stock/models.py:666 stock/templates/stock/item_base.html:320
#: templates/js/translated/build.js:472 templates/js/translated/build.js:624
#: templates/js/translated/build.js:1234 templates/js/translated/build.js:1735
#: templates/js/translated/model_renderers.js:118
-#: templates/js/translated/order.js:121 templates/js/translated/order.js:3592
-#: templates/js/translated/order.js:3679 templates/js/translated/stock.js:490
+#: templates/js/translated/order.js:121 templates/js/translated/order.js:3603
+#: templates/js/translated/order.js:3690 templates/js/translated/stock.js:509
msgid "Serial Number"
msgstr ""
@@ -6084,12 +6306,12 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:93
-#: stock/models.py:2085
+#: stock/models.py:2101
msgid "Test"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:94
-#: stock/models.py:2091
+#: stock/models.py:2107
msgid "Result"
msgstr ""
@@ -6107,383 +6329,435 @@ msgid "Installed Items"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:137
-#: templates/js/translated/stock.js:610 templates/js/translated/stock.js:780
-#: templates/js/translated/stock.js:2727
+#: stock/admin.py:87 templates/js/translated/stock.js:629
+#: templates/js/translated/stock.js:799 templates/js/translated/stock.js:2745
msgid "Serial"
msgstr ""
-#: stock/api.py:529
+#: stock/admin.py:23 stock/admin.py:90
+#: templates/js/translated/model_renderers.js:159
+msgid "Location ID"
+msgstr ""
+
+#: stock/admin.py:24 stock/admin.py:91
+msgid "Location Name"
+msgstr ""
+
+#: stock/admin.py:28 stock/templates/stock/location.html:123
+#: stock/templates/stock/location.html:129
+msgid "Location Path"
+msgstr ""
+
+#: stock/admin.py:83
+msgid "Stock Item ID"
+msgstr ""
+
+#: stock/admin.py:92 templates/js/translated/model_renderers.js:418
+msgid "Supplier Part ID"
+msgstr ""
+
+#: stock/admin.py:93
+msgid "Supplier ID"
+msgstr ""
+
+#: stock/admin.py:94
+msgid "Supplier Name"
+msgstr ""
+
+#: stock/admin.py:95
+msgid "Customer ID"
+msgstr ""
+
+#: stock/admin.py:96 stock/models.py:649
+#: stock/templates/stock/item_base.html:359
+msgid "Installed In"
+msgstr ""
+
+#: stock/admin.py:97 templates/js/translated/model_renderers.js:177
+msgid "Build ID"
+msgstr ""
+
+#: stock/admin.py:99
+msgid "Sales Order ID"
+msgstr ""
+
+#: stock/admin.py:100
+msgid "Purchase Order ID"
+msgstr ""
+
+#: stock/admin.py:107 templates/js/translated/stock.js:1890
+msgid "Stocktake"
+msgstr ""
+
+#: stock/admin.py:108 stock/models.py:724
+#: stock/templates/stock/item_base.html:427
+#: templates/js/translated/stock.js:1904
+msgid "Expiry Date"
+msgstr ""
+
+#: stock/api.py:539
msgid "Quantity is required"
msgstr ""
-#: stock/api.py:536
+#: stock/api.py:546
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:561
+#: stock/api.py:571
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/models.py:90 stock/models.py:746
+#: stock/models.py:106 stock/models.py:762
#: stock/templates/stock/item_base.html:250
msgid "Owner"
msgstr ""
-#: stock/models.py:91 stock/models.py:747
+#: stock/models.py:107 stock/models.py:763
msgid "Select Owner"
msgstr ""
-#: stock/models.py:508 stock/serializers.py:93
+#: stock/models.py:524 stock/serializers.py:97
msgid "Stock item cannot be created for virtual parts"
msgstr ""
-#: stock/models.py:525
+#: stock/models.py:541
#, python-brace-format
msgid "Part type ('{pf}') must be {pe}"
msgstr ""
-#: stock/models.py:535 stock/models.py:544
+#: stock/models.py:551 stock/models.py:560
msgid "Quantity must be 1 for item with a serial number"
msgstr ""
-#: stock/models.py:536
+#: stock/models.py:552
msgid "Serial number cannot be set if quantity greater than 1"
msgstr ""
-#: stock/models.py:558
+#: stock/models.py:574
msgid "Item cannot belong to itself"
msgstr ""
-#: stock/models.py:564
+#: stock/models.py:580
msgid "Item must have a build reference if is_building=True"
msgstr ""
-#: stock/models.py:578
+#: stock/models.py:594
msgid "Build reference does not point to the same part object"
msgstr ""
-#: stock/models.py:592
+#: stock/models.py:608
msgid "Parent Stock Item"
msgstr ""
-#: stock/models.py:602
+#: stock/models.py:618
msgid "Base part"
msgstr ""
-#: stock/models.py:610
+#: stock/models.py:626
msgid "Select a matching supplier part for this stock item"
msgstr ""
-#: stock/models.py:617 stock/templates/stock/location.html:17
+#: stock/models.py:633 stock/templates/stock/location.html:17
#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
msgstr ""
-#: stock/models.py:620
+#: stock/models.py:636
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:627
+#: stock/models.py:643
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:633 stock/templates/stock/item_base.html:359
-msgid "Installed In"
-msgstr ""
-
-#: stock/models.py:636
+#: stock/models.py:652
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:652
+#: stock/models.py:668
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:666
+#: stock/models.py:682
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:671
+#: stock/models.py:687
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:680
+#: stock/models.py:696
msgid "Source Build"
msgstr ""
-#: stock/models.py:682
+#: stock/models.py:698
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:693
+#: stock/models.py:709
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:696
+#: stock/models.py:712
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:702
+#: stock/models.py:718
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:708 stock/templates/stock/item_base.html:427
-#: templates/js/translated/stock.js:1885
-msgid "Expiry Date"
-msgstr ""
-
-#: stock/models.py:709
+#: stock/models.py:725
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:722
+#: stock/models.py:738
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:722
+#: stock/models.py:738
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:734 stock/templates/stock/item.html:132
+#: stock/models.py:750 stock/templates/stock/item.html:132
msgid "Stock Item Notes"
msgstr ""
-#: stock/models.py:742
+#: stock/models.py:758
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:770
+#: stock/models.py:786
msgid "Converted to part"
msgstr ""
-#: stock/models.py:1244
+#: stock/models.py:1260
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1250
+#: stock/models.py:1266
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1256
+#: stock/models.py:1272
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr ""
-#: stock/models.py:1259
+#: stock/models.py:1275
msgid "Serial numbers must be a list of integers"
msgstr ""
-#: stock/models.py:1262
+#: stock/models.py:1278
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1269
+#: stock/models.py:1285
#, python-brace-format
msgid "Serial numbers already exist: {exists}"
msgstr ""
-#: stock/models.py:1339
+#: stock/models.py:1355
msgid "Stock item has been assigned to a sales order"
msgstr ""
-#: stock/models.py:1342
+#: stock/models.py:1358
msgid "Stock item is installed in another item"
msgstr ""
-#: stock/models.py:1345
+#: stock/models.py:1361
msgid "Stock item contains other items"
msgstr ""
-#: stock/models.py:1348
+#: stock/models.py:1364
msgid "Stock item has been assigned to a customer"
msgstr ""
-#: stock/models.py:1351
+#: stock/models.py:1367
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:1354
+#: stock/models.py:1370
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1361 stock/serializers.py:963
+#: stock/models.py:1377 stock/serializers.py:962
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:1365
+#: stock/models.py:1381
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:1369
+#: stock/models.py:1385
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:1373
+#: stock/models.py:1389
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:1542
+#: stock/models.py:1558
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:2003
+#: stock/models.py:2019
msgid "Entry notes"
msgstr ""
-#: stock/models.py:2061
+#: stock/models.py:2077
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:2067
+#: stock/models.py:2083
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:2086
+#: stock/models.py:2102
msgid "Test name"
msgstr ""
-#: stock/models.py:2092
+#: stock/models.py:2108
msgid "Test result"
msgstr ""
-#: stock/models.py:2098
+#: stock/models.py:2114
msgid "Test output value"
msgstr ""
-#: stock/models.py:2105
+#: stock/models.py:2121
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2111
+#: stock/models.py:2127
msgid "Test notes"
msgstr ""
-#: stock/serializers.py:71
+#: stock/serializers.py:75
msgid "Serial number is too large"
msgstr ""
-#: stock/serializers.py:172
+#: stock/serializers.py:176
msgid "Purchase price of this stock item"
msgstr ""
-#: stock/serializers.py:292
+#: stock/serializers.py:286
msgid "Enter number of stock items to serialize"
msgstr ""
-#: stock/serializers.py:304
+#: stock/serializers.py:298
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({q})"
msgstr ""
-#: stock/serializers.py:310
+#: stock/serializers.py:304
msgid "Enter serial numbers for new items"
msgstr ""
-#: stock/serializers.py:321 stock/serializers.py:920 stock/serializers.py:1153
+#: stock/serializers.py:315 stock/serializers.py:919 stock/serializers.py:1152
msgid "Destination stock location"
msgstr ""
-#: stock/serializers.py:328
+#: stock/serializers.py:322
msgid "Optional note field"
msgstr ""
-#: stock/serializers.py:338
+#: stock/serializers.py:332
msgid "Serial numbers cannot be assigned to this part"
msgstr ""
-#: stock/serializers.py:359
+#: stock/serializers.py:353
msgid "Serial numbers already exist"
msgstr ""
-#: stock/serializers.py:399
+#: stock/serializers.py:393
msgid "Select stock item to install"
msgstr ""
-#: stock/serializers.py:412
+#: stock/serializers.py:406
msgid "Stock item is unavailable"
msgstr ""
-#: stock/serializers.py:419
+#: stock/serializers.py:413
msgid "Selected part is not in the Bill of Materials"
msgstr ""
-#: stock/serializers.py:456
+#: stock/serializers.py:450
msgid "Destination location for uninstalled item"
msgstr ""
-#: stock/serializers.py:461 stock/serializers.py:542
+#: stock/serializers.py:455 stock/serializers.py:536
msgid "Add transaction note (optional)"
msgstr ""
-#: stock/serializers.py:495
+#: stock/serializers.py:489
msgid "Select part to convert stock item into"
msgstr ""
-#: stock/serializers.py:506
+#: stock/serializers.py:500
msgid "Selected part is not a valid option for conversion"
msgstr ""
-#: stock/serializers.py:537
+#: stock/serializers.py:531
msgid "Destination location for returned item"
msgstr ""
-#: stock/serializers.py:775
+#: stock/serializers.py:774
msgid "Part must be salable"
msgstr ""
-#: stock/serializers.py:779
+#: stock/serializers.py:778
msgid "Item is allocated to a sales order"
msgstr ""
-#: stock/serializers.py:783
+#: stock/serializers.py:782
msgid "Item is allocated to a build order"
msgstr ""
-#: stock/serializers.py:814
+#: stock/serializers.py:813
msgid "Customer to assign stock items"
msgstr ""
-#: stock/serializers.py:820
+#: stock/serializers.py:819
msgid "Selected company is not a customer"
msgstr ""
-#: stock/serializers.py:828
+#: stock/serializers.py:827
msgid "Stock assignment notes"
msgstr ""
-#: stock/serializers.py:838 stock/serializers.py:1069
+#: stock/serializers.py:837 stock/serializers.py:1068
msgid "A list of stock items must be provided"
msgstr ""
-#: stock/serializers.py:927
+#: stock/serializers.py:926
msgid "Stock merging notes"
msgstr ""
-#: stock/serializers.py:932
+#: stock/serializers.py:931
msgid "Allow mismatched suppliers"
msgstr ""
-#: stock/serializers.py:933
+#: stock/serializers.py:932
msgid "Allow stock items with different supplier parts to be merged"
msgstr ""
-#: stock/serializers.py:938
+#: stock/serializers.py:937
msgid "Allow mismatched status"
msgstr ""
-#: stock/serializers.py:939
+#: stock/serializers.py:938
msgid "Allow stock items with different status codes to be merged"
msgstr ""
-#: stock/serializers.py:949
+#: stock/serializers.py:948
msgid "At least two stock items must be provided"
msgstr ""
-#: stock/serializers.py:1031
+#: stock/serializers.py:1030
msgid "StockItem primary key value"
msgstr ""
-#: stock/serializers.py:1059
+#: stock/serializers.py:1058
msgid "Stock transaction notes"
msgstr ""
@@ -6520,7 +6794,7 @@ msgstr ""
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2871
+#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2889
msgid "Install Stock Item"
msgstr ""
@@ -6528,7 +6802,7 @@ msgstr ""
msgid "Delete all test results for this stock item"
msgstr ""
-#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1522
+#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1541
msgid "Add Test Result"
msgstr ""
@@ -6687,7 +6961,7 @@ msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:431
-#: templates/js/translated/table_filters.js:277
+#: templates/js/translated/table_filters.js:281
msgid "Expired"
msgstr "期限切れ"
@@ -6697,16 +6971,10 @@ msgid "This StockItem expires on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/table_filters.js:283
+#: templates/js/translated/table_filters.js:287
msgid "Stale"
msgstr ""
-#: stock/templates/stock/item_base.html:440
-#: templates/js/translated/company.js:1038
-#: templates/js/translated/stock.js:1901
-msgid "Last Updated"
-msgstr ""
-
#: stock/templates/stock/item_base.html:445
msgid "Last Stocktake"
msgstr ""
@@ -6783,11 +7051,6 @@ msgstr ""
msgid "Delete location"
msgstr ""
-#: stock/templates/stock/location.html:123
-#: stock/templates/stock/location.html:129
-msgid "Location Path"
-msgstr ""
-
#: stock/templates/stock/location.html:130
msgid "Top level stock location"
msgstr ""
@@ -6960,6 +7223,14 @@ msgstr ""
msgid "Overdue Sales Orders"
msgstr ""
+#: templates/InvenTree/index.html:312
+msgid "InvenTree News"
+msgstr ""
+
+#: templates/InvenTree/index.html:314
+msgid "Current News"
+msgstr ""
+
#: templates/InvenTree/notifications/history.html:9
msgid "Notification History"
msgstr ""
@@ -7026,30 +7297,6 @@ msgstr ""
msgid "Category Settings"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:8
-msgid "Currency Settings"
-msgstr ""
-
-#: templates/InvenTree/settings/currencies.html:19
-msgid "Base Currency"
-msgstr ""
-
-#: templates/InvenTree/settings/currencies.html:24
-msgid "Exchange Rates"
-msgstr ""
-
-#: templates/InvenTree/settings/currencies.html:38
-msgid "Last Update"
-msgstr ""
-
-#: templates/InvenTree/settings/currencies.html:44
-msgid "Never"
-msgstr ""
-
-#: templates/InvenTree/settings/currencies.html:49
-msgid "Update Now"
-msgstr ""
-
#: templates/InvenTree/settings/global.html:9
msgid "Server Settings"
msgstr ""
@@ -7090,15 +7337,15 @@ msgstr ""
msgid "Part Settings"
msgstr ""
-#: templates/InvenTree/settings/part.html:46
+#: templates/InvenTree/settings/part.html:40
msgid "Part Import"
msgstr ""
-#: templates/InvenTree/settings/part.html:50
+#: templates/InvenTree/settings/part.html:44
msgid "Import Part"
msgstr ""
-#: templates/InvenTree/settings/part.html:64
+#: templates/InvenTree/settings/part.html:58
msgid "Part Parameter Templates"
msgstr ""
@@ -7125,11 +7372,6 @@ msgstr ""
msgid "External plugins are not enabled for this InvenTree installation"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:62
-#: templates/InvenTree/settings/plugin_settings.html:33
-msgid "Author"
-msgstr ""
-
#: templates/InvenTree/settings/plugin.html:64
#: templates/InvenTree/settings/plugin_settings.html:43
msgid "Version"
@@ -7239,6 +7481,39 @@ msgstr ""
msgid "Purchase Order Settings"
msgstr ""
+#: templates/InvenTree/settings/pricing.html:7
+msgid "Pricing Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:24
+msgid "Currency Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:30
+msgid "Update Now"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:39
+#: templates/InvenTree/settings/pricing.html:43
+msgid "Last Update"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:43
+msgid "Never"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:53
+msgid "Base Currency"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:58
+msgid "Exchange Rates"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:60
+msgid "Rate"
+msgstr ""
+
#: templates/InvenTree/settings/report.html:8
#: templates/InvenTree/settings/user_reports.html:9
msgid "Report Settings"
@@ -7295,6 +7570,7 @@ msgid "No part parameter templates found"
msgstr ""
#: templates/InvenTree/settings/settings.html:338
+#: templates/js/translated/news.js:28
#: templates/js/translated/notification.js:36
msgid "ID"
msgstr ""
@@ -7357,10 +7633,6 @@ msgstr ""
msgid "Server Configuration"
msgstr ""
-#: templates/InvenTree/settings/sidebar.html:35
-msgid "Currencies"
-msgstr ""
-
#: templates/InvenTree/settings/sidebar.html:43
msgid "Categories"
msgstr ""
@@ -7380,7 +7652,7 @@ msgid "Change Password"
msgstr ""
#: templates/InvenTree/settings/user.html:23
-#: templates/js/translated/helpers.js:31 templates/notes_buttons.html:3
+#: templates/js/translated/helpers.js:33 templates/notes_buttons.html:3
#: templates/notes_buttons.html:4
msgid "Edit"
msgstr ""
@@ -7890,7 +8162,7 @@ msgid "The following parts are low on required stock"
msgstr ""
#: templates/email/build_order_required_stock.html:18
-#: templates/js/translated/bom.js:1566
+#: templates/js/translated/bom.js:1629
msgid "Required Quantity"
msgstr ""
@@ -7904,7 +8176,7 @@ msgid "Click on the following link to view this part"
msgstr ""
#: templates/email/low_stock_notification.html:19
-#: templates/js/translated/part.js:2566
+#: templates/js/translated/part.js:2423
msgid "Minimum Quantity"
msgstr ""
@@ -8057,7 +8329,7 @@ msgstr ""
msgid "Unlink"
msgstr ""
-#: templates/js/translated/barcode.js:500 templates/js/translated/stock.js:1054
+#: templates/js/translated/barcode.js:500 templates/js/translated/stock.js:1073
msgid "Remove stock item"
msgstr ""
@@ -8127,10 +8399,10 @@ msgstr ""
msgid "Row Data"
msgstr ""
-#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:646
+#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:659
#: templates/js/translated/modals.js:56 templates/js/translated/modals.js:601
#: templates/js/translated/modals.js:695 templates/js/translated/modals.js:1003
-#: templates/js/translated/order.js:1179 templates/modals.html:15
+#: templates/js/translated/order.js:1213 templates/modals.html:15
#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50
msgid "Close"
msgstr ""
@@ -8140,12 +8412,12 @@ msgid "Download BOM Template"
msgstr ""
#: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312
-#: templates/js/translated/order.js:960 templates/js/translated/tables.js:145
+#: templates/js/translated/order.js:994 templates/js/translated/tables.js:145
msgid "Format"
msgstr ""
#: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313
-#: templates/js/translated/order.js:961
+#: templates/js/translated/order.js:995
msgid "Select file format"
msgstr ""
@@ -8197,118 +8469,130 @@ msgstr ""
msgid "Include part supplier data in exported BOM"
msgstr ""
-#: templates/js/translated/bom.js:537
+#: templates/js/translated/bom.js:358
+msgid "Include Pricing Data"
+msgstr ""
+
+#: templates/js/translated/bom.js:359
+msgid "Include part pricing data in exported BOM"
+msgstr ""
+
+#: templates/js/translated/bom.js:550
msgid "Remove substitute part"
msgstr ""
-#: templates/js/translated/bom.js:591
+#: templates/js/translated/bom.js:604
msgid "Select and add a new substitute part using the input below"
msgstr ""
-#: templates/js/translated/bom.js:602
+#: templates/js/translated/bom.js:615
msgid "Are you sure you wish to remove this substitute part link?"
msgstr ""
-#: templates/js/translated/bom.js:608
+#: templates/js/translated/bom.js:621
msgid "Remove Substitute Part"
msgstr ""
-#: templates/js/translated/bom.js:647
+#: templates/js/translated/bom.js:660
msgid "Add Substitute"
msgstr ""
-#: templates/js/translated/bom.js:648
+#: templates/js/translated/bom.js:661
msgid "Edit BOM Item Substitutes"
msgstr ""
-#: templates/js/translated/bom.js:710
+#: templates/js/translated/bom.js:723
msgid "All selected BOM items will be deleted"
msgstr ""
-#: templates/js/translated/bom.js:726
+#: templates/js/translated/bom.js:739
msgid "Delete selected BOM items?"
msgstr ""
-#: templates/js/translated/bom.js:860
+#: templates/js/translated/bom.js:868
msgid "Load BOM for subassembly"
msgstr ""
-#: templates/js/translated/bom.js:870
+#: templates/js/translated/bom.js:878
msgid "Substitutes Available"
msgstr ""
-#: templates/js/translated/bom.js:874 templates/js/translated/build.js:1835
+#: templates/js/translated/bom.js:882 templates/js/translated/build.js:1835
msgid "Variant stock allowed"
msgstr ""
-#: templates/js/translated/bom.js:983 templates/js/translated/build.js:1907
-#: templates/js/translated/order.js:3927
-msgid "No Stock Available"
-msgstr ""
-
-#: templates/js/translated/bom.js:988 templates/js/translated/build.js:1911
-msgid "Includes variant and substitute stock"
-msgstr ""
-
-#: templates/js/translated/bom.js:990 templates/js/translated/build.js:1913
-#: templates/js/translated/part.js:761 templates/js/translated/part.js:1539
-msgid "Includes variant stock"
-msgstr ""
-
-#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1915
-msgid "Includes substitute stock"
-msgstr ""
-
-#: templates/js/translated/bom.js:1010
+#: templates/js/translated/bom.js:972
msgid "Substitutes"
msgstr ""
-#: templates/js/translated/bom.js:1061 templates/js/translated/bom.js:1195
+#: templates/js/translated/bom.js:1023 templates/js/translated/bom.js:1260
msgid "View BOM"
msgstr ""
-#: templates/js/translated/bom.js:1071
-msgid "Purchase Price Range"
+#: templates/js/translated/bom.js:1094
+msgid "BOM pricing is complete"
msgstr ""
-#: templates/js/translated/bom.js:1078
-msgid "Purchase Price Average"
+#: templates/js/translated/bom.js:1099
+msgid "BOM pricing is incomplete"
msgstr ""
-#: templates/js/translated/bom.js:1106 templates/js/translated/build.js:1898
+#: templates/js/translated/bom.js:1106
+msgid "No pricing available"
+msgstr ""
+
+#: templates/js/translated/bom.js:1137 templates/js/translated/build.js:1907
+#: templates/js/translated/order.js:3924
+msgid "No Stock Available"
+msgstr ""
+
+#: templates/js/translated/bom.js:1142 templates/js/translated/build.js:1911
+msgid "Includes variant and substitute stock"
+msgstr ""
+
+#: templates/js/translated/bom.js:1144 templates/js/translated/build.js:1913
+#: templates/js/translated/part.js:775 templates/js/translated/part.js:1550
+msgid "Includes variant stock"
+msgstr ""
+
+#: templates/js/translated/bom.js:1146 templates/js/translated/build.js:1915
+msgid "Includes substitute stock"
+msgstr ""
+
+#: templates/js/translated/bom.js:1171 templates/js/translated/build.js:1898
#: templates/js/translated/build.js:1985
msgid "Consumable item"
msgstr ""
-#: templates/js/translated/bom.js:1166
+#: templates/js/translated/bom.js:1231
msgid "Validate BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1168
+#: templates/js/translated/bom.js:1233
msgid "This line has been validated"
msgstr ""
-#: templates/js/translated/bom.js:1170
+#: templates/js/translated/bom.js:1235
msgid "Edit substitute parts"
msgstr ""
-#: templates/js/translated/bom.js:1172 templates/js/translated/bom.js:1369
+#: templates/js/translated/bom.js:1237 templates/js/translated/bom.js:1433
msgid "Edit BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1174
+#: templates/js/translated/bom.js:1239
msgid "Delete BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1280 templates/js/translated/build.js:1679
+#: templates/js/translated/bom.js:1344 templates/js/translated/build.js:1679
msgid "No BOM items found"
msgstr ""
-#: templates/js/translated/bom.js:1549 templates/js/translated/build.js:1818
+#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1818
msgid "Required Part"
msgstr ""
-#: templates/js/translated/bom.js:1575
+#: templates/js/translated/bom.js:1638
msgid "Inherited from parent BOM"
msgstr ""
@@ -8353,12 +8637,12 @@ msgid "Complete Build Order"
msgstr ""
#: templates/js/translated/build.js:311 templates/js/translated/stock.js:92
-#: templates/js/translated/stock.js:214
+#: templates/js/translated/stock.js:233
msgid "Next available serial number"
msgstr ""
#: templates/js/translated/build.js:313 templates/js/translated/stock.js:94
-#: templates/js/translated/stock.js:216
+#: templates/js/translated/stock.js:235
msgid "Latest serial number"
msgstr ""
@@ -8455,12 +8739,12 @@ msgid "No required tests for this build"
msgstr ""
#: templates/js/translated/build.js:1775 templates/js/translated/build.js:2765
-#: templates/js/translated/order.js:3627
+#: templates/js/translated/order.js:3638
msgid "Edit stock allocation"
msgstr ""
#: templates/js/translated/build.js:1777 templates/js/translated/build.js:2766
-#: templates/js/translated/order.js:3628
+#: templates/js/translated/order.js:3639
msgid "Delete stock allocation"
msgstr ""
@@ -8480,20 +8764,15 @@ msgstr ""
msgid "Quantity Per"
msgstr ""
-#: templates/js/translated/build.js:1901 templates/js/translated/order.js:3934
+#: templates/js/translated/build.js:1901 templates/js/translated/order.js:3931
msgid "Insufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3932
+#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3929
msgid "Sufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1937 templates/js/translated/build.js:2195
-#: templates/js/translated/build.js:2761 templates/js/translated/order.js:3946
-msgid "Allocated"
-msgstr ""
-
-#: templates/js/translated/build.js:1993 templates/js/translated/order.js:4026
+#: templates/js/translated/build.js:1993 templates/js/translated/order.js:4023
msgid "Build stock"
msgstr ""
@@ -8501,21 +8780,21 @@ msgstr ""
msgid "Order stock"
msgstr ""
-#: templates/js/translated/build.js:2000 templates/js/translated/order.js:4019
+#: templates/js/translated/build.js:2000 templates/js/translated/order.js:4016
msgid "Allocate stock"
msgstr ""
#: templates/js/translated/build.js:2039 templates/js/translated/label.js:172
-#: templates/js/translated/order.js:1007 templates/js/translated/order.js:3154
+#: templates/js/translated/order.js:1041 templates/js/translated/order.js:3165
#: templates/js/translated/report.js:225
msgid "Select Parts"
msgstr ""
-#: templates/js/translated/build.js:2040 templates/js/translated/order.js:3155
+#: templates/js/translated/build.js:2040 templates/js/translated/order.js:3166
msgid "You must select at least one part to allocate"
msgstr ""
-#: templates/js/translated/build.js:2089 templates/js/translated/order.js:3103
+#: templates/js/translated/build.js:2089 templates/js/translated/order.js:3114
msgid "Specify stock allocation quantity"
msgstr ""
@@ -8527,7 +8806,7 @@ msgstr ""
msgid "All selected parts have been fully allocated"
msgstr ""
-#: templates/js/translated/build.js:2183 templates/js/translated/order.js:3169
+#: templates/js/translated/build.js:2183 templates/js/translated/order.js:3180
msgid "Select source location (leave blank to take from all locations)"
msgstr ""
@@ -8535,11 +8814,11 @@ msgstr ""
msgid "Allocate Stock Items to Build Order"
msgstr ""
-#: templates/js/translated/build.js:2222 templates/js/translated/order.js:3266
+#: templates/js/translated/build.js:2222 templates/js/translated/order.js:3277
msgid "No matching stock locations"
msgstr ""
-#: templates/js/translated/build.js:2294 templates/js/translated/order.js:3343
+#: templates/js/translated/build.js:2294 templates/js/translated/order.js:3354
msgid "No matching stock items"
msgstr ""
@@ -8571,9 +8850,9 @@ msgstr ""
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:2558 templates/js/translated/part.js:1423
-#: templates/js/translated/part.js:1957 templates/js/translated/stock.js:1686
-#: templates/js/translated/stock.js:2390
+#: templates/js/translated/build.js:2558 templates/js/translated/part.js:1444
+#: templates/js/translated/part.js:1981 templates/js/translated/stock.js:1705
+#: templates/js/translated/stock.js:2408
msgid "Select"
msgstr ""
@@ -8585,7 +8864,7 @@ msgstr ""
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2636 templates/js/translated/stock.js:2657
+#: templates/js/translated/build.js:2636 templates/js/translated/stock.js:2675
msgid "No user information"
msgstr ""
@@ -8593,118 +8872,144 @@ msgstr ""
msgid "No parts allocated for"
msgstr ""
-#: templates/js/translated/company.js:66
+#: templates/js/translated/company.js:67
msgid "Add Manufacturer"
msgstr ""
-#: templates/js/translated/company.js:79 templates/js/translated/company.js:181
+#: templates/js/translated/company.js:80 templates/js/translated/company.js:182
msgid "Add Manufacturer Part"
msgstr ""
-#: templates/js/translated/company.js:100
+#: templates/js/translated/company.js:101
msgid "Edit Manufacturer Part"
msgstr "メーカー・パーツの編集"
-#: templates/js/translated/company.js:169 templates/js/translated/order.js:576
+#: templates/js/translated/company.js:170 templates/js/translated/order.js:576
msgid "Add Supplier"
msgstr ""
-#: templates/js/translated/company.js:197 templates/js/translated/order.js:828
+#: templates/js/translated/company.js:198 templates/js/translated/order.js:862
msgid "Add Supplier Part"
msgstr ""
-#: templates/js/translated/company.js:297
+#: templates/js/translated/company.js:298
msgid "All selected supplier parts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:313
+#: templates/js/translated/company.js:314
msgid "Delete Supplier Parts"
msgstr ""
-#: templates/js/translated/company.js:385
+#: templates/js/translated/company.js:386
msgid "Add new Company"
msgstr ""
-#: templates/js/translated/company.js:462
+#: templates/js/translated/company.js:463
msgid "Parts Supplied"
msgstr ""
-#: templates/js/translated/company.js:471
+#: templates/js/translated/company.js:472
msgid "Parts Manufactured"
msgstr ""
-#: templates/js/translated/company.js:486
+#: templates/js/translated/company.js:487
msgid "No company information found"
msgstr ""
-#: templates/js/translated/company.js:527
+#: templates/js/translated/company.js:528
msgid "All selected manufacturer parts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:542
+#: templates/js/translated/company.js:543
msgid "Delete Manufacturer Parts"
msgstr ""
-#: templates/js/translated/company.js:576
+#: templates/js/translated/company.js:577
msgid "All selected parameters will be deleted"
msgstr ""
-#: templates/js/translated/company.js:590
+#: templates/js/translated/company.js:591
msgid "Delete Parameters"
msgstr ""
-#: templates/js/translated/company.js:631
+#: templates/js/translated/company.js:632
msgid "No manufacturer parts found"
msgstr ""
-#: templates/js/translated/company.js:651
-#: templates/js/translated/company.js:912 templates/js/translated/part.js:636
-#: templates/js/translated/part.js:721
+#: templates/js/translated/company.js:652
+#: templates/js/translated/company.js:913 templates/js/translated/part.js:650
+#: templates/js/translated/part.js:735
msgid "Template part"
msgstr ""
-#: templates/js/translated/company.js:655
-#: templates/js/translated/company.js:916 templates/js/translated/part.js:640
-#: templates/js/translated/part.js:725
+#: templates/js/translated/company.js:656
+#: templates/js/translated/company.js:917 templates/js/translated/part.js:654
+#: templates/js/translated/part.js:739
msgid "Assembled part"
msgstr ""
-#: templates/js/translated/company.js:783 templates/js/translated/part.js:828
+#: templates/js/translated/company.js:784 templates/js/translated/part.js:855
msgid "No parameters found"
msgstr ""
-#: templates/js/translated/company.js:820 templates/js/translated/part.js:870
+#: templates/js/translated/company.js:821 templates/js/translated/part.js:897
msgid "Edit parameter"
msgstr ""
-#: templates/js/translated/company.js:821 templates/js/translated/part.js:871
+#: templates/js/translated/company.js:822 templates/js/translated/part.js:898
msgid "Delete parameter"
msgstr ""
-#: templates/js/translated/company.js:840 templates/js/translated/part.js:888
+#: templates/js/translated/company.js:841 templates/js/translated/part.js:915
msgid "Edit Parameter"
msgstr ""
-#: templates/js/translated/company.js:851 templates/js/translated/part.js:900
+#: templates/js/translated/company.js:852 templates/js/translated/part.js:927
msgid "Delete Parameter"
msgstr ""
-#: templates/js/translated/company.js:891
+#: templates/js/translated/company.js:892
msgid "No supplier parts found"
msgstr ""
-#: templates/js/translated/company.js:1032
+#: templates/js/translated/company.js:1033
msgid "Availability"
msgstr ""
-#: templates/js/translated/company.js:1055
+#: templates/js/translated/company.js:1056
msgid "Edit supplier part"
msgstr ""
-#: templates/js/translated/company.js:1056
+#: templates/js/translated/company.js:1057
msgid "Delete supplier part"
msgstr ""
+#: templates/js/translated/company.js:1112
+#: templates/js/translated/pricing.js:423
+msgid "Delete Price Break"
+msgstr ""
+
+#: templates/js/translated/company.js:1128
+#: templates/js/translated/pricing.js:437
+msgid "Edit Price Break"
+msgstr ""
+
+#: templates/js/translated/company.js:1145
+msgid "No price break information found"
+msgstr ""
+
+#: templates/js/translated/company.js:1174
+msgid "Last updated"
+msgstr ""
+
+#: templates/js/translated/company.js:1180
+msgid "Edit price break"
+msgstr ""
+
+#: templates/js/translated/company.js:1181
+msgid "Delete price break"
+msgstr ""
+
#: templates/js/translated/filters.js:178
#: templates/js/translated/filters.js:441
msgid "true"
@@ -8785,27 +9090,27 @@ msgstr ""
msgid "Clear input"
msgstr ""
-#: templates/js/translated/forms.js:2638
+#: templates/js/translated/forms.js:2628
msgid "File Column"
msgstr ""
-#: templates/js/translated/forms.js:2638
+#: templates/js/translated/forms.js:2628
msgid "Field Name"
msgstr ""
-#: templates/js/translated/forms.js:2650
+#: templates/js/translated/forms.js:2640
msgid "Select Columns"
msgstr ""
-#: templates/js/translated/helpers.js:24
+#: templates/js/translated/helpers.js:26
msgid "YES"
msgstr ""
-#: templates/js/translated/helpers.js:26
+#: templates/js/translated/helpers.js:28
msgid "NO"
msgstr ""
-#: templates/js/translated/helpers.js:363
+#: templates/js/translated/helpers.js:434
msgid "Notes updated"
msgstr ""
@@ -8814,7 +9119,7 @@ msgid "Labels sent to printer"
msgstr ""
#: templates/js/translated/label.js:60 templates/js/translated/report.js:118
-#: templates/js/translated/stock.js:1078
+#: templates/js/translated/stock.js:1097
msgid "Select Stock Items"
msgstr ""
@@ -8934,14 +9239,6 @@ msgstr ""
msgid "Stock ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:159
-msgid "Location ID"
-msgstr ""
-
-#: templates/js/translated/model_renderers.js:177
-msgid "Build ID"
-msgstr ""
-
#: templates/js/translated/model_renderers.js:278
#: templates/js/translated/model_renderers.js:303
msgid "Order ID"
@@ -8952,16 +9249,12 @@ msgstr ""
msgid "Shipment ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:338
-msgid "Category ID"
-msgstr ""
-
#: templates/js/translated/model_renderers.js:381
msgid "Manufacturer Part ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:418
-msgid "Supplier Part ID"
+#: templates/js/translated/news.js:23
+msgid "No news found"
msgstr ""
#: templates/js/translated/notification.js:42
@@ -9104,659 +9397,688 @@ msgstr ""
msgid "Duplication Options"
msgstr ""
-#: templates/js/translated/order.js:957
+#: templates/js/translated/order.js:991
msgid "Export Order"
msgstr ""
-#: templates/js/translated/order.js:1008
+#: templates/js/translated/order.js:1042
msgid "At least one purchaseable part must be selected"
msgstr ""
-#: templates/js/translated/order.js:1033
+#: templates/js/translated/order.js:1067
msgid "Quantity to order"
msgstr ""
-#: templates/js/translated/order.js:1042
+#: templates/js/translated/order.js:1076
msgid "New supplier part"
msgstr ""
-#: templates/js/translated/order.js:1060
+#: templates/js/translated/order.js:1094
msgid "New purchase order"
msgstr ""
-#: templates/js/translated/order.js:1093
+#: templates/js/translated/order.js:1127
msgid "Add to purchase order"
msgstr ""
-#: templates/js/translated/order.js:1233
+#: templates/js/translated/order.js:1267
msgid "No matching supplier parts"
msgstr ""
-#: templates/js/translated/order.js:1252
+#: templates/js/translated/order.js:1286
msgid "No matching purchase orders"
msgstr ""
-#: templates/js/translated/order.js:1429
+#: templates/js/translated/order.js:1463
msgid "Select Line Items"
msgstr ""
-#: templates/js/translated/order.js:1430
+#: templates/js/translated/order.js:1464
msgid "At least one line item must be selected"
msgstr ""
-#: templates/js/translated/order.js:1450 templates/js/translated/order.js:1563
+#: templates/js/translated/order.js:1484 templates/js/translated/order.js:1597
msgid "Add batch code"
msgstr ""
-#: templates/js/translated/order.js:1456 templates/js/translated/order.js:1574
+#: templates/js/translated/order.js:1490 templates/js/translated/order.js:1608
msgid "Add serial numbers"
msgstr ""
-#: templates/js/translated/order.js:1471
+#: templates/js/translated/order.js:1505
msgid "Received Quantity"
msgstr ""
-#: templates/js/translated/order.js:1482
+#: templates/js/translated/order.js:1516
msgid "Quantity to receive"
msgstr ""
-#: templates/js/translated/order.js:1546 templates/js/translated/stock.js:2146
+#: templates/js/translated/order.js:1580 templates/js/translated/stock.js:2164
msgid "Stock Status"
msgstr ""
-#: templates/js/translated/order.js:1639
+#: templates/js/translated/order.js:1673
msgid "Order Code"
msgstr ""
-#: templates/js/translated/order.js:1640
+#: templates/js/translated/order.js:1674
msgid "Ordered"
msgstr ""
-#: templates/js/translated/order.js:1642
+#: templates/js/translated/order.js:1676
msgid "Quantity to Receive"
msgstr ""
-#: templates/js/translated/order.js:1661
+#: templates/js/translated/order.js:1695
msgid "Confirm receipt of items"
msgstr ""
-#: templates/js/translated/order.js:1662
+#: templates/js/translated/order.js:1696
msgid "Receive Purchase Order Items"
msgstr ""
-#: templates/js/translated/order.js:1940 templates/js/translated/part.js:941
+#: templates/js/translated/order.js:1974 templates/js/translated/part.js:968
msgid "No purchase orders found"
msgstr ""
-#: templates/js/translated/order.js:1967 templates/js/translated/order.js:2798
+#: templates/js/translated/order.js:2001 templates/js/translated/order.js:2809
msgid "Order is overdue"
msgstr ""
-#: templates/js/translated/order.js:2017 templates/js/translated/order.js:2863
-#: templates/js/translated/order.js:3004
+#: templates/js/translated/order.js:2051 templates/js/translated/order.js:2874
+#: templates/js/translated/order.js:3015
msgid "Items"
msgstr ""
-#: templates/js/translated/order.js:2115 templates/js/translated/order.js:4078
+#: templates/js/translated/order.js:2154 templates/js/translated/order.js:4075
msgid "Duplicate Line Item"
msgstr ""
-#: templates/js/translated/order.js:2132 templates/js/translated/order.js:4100
+#: templates/js/translated/order.js:2171 templates/js/translated/order.js:4097
msgid "Edit Line Item"
msgstr ""
-#: templates/js/translated/order.js:2145 templates/js/translated/order.js:4111
+#: templates/js/translated/order.js:2184 templates/js/translated/order.js:4108
msgid "Delete Line Item"
msgstr ""
-#: templates/js/translated/order.js:2188
+#: templates/js/translated/order.js:2227
msgid "No line items found"
msgstr ""
-#: templates/js/translated/order.js:2215 templates/js/translated/order.js:3812
+#: templates/js/translated/order.js:2254 templates/js/translated/order.js:3827
msgid "Total"
msgstr ""
-#: templates/js/translated/order.js:2270 templates/js/translated/part.js:1043
-#: templates/js/translated/part.js:1095
+#: templates/js/translated/order.js:2309 templates/js/translated/part.js:1070
+#: templates/js/translated/part.js:1122
msgid "Total Quantity"
msgstr ""
-#: templates/js/translated/order.js:2301 templates/js/translated/order.js:2500
-#: templates/js/translated/order.js:3837 templates/js/translated/order.js:4342
-#: templates/js/translated/part.js:2199 templates/js/translated/part.js:2797
+#: templates/js/translated/order.js:2340 templates/js/translated/order.js:2527
+#: templates/js/translated/order.js:3852 templates/js/translated/order.js:4343
+#: templates/js/translated/pricing.js:260
+#: templates/js/translated/pricing.js:329
+#: templates/js/translated/pricing.js:545
msgid "Unit Price"
msgstr ""
-#: templates/js/translated/order.js:2316 templates/js/translated/order.js:2516
-#: templates/js/translated/order.js:3853 templates/js/translated/order.js:4358
+#: templates/js/translated/order.js:2350 templates/js/translated/order.js:2537
+#: templates/js/translated/order.js:3862 templates/js/translated/order.js:4353
msgid "Total Price"
msgstr ""
-#: templates/js/translated/order.js:2357 templates/js/translated/order.js:3895
-#: templates/js/translated/part.js:1079
+#: templates/js/translated/order.js:2380 templates/js/translated/order.js:3892
+#: templates/js/translated/part.js:1106
msgid "This line item is overdue"
msgstr ""
-#: templates/js/translated/order.js:2416 templates/js/translated/part.js:1130
+#: templates/js/translated/order.js:2439 templates/js/translated/part.js:1151
msgid "Receive line item"
msgstr ""
-#: templates/js/translated/order.js:2420 templates/js/translated/order.js:4032
+#: templates/js/translated/order.js:2443 templates/js/translated/order.js:4029
msgid "Duplicate line item"
msgstr ""
-#: templates/js/translated/order.js:2421 templates/js/translated/order.js:4033
+#: templates/js/translated/order.js:2444 templates/js/translated/order.js:4030
msgid "Edit line item"
msgstr ""
-#: templates/js/translated/order.js:2422 templates/js/translated/order.js:4037
+#: templates/js/translated/order.js:2445 templates/js/translated/order.js:4034
msgid "Delete line item"
msgstr ""
-#: templates/js/translated/order.js:2564 templates/js/translated/order.js:4406
+#: templates/js/translated/order.js:2574 templates/js/translated/order.js:4389
msgid "Duplicate line"
msgstr ""
-#: templates/js/translated/order.js:2565 templates/js/translated/order.js:4407
+#: templates/js/translated/order.js:2575 templates/js/translated/order.js:4390
msgid "Edit line"
msgstr ""
-#: templates/js/translated/order.js:2566 templates/js/translated/order.js:4408
+#: templates/js/translated/order.js:2576 templates/js/translated/order.js:4391
msgid "Delete line"
msgstr ""
-#: templates/js/translated/order.js:2595 templates/js/translated/order.js:4437
+#: templates/js/translated/order.js:2606 templates/js/translated/order.js:4420
msgid "Duplicate Line"
msgstr ""
-#: templates/js/translated/order.js:2616 templates/js/translated/order.js:4458
+#: templates/js/translated/order.js:2627 templates/js/translated/order.js:4441
msgid "Edit Line"
msgstr ""
-#: templates/js/translated/order.js:2627 templates/js/translated/order.js:4469
+#: templates/js/translated/order.js:2638 templates/js/translated/order.js:4452
msgid "Delete Line"
msgstr ""
-#: templates/js/translated/order.js:2638
+#: templates/js/translated/order.js:2649
msgid "No matching line"
msgstr ""
-#: templates/js/translated/order.js:2749
+#: templates/js/translated/order.js:2760
msgid "No sales orders found"
msgstr ""
-#: templates/js/translated/order.js:2812
+#: templates/js/translated/order.js:2823
msgid "Invalid Customer"
msgstr ""
-#: templates/js/translated/order.js:2910
+#: templates/js/translated/order.js:2921
msgid "Edit shipment"
msgstr ""
-#: templates/js/translated/order.js:2913
+#: templates/js/translated/order.js:2924
msgid "Complete shipment"
msgstr ""
-#: templates/js/translated/order.js:2918
+#: templates/js/translated/order.js:2929
msgid "Delete shipment"
msgstr ""
-#: templates/js/translated/order.js:2938
+#: templates/js/translated/order.js:2949
msgid "Edit Shipment"
msgstr ""
-#: templates/js/translated/order.js:2955
+#: templates/js/translated/order.js:2966
msgid "Delete Shipment"
msgstr ""
-#: templates/js/translated/order.js:2989
+#: templates/js/translated/order.js:3000
msgid "No matching shipments found"
msgstr ""
-#: templates/js/translated/order.js:2999
+#: templates/js/translated/order.js:3010
msgid "Shipment Reference"
msgstr ""
-#: templates/js/translated/order.js:3023
+#: templates/js/translated/order.js:3034
msgid "Not shipped"
msgstr ""
-#: templates/js/translated/order.js:3029
+#: templates/js/translated/order.js:3040
msgid "Tracking"
msgstr ""
-#: templates/js/translated/order.js:3033
+#: templates/js/translated/order.js:3044
msgid "Invoice"
msgstr ""
-#: templates/js/translated/order.js:3202
+#: templates/js/translated/order.js:3213
msgid "Add Shipment"
msgstr ""
-#: templates/js/translated/order.js:3253
+#: templates/js/translated/order.js:3264
msgid "Confirm stock allocation"
msgstr ""
-#: templates/js/translated/order.js:3254
+#: templates/js/translated/order.js:3265
msgid "Allocate Stock Items to Sales Order"
msgstr ""
-#: templates/js/translated/order.js:3462
+#: templates/js/translated/order.js:3473
msgid "No sales order allocations found"
msgstr ""
-#: templates/js/translated/order.js:3541
+#: templates/js/translated/order.js:3552
msgid "Edit Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:3558
+#: templates/js/translated/order.js:3569
msgid "Confirm Delete Operation"
msgstr ""
-#: templates/js/translated/order.js:3559
+#: templates/js/translated/order.js:3570
msgid "Delete Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:3604 templates/js/translated/order.js:3693
-#: templates/js/translated/stock.js:1602
+#: templates/js/translated/order.js:3615 templates/js/translated/order.js:3704
+#: templates/js/translated/stock.js:1621
msgid "Shipped to customer"
msgstr ""
-#: templates/js/translated/order.js:3612 templates/js/translated/order.js:3702
+#: templates/js/translated/order.js:3623 templates/js/translated/order.js:3713
msgid "Stock location not specified"
msgstr ""
-#: templates/js/translated/order.js:4016
+#: templates/js/translated/order.js:4013
msgid "Allocate serial numbers"
msgstr ""
-#: templates/js/translated/order.js:4022
+#: templates/js/translated/order.js:4019
msgid "Purchase stock"
msgstr ""
-#: templates/js/translated/order.js:4029 templates/js/translated/order.js:4227
+#: templates/js/translated/order.js:4026 templates/js/translated/order.js:4224
msgid "Calculate price"
msgstr ""
-#: templates/js/translated/order.js:4041
+#: templates/js/translated/order.js:4038
msgid "Cannot be deleted as items have been shipped"
msgstr ""
-#: templates/js/translated/order.js:4044
+#: templates/js/translated/order.js:4041
msgid "Cannot be deleted as items have been allocated"
msgstr ""
-#: templates/js/translated/order.js:4126
+#: templates/js/translated/order.js:4123
msgid "Allocate Serial Numbers"
msgstr ""
-#: templates/js/translated/order.js:4235
+#: templates/js/translated/order.js:4232
msgid "Update Unit Price"
msgstr ""
-#: templates/js/translated/order.js:4249
+#: templates/js/translated/order.js:4246
msgid "No matching line items"
msgstr ""
-#: templates/js/translated/order.js:4480
+#: templates/js/translated/order.js:4463
msgid "No matching lines"
msgstr ""
-#: templates/js/translated/part.js:56
+#: templates/js/translated/part.js:52
msgid "Part Attributes"
msgstr ""
-#: templates/js/translated/part.js:60
+#: templates/js/translated/part.js:56
msgid "Part Creation Options"
msgstr ""
-#: templates/js/translated/part.js:64
+#: templates/js/translated/part.js:60
msgid "Part Duplication Options"
msgstr ""
-#: templates/js/translated/part.js:68
+#: templates/js/translated/part.js:64
msgid "Supplier Options"
msgstr ""
-#: templates/js/translated/part.js:82
+#: templates/js/translated/part.js:78
msgid "Add Part Category"
msgstr ""
-#: templates/js/translated/part.js:166
+#: templates/js/translated/part.js:162
msgid "Create Initial Stock"
msgstr ""
-#: templates/js/translated/part.js:167
+#: templates/js/translated/part.js:163
msgid "Create an initial stock item for this part"
msgstr ""
-#: templates/js/translated/part.js:174
+#: templates/js/translated/part.js:170
msgid "Initial Stock Quantity"
msgstr ""
-#: templates/js/translated/part.js:175
+#: templates/js/translated/part.js:171
msgid "Specify initial stock quantity for this part"
msgstr ""
-#: templates/js/translated/part.js:182
+#: templates/js/translated/part.js:178
msgid "Select destination stock location"
msgstr ""
-#: templates/js/translated/part.js:200
+#: templates/js/translated/part.js:196
msgid "Copy Category Parameters"
msgstr ""
-#: templates/js/translated/part.js:201
+#: templates/js/translated/part.js:197
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: templates/js/translated/part.js:209
+#: templates/js/translated/part.js:205
msgid "Add Supplier Data"
msgstr ""
-#: templates/js/translated/part.js:210
+#: templates/js/translated/part.js:206
msgid "Create initial supplier data for this part"
msgstr ""
-#: templates/js/translated/part.js:266
+#: templates/js/translated/part.js:262
msgid "Copy Image"
msgstr ""
-#: templates/js/translated/part.js:267
+#: templates/js/translated/part.js:263
msgid "Copy image from original part"
msgstr ""
-#: templates/js/translated/part.js:275
+#: templates/js/translated/part.js:271
msgid "Copy bill of materials from original part"
msgstr ""
-#: templates/js/translated/part.js:282
+#: templates/js/translated/part.js:278
msgid "Copy Parameters"
msgstr ""
-#: templates/js/translated/part.js:283
+#: templates/js/translated/part.js:279
msgid "Copy parameter data from original part"
msgstr ""
-#: templates/js/translated/part.js:296
+#: templates/js/translated/part.js:292
msgid "Parent part category"
msgstr ""
-#: templates/js/translated/part.js:306 templates/js/translated/stock.js:118
+#: templates/js/translated/part.js:302 templates/js/translated/stock.js:118
msgid "Icon (optional) - Explore all available icons on"
msgstr ""
-#: templates/js/translated/part.js:322
+#: templates/js/translated/part.js:318
msgid "Edit Part Category"
msgstr ""
-#: templates/js/translated/part.js:335
+#: templates/js/translated/part.js:331
msgid "Are you sure you want to delete this part category?"
msgstr ""
-#: templates/js/translated/part.js:337
-msgid "Any child categories will be moved to the parent of this category"
+#: templates/js/translated/part.js:336
+msgid "Move to parent category"
msgstr ""
-#: templates/js/translated/part.js:338
-msgid "Any parts in this category will be moved to the parent of this category"
-msgstr ""
-
-#: templates/js/translated/part.js:343
+#: templates/js/translated/part.js:345
msgid "Delete Part Category"
msgstr ""
-#: templates/js/translated/part.js:369
+#: templates/js/translated/part.js:349
+msgid "Action for parts in this category"
+msgstr ""
+
+#: templates/js/translated/part.js:354
+msgid "Action for child categories"
+msgstr ""
+
+#: templates/js/translated/part.js:383
msgid "Edit Part"
msgstr ""
-#: templates/js/translated/part.js:371
+#: templates/js/translated/part.js:385
msgid "Part edited"
msgstr ""
-#: templates/js/translated/part.js:382
+#: templates/js/translated/part.js:396
msgid "Create Part Variant"
msgstr ""
-#: templates/js/translated/part.js:434
+#: templates/js/translated/part.js:448
msgid "Active Part"
msgstr ""
-#: templates/js/translated/part.js:435
+#: templates/js/translated/part.js:449
msgid "Part cannot be deleted as it is currently active"
msgstr ""
-#: templates/js/translated/part.js:449
+#: templates/js/translated/part.js:463
msgid "Deleting this part cannot be reversed"
msgstr ""
-#: templates/js/translated/part.js:451
+#: templates/js/translated/part.js:465
msgid "Any stock items for this part will be deleted"
msgstr ""
-#: templates/js/translated/part.js:452
+#: templates/js/translated/part.js:466
msgid "This part will be removed from any Bills of Material"
msgstr ""
-#: templates/js/translated/part.js:453
+#: templates/js/translated/part.js:467
msgid "All manufacturer and supplier information for this part will be deleted"
msgstr ""
-#: templates/js/translated/part.js:460
+#: templates/js/translated/part.js:474
msgid "Delete Part"
msgstr ""
-#: templates/js/translated/part.js:496
+#: templates/js/translated/part.js:510
msgid "You are subscribed to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:498
+#: templates/js/translated/part.js:512
msgid "You have subscribed to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:503
+#: templates/js/translated/part.js:517
msgid "Subscribe to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:505
+#: templates/js/translated/part.js:519
msgid "You have unsubscribed to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:522
+#: templates/js/translated/part.js:536
msgid "Validating the BOM will mark each line item as valid"
msgstr ""
-#: templates/js/translated/part.js:532
+#: templates/js/translated/part.js:546
msgid "Validate Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:535
+#: templates/js/translated/part.js:549
msgid "Validated Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:560
+#: templates/js/translated/part.js:574
msgid "Copy Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:584 templates/js/translated/part.js:1521
-#: templates/js/translated/table_filters.js:476
+#: templates/js/translated/part.js:598 templates/js/translated/part.js:1532
+#: templates/js/translated/table_filters.js:480
msgid "Low stock"
msgstr ""
-#: templates/js/translated/part.js:594
+#: templates/js/translated/part.js:608
msgid "No stock available"
msgstr ""
-#: templates/js/translated/part.js:628 templates/js/translated/part.js:713
+#: templates/js/translated/part.js:642 templates/js/translated/part.js:727
msgid "Trackable part"
msgstr ""
-#: templates/js/translated/part.js:632 templates/js/translated/part.js:717
+#: templates/js/translated/part.js:646 templates/js/translated/part.js:731
msgid "Virtual part"
msgstr ""
-#: templates/js/translated/part.js:644
+#: templates/js/translated/part.js:658
msgid "Subscribed part"
msgstr ""
-#: templates/js/translated/part.js:648
+#: templates/js/translated/part.js:662
msgid "Salable part"
msgstr ""
-#: templates/js/translated/part.js:776
+#: templates/js/translated/part.js:800
msgid "No variants found"
msgstr ""
-#: templates/js/translated/part.js:1200
+#: templates/js/translated/part.js:1221
msgid "Delete part relationship"
msgstr ""
-#: templates/js/translated/part.js:1224
+#: templates/js/translated/part.js:1245
msgid "Delete Part Relationship"
msgstr ""
-#: templates/js/translated/part.js:1291 templates/js/translated/part.js:1609
+#: templates/js/translated/part.js:1312 templates/js/translated/part.js:1633
msgid "No parts found"
msgstr ""
-#: templates/js/translated/part.js:1488
+#: templates/js/translated/part.js:1499
msgid "No category"
msgstr ""
-#: templates/js/translated/part.js:1519
+#: templates/js/translated/part.js:1530
msgid "No stock"
msgstr ""
-#: templates/js/translated/part.js:1543
+#: templates/js/translated/part.js:1554
msgid "Allocated to build orders"
msgstr ""
-#: templates/js/translated/part.js:1547
+#: templates/js/translated/part.js:1558
msgid "Allocated to sales orders"
msgstr ""
-#: templates/js/translated/part.js:1633 templates/js/translated/part.js:1876
-#: templates/js/translated/stock.js:2349
+#: templates/js/translated/part.js:1657 templates/js/translated/part.js:1900
+#: templates/js/translated/stock.js:2367
msgid "Display as list"
msgstr ""
-#: templates/js/translated/part.js:1649
+#: templates/js/translated/part.js:1673
msgid "Display as grid"
msgstr ""
-#: templates/js/translated/part.js:1715
+#: templates/js/translated/part.js:1739
msgid "Set the part category for the selected parts"
msgstr ""
-#: templates/js/translated/part.js:1720
+#: templates/js/translated/part.js:1744
msgid "Set Part Category"
msgstr ""
-#: templates/js/translated/part.js:1725
+#: templates/js/translated/part.js:1749
msgid "Select Part Category"
msgstr ""
-#: templates/js/translated/part.js:1738
+#: templates/js/translated/part.js:1762
msgid "Category is required"
msgstr ""
-#: templates/js/translated/part.js:1896 templates/js/translated/stock.js:2369
+#: templates/js/translated/part.js:1920 templates/js/translated/stock.js:2387
msgid "Display as tree"
msgstr ""
-#: templates/js/translated/part.js:1976
+#: templates/js/translated/part.js:2000
msgid "Load Subcategories"
msgstr ""
-#: templates/js/translated/part.js:1992
+#: templates/js/translated/part.js:2016
msgid "Subscribed category"
msgstr ""
-#: templates/js/translated/part.js:2056
+#: templates/js/translated/part.js:2080
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:2107 templates/js/translated/stock.js:1299
+#: templates/js/translated/part.js:2131 templates/js/translated/stock.js:1318
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:2108 templates/js/translated/stock.js:1300
-#: templates/js/translated/stock.js:1560
+#: templates/js/translated/part.js:2132 templates/js/translated/stock.js:1319
+#: templates/js/translated/stock.js:1579
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:2114
+#: templates/js/translated/part.js:2138
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:2136
+#: templates/js/translated/part.js:2160
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2150
+#: templates/js/translated/part.js:2174
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2175
-#, python-brace-format
-msgid "No ${human_name} information found"
-msgstr ""
-
-#: templates/js/translated/part.js:2232
-#, python-brace-format
-msgid "Edit ${human_name}"
-msgstr ""
-
-#: templates/js/translated/part.js:2233
-#, python-brace-format
-msgid "Delete ${human_name}"
-msgstr ""
-
-#: templates/js/translated/part.js:2398 templates/js/translated/part.js:2399
+#: templates/js/translated/part.js:2255 templates/js/translated/part.js:2256
msgid "No date specified"
msgstr ""
-#: templates/js/translated/part.js:2401
+#: templates/js/translated/part.js:2258
msgid "Specified date is in the past"
msgstr ""
-#: templates/js/translated/part.js:2407
+#: templates/js/translated/part.js:2264
msgid "Speculative"
msgstr ""
-#: templates/js/translated/part.js:2457
+#: templates/js/translated/part.js:2314
msgid "No scheduling information available for this part"
msgstr ""
-#: templates/js/translated/part.js:2463
+#: templates/js/translated/part.js:2320
msgid "Error fetching scheduling information for this part"
msgstr ""
-#: templates/js/translated/part.js:2559
+#: templates/js/translated/part.js:2416
msgid "Scheduled Stock Quantities"
msgstr ""
-#: templates/js/translated/part.js:2575
+#: templates/js/translated/part.js:2432
msgid "Maximum Quantity"
msgstr ""
-#: templates/js/translated/part.js:2620
+#: templates/js/translated/part.js:2477
msgid "Minimum Stock Level"
msgstr ""
-#: templates/js/translated/part.js:2721
-msgid "Single Price"
-msgstr ""
-
-#: templates/js/translated/part.js:2740
-msgid "Single Price Difference"
-msgstr ""
-
#: templates/js/translated/plugin.js:23
msgid "The Plugin was installed"
msgstr ""
+#: templates/js/translated/pricing.js:54
+msgid "No BOM data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:196
+msgid "No supplier pricing data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:305
+msgid "No price break data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:361
+#, python-brace-format
+msgid "Edit ${human_name}"
+msgstr ""
+
+#: templates/js/translated/pricing.js:362
+#, python-brace-format
+msgid "Delete ${human_name}"
+msgstr ""
+
+#: templates/js/translated/pricing.js:480
+msgid "No purchase history data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:502
+msgid "Purchase Price History"
+msgstr ""
+
+#: templates/js/translated/pricing.js:602
+msgid "No sales history data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:624
+msgid "Sale Price History"
+msgstr ""
+
+#: templates/js/translated/pricing.js:708
+msgid "No variant data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:748
+msgid "Variant Part"
+msgstr ""
+
#: templates/js/translated/report.js:67
msgid "items selected"
msgstr ""
@@ -9855,364 +10177,364 @@ msgstr ""
msgid "Are you sure you want to delete this stock location?"
msgstr ""
-#: templates/js/translated/stock.js:175
-msgid "Any child locations will be moved to the parent of this location"
+#: templates/js/translated/stock.js:180
+msgid "Move to parent stock location"
msgstr ""
-#: templates/js/translated/stock.js:176
-msgid "Any stock items in this location will be moved to the parent of this location"
-msgstr ""
-
-#: templates/js/translated/stock.js:182
+#: templates/js/translated/stock.js:189
msgid "Delete Stock Location"
msgstr ""
-#: templates/js/translated/stock.js:227
+#: templates/js/translated/stock.js:193
+msgid "Action for stock items in this stock location"
+msgstr ""
+
+#: templates/js/translated/stock.js:198
+msgid "Action for sub-locations"
+msgstr ""
+
+#: templates/js/translated/stock.js:246
msgid "This part cannot be serialized"
msgstr ""
-#: templates/js/translated/stock.js:266
+#: templates/js/translated/stock.js:285
msgid "Enter initial quantity for this stock item"
msgstr ""
-#: templates/js/translated/stock.js:272
+#: templates/js/translated/stock.js:291
msgid "Enter serial numbers for new stock (or leave blank)"
msgstr ""
-#: templates/js/translated/stock.js:337
+#: templates/js/translated/stock.js:356
msgid "Stock item duplicated"
msgstr ""
-#: templates/js/translated/stock.js:357
+#: templates/js/translated/stock.js:376
msgid "Duplicate Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:373
+#: templates/js/translated/stock.js:392
msgid "Are you sure you want to delete this stock item?"
msgstr ""
-#: templates/js/translated/stock.js:378
+#: templates/js/translated/stock.js:397
msgid "Delete Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:399
+#: templates/js/translated/stock.js:418
msgid "Edit Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:449
+#: templates/js/translated/stock.js:468
msgid "Created new stock item"
msgstr ""
-#: templates/js/translated/stock.js:462
+#: templates/js/translated/stock.js:481
msgid "Created multiple stock items"
msgstr ""
-#: templates/js/translated/stock.js:487
+#: templates/js/translated/stock.js:506
msgid "Find Serial Number"
msgstr ""
-#: templates/js/translated/stock.js:491 templates/js/translated/stock.js:492
+#: templates/js/translated/stock.js:510 templates/js/translated/stock.js:511
msgid "Enter serial number"
msgstr ""
-#: templates/js/translated/stock.js:508
+#: templates/js/translated/stock.js:527
msgid "Enter a serial number"
msgstr ""
-#: templates/js/translated/stock.js:528
+#: templates/js/translated/stock.js:547
msgid "No matching serial number"
msgstr ""
-#: templates/js/translated/stock.js:537
+#: templates/js/translated/stock.js:556
msgid "More than one matching result found"
msgstr ""
-#: templates/js/translated/stock.js:660
+#: templates/js/translated/stock.js:679
msgid "Confirm stock assignment"
msgstr ""
-#: templates/js/translated/stock.js:661
+#: templates/js/translated/stock.js:680
msgid "Assign Stock to Customer"
msgstr ""
-#: templates/js/translated/stock.js:738
+#: templates/js/translated/stock.js:757
msgid "Warning: Merge operation cannot be reversed"
msgstr ""
-#: templates/js/translated/stock.js:739
+#: templates/js/translated/stock.js:758
msgid "Some information will be lost when merging stock items"
msgstr ""
-#: templates/js/translated/stock.js:741
+#: templates/js/translated/stock.js:760
msgid "Stock transaction history will be deleted for merged items"
msgstr ""
-#: templates/js/translated/stock.js:742
+#: templates/js/translated/stock.js:761
msgid "Supplier part information will be deleted for merged items"
msgstr ""
-#: templates/js/translated/stock.js:828
+#: templates/js/translated/stock.js:847
msgid "Confirm stock item merge"
msgstr ""
-#: templates/js/translated/stock.js:829
+#: templates/js/translated/stock.js:848
msgid "Merge Stock Items"
msgstr ""
-#: templates/js/translated/stock.js:924
+#: templates/js/translated/stock.js:943
msgid "Transfer Stock"
msgstr ""
-#: templates/js/translated/stock.js:925
+#: templates/js/translated/stock.js:944
msgid "Move"
msgstr ""
-#: templates/js/translated/stock.js:931
+#: templates/js/translated/stock.js:950
msgid "Count Stock"
msgstr ""
-#: templates/js/translated/stock.js:932
+#: templates/js/translated/stock.js:951
msgid "Count"
msgstr ""
-#: templates/js/translated/stock.js:936
+#: templates/js/translated/stock.js:955
msgid "Remove Stock"
msgstr ""
-#: templates/js/translated/stock.js:937
+#: templates/js/translated/stock.js:956
msgid "Take"
msgstr ""
-#: templates/js/translated/stock.js:941
+#: templates/js/translated/stock.js:960
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:942 users/models.py:218
+#: templates/js/translated/stock.js:961 users/models.py:220
msgid "Add"
msgstr ""
-#: templates/js/translated/stock.js:946
+#: templates/js/translated/stock.js:965
msgid "Delete Stock"
msgstr ""
-#: templates/js/translated/stock.js:1039
+#: templates/js/translated/stock.js:1058
msgid "Quantity cannot be adjusted for serialized stock"
msgstr ""
-#: templates/js/translated/stock.js:1039
+#: templates/js/translated/stock.js:1058
msgid "Specify stock quantity"
msgstr ""
-#: templates/js/translated/stock.js:1079
+#: templates/js/translated/stock.js:1098
msgid "You must select at least one available stock item"
msgstr ""
-#: templates/js/translated/stock.js:1102
+#: templates/js/translated/stock.js:1121
msgid "Confirm stock adjustment"
msgstr ""
-#: templates/js/translated/stock.js:1238
+#: templates/js/translated/stock.js:1257
msgid "PASS"
msgstr ""
-#: templates/js/translated/stock.js:1240
+#: templates/js/translated/stock.js:1259
msgid "FAIL"
msgstr ""
-#: templates/js/translated/stock.js:1245
+#: templates/js/translated/stock.js:1264
msgid "NO RESULT"
msgstr ""
-#: templates/js/translated/stock.js:1292
+#: templates/js/translated/stock.js:1311
msgid "Pass test"
msgstr ""
-#: templates/js/translated/stock.js:1295
+#: templates/js/translated/stock.js:1314
msgid "Add test result"
msgstr ""
-#: templates/js/translated/stock.js:1321
+#: templates/js/translated/stock.js:1340
msgid "No test results found"
msgstr ""
-#: templates/js/translated/stock.js:1378
+#: templates/js/translated/stock.js:1397
msgid "Test Date"
msgstr ""
-#: templates/js/translated/stock.js:1543
+#: templates/js/translated/stock.js:1562
msgid "Edit Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1565
+#: templates/js/translated/stock.js:1584
msgid "Delete Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1594
+#: templates/js/translated/stock.js:1613
msgid "In production"
msgstr ""
-#: templates/js/translated/stock.js:1598
+#: templates/js/translated/stock.js:1617
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:1606
+#: templates/js/translated/stock.js:1625
msgid "Assigned to Sales Order"
msgstr ""
-#: templates/js/translated/stock.js:1612
+#: templates/js/translated/stock.js:1631
msgid "No stock location set"
msgstr ""
-#: templates/js/translated/stock.js:1781
+#: templates/js/translated/stock.js:1800
msgid "Stock item is in production"
msgstr ""
-#: templates/js/translated/stock.js:1786
+#: templates/js/translated/stock.js:1805
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/translated/stock.js:1789
+#: templates/js/translated/stock.js:1808
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/translated/stock.js:1792
+#: templates/js/translated/stock.js:1811
msgid "Serialized stock item has been allocated"
msgstr ""
-#: templates/js/translated/stock.js:1794
+#: templates/js/translated/stock.js:1813
msgid "Stock item has been fully allocated"
msgstr ""
-#: templates/js/translated/stock.js:1796
+#: templates/js/translated/stock.js:1815
msgid "Stock item has been partially allocated"
msgstr ""
-#: templates/js/translated/stock.js:1799
+#: templates/js/translated/stock.js:1818
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:1803
+#: templates/js/translated/stock.js:1822
msgid "Stock item has expired"
msgstr ""
-#: templates/js/translated/stock.js:1805
+#: templates/js/translated/stock.js:1824
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/translated/stock.js:1812
+#: templates/js/translated/stock.js:1831
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/translated/stock.js:1814
+#: templates/js/translated/stock.js:1833
msgid "Stock item is lost"
msgstr ""
-#: templates/js/translated/stock.js:1816
+#: templates/js/translated/stock.js:1835
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/translated/stock.js:1820
-#: templates/js/translated/table_filters.js:204
+#: templates/js/translated/stock.js:1839
+#: templates/js/translated/table_filters.js:208
msgid "Depleted"
msgstr ""
-#: templates/js/translated/stock.js:1871
-msgid "Stocktake"
-msgstr ""
-
-#: templates/js/translated/stock.js:1950
+#: templates/js/translated/stock.js:1969
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/translated/stock.js:1988
+#: templates/js/translated/stock.js:2006
msgid "No stock items matching query"
msgstr ""
-#: templates/js/translated/stock.js:2161
+#: templates/js/translated/stock.js:2179
msgid "Set Stock Status"
msgstr ""
-#: templates/js/translated/stock.js:2175
+#: templates/js/translated/stock.js:2193
msgid "Select Status Code"
msgstr ""
-#: templates/js/translated/stock.js:2176
+#: templates/js/translated/stock.js:2194
msgid "Status code must be selected"
msgstr ""
-#: templates/js/translated/stock.js:2408
+#: templates/js/translated/stock.js:2426
msgid "Load Subloactions"
msgstr ""
-#: templates/js/translated/stock.js:2503
+#: templates/js/translated/stock.js:2521
msgid "Details"
msgstr ""
-#: templates/js/translated/stock.js:2519
+#: templates/js/translated/stock.js:2537
msgid "Part information unavailable"
msgstr ""
-#: templates/js/translated/stock.js:2541
+#: templates/js/translated/stock.js:2559
msgid "Location no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2560
+#: templates/js/translated/stock.js:2578
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2579
+#: templates/js/translated/stock.js:2597
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2597
+#: templates/js/translated/stock.js:2615
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2620
+#: templates/js/translated/stock.js:2638
msgid "Added"
msgstr ""
-#: templates/js/translated/stock.js:2628
+#: templates/js/translated/stock.js:2646
msgid "Removed"
msgstr ""
-#: templates/js/translated/stock.js:2704
+#: templates/js/translated/stock.js:2722
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:2755 templates/js/translated/stock.js:2791
+#: templates/js/translated/stock.js:2773 templates/js/translated/stock.js:2809
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2804
+#: templates/js/translated/stock.js:2822
msgid "Select stock item to uninstall"
msgstr ""
-#: templates/js/translated/stock.js:2825
+#: templates/js/translated/stock.js:2843
msgid "Install another stock item into this item"
msgstr ""
-#: templates/js/translated/stock.js:2826
+#: templates/js/translated/stock.js:2844
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: templates/js/translated/stock.js:2828
+#: templates/js/translated/stock.js:2846
msgid "The Stock Item links to a Part which is the BOM for this Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2829
+#: templates/js/translated/stock.js:2847
msgid "The Stock Item is currently available in stock"
msgstr ""
-#: templates/js/translated/stock.js:2830
+#: templates/js/translated/stock.js:2848
msgid "The Stock Item is not already installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:2831
+#: templates/js/translated/stock.js:2849
msgid "The Stock Item is tracked by either a batch code or serial number"
msgstr ""
-#: templates/js/translated/stock.js:2844
+#: templates/js/translated/stock.js:2862
msgid "Select part to install"
msgstr ""
@@ -10236,215 +10558,220 @@ msgstr ""
msgid "Allow Variant Stock"
msgstr ""
-#: templates/js/translated/table_filters.js:126
-#: templates/js/translated/table_filters.js:199
+#: templates/js/translated/table_filters.js:92
+#: templates/js/translated/table_filters.js:508
+msgid "Has Pricing"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:130
+#: templates/js/translated/table_filters.js:203
msgid "Include sublocations"
msgstr ""
-#: templates/js/translated/table_filters.js:127
+#: templates/js/translated/table_filters.js:131
msgid "Include locations"
msgstr ""
-#: templates/js/translated/table_filters.js:137
-#: templates/js/translated/table_filters.js:138
-#: templates/js/translated/table_filters.js:445
+#: templates/js/translated/table_filters.js:141
+#: templates/js/translated/table_filters.js:142
+#: templates/js/translated/table_filters.js:449
msgid "Include subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:142
-#: templates/js/translated/table_filters.js:488
+#: templates/js/translated/table_filters.js:146
+#: templates/js/translated/table_filters.js:492
msgid "Subscribed"
msgstr ""
-#: templates/js/translated/table_filters.js:152
-#: templates/js/translated/table_filters.js:234
-msgid "Is Serialized"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:155
-#: templates/js/translated/table_filters.js:241
-msgid "Serial number GTE"
-msgstr ""
-
#: templates/js/translated/table_filters.js:156
-#: templates/js/translated/table_filters.js:242
-msgid "Serial number greater than or equal to"
+#: templates/js/translated/table_filters.js:238
+msgid "Is Serialized"
msgstr ""
#: templates/js/translated/table_filters.js:159
#: templates/js/translated/table_filters.js:245
-msgid "Serial number LTE"
+msgid "Serial number GTE"
msgstr ""
#: templates/js/translated/table_filters.js:160
#: templates/js/translated/table_filters.js:246
-msgid "Serial number less than or equal to"
+msgid "Serial number greater than or equal to"
msgstr ""
#: templates/js/translated/table_filters.js:163
+#: templates/js/translated/table_filters.js:249
+msgid "Serial number LTE"
+msgstr ""
+
#: templates/js/translated/table_filters.js:164
-#: templates/js/translated/table_filters.js:237
-#: templates/js/translated/table_filters.js:238
+#: templates/js/translated/table_filters.js:250
+msgid "Serial number less than or equal to"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:167
+#: templates/js/translated/table_filters.js:168
+#: templates/js/translated/table_filters.js:241
+#: templates/js/translated/table_filters.js:242
msgid "Serial number"
msgstr ""
-#: templates/js/translated/table_filters.js:168
-#: templates/js/translated/table_filters.js:259
+#: templates/js/translated/table_filters.js:172
+#: templates/js/translated/table_filters.js:263
msgid "Batch code"
msgstr ""
-#: templates/js/translated/table_filters.js:179
-#: templates/js/translated/table_filters.js:417
+#: templates/js/translated/table_filters.js:183
+#: templates/js/translated/table_filters.js:421
msgid "Active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:180
+#: templates/js/translated/table_filters.js:184
msgid "Show stock for active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:185
+#: templates/js/translated/table_filters.js:189
msgid "Part is an assembly"
msgstr ""
-#: templates/js/translated/table_filters.js:189
+#: templates/js/translated/table_filters.js:193
msgid "Is allocated"
msgstr ""
-#: templates/js/translated/table_filters.js:190
+#: templates/js/translated/table_filters.js:194
msgid "Item has been allocated"
msgstr ""
-#: templates/js/translated/table_filters.js:195
+#: templates/js/translated/table_filters.js:199
msgid "Stock is available for use"
msgstr ""
-#: templates/js/translated/table_filters.js:200
+#: templates/js/translated/table_filters.js:204
msgid "Include stock in sublocations"
msgstr ""
-#: templates/js/translated/table_filters.js:205
+#: templates/js/translated/table_filters.js:209
msgid "Show stock items which are depleted"
msgstr ""
-#: templates/js/translated/table_filters.js:210
+#: templates/js/translated/table_filters.js:214
msgid "Show items which are in stock"
msgstr ""
-#: templates/js/translated/table_filters.js:214
+#: templates/js/translated/table_filters.js:218
msgid "In Production"
msgstr ""
-#: templates/js/translated/table_filters.js:215
+#: templates/js/translated/table_filters.js:219
msgid "Show items which are in production"
msgstr ""
-#: templates/js/translated/table_filters.js:219
+#: templates/js/translated/table_filters.js:223
msgid "Include Variants"
msgstr ""
-#: templates/js/translated/table_filters.js:220
+#: templates/js/translated/table_filters.js:224
msgid "Include stock items for variant parts"
msgstr ""
-#: templates/js/translated/table_filters.js:224
+#: templates/js/translated/table_filters.js:228
msgid "Installed"
msgstr ""
-#: templates/js/translated/table_filters.js:225
+#: templates/js/translated/table_filters.js:229
msgid "Show stock items which are installed in another item"
msgstr ""
-#: templates/js/translated/table_filters.js:230
+#: templates/js/translated/table_filters.js:234
msgid "Show items which have been assigned to a customer"
msgstr ""
-#: templates/js/translated/table_filters.js:250
-#: templates/js/translated/table_filters.js:251
+#: templates/js/translated/table_filters.js:254
+#: templates/js/translated/table_filters.js:255
msgid "Stock status"
msgstr ""
-#: templates/js/translated/table_filters.js:254
+#: templates/js/translated/table_filters.js:258
msgid "Has batch code"
msgstr ""
-#: templates/js/translated/table_filters.js:262
+#: templates/js/translated/table_filters.js:266
msgid "Tracked"
msgstr ""
-#: templates/js/translated/table_filters.js:263
+#: templates/js/translated/table_filters.js:267
msgid "Stock item is tracked by either batch code or serial number"
msgstr ""
-#: templates/js/translated/table_filters.js:268
+#: templates/js/translated/table_filters.js:272
msgid "Has purchase price"
msgstr ""
-#: templates/js/translated/table_filters.js:269
+#: templates/js/translated/table_filters.js:273
msgid "Show stock items which have a purchase price set"
msgstr ""
-#: templates/js/translated/table_filters.js:278
+#: templates/js/translated/table_filters.js:282
msgid "Show stock items which have expired"
msgstr ""
-#: templates/js/translated/table_filters.js:284
+#: templates/js/translated/table_filters.js:288
msgid "Show stock which is close to expiring"
msgstr ""
-#: templates/js/translated/table_filters.js:296
+#: templates/js/translated/table_filters.js:300
msgid "Test Passed"
msgstr ""
-#: templates/js/translated/table_filters.js:300
+#: templates/js/translated/table_filters.js:304
msgid "Include Installed Items"
msgstr ""
-#: templates/js/translated/table_filters.js:319
+#: templates/js/translated/table_filters.js:323
msgid "Build status"
msgstr ""
-#: templates/js/translated/table_filters.js:332
-#: templates/js/translated/table_filters.js:373
+#: templates/js/translated/table_filters.js:336
+#: templates/js/translated/table_filters.js:377
msgid "Assigned to me"
msgstr ""
-#: templates/js/translated/table_filters.js:349
-#: templates/js/translated/table_filters.js:360
-#: templates/js/translated/table_filters.js:390
+#: templates/js/translated/table_filters.js:353
+#: templates/js/translated/table_filters.js:364
+#: templates/js/translated/table_filters.js:394
msgid "Order status"
msgstr ""
-#: templates/js/translated/table_filters.js:365
-#: templates/js/translated/table_filters.js:382
-#: templates/js/translated/table_filters.js:395
+#: templates/js/translated/table_filters.js:369
+#: templates/js/translated/table_filters.js:386
+#: templates/js/translated/table_filters.js:399
msgid "Outstanding"
msgstr ""
-#: templates/js/translated/table_filters.js:446
+#: templates/js/translated/table_filters.js:450
msgid "Include parts in subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:451
+#: templates/js/translated/table_filters.js:455
msgid "Show active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:459
+#: templates/js/translated/table_filters.js:463
msgid "Available stock"
msgstr ""
-#: templates/js/translated/table_filters.js:467
+#: templates/js/translated/table_filters.js:471
msgid "Has IPN"
msgstr ""
-#: templates/js/translated/table_filters.js:468
+#: templates/js/translated/table_filters.js:472
msgid "Part has internal part number"
msgstr ""
-#: templates/js/translated/table_filters.js:472
+#: templates/js/translated/table_filters.js:476
msgid "In stock"
msgstr ""
-#: templates/js/translated/table_filters.js:480
+#: templates/js/translated/table_filters.js:484
msgid "Purchasable"
msgstr ""
@@ -10554,6 +10881,10 @@ msgstr ""
msgid "Show all notifications and history"
msgstr ""
+#: templates/price_data.html:7
+msgid "No data"
+msgstr ""
+
#: templates/qr_code.html:11
msgid "QR data not provided"
msgstr ""
@@ -10738,35 +11069,35 @@ msgstr ""
msgid "Important dates"
msgstr ""
-#: users/models.py:205
+#: users/models.py:207
msgid "Permission set"
msgstr ""
-#: users/models.py:213
+#: users/models.py:215
msgid "Group"
msgstr ""
-#: users/models.py:216
+#: users/models.py:218
msgid "View"
msgstr ""
-#: users/models.py:216
+#: users/models.py:218
msgid "Permission to view items"
msgstr ""
-#: users/models.py:218
+#: users/models.py:220
msgid "Permission to add items"
msgstr ""
-#: users/models.py:220
+#: users/models.py:222
msgid "Change"
msgstr ""
-#: users/models.py:220
+#: users/models.py:222
msgid "Permissions to edit items"
msgstr ""
-#: users/models.py:222
+#: users/models.py:224
msgid "Permission to delete items"
msgstr ""
diff --git a/InvenTree/locale/ko/LC_MESSAGES/django.po b/InvenTree/locale/ko/LC_MESSAGES/django.po
index f5a1d47a1e..cdcf1b6a8c 100644
--- a/InvenTree/locale/ko/LC_MESSAGES/django.po
+++ b/InvenTree/locale/ko/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-11-04 14:07+0000\n"
-"PO-Revision-Date: 2022-11-04 19:02\n"
+"POT-Creation-Date: 2022-11-14 04:59+0000\n"
+"PO-Revision-Date: 2022-11-14 14:51\n"
"Last-Translator: \n"
"Language-Team: Korean\n"
"Language: ko_KR\n"
@@ -17,7 +17,7 @@ msgstr ""
"X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n"
"X-Crowdin-File-ID: 154\n"
-#: InvenTree/api.py:54
+#: InvenTree/api.py:61
msgid "API endpoint not found"
msgstr ""
@@ -25,27 +25,27 @@ msgstr ""
msgid "Error details can be found in the admin panel"
msgstr ""
-#: InvenTree/fields.py:120
+#: InvenTree/fields.py:129
msgid "Enter date"
msgstr ""
-#: InvenTree/fields.py:195 build/serializers.py:387
-#: build/templates/build/sidebar.html:21 company/models.py:525
-#: company/templates/company/sidebar.html:25 order/models.py:920
+#: InvenTree/fields.py:204 build/serializers.py:387
+#: build/templates/build/sidebar.html:21 company/models.py:529
+#: company/templates/company/sidebar.html:25 order/models.py:943
#: order/templates/order/po_sidebar.html:11
-#: order/templates/order/so_sidebar.html:17
-#: part/templates/part/part_sidebar.html:59
+#: order/templates/order/so_sidebar.html:17 part/admin.py:27
+#: part/templates/part/part_sidebar.html:57
#: report/templates/report/inventree_build_order_base.html:172
-#: stock/models.py:2002 stock/models.py:2110 stock/serializers.py:327
-#: stock/serializers.py:460 stock/serializers.py:541 stock/serializers.py:827
-#: stock/serializers.py:926 stock/serializers.py:1058
+#: stock/admin.py:103 stock/models.py:2018 stock/models.py:2126
+#: stock/serializers.py:321 stock/serializers.py:454 stock/serializers.py:535
+#: stock/serializers.py:826 stock/serializers.py:925 stock/serializers.py:1057
#: stock/templates/stock/stock_sidebar.html:25
-#: templates/js/translated/barcode.js:108 templates/js/translated/bom.js:1146
-#: templates/js/translated/company.js:1022
-#: templates/js/translated/order.js:2404 templates/js/translated/order.js:2552
-#: templates/js/translated/order.js:3048 templates/js/translated/order.js:3999
-#: templates/js/translated/order.js:4394 templates/js/translated/stock.js:1374
-#: templates/js/translated/stock.js:1982
+#: templates/js/translated/barcode.js:108 templates/js/translated/bom.js:1211
+#: templates/js/translated/company.js:1023
+#: templates/js/translated/order.js:2427 templates/js/translated/order.js:2561
+#: templates/js/translated/order.js:3059 templates/js/translated/order.js:3996
+#: templates/js/translated/order.js:4377 templates/js/translated/stock.js:1393
+#: templates/js/translated/stock.js:2000
msgid "Notes"
msgstr ""
@@ -122,43 +122,43 @@ msgstr ""
msgid "Supplied URL is not a valid image file"
msgstr ""
-#: InvenTree/helpers.py:602 order/models.py:325 order/models.py:477
+#: InvenTree/helpers.py:589 order/models.py:329 order/models.py:496
msgid "Invalid quantity provided"
msgstr ""
-#: InvenTree/helpers.py:610
+#: InvenTree/helpers.py:597
msgid "Empty serial number string"
msgstr ""
-#: InvenTree/helpers.py:640
+#: InvenTree/helpers.py:627
msgid "Duplicate serial"
msgstr ""
-#: InvenTree/helpers.py:673 InvenTree/helpers.py:708
+#: InvenTree/helpers.py:660 InvenTree/helpers.py:695
#, python-brace-format
msgid "Invalid group range: {g}"
msgstr ""
-#: InvenTree/helpers.py:702
+#: InvenTree/helpers.py:689
#, python-brace-format
msgid "Group range {g} exceeds allowed quantity ({q})"
msgstr ""
-#: InvenTree/helpers.py:726 InvenTree/helpers.py:733 InvenTree/helpers.py:748
+#: InvenTree/helpers.py:713 InvenTree/helpers.py:720 InvenTree/helpers.py:735
#, python-brace-format
msgid "Invalid group sequence: {g}"
msgstr ""
-#: InvenTree/helpers.py:758
+#: InvenTree/helpers.py:745
msgid "No serial numbers found"
msgstr ""
-#: InvenTree/helpers.py:761
+#: InvenTree/helpers.py:748
#, python-brace-format
msgid "Number of unique serial numbers ({s}) must match quantity ({q})"
msgstr ""
-#: InvenTree/helpers.py:960
+#: InvenTree/helpers.py:947
msgid "Remove HTML tags from this value"
msgstr ""
@@ -194,7 +194,7 @@ msgstr ""
msgid "Missing external link"
msgstr ""
-#: InvenTree/models.py:405 stock/models.py:2104
+#: InvenTree/models.py:405 stock/models.py:2120
#: templates/js/translated/attachment.js:103
#: templates/js/translated/attachment.js:241
msgid "Attachment"
@@ -204,18 +204,19 @@ msgstr "첨부파일"
msgid "Select file to attach"
msgstr "첨부할 파일을 선택하세요"
-#: InvenTree/models.py:412 company/models.py:125 company/models.py:277
-#: company/models.py:512 order/models.py:84 order/models.py:1259
-#: part/models.py:816 part/templates/part/part_scheduling.html:11
+#: InvenTree/models.py:412 common/models.py:2313 company/models.py:129
+#: company/models.py:281 company/models.py:516 order/models.py:85
+#: order/models.py:1282 part/admin.py:25 part/models.py:835
+#: part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
-#: templates/js/translated/company.js:691
-#: templates/js/translated/company.js:1011
-#: templates/js/translated/order.js:3037 templates/js/translated/part.js:1569
+#: stock/admin.py:102 templates/js/translated/company.js:692
+#: templates/js/translated/company.js:1012
+#: templates/js/translated/order.js:3048 templates/js/translated/part.js:1593
msgid "Link"
msgstr "링크"
-#: InvenTree/models.py:413 build/models.py:290 part/models.py:817
-#: stock/models.py:660
+#: InvenTree/models.py:413 build/models.py:290 part/models.py:836
+#: stock/models.py:676
msgid "Link to external URL"
msgstr "외부 URL로 링크"
@@ -228,12 +229,12 @@ msgstr ""
msgid "File comment"
msgstr ""
-#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1744
-#: common/models.py:1745 common/models.py:1968 common/models.py:1969
-#: common/models.py:2231 common/models.py:2232 part/models.py:2254
-#: part/models.py:2274 plugin/models.py:264 plugin/models.py:265
+#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1756
+#: common/models.py:1757 common/models.py:1980 common/models.py:1981
+#: common/models.py:2243 common/models.py:2244 part/models.py:2867
+#: part/models.py:2887 plugin/models.py:264 plugin/models.py:265
#: report/templates/report/inventree_test_report_base.html:96
-#: templates/js/translated/stock.js:2651
+#: templates/js/translated/stock.js:2669
msgid "User"
msgstr "사용자"
@@ -270,44 +271,45 @@ msgstr "파일 이름 바꾸기 오류"
msgid "Invalid choice"
msgstr ""
-#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1954
-#: company/models.py:359 label/models.py:101 part/models.py:760
-#: part/models.py:2429 plugin/models.py:94 report/models.py:152
+#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1966
+#: company/models.py:363 label/models.py:101 part/models.py:779
+#: part/models.py:3042 plugin/models.py:94 report/models.py:152
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/plugin.html:60
#: templates/InvenTree/settings/plugin.html:104
#: templates/InvenTree/settings/plugin_settings.html:23
#: templates/InvenTree/settings/settings.html:344
-#: templates/js/translated/company.js:580
-#: templates/js/translated/company.js:793
+#: templates/js/translated/company.js:581
+#: templates/js/translated/company.js:794
#: templates/js/translated/notification.js:71
-#: templates/js/translated/part.js:686 templates/js/translated/part.js:838
-#: templates/js/translated/part.js:1964 templates/js/translated/stock.js:2396
+#: templates/js/translated/part.js:700 templates/js/translated/part.js:865
+#: templates/js/translated/part.js:1988 templates/js/translated/stock.js:2414
msgid "Name"
msgstr "이름"
#: InvenTree/models.py:564 build/models.py:163
-#: build/templates/build/detail.html:24 company/models.py:283
-#: company/models.py:518 company/templates/company/company_base.html:71
+#: build/templates/build/detail.html:24 company/models.py:287
+#: company/models.py:522 company/templates/company/company_base.html:71
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:108 label/models.py:108
-#: order/models.py:82 part/models.py:783 part/models.py:2438
-#: part/templates/part/category.html:75 part/templates/part/part_base.html:172
+#: order/models.py:83 part/admin.py:141 part/admin.py:222 part/models.py:802
+#: part/models.py:3051 part/templates/part/category.html:75
+#: part/templates/part/part_base.html:172
#: part/templates/part/part_scheduling.html:12 report/models.py:165
#: report/models.py:507 report/models.py:551
#: report/templates/report/inventree_build_order_base.html:117
-#: stock/templates/stock/location.html:117
+#: stock/admin.py:25 stock/templates/stock/location.html:117
#: templates/InvenTree/settings/plugin_settings.html:28
#: templates/InvenTree/settings/settings.html:355
-#: templates/js/translated/bom.js:579 templates/js/translated/bom.js:887
-#: templates/js/translated/build.js:2580 templates/js/translated/company.js:444
-#: templates/js/translated/company.js:702
-#: templates/js/translated/company.js:986 templates/js/translated/order.js:1988
-#: templates/js/translated/order.js:2220 templates/js/translated/order.js:2826
-#: templates/js/translated/part.js:745 templates/js/translated/part.js:1187
-#: templates/js/translated/part.js:1464 templates/js/translated/part.js:2000
-#: templates/js/translated/part.js:2075 templates/js/translated/stock.js:1748
-#: templates/js/translated/stock.js:2428 templates/js/translated/stock.js:2488
+#: templates/js/translated/bom.js:592 templates/js/translated/bom.js:895
+#: templates/js/translated/build.js:2580 templates/js/translated/company.js:445
+#: templates/js/translated/company.js:703
+#: templates/js/translated/company.js:987 templates/js/translated/order.js:2022
+#: templates/js/translated/order.js:2259 templates/js/translated/order.js:2837
+#: templates/js/translated/part.js:759 templates/js/translated/part.js:1208
+#: templates/js/translated/part.js:1475 templates/js/translated/part.js:2024
+#: templates/js/translated/part.js:2099 templates/js/translated/stock.js:1767
+#: templates/js/translated/stock.js:2446 templates/js/translated/stock.js:2506
msgid "Description"
msgstr "설명"
@@ -320,7 +322,7 @@ msgid "parent"
msgstr ""
#: InvenTree/models.py:580 InvenTree/models.py:581
-#: templates/js/translated/part.js:2009 templates/js/translated/stock.js:2437
+#: templates/js/translated/part.js:2033 templates/js/translated/stock.js:2455
msgid "Path"
msgstr ""
@@ -332,7 +334,7 @@ msgstr ""
msgid "Third party barcode data"
msgstr ""
-#: InvenTree/models.py:688 order/serializers.py:486
+#: InvenTree/models.py:688 order/serializers.py:477
msgid "Barcode Hash"
msgstr "바코드 해시"
@@ -352,187 +354,187 @@ msgstr ""
msgid "An error has been logged by the server."
msgstr ""
-#: InvenTree/serializers.py:58 part/models.py:2774
+#: InvenTree/serializers.py:58 part/models.py:3387
msgid "Must be a valid number"
msgstr "유효한 숫자여야 합니다"
-#: InvenTree/serializers.py:265
+#: InvenTree/serializers.py:266
msgid "Filename"
msgstr "파일명"
-#: InvenTree/serializers.py:300
+#: InvenTree/serializers.py:301
msgid "Invalid value"
msgstr ""
-#: InvenTree/serializers.py:322
+#: InvenTree/serializers.py:323
msgid "Data File"
msgstr ""
-#: InvenTree/serializers.py:323
+#: InvenTree/serializers.py:324
msgid "Select data file for upload"
msgstr ""
-#: InvenTree/serializers.py:344
+#: InvenTree/serializers.py:345
msgid "Unsupported file type"
msgstr ""
-#: InvenTree/serializers.py:350
+#: InvenTree/serializers.py:351
msgid "File is too large"
msgstr "파일이 너무 큽니다"
-#: InvenTree/serializers.py:371
+#: InvenTree/serializers.py:372
msgid "No columns found in file"
msgstr ""
-#: InvenTree/serializers.py:374
+#: InvenTree/serializers.py:375
msgid "No data rows found in file"
msgstr ""
-#: InvenTree/serializers.py:497
+#: InvenTree/serializers.py:498
msgid "No data rows provided"
msgstr ""
-#: InvenTree/serializers.py:500
+#: InvenTree/serializers.py:501
msgid "No data columns supplied"
msgstr ""
-#: InvenTree/serializers.py:577
+#: InvenTree/serializers.py:578
#, python-brace-format
msgid "Missing required column: '{name}'"
msgstr ""
-#: InvenTree/serializers.py:586
+#: InvenTree/serializers.py:587
#, python-brace-format
msgid "Duplicate column: '{col}'"
msgstr ""
-#: InvenTree/serializers.py:605
+#: InvenTree/serializers.py:606
#: templates/InvenTree/settings/mixins/urls.html:14
msgid "URL"
msgstr ""
-#: InvenTree/serializers.py:606
+#: InvenTree/serializers.py:607
msgid "URL of remote image file"
msgstr ""
-#: InvenTree/serializers.py:620
+#: InvenTree/serializers.py:621
msgid "Downloading images from remote URL is not enabled"
msgstr ""
-#: InvenTree/settings.py:621
+#: InvenTree/settings.py:627
msgid "Czech"
msgstr "체코어"
-#: InvenTree/settings.py:622
+#: InvenTree/settings.py:628
msgid "Danish"
msgstr ""
-#: InvenTree/settings.py:623
+#: InvenTree/settings.py:629
msgid "German"
msgstr "독일어"
-#: InvenTree/settings.py:624
+#: InvenTree/settings.py:630
msgid "Greek"
msgstr "그리스어"
-#: InvenTree/settings.py:625
+#: InvenTree/settings.py:631
msgid "English"
msgstr "영어"
-#: InvenTree/settings.py:626
+#: InvenTree/settings.py:632
msgid "Spanish"
msgstr "스페인어"
-#: InvenTree/settings.py:627
+#: InvenTree/settings.py:633
msgid "Spanish (Mexican)"
msgstr "스페인어 (멕시코)"
-#: InvenTree/settings.py:628
+#: InvenTree/settings.py:634
msgid "Farsi / Persian"
msgstr "파르시어/페르시아어"
-#: InvenTree/settings.py:629
+#: InvenTree/settings.py:635
msgid "French"
msgstr "프랑스어"
-#: InvenTree/settings.py:630
+#: InvenTree/settings.py:636
msgid "Hebrew"
msgstr "히브리어"
-#: InvenTree/settings.py:631
+#: InvenTree/settings.py:637
msgid "Hungarian"
msgstr "헝가리어"
-#: InvenTree/settings.py:632
+#: InvenTree/settings.py:638
msgid "Italian"
msgstr "이탈리아어"
-#: InvenTree/settings.py:633
+#: InvenTree/settings.py:639
msgid "Japanese"
msgstr "일본어"
-#: InvenTree/settings.py:634
+#: InvenTree/settings.py:640
msgid "Korean"
msgstr "한국어"
-#: InvenTree/settings.py:635
+#: InvenTree/settings.py:641
msgid "Dutch"
msgstr "네덜란드어"
-#: InvenTree/settings.py:636
+#: InvenTree/settings.py:642
msgid "Norwegian"
msgstr "노르웨이어"
-#: InvenTree/settings.py:637
+#: InvenTree/settings.py:643
msgid "Polish"
msgstr "폴란드어"
-#: InvenTree/settings.py:638
+#: InvenTree/settings.py:644
msgid "Portuguese"
msgstr ""
-#: InvenTree/settings.py:639
+#: InvenTree/settings.py:645
msgid "Portuguese (Brazilian)"
msgstr ""
-#: InvenTree/settings.py:640
+#: InvenTree/settings.py:646
msgid "Russian"
msgstr "러시아어"
-#: InvenTree/settings.py:641
+#: InvenTree/settings.py:647
msgid "Swedish"
msgstr "스웨덴어"
-#: InvenTree/settings.py:642
+#: InvenTree/settings.py:648
msgid "Thai"
msgstr "태국어"
-#: InvenTree/settings.py:643
+#: InvenTree/settings.py:649
msgid "Turkish"
msgstr "터키어"
-#: InvenTree/settings.py:644
+#: InvenTree/settings.py:650
msgid "Vietnamese"
msgstr "베트남어"
-#: InvenTree/settings.py:645
+#: InvenTree/settings.py:651
msgid "Chinese"
msgstr "중국어"
-#: InvenTree/status.py:99
+#: InvenTree/status.py:98
msgid "Background worker check failed"
msgstr ""
-#: InvenTree/status.py:103
+#: InvenTree/status.py:102
msgid "Email backend not configured"
msgstr ""
-#: InvenTree/status.py:106
+#: InvenTree/status.py:105
msgid "InvenTree system health checks failed"
msgstr ""
#: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140
-#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:342
+#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:346
msgid "Pending"
msgstr ""
@@ -561,8 +563,8 @@ msgstr ""
msgid "Returned"
msgstr ""
-#: InvenTree/status_codes.py:141 order/models.py:1142
-#: templates/js/translated/order.js:3625 templates/js/translated/order.js:3974
+#: InvenTree/status_codes.py:141 order/models.py:1165
+#: templates/js/translated/order.js:3636 templates/js/translated/order.js:3971
msgid "Shipped"
msgstr ""
@@ -646,7 +648,7 @@ msgstr ""
msgid "Split child item"
msgstr ""
-#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2086
+#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2104
msgid "Merged stock items"
msgstr ""
@@ -654,7 +656,7 @@ msgstr ""
msgid "Converted to variant"
msgstr ""
-#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:229
+#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:233
msgid "Sent to customer"
msgstr ""
@@ -746,7 +748,7 @@ msgstr ""
#: build/models.py:111 build/templates/build/build_base.html:13
#: build/templates/build/index.html:8 build/templates/build/index.html:12
-#: order/templates/order/sales_order_detail.html:120
+#: order/templates/order/sales_order_detail.html:125
#: order/templates/order/so_sidebar.html:13
#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221
#: templates/InvenTree/search.html:141
@@ -759,15 +761,15 @@ msgstr ""
msgid "Build Order Reference"
msgstr ""
-#: build/models.py:155 order/models.py:240 order/models.py:632
-#: order/models.py:918 part/models.py:2684
+#: build/models.py:155 order/models.py:241 order/models.py:651
+#: order/models.py:941 part/admin.py:224 part/models.py:3297
#: part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:92
-#: templates/js/translated/bom.js:716 templates/js/translated/bom.js:897
-#: templates/js/translated/build.js:1843 templates/js/translated/order.js:2251
-#: templates/js/translated/order.js:2481 templates/js/translated/order.js:3818
-#: templates/js/translated/order.js:4323
+#: templates/js/translated/bom.js:729 templates/js/translated/bom.js:905
+#: templates/js/translated/build.js:1843 templates/js/translated/order.js:2290
+#: templates/js/translated/order.js:2508 templates/js/translated/order.js:3833
+#: templates/js/translated/order.js:4324 templates/js/translated/pricing.js:119
msgid "Reference"
msgstr ""
@@ -785,39 +787,40 @@ msgid "BuildOrder to which this build is allocated"
msgstr ""
#: build/models.py:180 build/templates/build/build_base.html:80
-#: build/templates/build/detail.html:29 company/models.py:680
-#: order/models.py:1015 order/models.py:1126 order/models.py:1127
-#: part/models.py:343 part/models.py:2200 part/models.py:2215
-#: part/models.py:2234 part/models.py:2252 part/models.py:2351
-#: part/models.py:2472 part/models.py:2564 part/models.py:2649
-#: part/models.py:2943 part/serializers.py:828
+#: build/templates/build/detail.html:29 company/models.py:684
+#: order/models.py:1038 order/models.py:1149 order/models.py:1150
+#: part/models.py:362 part/models.py:2700 part/models.py:2813
+#: part/models.py:2828 part/models.py:2847 part/models.py:2865
+#: part/models.py:2964 part/models.py:3085 part/models.py:3177
+#: part/models.py:3262 part/models.py:3578 part/serializers.py:852
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
#: report/templates/report/inventree_build_order_base.html:109
#: report/templates/report/inventree_po_report.html:89
-#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:86
-#: stock/serializers.py:494 templates/InvenTree/search.html:82
+#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:90
+#: stock/serializers.py:488 templates/InvenTree/search.html:82
#: templates/email/build_order_completed.html:17
#: templates/email/build_order_required_stock.html:17
#: templates/email/low_stock_notification.html:16
#: templates/email/overdue_build_order.html:16
-#: templates/js/translated/barcode.js:479 templates/js/translated/bom.js:578
-#: templates/js/translated/bom.js:715 templates/js/translated/bom.js:841
+#: templates/js/translated/barcode.js:479 templates/js/translated/bom.js:591
+#: templates/js/translated/bom.js:728 templates/js/translated/bom.js:849
#: templates/js/translated/build.js:1214 templates/js/translated/build.js:1711
#: templates/js/translated/build.js:2194 templates/js/translated/build.js:2585
-#: templates/js/translated/company.js:301
-#: templates/js/translated/company.js:531
-#: templates/js/translated/company.js:643
-#: templates/js/translated/company.js:904 templates/js/translated/order.js:106
-#: templates/js/translated/order.js:1134 templates/js/translated/order.js:1638
-#: templates/js/translated/order.js:2205 templates/js/translated/order.js:3180
-#: templates/js/translated/order.js:3576 templates/js/translated/order.js:3802
-#: templates/js/translated/part.js:1172 templates/js/translated/part.js:1244
-#: templates/js/translated/part.js:1442 templates/js/translated/stock.js:586
-#: templates/js/translated/stock.js:751 templates/js/translated/stock.js:958
-#: templates/js/translated/stock.js:1700 templates/js/translated/stock.js:2514
-#: templates/js/translated/stock.js:2709 templates/js/translated/stock.js:2843
+#: templates/js/translated/company.js:302
+#: templates/js/translated/company.js:532
+#: templates/js/translated/company.js:644
+#: templates/js/translated/company.js:905 templates/js/translated/order.js:106
+#: templates/js/translated/order.js:1168 templates/js/translated/order.js:1672
+#: templates/js/translated/order.js:2244 templates/js/translated/order.js:3191
+#: templates/js/translated/order.js:3587 templates/js/translated/order.js:3817
+#: templates/js/translated/part.js:1193 templates/js/translated/part.js:1265
+#: templates/js/translated/part.js:1452 templates/js/translated/pricing.js:102
+#: templates/js/translated/stock.js:605 templates/js/translated/stock.js:770
+#: templates/js/translated/stock.js:977 templates/js/translated/stock.js:1719
+#: templates/js/translated/stock.js:2532 templates/js/translated/stock.js:2727
+#: templates/js/translated/stock.js:2861
msgid "Part"
msgstr ""
@@ -834,7 +837,7 @@ msgid "SalesOrder to which this build is allocated"
msgstr ""
#: build/models.py:202 build/serializers.py:822
-#: templates/js/translated/build.js:2182 templates/js/translated/order.js:3168
+#: templates/js/translated/build.js:2182 templates/js/translated/order.js:3179
msgid "Source Location"
msgstr ""
@@ -874,8 +877,8 @@ msgstr ""
msgid "Build status code"
msgstr ""
-#: build/models.py:245 build/serializers.py:224 order/serializers.py:464
-#: stock/models.py:664 templates/js/translated/order.js:1496
+#: build/models.py:245 build/serializers.py:224 order/serializers.py:455
+#: stock/models.py:680 templates/js/translated/order.js:1530
msgid "Batch Code"
msgstr ""
@@ -883,12 +886,12 @@ msgstr ""
msgid "Batch code for this build output"
msgstr ""
-#: build/models.py:252 order/models.py:86 part/models.py:952
-#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2839
+#: build/models.py:252 order/models.py:87 part/models.py:971
+#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2850
msgid "Creation Date"
msgstr ""
-#: build/models.py:256 order/models.py:662
+#: build/models.py:256 order/models.py:681
msgid "Target completion date"
msgstr ""
@@ -896,7 +899,7 @@ msgstr ""
msgid "Target date for build completion. Build will be overdue after this date."
msgstr ""
-#: build/models.py:260 order/models.py:291
+#: build/models.py:260 order/models.py:292
#: templates/js/translated/build.js:2662
msgid "Completion Date"
msgstr ""
@@ -914,11 +917,11 @@ msgid "User who issued this build order"
msgstr ""
#: build/models.py:283 build/templates/build/build_base.html:193
-#: build/templates/build/detail.html:115 order/models.py:100
+#: build/templates/build/detail.html:115 order/models.py:101
#: order/templates/order/order_base.html:185
-#: order/templates/order/sales_order_base.html:183 part/models.py:956
+#: order/templates/order/sales_order_base.html:183 part/models.py:975
#: report/templates/report/inventree_build_order_base.html:158
-#: templates/js/translated/build.js:2642 templates/js/translated/order.js:2022
+#: templates/js/translated/build.js:2642 templates/js/translated/order.js:2056
msgid "Responsible"
msgstr ""
@@ -929,7 +932,7 @@ msgstr ""
#: build/models.py:289 build/templates/build/detail.html:101
#: company/templates/company/manufacturer_part.html:107
#: company/templates/company/supplier_part.html:188
-#: part/templates/part/part_base.html:361 stock/models.py:658
+#: part/templates/part/part_base.html:376 stock/models.py:674
#: stock/templates/stock/item_base.html:203
msgid "External Link"
msgstr "외부 링크"
@@ -968,11 +971,11 @@ msgstr ""
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr ""
-#: build/models.py:1191 order/models.py:1393
+#: build/models.py:1191 order/models.py:1416
msgid "Stock item is over-allocated"
msgstr ""
-#: build/models.py:1197 order/models.py:1396
+#: build/models.py:1197 order/models.py:1419
msgid "Allocation quantity must be greater than zero"
msgstr ""
@@ -994,18 +997,18 @@ msgstr ""
msgid "Build to allocate parts"
msgstr ""
-#: build/models.py:1346 build/serializers.py:663 order/serializers.py:1039
-#: order/serializers.py:1060 stock/serializers.py:398 stock/serializers.py:758
-#: stock/serializers.py:884 stock/templates/stock/item_base.html:10
+#: build/models.py:1346 build/serializers.py:663 order/serializers.py:1032
+#: order/serializers.py:1053 stock/serializers.py:392 stock/serializers.py:757
+#: stock/serializers.py:883 stock/templates/stock/item_base.html:10
#: stock/templates/stock/item_base.html:23
#: stock/templates/stock/item_base.html:197
#: templates/js/translated/build.js:790 templates/js/translated/build.js:795
#: templates/js/translated/build.js:2196 templates/js/translated/build.js:2747
-#: templates/js/translated/order.js:107 templates/js/translated/order.js:3181
-#: templates/js/translated/order.js:3483 templates/js/translated/order.js:3488
-#: templates/js/translated/order.js:3583 templates/js/translated/order.js:3675
-#: templates/js/translated/stock.js:587 templates/js/translated/stock.js:752
-#: templates/js/translated/stock.js:2587
+#: templates/js/translated/order.js:107 templates/js/translated/order.js:3192
+#: templates/js/translated/order.js:3494 templates/js/translated/order.js:3499
+#: templates/js/translated/order.js:3594 templates/js/translated/order.js:3686
+#: templates/js/translated/stock.js:606 templates/js/translated/stock.js:771
+#: templates/js/translated/stock.js:2605
msgid "Stock Item"
msgstr ""
@@ -1015,12 +1018,10 @@ msgstr ""
#: build/models.py:1359 build/serializers.py:192
#: build/templates/build/build_base.html:85
-#: build/templates/build/detail.html:34 common/models.py:1776
-#: company/templates/company/supplier_part.html:341 order/models.py:911
-#: order/models.py:1437 order/serializers.py:1213
-#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:40
-#: part/models.py:2665 part/templates/part/detail.html:938
-#: part/templates/part/detail.html:1024
+#: build/templates/build/detail.html:34 common/models.py:1788
+#: order/models.py:934 order/models.py:1460 order/serializers.py:1206
+#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:223
+#: part/forms.py:40 part/models.py:3278
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_build_order_base.html:113
@@ -1028,25 +1029,29 @@ msgstr ""
#: report/templates/report/inventree_so_report.html:91
#: report/templates/report/inventree_test_report_base.html:81
#: report/templates/report/inventree_test_report_base.html:139
-#: stock/serializers.py:291 stock/templates/stock/item_base.html:290
+#: stock/admin.py:86 stock/serializers.py:285
+#: stock/templates/stock/item_base.html:290
#: stock/templates/stock/item_base.html:298
#: templates/email/build_order_completed.html:18
-#: templates/js/translated/barcode.js:481 templates/js/translated/bom.js:717
-#: templates/js/translated/bom.js:905 templates/js/translated/build.js:474
+#: templates/js/translated/barcode.js:481 templates/js/translated/bom.js:730
+#: templates/js/translated/bom.js:913 templates/js/translated/build.js:474
#: templates/js/translated/build.js:626 templates/js/translated/build.js:817
#: templates/js/translated/build.js:1236 templates/js/translated/build.js:1737
#: templates/js/translated/build.js:2197
+#: templates/js/translated/company.js:1159
#: templates/js/translated/model_renderers.js:120
-#: templates/js/translated/order.js:123 templates/js/translated/order.js:1137
-#: templates/js/translated/order.js:2257 templates/js/translated/order.js:2487
-#: templates/js/translated/order.js:3182 templates/js/translated/order.js:3502
-#: templates/js/translated/order.js:3589 templates/js/translated/order.js:3681
-#: templates/js/translated/order.js:3824 templates/js/translated/order.js:4329
-#: templates/js/translated/part.js:1036 templates/js/translated/part.js:2220
-#: templates/js/translated/part.js:2689 templates/js/translated/part.js:2730
-#: templates/js/translated/part.js:2808 templates/js/translated/stock.js:458
-#: templates/js/translated/stock.js:612 templates/js/translated/stock.js:782
-#: templates/js/translated/stock.js:2636 templates/js/translated/stock.js:2721
+#: templates/js/translated/order.js:123 templates/js/translated/order.js:1171
+#: templates/js/translated/order.js:2296 templates/js/translated/order.js:2514
+#: templates/js/translated/order.js:3193 templates/js/translated/order.js:3513
+#: templates/js/translated/order.js:3600 templates/js/translated/order.js:3692
+#: templates/js/translated/order.js:3839 templates/js/translated/order.js:4330
+#: templates/js/translated/part.js:1063 templates/js/translated/part.js:2546
+#: templates/js/translated/pricing.js:114
+#: templates/js/translated/pricing.js:207
+#: templates/js/translated/pricing.js:255
+#: templates/js/translated/pricing.js:349 templates/js/translated/stock.js:477
+#: templates/js/translated/stock.js:631 templates/js/translated/stock.js:801
+#: templates/js/translated/stock.js:2654 templates/js/translated/stock.js:2739
msgid "Quantity"
msgstr "수량"
@@ -1087,10 +1092,10 @@ msgstr ""
msgid "Enter quantity for build output"
msgstr ""
-#: build/serializers.py:207 build/serializers.py:683 order/models.py:323
-#: order/serializers.py:304 order/serializers.py:459 part/serializers.py:558
-#: part/serializers.py:991 stock/models.py:518 stock/models.py:1253
-#: stock/serializers.py:300
+#: build/serializers.py:207 build/serializers.py:683 order/models.py:327
+#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:644
+#: part/serializers.py:1015 stock/models.py:534 stock/models.py:1269
+#: stock/serializers.py:294
msgid "Quantity must be greater than zero"
msgstr "수량 값은 0보다 커야 합니다"
@@ -1102,9 +1107,9 @@ msgstr ""
msgid "Integer quantity required, as the bill of materials contains trackable parts"
msgstr ""
-#: build/serializers.py:231 order/serializers.py:472 order/serializers.py:1217
-#: stock/serializers.py:309 templates/js/translated/order.js:1507
-#: templates/js/translated/stock.js:271 templates/js/translated/stock.js:459
+#: build/serializers.py:231 order/serializers.py:463 order/serializers.py:1210
+#: stock/serializers.py:303 templates/js/translated/order.js:1541
+#: templates/js/translated/stock.js:290 templates/js/translated/stock.js:478
msgid "Serial Numbers"
msgstr "일련번호"
@@ -1120,7 +1125,7 @@ msgstr ""
msgid "Automatically allocate required items with matching serial numbers"
msgstr ""
-#: build/serializers.py:281 stock/api.py:589
+#: build/serializers.py:281 stock/api.py:599
msgid "The following serial numbers already exist or are invalid"
msgstr ""
@@ -1128,18 +1133,18 @@ msgstr ""
msgid "A list of build outputs must be provided"
msgstr ""
-#: build/serializers.py:369 order/serializers.py:445 order/serializers.py:556
-#: stock/serializers.py:320 stock/serializers.py:455 stock/serializers.py:536
-#: stock/serializers.py:919 stock/serializers.py:1152
+#: build/serializers.py:369 order/serializers.py:436 order/serializers.py:547
+#: stock/serializers.py:314 stock/serializers.py:449 stock/serializers.py:530
+#: stock/serializers.py:918 stock/serializers.py:1151
#: stock/templates/stock/item_base.html:388
#: templates/js/translated/barcode.js:480
#: templates/js/translated/barcode.js:724 templates/js/translated/build.js:802
-#: templates/js/translated/build.js:1749 templates/js/translated/order.js:1534
-#: templates/js/translated/order.js:3495 templates/js/translated/order.js:3600
-#: templates/js/translated/order.js:3608 templates/js/translated/order.js:3689
-#: templates/js/translated/part.js:181 templates/js/translated/stock.js:588
-#: templates/js/translated/stock.js:753 templates/js/translated/stock.js:960
-#: templates/js/translated/stock.js:1856 templates/js/translated/stock.js:2528
+#: templates/js/translated/build.js:1749 templates/js/translated/order.js:1568
+#: templates/js/translated/order.js:3506 templates/js/translated/order.js:3611
+#: templates/js/translated/order.js:3619 templates/js/translated/order.js:3700
+#: templates/js/translated/part.js:177 templates/js/translated/stock.js:607
+#: templates/js/translated/stock.js:772 templates/js/translated/stock.js:979
+#: templates/js/translated/stock.js:1875 templates/js/translated/stock.js:2546
msgid "Location"
msgstr "위치"
@@ -1148,12 +1153,13 @@ msgid "Location for completed build outputs"
msgstr ""
#: build/serializers.py:376 build/templates/build/build_base.html:145
-#: build/templates/build/detail.html:62 order/models.py:651
-#: order/serializers.py:482 stock/templates/stock/item_base.html:421
+#: build/templates/build/detail.html:62 order/models.py:670
+#: order/serializers.py:473 stock/admin.py:89
+#: stock/templates/stock/item_base.html:421
#: templates/js/translated/barcode.js:214 templates/js/translated/build.js:2614
-#: templates/js/translated/order.js:1643 templates/js/translated/order.js:1992
-#: templates/js/translated/order.js:2831 templates/js/translated/stock.js:1831
-#: templates/js/translated/stock.js:2605 templates/js/translated/stock.js:2737
+#: templates/js/translated/order.js:1677 templates/js/translated/order.js:2026
+#: templates/js/translated/order.js:2842 templates/js/translated/stock.js:1850
+#: templates/js/translated/stock.js:2623 templates/js/translated/stock.js:2755
msgid "Status"
msgstr "상태"
@@ -1213,7 +1219,7 @@ msgstr ""
msgid "Required stock has not been fully allocated"
msgstr ""
-#: build/serializers.py:545 order/serializers.py:208 order/serializers.py:1107
+#: build/serializers.py:545 order/serializers.py:202 order/serializers.py:1100
msgid "Accept Incomplete"
msgstr ""
@@ -1229,8 +1235,8 @@ msgstr ""
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:595 build/serializers.py:640 part/models.py:2801
-#: part/models.py:2935
+#: build/serializers.py:595 build/serializers.py:640 part/models.py:3414
+#: part/models.py:3570
msgid "BOM Item"
msgstr ""
@@ -1246,11 +1252,11 @@ msgstr ""
msgid "bom_item.part must point to the same part as the build order"
msgstr ""
-#: build/serializers.py:669 stock/serializers.py:771
+#: build/serializers.py:669 stock/serializers.py:770
msgid "Item must be in stock"
msgstr ""
-#: build/serializers.py:727 order/serializers.py:1097
+#: build/serializers.py:727 order/serializers.py:1090
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr ""
@@ -1267,7 +1273,7 @@ msgstr ""
msgid "This stock item has already been allocated to this build output"
msgstr ""
-#: build/serializers.py:768 order/serializers.py:1381
+#: build/serializers.py:768 order/serializers.py:1374
msgid "Allocation items must be provided"
msgstr ""
@@ -1382,13 +1388,13 @@ msgid "Stock has not been fully allocated to this Build Order"
msgstr ""
#: build/templates/build/build_base.html:154
-#: build/templates/build/detail.html:131 order/models.py:924
+#: build/templates/build/detail.html:131 order/models.py:947
#: order/templates/order/order_base.html:171
#: order/templates/order/sales_order_base.html:164
#: report/templates/report/inventree_build_order_base.html:125
-#: templates/js/translated/build.js:2654 templates/js/translated/order.js:2009
-#: templates/js/translated/order.js:2351 templates/js/translated/order.js:2847
-#: templates/js/translated/order.js:3887 templates/js/translated/part.js:1051
+#: templates/js/translated/build.js:2654 templates/js/translated/order.js:2043
+#: templates/js/translated/order.js:2374 templates/js/translated/order.js:2858
+#: templates/js/translated/order.js:3884 templates/js/translated/part.js:1078
msgid "Target Date"
msgstr ""
@@ -1401,29 +1407,29 @@ msgstr ""
#: build/templates/build/build_base.html:204
#: order/templates/order/order_base.html:107
#: order/templates/order/sales_order_base.html:94
-#: templates/js/translated/table_filters.js:328
-#: templates/js/translated/table_filters.js:369
-#: templates/js/translated/table_filters.js:399
+#: templates/js/translated/table_filters.js:332
+#: templates/js/translated/table_filters.js:373
+#: templates/js/translated/table_filters.js:403
msgid "Overdue"
msgstr ""
#: build/templates/build/build_base.html:166
#: build/templates/build/detail.html:67 build/templates/build/detail.html:142
#: order/templates/order/sales_order_base.html:171
-#: templates/js/translated/table_filters.js:408
+#: templates/js/translated/table_filters.js:412
msgid "Completed"
msgstr ""
#: build/templates/build/build_base.html:179
-#: build/templates/build/detail.html:94 order/models.py:1119
-#: order/models.py:1213 order/models.py:1344
+#: build/templates/build/detail.html:94 order/models.py:1142
+#: order/models.py:1236 order/models.py:1367
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
#: report/templates/report/inventree_build_order_base.html:135
#: report/templates/report/inventree_so_report.html:77
#: stock/templates/stock/item_base.html:368
#: templates/email/overdue_sales_order.html:15
-#: templates/js/translated/order.js:2793
+#: templates/js/translated/order.js:2804 templates/js/translated/pricing.js:637
msgid "Sales Order"
msgstr ""
@@ -1449,8 +1455,8 @@ msgstr ""
msgid "Stock can be taken from any available location."
msgstr ""
-#: build/templates/build/detail.html:49 order/models.py:1037
-#: templates/js/translated/order.js:1644 templates/js/translated/order.js:2393
+#: build/templates/build/detail.html:49 order/models.py:1060
+#: templates/js/translated/order.js:1678 templates/js/translated/order.js:2416
msgid "Destination"
msgstr ""
@@ -1462,14 +1468,14 @@ msgstr ""
msgid "Allocated Parts"
msgstr ""
-#: build/templates/build/detail.html:80
+#: build/templates/build/detail.html:80 stock/admin.py:88
#: stock/templates/stock/item_base.html:168
#: templates/js/translated/build.js:1240
#: templates/js/translated/model_renderers.js:124
-#: templates/js/translated/stock.js:1026 templates/js/translated/stock.js:1845
-#: templates/js/translated/stock.js:2744
-#: templates/js/translated/table_filters.js:167
-#: templates/js/translated/table_filters.js:258
+#: templates/js/translated/stock.js:1045 templates/js/translated/stock.js:1864
+#: templates/js/translated/stock.js:2762
+#: templates/js/translated/table_filters.js:171
+#: templates/js/translated/table_filters.js:262
msgid "Batch"
msgstr ""
@@ -1527,7 +1533,7 @@ msgstr ""
#: build/templates/build/detail.html:187
#: company/templates/company/detail.html:37
#: company/templates/company/detail.html:85
-#: part/templates/part/category.html:178 templates/js/translated/order.js:1177
+#: part/templates/part/category.html:178 templates/js/translated/order.js:1211
msgid "Order Parts"
msgstr ""
@@ -1597,10 +1603,10 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:151
#: company/templates/company/manufacturer_part_sidebar.html:9
#: order/templates/order/po_sidebar.html:9
-#: order/templates/order/purchase_order_detail.html:82
-#: order/templates/order/sales_order_detail.html:135
-#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:212
-#: part/templates/part/part_sidebar.html:57 stock/templates/stock/item.html:117
+#: order/templates/order/purchase_order_detail.html:86
+#: order/templates/order/sales_order_detail.html:140
+#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:210
+#: part/templates/part/part_sidebar.html:55 stock/templates/stock/item.html:117
#: stock/templates/stock/stock_sidebar.html:23
msgid "Attachments"
msgstr ""
@@ -1617,7 +1623,7 @@ msgstr ""
msgid "All untracked stock items have been allocated"
msgstr ""
-#: build/templates/build/index.html:18 part/templates/part/detail.html:318
+#: build/templates/build/index.html:18 part/templates/part/detail.html:316
msgid "New Build Order"
msgstr ""
@@ -1734,7 +1740,7 @@ msgstr ""
msgid "Show the `about` modal only to superusers"
msgstr ""
-#: common/models.py:833 company/models.py:94 company/models.py:95
+#: common/models.py:833 company/models.py:98 company/models.py:99
msgid "Company name"
msgstr "회사명"
@@ -1902,9 +1908,9 @@ msgstr ""
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:1002 part/models.py:2474 report/models.py:158
-#: templates/js/translated/table_filters.js:38
-#: templates/js/translated/table_filters.js:492
+#: common/models.py:1002 part/admin.py:41 part/models.py:3087
+#: report/models.py:158 templates/js/translated/table_filters.js:38
+#: templates/js/translated/table_filters.js:496
msgid "Template"
msgstr ""
@@ -1912,9 +1918,10 @@ msgstr ""
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:1009 part/models.py:908 templates/js/translated/bom.js:1531
-#: templates/js/translated/table_filters.js:184
-#: templates/js/translated/table_filters.js:455
+#: common/models.py:1009 part/admin.py:37 part/admin.py:229 part/models.py:927
+#: templates/js/translated/bom.js:1594
+#: templates/js/translated/table_filters.js:188
+#: templates/js/translated/table_filters.js:459
msgid "Assembly"
msgstr ""
@@ -1922,8 +1929,8 @@ msgstr ""
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:1016 part/models.py:914
-#: templates/js/translated/table_filters.js:463
+#: common/models.py:1016 part/admin.py:38 part/models.py:933
+#: templates/js/translated/table_filters.js:467
msgid "Component"
msgstr ""
@@ -1931,7 +1938,7 @@ msgstr ""
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:1023 part/models.py:925
+#: common/models.py:1023 part/admin.py:39 part/models.py:944
msgid "Purchaseable"
msgstr "구입 가능"
@@ -1939,8 +1946,8 @@ msgstr "구입 가능"
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:1030 part/models.py:930
-#: templates/js/translated/table_filters.js:484
+#: common/models.py:1030 part/admin.py:40 part/models.py:949
+#: templates/js/translated/table_filters.js:488
msgid "Salable"
msgstr "판매 가능"
@@ -1948,10 +1955,10 @@ msgstr "판매 가능"
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:1037 part/models.py:920
+#: common/models.py:1037 part/admin.py:42 part/models.py:939
#: templates/js/translated/table_filters.js:46
-#: templates/js/translated/table_filters.js:116
-#: templates/js/translated/table_filters.js:496
+#: templates/js/translated/table_filters.js:120
+#: templates/js/translated/table_filters.js:500
msgid "Trackable"
msgstr ""
@@ -1959,10 +1966,10 @@ msgstr ""
msgid "Parts are trackable by default"
msgstr ""
-#: common/models.py:1044 part/models.py:940
+#: common/models.py:1044 part/admin.py:43 part/models.py:959
#: part/templates/part/part_base.html:156
#: templates/js/translated/table_filters.js:42
-#: templates/js/translated/table_filters.js:500
+#: templates/js/translated/table_filters.js:504
msgid "Virtual"
msgstr ""
@@ -1979,791 +1986,837 @@ msgid "Display the import wizard in some part views"
msgstr ""
#: common/models.py:1058
-msgid "Show Price in Forms"
-msgstr ""
-
-#: common/models.py:1059
-msgid "Display part price in some forms"
-msgstr ""
-
-#: common/models.py:1070
-msgid "Show Price in BOM"
-msgstr ""
-
-#: common/models.py:1071
-msgid "Include pricing information in BOM tables"
-msgstr ""
-
-#: common/models.py:1082
-msgid "Show Price History"
-msgstr ""
-
-#: common/models.py:1083
-msgid "Display historical pricing for Part"
-msgstr ""
-
-#: common/models.py:1089
msgid "Show related parts"
msgstr ""
-#: common/models.py:1090
+#: common/models.py:1059
msgid "Display related parts for a part"
msgstr ""
-#: common/models.py:1096
+#: common/models.py:1065
msgid "Create initial stock"
msgstr ""
-#: common/models.py:1097
+#: common/models.py:1066
msgid "Create initial stock on part creation"
msgstr ""
-#: common/models.py:1103
-msgid "Internal Prices"
-msgstr ""
-
-#: common/models.py:1104
-msgid "Enable internal prices for parts"
-msgstr ""
-
-#: common/models.py:1110
-msgid "Internal Price as BOM-Price"
-msgstr ""
-
-#: common/models.py:1111
-msgid "Use the internal price (if set) in BOM-price calculations"
-msgstr ""
-
-#: common/models.py:1117
+#: common/models.py:1072
msgid "Part Name Display Format"
msgstr ""
-#: common/models.py:1118
+#: common/models.py:1073
msgid "Format to display the part name"
msgstr ""
-#: common/models.py:1125
+#: common/models.py:1080
msgid "Part Category Default Icon"
msgstr ""
-#: common/models.py:1126
+#: common/models.py:1081
msgid "Part category default icon (empty means no icon)"
msgstr ""
-#: common/models.py:1131
-msgid "Enable label printing"
+#: common/models.py:1086
+msgid "Pricing Decimal Places"
msgstr ""
-#: common/models.py:1132
-msgid "Enable label printing from the web interface"
+#: common/models.py:1087
+msgid "Number of decimal places to display when rendering pricing data"
msgstr ""
-#: common/models.py:1138
-msgid "Label Image DPI"
+#: common/models.py:1097
+msgid "Pricing Rebuild Time"
msgstr ""
-#: common/models.py:1139
-msgid "DPI resolution when generating image files to supply to label printing plugins"
+#: common/models.py:1098
+msgid "Number of days before part pricing is automatically updated"
msgstr ""
-#: common/models.py:1148
-msgid "Enable Reports"
-msgstr ""
-
-#: common/models.py:1149
-msgid "Enable generation of reports"
-msgstr ""
-
-#: common/models.py:1155 templates/stats.html:25
-msgid "Debug Mode"
-msgstr "디버그 모드"
-
-#: common/models.py:1156
-msgid "Generate reports in debug mode (HTML output)"
-msgstr ""
-
-#: common/models.py:1162
-msgid "Page Size"
-msgstr "페이지 크기"
-
-#: common/models.py:1163
-msgid "Default page size for PDF reports"
-msgstr "PDF 보고서 기본 페이지 크기"
-
-#: common/models.py:1173
-msgid "Enable Test Reports"
-msgstr ""
-
-#: common/models.py:1174
-msgid "Enable generation of test reports"
-msgstr ""
-
-#: common/models.py:1180
-msgid "Attach Test Reports"
-msgstr ""
-
-#: common/models.py:1181
-msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item"
-msgstr ""
-
-#: common/models.py:1187
-msgid "Globally Unique Serials"
-msgstr ""
-
-#: common/models.py:1188
-msgid "Serial numbers for stock items must be globally unique"
-msgstr ""
-
-#: common/models.py:1194
-msgid "Batch Code Template"
-msgstr ""
-
-#: common/models.py:1195
-msgid "Template for generating default batch codes for stock items"
-msgstr ""
-
-#: common/models.py:1200
-msgid "Stock Expiry"
-msgstr ""
-
-#: common/models.py:1201
-msgid "Enable stock expiry functionality"
-msgstr ""
-
-#: common/models.py:1207
-msgid "Sell Expired Stock"
-msgstr ""
-
-#: common/models.py:1208
-msgid "Allow sale of expired stock"
-msgstr ""
-
-#: common/models.py:1214
-msgid "Stock Stale Time"
-msgstr ""
-
-#: common/models.py:1215
-msgid "Number of days stock items are considered stale before expiring"
-msgstr ""
-
-#: common/models.py:1217
+#: common/models.py:1099 common/models.py:1208
msgid "days"
msgstr ""
-#: common/models.py:1222
+#: common/models.py:1108
+msgid "Internal Prices"
+msgstr ""
+
+#: common/models.py:1109
+msgid "Enable internal prices for parts"
+msgstr ""
+
+#: common/models.py:1115
+msgid "Internal Price Override"
+msgstr ""
+
+#: common/models.py:1116
+msgid "If available, internal prices override price range calculations"
+msgstr ""
+
+#: common/models.py:1122
+msgid "Enable label printing"
+msgstr ""
+
+#: common/models.py:1123
+msgid "Enable label printing from the web interface"
+msgstr ""
+
+#: common/models.py:1129
+msgid "Label Image DPI"
+msgstr ""
+
+#: common/models.py:1130
+msgid "DPI resolution when generating image files to supply to label printing plugins"
+msgstr ""
+
+#: common/models.py:1139
+msgid "Enable Reports"
+msgstr ""
+
+#: common/models.py:1140
+msgid "Enable generation of reports"
+msgstr ""
+
+#: common/models.py:1146 templates/stats.html:25
+msgid "Debug Mode"
+msgstr "디버그 모드"
+
+#: common/models.py:1147
+msgid "Generate reports in debug mode (HTML output)"
+msgstr ""
+
+#: common/models.py:1153
+msgid "Page Size"
+msgstr "페이지 크기"
+
+#: common/models.py:1154
+msgid "Default page size for PDF reports"
+msgstr "PDF 보고서 기본 페이지 크기"
+
+#: common/models.py:1164
+msgid "Enable Test Reports"
+msgstr ""
+
+#: common/models.py:1165
+msgid "Enable generation of test reports"
+msgstr ""
+
+#: common/models.py:1171
+msgid "Attach Test Reports"
+msgstr ""
+
+#: common/models.py:1172
+msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item"
+msgstr ""
+
+#: common/models.py:1178
+msgid "Globally Unique Serials"
+msgstr ""
+
+#: common/models.py:1179
+msgid "Serial numbers for stock items must be globally unique"
+msgstr ""
+
+#: common/models.py:1185
+msgid "Batch Code Template"
+msgstr ""
+
+#: common/models.py:1186
+msgid "Template for generating default batch codes for stock items"
+msgstr ""
+
+#: common/models.py:1191
+msgid "Stock Expiry"
+msgstr ""
+
+#: common/models.py:1192
+msgid "Enable stock expiry functionality"
+msgstr ""
+
+#: common/models.py:1198
+msgid "Sell Expired Stock"
+msgstr ""
+
+#: common/models.py:1199
+msgid "Allow sale of expired stock"
+msgstr ""
+
+#: common/models.py:1205
+msgid "Stock Stale Time"
+msgstr ""
+
+#: common/models.py:1206
+msgid "Number of days stock items are considered stale before expiring"
+msgstr ""
+
+#: common/models.py:1213
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:1223
+#: common/models.py:1214
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:1229
+#: common/models.py:1220
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:1230
+#: common/models.py:1221
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:1236
+#: common/models.py:1227
msgid "Stock Location Default Icon"
msgstr ""
-#: common/models.py:1237
+#: common/models.py:1228
msgid "Stock location default icon (empty means no icon)"
msgstr ""
-#: common/models.py:1242
+#: common/models.py:1233
msgid "Build Order Reference Pattern"
msgstr ""
-#: common/models.py:1243
+#: common/models.py:1234
msgid "Required pattern for generating Build Order reference field"
msgstr ""
-#: common/models.py:1249
+#: common/models.py:1240
msgid "Sales Order Reference Pattern"
msgstr ""
-#: common/models.py:1250
+#: common/models.py:1241
msgid "Required pattern for generating Sales Order reference field"
msgstr ""
-#: common/models.py:1256
+#: common/models.py:1247
msgid "Sales Order Default Shipment"
msgstr ""
-#: common/models.py:1257
+#: common/models.py:1248
msgid "Enable creation of default shipment with sales orders"
msgstr ""
-#: common/models.py:1263
+#: common/models.py:1254
+msgid "Edit Completed Sales Orders"
+msgstr ""
+
+#: common/models.py:1255
+msgid "Allow editing of sales orders after they have been shipped or completed"
+msgstr ""
+
+#: common/models.py:1261
msgid "Purchase Order Reference Pattern"
msgstr ""
-#: common/models.py:1264
+#: common/models.py:1262
msgid "Required pattern for generating Purchase Order reference field"
msgstr ""
-#: common/models.py:1271
+#: common/models.py:1268
+msgid "Edit Completed Purchase Orders"
+msgstr ""
+
+#: common/models.py:1269
+msgid "Allow editing of purchase orders after they have been shipped or completed"
+msgstr ""
+
+#: common/models.py:1276
msgid "Enable password forgot"
msgstr ""
-#: common/models.py:1272
+#: common/models.py:1277
msgid "Enable password forgot function on the login pages"
msgstr ""
-#: common/models.py:1278
+#: common/models.py:1283
msgid "Enable registration"
msgstr ""
-#: common/models.py:1279
+#: common/models.py:1284
msgid "Enable self-registration for users on the login pages"
msgstr ""
-#: common/models.py:1285
+#: common/models.py:1290
msgid "Enable SSO"
msgstr "SSO 활성화"
-#: common/models.py:1286
+#: common/models.py:1291
msgid "Enable SSO on the login pages"
msgstr "로그인 페이지에서 SSO 활성화"
-#: common/models.py:1292
+#: common/models.py:1297
msgid "Email required"
msgstr "이메일 필요"
-#: common/models.py:1293
+#: common/models.py:1298
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/models.py:1299
+#: common/models.py:1304
msgid "Auto-fill SSO users"
msgstr ""
-#: common/models.py:1300
+#: common/models.py:1305
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/models.py:1306
+#: common/models.py:1311
msgid "Mail twice"
msgstr "두 번 보내기"
-#: common/models.py:1307
+#: common/models.py:1312
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/models.py:1313
+#: common/models.py:1318
msgid "Password twice"
msgstr ""
-#: common/models.py:1314
+#: common/models.py:1319
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/models.py:1320
+#: common/models.py:1325
msgid "Group on signup"
msgstr ""
-#: common/models.py:1321
+#: common/models.py:1326
msgid "Group to which new users are assigned on registration"
msgstr ""
-#: common/models.py:1327
+#: common/models.py:1332
msgid "Enforce MFA"
msgstr ""
-#: common/models.py:1328
+#: common/models.py:1333
msgid "Users must use multifactor security."
msgstr ""
-#: common/models.py:1334
+#: common/models.py:1339
msgid "Check plugins on startup"
msgstr ""
-#: common/models.py:1335
+#: common/models.py:1340
msgid "Check that all plugins are installed on startup - enable in container environments"
msgstr ""
-#: common/models.py:1342
+#: common/models.py:1347
msgid "Check plugin signatures"
msgstr ""
-#: common/models.py:1343
+#: common/models.py:1348
msgid "Check and show signatures for plugins"
msgstr ""
-#: common/models.py:1350
+#: common/models.py:1355
msgid "Enable URL integration"
msgstr ""
-#: common/models.py:1351
+#: common/models.py:1356
msgid "Enable plugins to add URL routes"
msgstr ""
-#: common/models.py:1358
+#: common/models.py:1363
msgid "Enable navigation integration"
msgstr ""
-#: common/models.py:1359
+#: common/models.py:1364
msgid "Enable plugins to integrate into navigation"
msgstr ""
-#: common/models.py:1366
+#: common/models.py:1371
msgid "Enable app integration"
msgstr ""
-#: common/models.py:1367
+#: common/models.py:1372
msgid "Enable plugins to add apps"
msgstr ""
-#: common/models.py:1374
+#: common/models.py:1379
msgid "Enable schedule integration"
msgstr ""
-#: common/models.py:1375
+#: common/models.py:1380
msgid "Enable plugins to run scheduled tasks"
msgstr ""
-#: common/models.py:1382
+#: common/models.py:1387
msgid "Enable event integration"
msgstr ""
-#: common/models.py:1383
+#: common/models.py:1388
msgid "Enable plugins to respond to internal events"
msgstr ""
-#: common/models.py:1402 common/models.py:1737
+#: common/models.py:1407 common/models.py:1749
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:1424
+#: common/models.py:1429
msgid "Show subscribed parts"
msgstr ""
-#: common/models.py:1425
+#: common/models.py:1430
msgid "Show subscribed parts on the homepage"
msgstr ""
-#: common/models.py:1431
+#: common/models.py:1436
msgid "Show subscribed categories"
msgstr ""
-#: common/models.py:1432
+#: common/models.py:1437
msgid "Show subscribed part categories on the homepage"
msgstr ""
-#: common/models.py:1438
+#: common/models.py:1443
msgid "Show latest parts"
msgstr ""
-#: common/models.py:1439
+#: common/models.py:1444
msgid "Show latest parts on the homepage"
msgstr ""
-#: common/models.py:1445
+#: common/models.py:1450
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:1446
+#: common/models.py:1451
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:1452
+#: common/models.py:1457
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:1453
+#: common/models.py:1458
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:1459
+#: common/models.py:1464
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:1460
+#: common/models.py:1465
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:1466
+#: common/models.py:1471
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:1467
+#: common/models.py:1472
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:1473
+#: common/models.py:1478
msgid "Show low stock"
msgstr ""
-#: common/models.py:1474
+#: common/models.py:1479
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:1480
+#: common/models.py:1485
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:1481
+#: common/models.py:1486
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:1487
+#: common/models.py:1492
msgid "Show needed stock"
msgstr ""
-#: common/models.py:1488
+#: common/models.py:1493
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:1494
+#: common/models.py:1499
msgid "Show expired stock"
msgstr ""
-#: common/models.py:1495
+#: common/models.py:1500
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:1501
+#: common/models.py:1506
msgid "Show stale stock"
msgstr ""
-#: common/models.py:1502
+#: common/models.py:1507
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:1508
+#: common/models.py:1513
msgid "Show pending builds"
msgstr ""
-#: common/models.py:1509
+#: common/models.py:1514
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:1515
+#: common/models.py:1520
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:1516
+#: common/models.py:1521
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:1522
+#: common/models.py:1527
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:1523
+#: common/models.py:1528
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:1529
+#: common/models.py:1534
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:1530
+#: common/models.py:1535
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:1536
+#: common/models.py:1541
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:1537
+#: common/models.py:1542
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:1543
+#: common/models.py:1548
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:1544
+#: common/models.py:1549
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:1550
+#: common/models.py:1555
+msgid "Show News"
+msgstr ""
+
+#: common/models.py:1556
+msgid "Show news on the homepage"
+msgstr ""
+
+#: common/models.py:1562
msgid "Inline label display"
msgstr ""
-#: common/models.py:1551
+#: common/models.py:1563
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1557
+#: common/models.py:1569
msgid "Inline report display"
msgstr ""
-#: common/models.py:1558
+#: common/models.py:1570
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1564
+#: common/models.py:1576
msgid "Search Parts"
msgstr ""
-#: common/models.py:1565
+#: common/models.py:1577
msgid "Display parts in search preview window"
msgstr ""
-#: common/models.py:1571
+#: common/models.py:1583
msgid "Seach Supplier Parts"
msgstr ""
-#: common/models.py:1572
+#: common/models.py:1584
msgid "Display supplier parts in search preview window"
msgstr ""
-#: common/models.py:1578
+#: common/models.py:1590
msgid "Search Manufacturer Parts"
msgstr ""
-#: common/models.py:1579
+#: common/models.py:1591
msgid "Display manufacturer parts in search preview window"
msgstr ""
-#: common/models.py:1585
+#: common/models.py:1597
msgid "Hide Inactive Parts"
msgstr ""
-#: common/models.py:1586
+#: common/models.py:1598
msgid "Excluded inactive parts from search preview window"
msgstr ""
-#: common/models.py:1592
+#: common/models.py:1604
msgid "Search Categories"
msgstr ""
-#: common/models.py:1593
+#: common/models.py:1605
msgid "Display part categories in search preview window"
msgstr ""
-#: common/models.py:1599
+#: common/models.py:1611
msgid "Search Stock"
msgstr ""
-#: common/models.py:1600
+#: common/models.py:1612
msgid "Display stock items in search preview window"
msgstr ""
-#: common/models.py:1606
+#: common/models.py:1618
msgid "Hide Unavailable Stock Items"
msgstr ""
-#: common/models.py:1607
+#: common/models.py:1619
msgid "Exclude stock items which are not available from the search preview window"
msgstr ""
-#: common/models.py:1613
+#: common/models.py:1625
msgid "Search Locations"
msgstr ""
-#: common/models.py:1614
+#: common/models.py:1626
msgid "Display stock locations in search preview window"
msgstr ""
-#: common/models.py:1620
+#: common/models.py:1632
msgid "Search Companies"
msgstr ""
-#: common/models.py:1621
+#: common/models.py:1633
msgid "Display companies in search preview window"
msgstr ""
-#: common/models.py:1627
+#: common/models.py:1639
msgid "Search Build Orders"
msgstr ""
-#: common/models.py:1628
+#: common/models.py:1640
msgid "Display build orders in search preview window"
msgstr ""
-#: common/models.py:1634
+#: common/models.py:1646
msgid "Search Purchase Orders"
msgstr ""
-#: common/models.py:1635
+#: common/models.py:1647
msgid "Display purchase orders in search preview window"
msgstr ""
-#: common/models.py:1641
+#: common/models.py:1653
msgid "Exclude Inactive Purchase Orders"
msgstr ""
-#: common/models.py:1642
+#: common/models.py:1654
msgid "Exclude inactive purchase orders from search preview window"
msgstr ""
-#: common/models.py:1648
+#: common/models.py:1660
msgid "Search Sales Orders"
msgstr ""
-#: common/models.py:1649
+#: common/models.py:1661
msgid "Display sales orders in search preview window"
msgstr ""
-#: common/models.py:1655
+#: common/models.py:1667
msgid "Exclude Inactive Sales Orders"
msgstr ""
-#: common/models.py:1656
+#: common/models.py:1668
msgid "Exclude inactive sales orders from search preview window"
msgstr ""
-#: common/models.py:1662
+#: common/models.py:1674
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:1663
+#: common/models.py:1675
msgid "Number of results to show in each section of the search preview window"
msgstr ""
-#: common/models.py:1669
+#: common/models.py:1681
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:1670
+#: common/models.py:1682
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:1676
+#: common/models.py:1688
msgid "Escape Key Closes Forms"
msgstr ""
-#: common/models.py:1677
+#: common/models.py:1689
msgid "Use the escape key to close modal forms"
msgstr ""
-#: common/models.py:1683
+#: common/models.py:1695
msgid "Fixed Navbar"
msgstr ""
-#: common/models.py:1684
+#: common/models.py:1696
msgid "The navbar position is fixed to the top of the screen"
msgstr ""
-#: common/models.py:1690
+#: common/models.py:1702
msgid "Date Format"
msgstr ""
-#: common/models.py:1691
+#: common/models.py:1703
msgid "Preferred format for displaying dates"
msgstr ""
-#: common/models.py:1705 part/templates/part/detail.html:41
+#: common/models.py:1717 part/templates/part/detail.html:41
msgid "Part Scheduling"
msgstr ""
-#: common/models.py:1706
+#: common/models.py:1718
msgid "Display part scheduling information"
msgstr ""
-#: common/models.py:1712
+#: common/models.py:1724
msgid "Table String Length"
msgstr ""
-#: common/models.py:1713
+#: common/models.py:1725
msgid "Maximimum length limit for strings displayed in table views"
msgstr ""
-#: common/models.py:1777
+#: common/models.py:1789
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1784 company/serializers.py:372
-#: company/templates/company/supplier_part.html:346 order/models.py:952
-#: templates/js/translated/part.js:1103 templates/js/translated/part.js:2225
+#: common/models.py:1796 company/serializers.py:393 order/models.py:975
+#: templates/js/translated/company.js:1164 templates/js/translated/part.js:1130
+#: templates/js/translated/pricing.js:354
msgid "Price"
msgstr ""
-#: common/models.py:1785
+#: common/models.py:1797
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1945 common/models.py:2123
+#: common/models.py:1957 common/models.py:2135
msgid "Endpoint"
msgstr ""
-#: common/models.py:1946
+#: common/models.py:1958
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:1955
+#: common/models.py:1967
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:1960 part/models.py:935 plugin/models.py:100
-#: templates/js/translated/table_filters.js:34
-#: templates/js/translated/table_filters.js:112
-#: templates/js/translated/table_filters.js:324
-#: templates/js/translated/table_filters.js:450
+#: common/models.py:1972 part/admin.py:36 part/models.py:954
+#: plugin/models.py:100 templates/js/translated/table_filters.js:34
+#: templates/js/translated/table_filters.js:116
+#: templates/js/translated/table_filters.js:328
+#: templates/js/translated/table_filters.js:454
msgid "Active"
msgstr ""
-#: common/models.py:1961
+#: common/models.py:1973
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:1975
+#: common/models.py:1987
msgid "Token"
msgstr ""
-#: common/models.py:1976
+#: common/models.py:1988
msgid "Token for access"
msgstr ""
-#: common/models.py:1983
+#: common/models.py:1995
msgid "Secret"
msgstr ""
-#: common/models.py:1984
+#: common/models.py:1996
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:2090
+#: common/models.py:2102
msgid "Message ID"
msgstr ""
-#: common/models.py:2091
+#: common/models.py:2103
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:2099
+#: common/models.py:2111
msgid "Host"
msgstr ""
-#: common/models.py:2100
+#: common/models.py:2112
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:2107
+#: common/models.py:2119
msgid "Header"
msgstr ""
-#: common/models.py:2108
+#: common/models.py:2120
msgid "Header of this message"
msgstr ""
-#: common/models.py:2114
+#: common/models.py:2126
msgid "Body"
msgstr ""
-#: common/models.py:2115
+#: common/models.py:2127
msgid "Body of this message"
msgstr ""
-#: common/models.py:2124
+#: common/models.py:2136
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:2129
+#: common/models.py:2141
msgid "Worked on"
msgstr ""
-#: common/models.py:2130
+#: common/models.py:2142
msgid "Was the work on this message finished?"
msgstr ""
+#: common/models.py:2302
+msgid "Id"
+msgstr ""
+
+#: common/models.py:2308 templates/js/translated/news.js:34
+msgid "Title"
+msgstr ""
+
+#: common/models.py:2318 templates/js/translated/news.js:50
+msgid "Published"
+msgstr ""
+
+#: common/models.py:2323 templates/InvenTree/settings/plugin.html:62
+#: templates/InvenTree/settings/plugin_settings.html:33
+#: templates/js/translated/news.js:46
+msgid "Author"
+msgstr "작성자"
+
+#: common/models.py:2328 templates/js/translated/news.js:42
+msgid "Summary"
+msgstr ""
+
+#: common/models.py:2333
+msgid "Read"
+msgstr ""
+
+#: common/models.py:2334
+msgid "Was this news item read?"
+msgstr ""
+
#: common/notifications.py:293
#, python-brace-format
msgid "New {verbose_name}"
@@ -2785,15 +2838,15 @@ msgstr ""
msgid "Error raised by plugin"
msgstr ""
-#: common/views.py:85 order/templates/order/purchase_order_detail.html:23
-#: order/views.py:102 part/views.py:112
+#: common/views.py:85 order/templates/order/purchase_order_detail.html:25
+#: order/views.py:102 part/views.py:107
#: templates/patterns/wizard/upload.html:37
msgid "Upload File"
msgstr "파일 업로드"
#: common/views.py:86 order/views.py:103
#: part/templates/part/import_wizard/ajax_match_fields.html:45
-#: part/views.py:113 templates/patterns/wizard/match_fields.html:51
+#: part/views.py:108 templates/patterns/wizard/match_fields.html:51
msgid "Match Fields"
msgstr ""
@@ -2816,298 +2869,301 @@ msgstr ""
msgid "Previous Step"
msgstr ""
-#: company/models.py:99
+#: company/models.py:103
msgid "Company description"
msgstr "회사 소개"
-#: company/models.py:100
+#: company/models.py:104
msgid "Description of the company"
msgstr ""
-#: company/models.py:106 company/templates/company/company_base.html:100
+#: company/models.py:110 company/templates/company/company_base.html:100
#: templates/InvenTree/settings/plugin_settings.html:55
-#: templates/js/translated/company.js:448
+#: templates/js/translated/company.js:449
msgid "Website"
msgstr "웹사이트"
-#: company/models.py:107
+#: company/models.py:111
msgid "Company website URL"
msgstr "회사 웹사이트 URL"
-#: company/models.py:111 company/templates/company/company_base.html:118
+#: company/models.py:115 company/templates/company/company_base.html:118
msgid "Address"
msgstr "주소"
-#: company/models.py:112
+#: company/models.py:116
msgid "Company address"
msgstr "회사 주소"
-#: company/models.py:115
+#: company/models.py:119
msgid "Phone number"
msgstr "전화번호"
-#: company/models.py:116
+#: company/models.py:120
msgid "Contact phone number"
msgstr ""
-#: company/models.py:119 company/templates/company/company_base.html:132
+#: company/models.py:123 company/templates/company/company_base.html:132
#: templates/InvenTree/settings/user.html:48
msgid "Email"
msgstr "이메일"
-#: company/models.py:119
+#: company/models.py:123
msgid "Contact email address"
msgstr ""
-#: company/models.py:122 company/templates/company/company_base.html:139
+#: company/models.py:126 company/templates/company/company_base.html:139
msgid "Contact"
msgstr ""
-#: company/models.py:123
+#: company/models.py:127
msgid "Point of contact"
msgstr ""
-#: company/models.py:125
+#: company/models.py:129
msgid "Link to external company information"
msgstr ""
-#: company/models.py:136 part/models.py:829
+#: company/models.py:140 part/models.py:848
msgid "Image"
msgstr "이미지"
-#: company/models.py:139 company/templates/company/detail.html:185
+#: company/models.py:143 company/templates/company/detail.html:185
msgid "Company Notes"
msgstr ""
-#: company/models.py:141
+#: company/models.py:145
msgid "is customer"
msgstr ""
-#: company/models.py:141
+#: company/models.py:145
msgid "Do you sell items to this company?"
msgstr ""
-#: company/models.py:143
+#: company/models.py:147
msgid "is supplier"
msgstr ""
-#: company/models.py:143
+#: company/models.py:147
msgid "Do you purchase items from this company?"
msgstr ""
-#: company/models.py:145
+#: company/models.py:149
msgid "is manufacturer"
msgstr ""
-#: company/models.py:145
+#: company/models.py:149
msgid "Does this company manufacture parts?"
msgstr ""
-#: company/models.py:149 company/serializers.py:378
-#: company/templates/company/company_base.html:106 part/serializers.py:153
-#: part/serializers.py:184 stock/serializers.py:178
+#: company/models.py:153 company/serializers.py:399
+#: company/templates/company/company_base.html:106 part/models.py:2681
+#: part/serializers.py:153 part/serializers.py:181 stock/serializers.py:182
+#: templates/InvenTree/settings/pricing.html:59
msgid "Currency"
msgstr ""
-#: company/models.py:152
+#: company/models.py:156
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:249 company/models.py:483 stock/models.py:600
-#: stock/serializers.py:85 stock/templates/stock/item_base.html:143
-#: templates/js/translated/bom.js:568
+#: company/models.py:253 company/models.py:487 stock/models.py:616
+#: stock/serializers.py:89 stock/templates/stock/item_base.html:143
+#: templates/js/translated/bom.js:581
msgid "Base Part"
msgstr ""
-#: company/models.py:253 company/models.py:487
+#: company/models.py:257 company/models.py:491
msgid "Select part"
msgstr ""
-#: company/models.py:264 company/templates/company/company_base.html:76
+#: company/models.py:268 company/templates/company/company_base.html:76
#: company/templates/company/manufacturer_part.html:90
#: company/templates/company/supplier_part.html:152
#: stock/templates/stock/item_base.html:210
-#: templates/js/translated/company.js:432
-#: templates/js/translated/company.js:533
-#: templates/js/translated/company.js:668
-#: templates/js/translated/company.js:956 templates/js/translated/part.js:236
-#: templates/js/translated/table_filters.js:427
+#: templates/js/translated/company.js:433
+#: templates/js/translated/company.js:534
+#: templates/js/translated/company.js:669
+#: templates/js/translated/company.js:957 templates/js/translated/part.js:232
+#: templates/js/translated/table_filters.js:431
msgid "Manufacturer"
msgstr ""
-#: company/models.py:265 templates/js/translated/part.js:237
+#: company/models.py:269 templates/js/translated/part.js:233
msgid "Select manufacturer"
msgstr ""
-#: company/models.py:271 company/templates/company/manufacturer_part.html:101
+#: company/models.py:275 company/templates/company/manufacturer_part.html:101
#: company/templates/company/supplier_part.html:160
-#: templates/js/translated/company.js:304
-#: templates/js/translated/company.js:532
-#: templates/js/translated/company.js:684
-#: templates/js/translated/company.js:975 templates/js/translated/order.js:2239
-#: templates/js/translated/part.js:247 templates/js/translated/part.js:1025
+#: templates/js/translated/company.js:305
+#: templates/js/translated/company.js:533
+#: templates/js/translated/company.js:685
+#: templates/js/translated/company.js:976 templates/js/translated/order.js:2278
+#: templates/js/translated/part.js:243 templates/js/translated/part.js:1052
msgid "MPN"
msgstr ""
-#: company/models.py:272 templates/js/translated/part.js:248
+#: company/models.py:276 templates/js/translated/part.js:244
msgid "Manufacturer Part Number"
msgstr ""
-#: company/models.py:278
+#: company/models.py:282
msgid "URL for external manufacturer part link"
msgstr ""
-#: company/models.py:284
+#: company/models.py:288
msgid "Manufacturer part description"
msgstr ""
-#: company/models.py:329 company/models.py:353 company/models.py:506
+#: company/models.py:333 company/models.py:357 company/models.py:510
#: company/templates/company/manufacturer_part.html:7
#: company/templates/company/manufacturer_part.html:24
#: stock/templates/stock/item_base.html:220
msgid "Manufacturer Part"
msgstr ""
-#: company/models.py:360
+#: company/models.py:364
msgid "Parameter name"
msgstr ""
-#: company/models.py:366
+#: company/models.py:370
#: report/templates/report/inventree_test_report_base.html:95
-#: stock/models.py:2097 templates/js/translated/company.js:581
-#: templates/js/translated/company.js:799 templates/js/translated/part.js:847
-#: templates/js/translated/stock.js:1360
+#: stock/models.py:2113 templates/js/translated/company.js:582
+#: templates/js/translated/company.js:800 templates/js/translated/part.js:874
+#: templates/js/translated/stock.js:1379
msgid "Value"
msgstr ""
-#: company/models.py:367
+#: company/models.py:371
msgid "Parameter value"
msgstr ""
-#: company/models.py:373 part/models.py:902 part/models.py:2434
-#: part/templates/part/part_base.html:286
+#: company/models.py:377 part/admin.py:26 part/models.py:921
+#: part/models.py:3047 part/templates/part/part_base.html:286
#: templates/InvenTree/settings/settings.html:349
-#: templates/js/translated/company.js:805 templates/js/translated/part.js:853
+#: templates/js/translated/company.js:806 templates/js/translated/part.js:880
msgid "Units"
msgstr ""
-#: company/models.py:374
+#: company/models.py:378
msgid "Parameter units"
msgstr ""
-#: company/models.py:451
+#: company/models.py:455
msgid "Linked manufacturer part must reference the same base part"
msgstr ""
-#: company/models.py:493 company/templates/company/company_base.html:81
-#: company/templates/company/supplier_part.html:136 order/models.py:263
-#: order/templates/order/order_base.html:121 part/bom.py:237 part/bom.py:265
+#: company/models.py:497 company/templates/company/company_base.html:81
+#: company/templates/company/supplier_part.html:136 order/models.py:264
+#: order/templates/order/order_base.html:121 part/bom.py:252 part/bom.py:280
#: stock/templates/stock/item_base.html:227
#: templates/email/overdue_purchase_order.html:16
-#: templates/js/translated/company.js:303
-#: templates/js/translated/company.js:436
-#: templates/js/translated/company.js:929 templates/js/translated/order.js:1975
-#: templates/js/translated/part.js:217 templates/js/translated/part.js:993
-#: templates/js/translated/table_filters.js:431
+#: templates/js/translated/company.js:304
+#: templates/js/translated/company.js:437
+#: templates/js/translated/company.js:930 templates/js/translated/order.js:2009
+#: templates/js/translated/part.js:213 templates/js/translated/part.js:1020
+#: templates/js/translated/pricing.js:231
+#: templates/js/translated/table_filters.js:435
msgid "Supplier"
msgstr ""
-#: company/models.py:494 templates/js/translated/part.js:218
+#: company/models.py:498 templates/js/translated/part.js:214
msgid "Select supplier"
msgstr ""
-#: company/models.py:499 company/templates/company/supplier_part.html:146
-#: part/bom.py:238 part/bom.py:266 templates/js/translated/company.js:302
-#: templates/js/translated/order.js:2226 templates/js/translated/part.js:228
-#: templates/js/translated/part.js:1011
+#: company/models.py:503 company/templates/company/supplier_part.html:146
+#: part/bom.py:253 part/bom.py:281 templates/js/translated/company.js:303
+#: templates/js/translated/order.js:2265 templates/js/translated/part.js:224
+#: templates/js/translated/part.js:1038 templates/js/translated/pricing.js:243
msgid "SKU"
msgstr ""
-#: company/models.py:500 templates/js/translated/part.js:229
+#: company/models.py:504 templates/js/translated/part.js:225
msgid "Supplier stock keeping unit"
msgstr ""
-#: company/models.py:507
+#: company/models.py:511
msgid "Select manufacturer part"
msgstr ""
-#: company/models.py:513
+#: company/models.py:517
msgid "URL for external supplier part link"
msgstr ""
-#: company/models.py:519
+#: company/models.py:523
msgid "Supplier part description"
msgstr ""
-#: company/models.py:524 company/templates/company/supplier_part.html:181
-#: part/models.py:2687 part/templates/part/upload_bom.html:59
+#: company/models.py:528 company/templates/company/supplier_part.html:181
+#: part/admin.py:225 part/models.py:3300 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_po_report.html:92
-#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:403
+#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:397
msgid "Note"
msgstr ""
-#: company/models.py:528 part/models.py:1788
+#: company/models.py:532 part/models.py:1817
msgid "base cost"
msgstr ""
-#: company/models.py:528 part/models.py:1788
+#: company/models.py:532 part/models.py:1817
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
-#: company/models.py:530 company/templates/company/supplier_part.html:167
-#: stock/models.py:626 stock/templates/stock/item_base.html:243
-#: templates/js/translated/company.js:991 templates/js/translated/stock.js:1978
+#: company/models.py:534 company/templates/company/supplier_part.html:167
+#: stock/admin.py:101 stock/models.py:642
+#: stock/templates/stock/item_base.html:243
+#: templates/js/translated/company.js:992 templates/js/translated/stock.js:1996
msgid "Packaging"
msgstr ""
-#: company/models.py:530
+#: company/models.py:534
msgid "Part packaging"
msgstr ""
-#: company/models.py:533 company/serializers.py:242
+#: company/models.py:537 company/serializers.py:242
#: company/templates/company/supplier_part.html:174
-#: templates/js/translated/company.js:996 templates/js/translated/order.js:820
-#: templates/js/translated/order.js:1215 templates/js/translated/order.js:1470
-#: templates/js/translated/order.js:2270 templates/js/translated/order.js:2287
-#: templates/js/translated/part.js:1043 templates/js/translated/part.js:1095
+#: templates/js/translated/company.js:997 templates/js/translated/order.js:826
+#: templates/js/translated/order.js:1249 templates/js/translated/order.js:1504
+#: templates/js/translated/order.js:2309 templates/js/translated/order.js:2326
+#: templates/js/translated/part.js:1070 templates/js/translated/part.js:1122
msgid "Pack Quantity"
msgstr ""
-#: company/models.py:534
+#: company/models.py:538
msgid "Unit quantity supplied in a single pack"
msgstr ""
-#: company/models.py:540 part/models.py:1790
+#: company/models.py:544 part/models.py:1819
msgid "multiple"
msgstr ""
-#: company/models.py:540
+#: company/models.py:544
msgid "Order multiple"
msgstr ""
-#: company/models.py:548 company/templates/company/supplier_part.html:115
+#: company/models.py:552 company/templates/company/supplier_part.html:115
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:18
-#: templates/js/translated/bom.js:963 templates/js/translated/build.js:1873
-#: templates/js/translated/build.js:2754 templates/js/translated/part.js:598
-#: templates/js/translated/part.js:601
-#: templates/js/translated/table_filters.js:194
+#: templates/js/translated/bom.js:1117 templates/js/translated/build.js:1873
+#: templates/js/translated/build.js:2754 templates/js/translated/part.js:612
+#: templates/js/translated/part.js:615
+#: templates/js/translated/table_filters.js:198
msgid "Available"
msgstr ""
-#: company/models.py:549
+#: company/models.py:553
msgid "Quantity available from supplier"
msgstr ""
-#: company/models.py:553
+#: company/models.py:557
msgid "Availability Updated"
msgstr ""
-#: company/models.py:554
+#: company/models.py:558
msgid "Date of last update of availability data"
msgstr ""
-#: company/models.py:682
+#: company/models.py:686
msgid "last updated"
msgstr ""
@@ -3121,7 +3177,7 @@ msgstr ""
#: company/templates/company/company_base.html:8
#: company/templates/company/company_base.html:12
-#: templates/InvenTree/search.html:179 templates/js/translated/company.js:421
+#: templates/InvenTree/search.html:179 templates/js/translated/company.js:422
msgid "Company"
msgstr "회사"
@@ -3139,7 +3195,7 @@ msgid "Edit company information"
msgstr "회사 정보 수정"
#: company/templates/company/company_base.html:34
-#: templates/js/translated/company.js:364
+#: templates/js/translated/company.js:365
msgid "Edit Company"
msgstr "회사 수정"
@@ -3162,14 +3218,14 @@ msgstr "새 이미지 업로드"
msgid "Download image from URL"
msgstr "URL에서 이미지 다운로드"
-#: company/templates/company/company_base.html:86 order/models.py:646
-#: order/templates/order/sales_order_base.html:116 stock/models.py:645
-#: stock/models.py:646 stock/serializers.py:813
+#: company/templates/company/company_base.html:86 order/models.py:665
+#: order/templates/order/sales_order_base.html:116 stock/models.py:661
+#: stock/models.py:662 stock/serializers.py:812
#: stock/templates/stock/item_base.html:399
#: templates/email/overdue_sales_order.html:16
-#: templates/js/translated/company.js:428 templates/js/translated/order.js:2808
-#: templates/js/translated/stock.js:2569
-#: templates/js/translated/table_filters.js:435
+#: templates/js/translated/company.js:429 templates/js/translated/order.js:2819
+#: templates/js/translated/stock.js:2587
+#: templates/js/translated/table_filters.js:439
msgid "Customer"
msgstr "고객"
@@ -3182,12 +3238,12 @@ msgid "Phone"
msgstr "전화번호"
#: company/templates/company/company_base.html:208
-#: part/templates/part/part_base.html:499
+#: part/templates/part/part_base.html:514
msgid "Upload Image"
msgstr "이미지 업로드"
#: company/templates/company/company_base.html:223
-#: part/templates/part/part_base.html:554
+#: part/templates/part/part_base.html:569
msgid "Download Image"
msgstr "이미지 다운로드"
@@ -3203,7 +3259,7 @@ msgstr ""
#: company/templates/company/detail.html:19
#: company/templates/company/manufacturer_part.html:123
-#: part/templates/part/detail.html:359
+#: part/templates/part/detail.html:357
msgid "New Supplier Part"
msgstr ""
@@ -3232,7 +3288,7 @@ msgstr ""
msgid "Create new manufacturer part"
msgstr ""
-#: company/templates/company/detail.html:66 part/templates/part/detail.html:389
+#: company/templates/company/detail.html:66 part/templates/part/detail.html:387
msgid "New Manufacturer Part"
msgstr ""
@@ -3246,7 +3302,7 @@ msgstr ""
#: order/templates/order/order_base.html:13
#: order/templates/order/purchase_orders.html:8
#: order/templates/order/purchase_orders.html:12
-#: part/templates/part/detail.html:84 part/templates/part/part_sidebar.html:37
+#: part/templates/part/detail.html:84 part/templates/part/part_sidebar.html:35
#: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200
#: templates/InvenTree/settings/sidebar.html:49
#: templates/js/translated/search.js:293 templates/navbar.html:50
@@ -3269,7 +3325,7 @@ msgstr ""
#: order/templates/order/sales_order_base.html:13
#: order/templates/order/sales_orders.html:8
#: order/templates/order/sales_orders.html:15
-#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:41
+#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:39
#: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220
#: templates/InvenTree/settings/sidebar.html:51
#: templates/js/translated/search.js:317 templates/navbar.html:61
@@ -3297,8 +3353,7 @@ msgid "Supplier List"
msgstr ""
#: company/templates/company/manufacturer_part.html:15 company/views.py:38
-#: part/templates/part/prices.html:172 templates/InvenTree/search.html:181
-#: templates/navbar.html:49
+#: templates/InvenTree/search.html:181 templates/navbar.html:49
msgid "Manufacturers"
msgstr ""
@@ -3309,12 +3364,12 @@ msgid "Order part"
msgstr ""
#: company/templates/company/manufacturer_part.html:39
-#: templates/js/translated/company.js:716
+#: templates/js/translated/company.js:717
msgid "Edit manufacturer part"
msgstr ""
#: company/templates/company/manufacturer_part.html:43
-#: templates/js/translated/company.js:717
+#: templates/js/translated/company.js:718
msgid "Delete manufacturer part"
msgstr ""
@@ -3329,35 +3384,36 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:119
#: company/templates/company/supplier_part.html:15 company/views.py:32
-#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:168
+#: part/admin.py:46 part/templates/part/part_sidebar.html:33
#: templates/InvenTree/search.html:191 templates/navbar.html:48
msgid "Suppliers"
msgstr ""
#: company/templates/company/manufacturer_part.html:136
-#: part/templates/part/detail.html:370
+#: part/templates/part/detail.html:368
msgid "Delete supplier parts"
msgstr ""
#: company/templates/company/manufacturer_part.html:136
#: company/templates/company/manufacturer_part.html:183
-#: part/templates/part/detail.html:371 part/templates/part/detail.html:401
-#: templates/js/translated/forms.js:455 templates/js/translated/helpers.js:36
-#: users/models.py:222
+#: part/templates/part/detail.html:369 part/templates/part/detail.html:399
+#: templates/js/translated/forms.js:455 templates/js/translated/helpers.js:38
+#: templates/js/translated/part.js:340 templates/js/translated/stock.js:184
+#: users/models.py:224
msgid "Delete"
msgstr "삭제"
#: company/templates/company/manufacturer_part.html:166
#: company/templates/company/manufacturer_part_sidebar.html:5
#: part/templates/part/category_sidebar.html:19
-#: part/templates/part/detail.html:186 part/templates/part/part_sidebar.html:8
+#: part/templates/part/detail.html:184 part/templates/part/part_sidebar.html:8
msgid "Parameters"
msgstr ""
#: company/templates/company/manufacturer_part.html:170
-#: part/templates/part/detail.html:191
+#: part/templates/part/detail.html:189
#: templates/InvenTree/settings/category.html:12
-#: templates/InvenTree/settings/part.html:68
+#: templates/InvenTree/settings/part.html:62
msgid "New Parameter"
msgstr ""
@@ -3366,7 +3422,7 @@ msgid "Delete parameters"
msgstr ""
#: company/templates/company/manufacturer_part.html:245
-#: part/templates/part/detail.html:827
+#: part/templates/part/detail.html:825
msgid "Add Parameter"
msgstr ""
@@ -3387,10 +3443,10 @@ msgid "Assigned Stock Items"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:609
+#: company/templates/company/supplier_part.html:24 stock/models.py:625
#: stock/templates/stock/item_base.html:236
-#: templates/js/translated/company.js:945 templates/js/translated/order.js:1135
-#: templates/js/translated/stock.js:1935
+#: templates/js/translated/company.js:946 templates/js/translated/order.js:1169
+#: templates/js/translated/stock.js:1954
msgid "Supplier Part"
msgstr ""
@@ -3441,13 +3497,13 @@ msgstr ""
#: company/templates/company/supplier_part.html:64
#: company/templates/company/supplier_part.html:65
-#: templates/js/translated/company.js:247
+#: templates/js/translated/company.js:248
msgid "Edit Supplier Part"
msgstr ""
#: company/templates/company/supplier_part.html:69
#: company/templates/company/supplier_part.html:70
-#: templates/js/translated/company.js:222
+#: templates/js/translated/company.js:223
msgid "Duplicate Supplier Part"
msgstr ""
@@ -3482,7 +3538,7 @@ msgstr ""
#: company/templates/company/supplier_part.html:204
#: part/templates/part/detail.html:25 stock/templates/stock/location.html:198
-#: templates/js/translated/stock.js:435
+#: templates/js/translated/stock.js:454
msgid "New Stock Item"
msgstr ""
@@ -3492,47 +3548,20 @@ msgid "Supplier Part Orders"
msgstr ""
#: company/templates/company/supplier_part.html:242
-#: part/templates/part/prices.html:10
msgid "Pricing Information"
msgstr ""
#: company/templates/company/supplier_part.html:247
-#: company/templates/company/supplier_part.html:388
-#: part/templates/part/prices.html:276 templates/js/translated/part.js:2297
+#: company/templates/company/supplier_part.html:317
+#: templates/js/translated/pricing.js:413
msgid "Add Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:282
+#: company/templates/company/supplier_part.html:285
msgid "Link Barcode to Supplier Part"
msgstr ""
-#: company/templates/company/supplier_part.html:300
-msgid "No price break information found"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:314
-#: templates/js/translated/part.js:2307
-msgid "Delete Price Break"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:328
-#: templates/js/translated/part.js:2321
-msgid "Edit Price Break"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:353
-msgid "Edit price break"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:354
-msgid "Delete price break"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:363
-msgid "Last updated"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:444
+#: company/templates/company/supplier_part.html:375
msgid "Update Part Availability"
msgstr ""
@@ -3542,9 +3571,9 @@ msgstr ""
#: stock/templates/stock/stock_app_base.html:10
#: templates/InvenTree/search.html:153
#: templates/InvenTree/settings/sidebar.html:45
-#: templates/js/translated/part.js:749 templates/js/translated/part.js:1335
-#: templates/js/translated/part.js:1501 templates/js/translated/stock.js:959
-#: templates/js/translated/stock.js:1760 templates/navbar.html:31
+#: templates/js/translated/part.js:763 templates/js/translated/part.js:1356
+#: templates/js/translated/part.js:1512 templates/js/translated/stock.js:978
+#: templates/js/translated/stock.js:1779 templates/navbar.html:31
msgid "Stock"
msgstr ""
@@ -3558,19 +3587,20 @@ msgid "Supplier Part Pricing"
msgstr ""
#: company/templates/company/supplier_part_navbar.html:29
-#: part/templates/part/part_sidebar.html:31
+#: part/templates/part/part_sidebar.html:30
+#: templates/InvenTree/settings/sidebar.html:35
msgid "Pricing"
msgstr ""
#: company/templates/company/supplier_part_sidebar.html:5
#: part/templates/part/category.html:198
-#: part/templates/part/category_sidebar.html:17
+#: part/templates/part/category_sidebar.html:17 stock/admin.py:31
#: stock/templates/stock/location.html:168
#: stock/templates/stock/location.html:182
#: stock/templates/stock/location.html:194
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:155 templates/js/translated/search.js:225
-#: templates/js/translated/stock.js:2446 users/models.py:40
+#: templates/js/translated/stock.js:2464 users/models.py:40
msgid "Stock Items"
msgstr ""
@@ -3672,438 +3702,439 @@ msgstr ""
msgid "No matching purchase order found"
msgstr ""
-#: order/models.py:82
+#: order/models.py:83
msgid "Order description"
msgstr ""
-#: order/models.py:84 order/models.py:1260
+#: order/models.py:85 order/models.py:1283
msgid "Link to external page"
msgstr ""
-#: order/models.py:92
+#: order/models.py:93
msgid "Created By"
msgstr ""
-#: order/models.py:99
+#: order/models.py:100
msgid "User or group responsible for this order"
msgstr ""
-#: order/models.py:104
+#: order/models.py:105
msgid "Order notes"
msgstr ""
-#: order/models.py:241 order/models.py:633
+#: order/models.py:242 order/models.py:652
msgid "Order reference"
msgstr ""
-#: order/models.py:249 order/models.py:651
+#: order/models.py:250 order/models.py:670
msgid "Purchase order status"
msgstr ""
-#: order/models.py:264
+#: order/models.py:265
msgid "Company from which the items are being ordered"
msgstr ""
-#: order/models.py:267 order/templates/order/order_base.html:133
-#: templates/js/translated/order.js:1984
+#: order/models.py:268 order/templates/order/order_base.html:133
+#: templates/js/translated/order.js:2018
msgid "Supplier Reference"
msgstr ""
-#: order/models.py:267
+#: order/models.py:268
msgid "Supplier order reference code"
msgstr ""
-#: order/models.py:274
+#: order/models.py:275
msgid "received by"
msgstr ""
-#: order/models.py:279
+#: order/models.py:280
msgid "Issue Date"
msgstr ""
-#: order/models.py:280
+#: order/models.py:281
msgid "Date order was issued"
msgstr ""
-#: order/models.py:285
+#: order/models.py:286
msgid "Target Delivery Date"
msgstr ""
-#: order/models.py:286
+#: order/models.py:287
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr ""
-#: order/models.py:292
+#: order/models.py:293
msgid "Date order was completed"
msgstr ""
-#: order/models.py:328
+#: order/models.py:332
msgid "Part supplier must match PO supplier"
msgstr ""
-#: order/models.py:472
+#: order/models.py:491
msgid "Quantity must be a positive number"
msgstr ""
-#: order/models.py:647
+#: order/models.py:666
msgid "Company to which the items are being sold"
msgstr ""
-#: order/models.py:658
+#: order/models.py:677
msgid "Customer Reference "
msgstr ""
-#: order/models.py:658
+#: order/models.py:677
msgid "Customer order reference code"
msgstr ""
-#: order/models.py:663
+#: order/models.py:682
msgid "Target date for order completion. Order will be overdue after this date."
msgstr ""
-#: order/models.py:666 order/models.py:1218
-#: templates/js/translated/order.js:2855 templates/js/translated/order.js:3017
+#: order/models.py:685 order/models.py:1241
+#: templates/js/translated/order.js:2866 templates/js/translated/order.js:3028
msgid "Shipment Date"
msgstr ""
-#: order/models.py:673
+#: order/models.py:692
msgid "shipped by"
msgstr ""
-#: order/models.py:728
+#: order/models.py:747
msgid "Order cannot be completed as no parts have been assigned"
msgstr ""
-#: order/models.py:732
+#: order/models.py:751
msgid "Only a pending order can be marked as complete"
msgstr ""
-#: order/models.py:735 templates/js/translated/order.js:419
+#: order/models.py:754 templates/js/translated/order.js:419
msgid "Order cannot be completed as there are incomplete shipments"
msgstr ""
-#: order/models.py:738
+#: order/models.py:757
msgid "Order cannot be completed as there are incomplete line items"
msgstr ""
-#: order/models.py:912
+#: order/models.py:935
msgid "Item quantity"
msgstr ""
-#: order/models.py:918
+#: order/models.py:941
msgid "Line item reference"
msgstr ""
-#: order/models.py:920
+#: order/models.py:943
msgid "Line item notes"
msgstr ""
-#: order/models.py:925
+#: order/models.py:948
msgid "Target shipping date for this line item"
msgstr ""
-#: order/models.py:943
+#: order/models.py:966
msgid "Context"
msgstr ""
-#: order/models.py:944
+#: order/models.py:967
msgid "Additional context for this line"
msgstr ""
-#: order/models.py:953
+#: order/models.py:976
msgid "Unit price"
msgstr ""
-#: order/models.py:983
+#: order/models.py:1006
msgid "Supplier part must match supplier"
msgstr ""
-#: order/models.py:991
+#: order/models.py:1014
msgid "deleted"
msgstr ""
-#: order/models.py:997 order/models.py:1077 order/models.py:1118
-#: order/models.py:1212 order/models.py:1344
-#: templates/js/translated/order.js:3473
+#: order/models.py:1020 order/models.py:1100 order/models.py:1141
+#: order/models.py:1235 order/models.py:1367
+#: templates/js/translated/order.js:3484
msgid "Order"
msgstr ""
-#: order/models.py:998 order/models.py:1077
+#: order/models.py:1021 order/models.py:1100
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report.html:76
#: stock/templates/stock/item_base.html:182
#: templates/email/overdue_purchase_order.html:15
-#: templates/js/translated/order.js:619 templates/js/translated/order.js:1136
-#: templates/js/translated/order.js:1959 templates/js/translated/part.js:970
-#: templates/js/translated/stock.js:1915 templates/js/translated/stock.js:2550
+#: templates/js/translated/order.js:619 templates/js/translated/order.js:1170
+#: templates/js/translated/order.js:1993 templates/js/translated/part.js:997
+#: templates/js/translated/pricing.js:515 templates/js/translated/stock.js:1934
+#: templates/js/translated/stock.js:2568
msgid "Purchase Order"
msgstr ""
-#: order/models.py:1016
+#: order/models.py:1039
msgid "Supplier part"
msgstr ""
-#: order/models.py:1023 order/templates/order/order_base.html:178
-#: templates/js/translated/order.js:1641 templates/js/translated/order.js:2373
-#: templates/js/translated/part.js:1087 templates/js/translated/part.js:1125
-#: templates/js/translated/table_filters.js:346
+#: order/models.py:1046 order/templates/order/order_base.html:178
+#: templates/js/translated/order.js:1675 templates/js/translated/order.js:2396
+#: templates/js/translated/part.js:1114 templates/js/translated/part.js:1146
+#: templates/js/translated/table_filters.js:350
msgid "Received"
msgstr ""
-#: order/models.py:1024
+#: order/models.py:1047
msgid "Number of items received"
msgstr ""
-#: order/models.py:1031 part/templates/part/prices.html:181 stock/models.py:741
-#: stock/serializers.py:169 stock/templates/stock/item_base.html:189
-#: templates/js/translated/stock.js:1966
+#: order/models.py:1054 stock/models.py:757 stock/serializers.py:173
+#: stock/templates/stock/item_base.html:189
+#: templates/js/translated/stock.js:1985
msgid "Purchase Price"
msgstr ""
-#: order/models.py:1032
+#: order/models.py:1055
msgid "Unit purchase price"
msgstr ""
-#: order/models.py:1040
+#: order/models.py:1063
msgid "Where does the Purchaser want this item to be stored?"
msgstr ""
-#: order/models.py:1106
+#: order/models.py:1129
msgid "Virtual part cannot be assigned to a sales order"
msgstr ""
-#: order/models.py:1111
+#: order/models.py:1134
msgid "Only salable parts can be assigned to a sales order"
msgstr ""
-#: order/models.py:1137 part/templates/part/part_pricing.html:115
-#: part/templates/part/prices.html:121 part/templates/part/prices.html:290
+#: order/models.py:1160 part/templates/part/part_pricing.html:107
+#: part/templates/part/prices.html:139 templates/js/translated/pricing.js:665
msgid "Sale Price"
msgstr ""
-#: order/models.py:1138
+#: order/models.py:1161
msgid "Unit sale price"
msgstr ""
-#: order/models.py:1143
+#: order/models.py:1166
msgid "Shipped quantity"
msgstr ""
-#: order/models.py:1219
+#: order/models.py:1242
msgid "Date of shipment"
msgstr ""
-#: order/models.py:1226
+#: order/models.py:1249
msgid "Checked By"
msgstr ""
-#: order/models.py:1227
+#: order/models.py:1250
msgid "User who checked this shipment"
msgstr ""
-#: order/models.py:1234 order/models.py:1419 order/serializers.py:1228
-#: order/serializers.py:1356 templates/js/translated/model_renderers.js:314
+#: order/models.py:1257 order/models.py:1442 order/serializers.py:1221
+#: order/serializers.py:1349 templates/js/translated/model_renderers.js:314
msgid "Shipment"
msgstr ""
-#: order/models.py:1235
+#: order/models.py:1258
msgid "Shipment number"
msgstr ""
-#: order/models.py:1239
+#: order/models.py:1262
msgid "Shipment notes"
msgstr ""
-#: order/models.py:1245
+#: order/models.py:1268
msgid "Tracking Number"
msgstr ""
-#: order/models.py:1246
+#: order/models.py:1269
msgid "Shipment tracking information"
msgstr ""
-#: order/models.py:1253
+#: order/models.py:1276
msgid "Invoice Number"
msgstr ""
-#: order/models.py:1254
+#: order/models.py:1277
msgid "Reference number for associated invoice"
msgstr ""
-#: order/models.py:1272
+#: order/models.py:1295
msgid "Shipment has already been sent"
msgstr ""
-#: order/models.py:1275
+#: order/models.py:1298
msgid "Shipment has no allocated stock items"
msgstr ""
-#: order/models.py:1378 order/models.py:1380
+#: order/models.py:1401 order/models.py:1403
msgid "Stock item has not been assigned"
msgstr ""
-#: order/models.py:1384
+#: order/models.py:1407
msgid "Cannot allocate stock item to a line with a different part"
msgstr ""
-#: order/models.py:1386
+#: order/models.py:1409
msgid "Cannot allocate stock to a line without a part"
msgstr ""
-#: order/models.py:1389
+#: order/models.py:1412
msgid "Allocation quantity cannot exceed stock quantity"
msgstr ""
-#: order/models.py:1399 order/serializers.py:1090
+#: order/models.py:1422 order/serializers.py:1083
msgid "Quantity must be 1 for serialized stock item"
msgstr ""
-#: order/models.py:1402
+#: order/models.py:1425
msgid "Sales order does not match shipment"
msgstr ""
-#: order/models.py:1403
+#: order/models.py:1426
msgid "Shipment does not match sales order"
msgstr ""
-#: order/models.py:1411
+#: order/models.py:1434
msgid "Line"
msgstr ""
-#: order/models.py:1420
+#: order/models.py:1443
msgid "Sales order shipment reference"
msgstr ""
-#: order/models.py:1433 templates/js/translated/notification.js:55
+#: order/models.py:1456 templates/js/translated/notification.js:55
msgid "Item"
msgstr ""
-#: order/models.py:1434
+#: order/models.py:1457
msgid "Select stock item to allocate"
msgstr ""
-#: order/models.py:1437
+#: order/models.py:1460
msgid "Enter stock allocation quantity"
msgstr ""
-#: order/serializers.py:67
+#: order/serializers.py:63
msgid "Price currency"
msgstr ""
-#: order/serializers.py:199
+#: order/serializers.py:193
msgid "Order cannot be cancelled"
msgstr ""
-#: order/serializers.py:209 order/serializers.py:1108
+#: order/serializers.py:203 order/serializers.py:1101
msgid "Allow order to be closed with incomplete line items"
msgstr ""
-#: order/serializers.py:220 order/serializers.py:1119
+#: order/serializers.py:214 order/serializers.py:1112
msgid "Order has incomplete line items"
msgstr ""
-#: order/serializers.py:311
+#: order/serializers.py:305
msgid "Order is not open"
msgstr ""
-#: order/serializers.py:335
+#: order/serializers.py:327
msgid "Purchase price currency"
msgstr ""
-#: order/serializers.py:354
+#: order/serializers.py:346
msgid "Supplier part must be specified"
msgstr ""
-#: order/serializers.py:359
+#: order/serializers.py:351
msgid "Purchase order must be specified"
msgstr ""
-#: order/serializers.py:365
+#: order/serializers.py:357
msgid "Supplier must match purchase order"
msgstr ""
-#: order/serializers.py:366
+#: order/serializers.py:358
msgid "Purchase order must match supplier"
msgstr ""
-#: order/serializers.py:430 order/serializers.py:1196
+#: order/serializers.py:421 order/serializers.py:1189
msgid "Line Item"
msgstr ""
-#: order/serializers.py:436
+#: order/serializers.py:427
msgid "Line item does not match purchase order"
msgstr ""
-#: order/serializers.py:446 order/serializers.py:557
+#: order/serializers.py:437 order/serializers.py:548
msgid "Select destination location for received items"
msgstr ""
-#: order/serializers.py:465 templates/js/translated/order.js:1497
+#: order/serializers.py:456 templates/js/translated/order.js:1531
msgid "Enter batch code for incoming stock items"
msgstr ""
-#: order/serializers.py:473 templates/js/translated/order.js:1508
+#: order/serializers.py:464 templates/js/translated/order.js:1542
msgid "Enter serial numbers for incoming stock items"
msgstr ""
-#: order/serializers.py:487
+#: order/serializers.py:478
msgid "Unique identifier field"
msgstr ""
-#: order/serializers.py:501
+#: order/serializers.py:492
msgid "Barcode is already in use"
msgstr "이미 사용 중인 바코드입니다"
-#: order/serializers.py:527
+#: order/serializers.py:518
msgid "An integer quantity must be provided for trackable parts"
msgstr ""
-#: order/serializers.py:573
+#: order/serializers.py:564
msgid "Line items must be provided"
msgstr ""
-#: order/serializers.py:590
+#: order/serializers.py:581
msgid "Destination location must be specified"
msgstr ""
-#: order/serializers.py:601
+#: order/serializers.py:592
msgid "Supplied barcode values must be unique"
msgstr ""
-#: order/serializers.py:907
+#: order/serializers.py:900
msgid "Sale price currency"
msgstr ""
-#: order/serializers.py:988
+#: order/serializers.py:981
msgid "No shipment details provided"
msgstr ""
-#: order/serializers.py:1051 order/serializers.py:1205
+#: order/serializers.py:1044 order/serializers.py:1198
msgid "Line item is not associated with this order"
msgstr ""
-#: order/serializers.py:1073
+#: order/serializers.py:1066
msgid "Quantity must be positive"
msgstr ""
-#: order/serializers.py:1218
+#: order/serializers.py:1211
msgid "Enter serial numbers to allocate"
msgstr ""
-#: order/serializers.py:1240 order/serializers.py:1364
+#: order/serializers.py:1233 order/serializers.py:1357
msgid "Shipment has already been shipped"
msgstr ""
-#: order/serializers.py:1243 order/serializers.py:1367
+#: order/serializers.py:1236 order/serializers.py:1360
msgid "Shipment is not associated with this order"
msgstr ""
-#: order/serializers.py:1297
+#: order/serializers.py:1290
msgid "No match found for the following serial numbers"
msgstr ""
-#: order/serializers.py:1307
+#: order/serializers.py:1300
msgid "The following serial numbers are already allocated"
msgstr ""
@@ -4154,7 +4185,8 @@ msgid "Duplicate order"
msgstr ""
#: order/templates/order/order_base.html:61
-msgid "Place order"
+#: order/templates/order/order_base.html:62
+msgid "Submit Order"
msgstr ""
#: order/templates/order/order_base.html:65
@@ -4162,7 +4194,7 @@ msgid "Receive items"
msgstr ""
#: order/templates/order/order_base.html:67
-#: order/templates/order/purchase_order_detail.html:30
+#: order/templates/order/purchase_order_detail.html:32
msgid "Receive Items"
msgstr ""
@@ -4248,9 +4280,9 @@ msgstr ""
#: part/templates/part/import_wizard/match_references.html:49
#: templates/js/translated/bom.js:102 templates/js/translated/build.js:479
#: templates/js/translated/build.js:631 templates/js/translated/build.js:2078
-#: templates/js/translated/order.js:1084 templates/js/translated/order.js:1586
-#: templates/js/translated/order.js:3092 templates/js/translated/stock.js:625
-#: templates/js/translated/stock.js:793
+#: templates/js/translated/order.js:1118 templates/js/translated/order.js:1620
+#: templates/js/translated/order.js:3103 templates/js/translated/stock.js:644
+#: templates/js/translated/stock.js:812
#: templates/patterns/wizard/match_fields.html:70
msgid "Remove row"
msgstr ""
@@ -4278,42 +4310,42 @@ msgstr ""
msgid "Received Stock"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:17
+#: order/templates/order/purchase_order_detail.html:19
msgid "Purchase Order Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:26
-#: order/templates/order/sales_order_detail.html:22
-#: order/templates/order/sales_order_detail.html:255
+#: order/templates/order/purchase_order_detail.html:28
+#: order/templates/order/sales_order_detail.html:24
+#: order/templates/order/sales_order_detail.html:260
#: templates/js/translated/order.js:728
msgid "Add Line Item"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:29
+#: order/templates/order/purchase_order_detail.html:31
msgid "Receive selected items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:48
-#: order/templates/order/sales_order_detail.html:42
+#: order/templates/order/purchase_order_detail.html:50
+#: order/templates/order/sales_order_detail.html:45
msgid "Extra Lines"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:53
-#: order/templates/order/sales_order_detail.html:47
-#: order/templates/order/sales_order_detail.html:280
+#: order/templates/order/purchase_order_detail.html:56
+#: order/templates/order/sales_order_detail.html:51
+#: order/templates/order/sales_order_detail.html:291
msgid "Add Extra Line"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:72
+#: order/templates/order/purchase_order_detail.html:76
msgid "Received Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:97
-#: order/templates/order/sales_order_detail.html:150
+#: order/templates/order/purchase_order_detail.html:101
+#: order/templates/order/sales_order_detail.html:155
msgid "Order Notes"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:232
+#: order/templates/order/purchase_order_detail.html:239
msgid "Add Order Line"
msgstr ""
@@ -4345,12 +4377,12 @@ msgid "This Sales Order has not been fully allocated"
msgstr ""
#: order/templates/order/sales_order_base.html:123
-#: templates/js/translated/order.js:2821
+#: templates/js/translated/order.js:2832
msgid "Customer Reference"
msgstr ""
#: order/templates/order/sales_order_base.html:141
-#: order/templates/order/sales_order_detail.html:104
+#: order/templates/order/sales_order_detail.html:109
#: order/templates/order/so_sidebar.html:11
msgid "Completed Shipments"
msgstr ""
@@ -4359,22 +4391,22 @@ msgstr ""
msgid "Edit Sales Order"
msgstr ""
-#: order/templates/order/sales_order_detail.html:17
+#: order/templates/order/sales_order_detail.html:18
msgid "Sales Order Items"
msgstr ""
-#: order/templates/order/sales_order_detail.html:68
+#: order/templates/order/sales_order_detail.html:73
#: order/templates/order/so_sidebar.html:8
msgid "Pending Shipments"
msgstr ""
-#: order/templates/order/sales_order_detail.html:72
-#: templates/attachment_table.html:6 templates/js/translated/bom.js:1158
+#: order/templates/order/sales_order_detail.html:77
+#: templates/attachment_table.html:6 templates/js/translated/bom.js:1223
#: templates/js/translated/build.js:1979
msgid "Actions"
msgstr ""
-#: order/templates/order/sales_order_detail.html:81
+#: order/templates/order/sales_order_detail.html:86
msgid "New Shipment"
msgstr ""
@@ -4400,617 +4432,844 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/api.py:516
+#: part/admin.py:19 part/admin.py:219 part/models.py:3181 stock/admin.py:84
+#: templates/js/translated/model_renderers.js:212
+msgid "Part ID"
+msgstr ""
+
+#: part/admin.py:20 part/admin.py:221 part/models.py:3185 stock/admin.py:85
+msgid "Part Name"
+msgstr ""
+
+#: part/admin.py:21
+msgid "Part Description"
+msgstr ""
+
+#: part/admin.py:22 part/models.py:822 part/templates/part/part_base.html:272
+#: templates/js/translated/part.js:751 templates/js/translated/part.js:1469
+#: templates/js/translated/stock.js:1745
+msgid "IPN"
+msgstr ""
+
+#: part/admin.py:23 part/models.py:830 part/templates/part/part_base.html:279
+#: report/models.py:171 templates/js/translated/part.js:755
+msgid "Revision"
+msgstr ""
+
+#: part/admin.py:24 part/admin.py:145 part/models.py:808
+#: part/templates/part/category.html:87 part/templates/part/part_base.html:300
+msgid "Keywords"
+msgstr ""
+
+#: part/admin.py:28 part/admin.py:139
+#: templates/js/translated/model_renderers.js:338
+msgid "Category ID"
+msgstr ""
+
+#: part/admin.py:29 part/admin.py:140
+msgid "Category Name"
+msgstr ""
+
+#: part/admin.py:30 part/admin.py:144
+msgid "Default Location ID"
+msgstr ""
+
+#: part/admin.py:31
+msgid "Default Supplier ID"
+msgstr ""
+
+#: part/admin.py:33 part/models.py:914 part/templates/part/part_base.html:206
+msgid "Minimum Stock"
+msgstr ""
+
+#: part/admin.py:47 part/templates/part/part_base.html:200
+#: templates/js/translated/company.js:1028
+#: templates/js/translated/table_filters.js:213
+msgid "In Stock"
+msgstr ""
+
+#: part/admin.py:48 part/bom.py:145 part/templates/part/part_base.html:213
+#: templates/js/translated/bom.js:1155 templates/js/translated/build.js:1925
+#: templates/js/translated/part.js:602 templates/js/translated/part.js:622
+#: templates/js/translated/part.js:1359 templates/js/translated/part.js:1537
+#: templates/js/translated/table_filters.js:68
+msgid "On Order"
+msgstr ""
+
+#: part/admin.py:49 part/templates/part/part_sidebar.html:27
+msgid "Used In"
+msgstr ""
+
+#: part/admin.py:50 templates/js/translated/build.js:1937
+#: templates/js/translated/build.js:2195 templates/js/translated/build.js:2761
+#: templates/js/translated/order.js:3943
+msgid "Allocated"
+msgstr ""
+
+#: part/admin.py:51 part/templates/part/part_base.html:244
+#: templates/js/translated/part.js:605 templates/js/translated/part.js:625
+#: templates/js/translated/part.js:1363 templates/js/translated/part.js:1544
+msgid "Building"
+msgstr ""
+
+#: part/admin.py:52 part/models.py:2765
+msgid "Minimum Cost"
+msgstr ""
+
+#: part/admin.py:53 part/models.py:2771
+msgid "Maximum Cost"
+msgstr ""
+
+#: part/admin.py:142 part/admin.py:216 stock/admin.py:26 stock/admin.py:98
+msgid "Parent ID"
+msgstr ""
+
+#: part/admin.py:143 part/admin.py:218 stock/admin.py:27
+msgid "Parent Name"
+msgstr ""
+
+#: part/admin.py:146 part/templates/part/category.html:81
+#: part/templates/part/category.html:94
+msgid "Category Path"
+msgstr ""
+
+#: part/admin.py:149 part/models.py:363 part/templates/part/cat_link.html:3
+#: part/templates/part/category.html:23 part/templates/part/category.html:134
+#: part/templates/part/category.html:154
+#: part/templates/part/category_sidebar.html:9
+#: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84
+#: templates/InvenTree/settings/sidebar.html:41
+#: templates/js/translated/part.js:2043 templates/js/translated/search.js:146
+#: templates/navbar.html:24 users/models.py:38
+msgid "Parts"
+msgstr ""
+
+#: part/admin.py:211
+msgid "BOM Level"
+msgstr ""
+
+#: part/admin.py:213
+msgid "BOM Item ID"
+msgstr ""
+
+#: part/admin.py:217
+msgid "Parent IPN"
+msgstr ""
+
+#: part/admin.py:220 part/models.py:3189
+msgid "Part IPN"
+msgstr ""
+
+#: part/admin.py:226 templates/js/translated/pricing.js:91
+#: templates/js/translated/pricing.js:727
+msgid "Minimum Price"
+msgstr ""
+
+#: part/admin.py:227 templates/js/translated/pricing.js:86
+#: templates/js/translated/pricing.js:735
+msgid "Maximum Price"
+msgstr ""
+
+#: part/api.py:532
msgid "Incoming Purchase Order"
msgstr ""
-#: part/api.py:536
+#: part/api.py:552
msgid "Outgoing Sales Order"
msgstr ""
-#: part/api.py:554
+#: part/api.py:570
msgid "Stock produced by Build Order"
msgstr ""
-#: part/api.py:640
+#: part/api.py:656
msgid "Stock required for Build Order"
msgstr ""
-#: part/api.py:777
+#: part/api.py:814
msgid "Valid"
msgstr ""
-#: part/api.py:778
+#: part/api.py:815
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/api.py:784
+#: part/api.py:821
msgid "This option must be selected"
msgstr ""
-#: part/api.py:1207
+#: part/api.py:1261
msgid "Must be greater than zero"
msgstr ""
-#: part/api.py:1211
+#: part/api.py:1265
msgid "Must be a valid quantity"
msgstr ""
-#: part/api.py:1226
+#: part/api.py:1280
msgid "Specify location for initial part stock"
msgstr ""
-#: part/api.py:1257 part/api.py:1261 part/api.py:1276 part/api.py:1280
+#: part/api.py:1311 part/api.py:1315 part/api.py:1330 part/api.py:1334
msgid "This field is required"
msgstr ""
-#: part/bom.py:127 part/models.py:98 part/models.py:838
-#: part/templates/part/category.html:109 part/templates/part/part_base.html:345
+#: part/bom.py:142 part/models.py:116 part/models.py:857
+#: part/templates/part/category.html:109 part/templates/part/part_base.html:360
msgid "Default Location"
msgstr ""
-#: part/bom.py:128 templates/email/low_stock_notification.html:17
+#: part/bom.py:143 templates/email/low_stock_notification.html:17
msgid "Total Stock"
msgstr ""
-#: part/bom.py:129 part/templates/part/part_base.html:195
-#: templates/js/translated/order.js:3913
+#: part/bom.py:144 part/templates/part/part_base.html:195
+#: templates/js/translated/order.js:3910
msgid "Available Stock"
msgstr ""
-#: part/bom.py:130 part/templates/part/part_base.html:213
-#: templates/js/translated/bom.js:1001 templates/js/translated/build.js:1925
-#: templates/js/translated/part.js:588 templates/js/translated/part.js:608
-#: templates/js/translated/part.js:1338 templates/js/translated/part.js:1526
-#: templates/js/translated/table_filters.js:68
-msgid "On Order"
-msgstr ""
-
#: part/forms.py:41
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:99
+#: part/models.py:117
msgid "Default location for parts in this category"
msgstr ""
-#: part/models.py:102
+#: part/models.py:120
msgid "Default keywords"
msgstr ""
-#: part/models.py:102
+#: part/models.py:120
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:107 stock/models.py:85
+#: part/models.py:125 stock/models.py:101
msgid "Icon"
msgstr ""
-#: part/models.py:108 stock/models.py:86
+#: part/models.py:126 stock/models.py:102
msgid "Icon (optional)"
msgstr ""
-#: part/models.py:122 part/models.py:2517 part/templates/part/category.html:16
+#: part/models.py:140 part/models.py:3130 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
-#: part/models.py:123 part/templates/part/category.html:129
+#: part/models.py:141 part/templates/part/category.html:129
#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200
#: users/models.py:37
msgid "Part Categories"
msgstr ""
-#: part/models.py:344 part/templates/part/cat_link.html:3
-#: part/templates/part/category.html:23 part/templates/part/category.html:134
-#: part/templates/part/category.html:154
-#: part/templates/part/category_sidebar.html:9
-#: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84
-#: templates/InvenTree/settings/sidebar.html:41
-#: templates/js/translated/part.js:2019 templates/js/translated/search.js:146
-#: templates/navbar.html:24 users/models.py:38
-msgid "Parts"
-msgstr ""
-
-#: part/models.py:429
+#: part/models.py:448
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:499 part/models.py:511
+#: part/models.py:518 part/models.py:530
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:601
+#: part/models.py:620
msgid "Stock item with this serial number already exists"
msgstr ""
-#: part/models.py:732
+#: part/models.py:751
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:759 part/models.py:2573
+#: part/models.py:778 part/models.py:3186
msgid "Part name"
msgstr ""
-#: part/models.py:766
+#: part/models.py:785
msgid "Is Template"
msgstr ""
-#: part/models.py:767
+#: part/models.py:786
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:777
+#: part/models.py:796
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:778
+#: part/models.py:797
msgid "Variant Of"
msgstr ""
-#: part/models.py:784
+#: part/models.py:803
msgid "Part description"
msgstr ""
-#: part/models.py:789 part/templates/part/category.html:87
-#: part/templates/part/part_base.html:300
-msgid "Keywords"
-msgstr ""
-
-#: part/models.py:790
+#: part/models.py:809
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:797 part/models.py:2272 part/models.py:2516
+#: part/models.py:816 part/models.py:2885 part/models.py:3129
#: part/templates/part/part_base.html:263
#: templates/InvenTree/settings/settings.html:229
#: templates/js/translated/notification.js:50
-#: templates/js/translated/part.js:1480 templates/js/translated/part.js:1724
+#: templates/js/translated/part.js:1491 templates/js/translated/part.js:1748
msgid "Category"
msgstr ""
-#: part/models.py:798
+#: part/models.py:817
msgid "Part category"
msgstr ""
-#: part/models.py:803 part/templates/part/part_base.html:272
-#: templates/js/translated/part.js:737 templates/js/translated/part.js:1431
-#: templates/js/translated/stock.js:1726
-msgid "IPN"
-msgstr ""
-
-#: part/models.py:804
+#: part/models.py:823
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:810
+#: part/models.py:829
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:811 part/templates/part/part_base.html:279
-#: report/models.py:171 templates/js/translated/part.js:741
-msgid "Revision"
-msgstr ""
-
-#: part/models.py:836
+#: part/models.py:855
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:881 part/templates/part/part_base.html:354
+#: part/models.py:900 part/templates/part/part_base.html:369
msgid "Default Supplier"
msgstr ""
-#: part/models.py:882
+#: part/models.py:901
msgid "Default supplier part"
msgstr ""
-#: part/models.py:889
+#: part/models.py:908
msgid "Default Expiry"
msgstr ""
-#: part/models.py:890
+#: part/models.py:909
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:895 part/templates/part/part_base.html:206
-msgid "Minimum Stock"
-msgstr ""
-
-#: part/models.py:896
+#: part/models.py:915
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:903
+#: part/models.py:922
msgid "Stock keeping units for this part"
msgstr ""
-#: part/models.py:909
+#: part/models.py:928
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:915
+#: part/models.py:934
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:921
+#: part/models.py:940
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:926
+#: part/models.py:945
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:931
+#: part/models.py:950
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:936
+#: part/models.py:955
msgid "Is this part active?"
msgstr ""
-#: part/models.py:941
+#: part/models.py:960
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:943
+#: part/models.py:962
msgid "Part notes"
msgstr ""
-#: part/models.py:945
+#: part/models.py:964
msgid "BOM checksum"
msgstr ""
-#: part/models.py:945
+#: part/models.py:964
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:948
+#: part/models.py:967
msgid "BOM checked by"
msgstr ""
-#: part/models.py:950
+#: part/models.py:969
msgid "BOM checked date"
msgstr ""
-#: part/models.py:954
+#: part/models.py:973
msgid "Creation User"
msgstr ""
-#: part/models.py:1790
+#: part/models.py:1819
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2319
+#: part/models.py:2682
+msgid "Currency used to cache pricing calculations"
+msgstr ""
+
+#: part/models.py:2687
+msgid "Updated"
+msgstr ""
+
+#: part/models.py:2688
+msgid "Timestamp of last pricing update"
+msgstr ""
+
+#: part/models.py:2705
+msgid "Minimum BOM Cost"
+msgstr ""
+
+#: part/models.py:2706
+msgid "Minimum cost of component parts"
+msgstr ""
+
+#: part/models.py:2711
+msgid "Maximum BOM Cost"
+msgstr ""
+
+#: part/models.py:2712
+msgid "Maximum cost of component parts"
+msgstr ""
+
+#: part/models.py:2717
+msgid "Minimum Purchase Cost"
+msgstr ""
+
+#: part/models.py:2718
+msgid "Minimum historical purchase cost"
+msgstr ""
+
+#: part/models.py:2723
+msgid "Maximum Purchase Cost"
+msgstr ""
+
+#: part/models.py:2724
+msgid "Maximum historical purchase cost"
+msgstr ""
+
+#: part/models.py:2729
+msgid "Minimum Internal Price"
+msgstr ""
+
+#: part/models.py:2730
+msgid "Minimum cost based on internal price breaks"
+msgstr ""
+
+#: part/models.py:2735
+msgid "Maximum Internal Price"
+msgstr ""
+
+#: part/models.py:2736
+msgid "Maximum cost based on internal price breaks"
+msgstr ""
+
+#: part/models.py:2741
+msgid "Minimum Supplier Price"
+msgstr ""
+
+#: part/models.py:2742
+msgid "Minimum price of part from external suppliers"
+msgstr ""
+
+#: part/models.py:2747
+msgid "Maximum Supplier Price"
+msgstr ""
+
+#: part/models.py:2748
+msgid "Maximum price of part from external suppliers"
+msgstr ""
+
+#: part/models.py:2753
+msgid "Minimum Variant Cost"
+msgstr ""
+
+#: part/models.py:2754
+msgid "Calculated minimum cost of variant parts"
+msgstr ""
+
+#: part/models.py:2759
+msgid "Maximum Variant Cost"
+msgstr ""
+
+#: part/models.py:2760
+msgid "Calculated maximum cost of variant parts"
+msgstr ""
+
+#: part/models.py:2766
+msgid "Calculated overall minimum cost"
+msgstr ""
+
+#: part/models.py:2772
+msgid "Calculated overall maximum cost"
+msgstr ""
+
+#: part/models.py:2777
+msgid "Minimum Sale Price"
+msgstr ""
+
+#: part/models.py:2778
+msgid "Minimum sale price based on price breaks"
+msgstr ""
+
+#: part/models.py:2783
+msgid "Maximum Sale Price"
+msgstr ""
+
+#: part/models.py:2784
+msgid "Maximum sale price based on price breaks"
+msgstr ""
+
+#: part/models.py:2789
+msgid "Minimum Sale Cost"
+msgstr ""
+
+#: part/models.py:2790
+msgid "Minimum historical sale price"
+msgstr ""
+
+#: part/models.py:2795
+msgid "Maximum Sale Cost"
+msgstr ""
+
+#: part/models.py:2796
+msgid "Maximum historical sale price"
+msgstr ""
+
+#: part/models.py:2932
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:2336
+#: part/models.py:2949
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2356 templates/js/translated/part.js:2070
-#: templates/js/translated/stock.js:1340
+#: part/models.py:2969 templates/js/translated/part.js:2094
+#: templates/js/translated/stock.js:1359
msgid "Test Name"
msgstr ""
-#: part/models.py:2357
+#: part/models.py:2970
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2362
+#: part/models.py:2975
msgid "Test Description"
msgstr ""
-#: part/models.py:2363
+#: part/models.py:2976
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2368 templates/js/translated/part.js:2079
-#: templates/js/translated/table_filters.js:310
+#: part/models.py:2981 templates/js/translated/part.js:2103
+#: templates/js/translated/table_filters.js:314
msgid "Required"
msgstr ""
-#: part/models.py:2369
+#: part/models.py:2982
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2374 templates/js/translated/part.js:2087
+#: part/models.py:2987 templates/js/translated/part.js:2111
msgid "Requires Value"
msgstr ""
-#: part/models.py:2375
+#: part/models.py:2988
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2380 templates/js/translated/part.js:2094
+#: part/models.py:2993 templates/js/translated/part.js:2118
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2381
+#: part/models.py:2994
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:2422
+#: part/models.py:3035
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:2430
+#: part/models.py:3043
msgid "Parameter Name"
msgstr ""
-#: part/models.py:2434
+#: part/models.py:3047
msgid "Parameter Units"
msgstr ""
-#: part/models.py:2439
+#: part/models.py:3052
msgid "Parameter description"
msgstr ""
-#: part/models.py:2472
+#: part/models.py:3085
msgid "Parent Part"
msgstr ""
-#: part/models.py:2474 part/models.py:2522 part/models.py:2523
+#: part/models.py:3087 part/models.py:3135 part/models.py:3136
#: templates/InvenTree/settings/settings.html:224
msgid "Parameter Template"
msgstr ""
-#: part/models.py:2476
+#: part/models.py:3089
msgid "Data"
msgstr "데이터"
-#: part/models.py:2476
+#: part/models.py:3089
msgid "Parameter Value"
msgstr ""
-#: part/models.py:2527 templates/InvenTree/settings/settings.html:233
+#: part/models.py:3140 templates/InvenTree/settings/settings.html:233
msgid "Default Value"
msgstr ""
-#: part/models.py:2528
+#: part/models.py:3141
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:2565
+#: part/models.py:3178
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:2568 templates/js/translated/model_renderers.js:212
-msgid "Part ID"
-msgstr ""
-
-#: part/models.py:2569
+#: part/models.py:3182
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:2572
-msgid "Part Name"
-msgstr ""
-
-#: part/models.py:2576
-msgid "Part IPN"
-msgstr ""
-
-#: part/models.py:2577
+#: part/models.py:3190
msgid "Part IPN value"
msgstr ""
-#: part/models.py:2580
+#: part/models.py:3193
msgid "Level"
msgstr ""
-#: part/models.py:2581
+#: part/models.py:3194
msgid "BOM level"
msgstr ""
-#: part/models.py:2650
+#: part/models.py:3263
msgid "Select parent part"
msgstr ""
-#: part/models.py:2658
+#: part/models.py:3271
msgid "Sub part"
msgstr ""
-#: part/models.py:2659
+#: part/models.py:3272
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:2665
+#: part/models.py:3278
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:2669 part/templates/part/upload_bom.html:58
-#: templates/js/translated/bom.js:924 templates/js/translated/bom.js:1024
+#: part/models.py:3282 part/templates/part/upload_bom.html:58
+#: templates/js/translated/bom.js:933 templates/js/translated/bom.js:986
#: templates/js/translated/build.js:1858
#: templates/js/translated/table_filters.js:84
-#: templates/js/translated/table_filters.js:108
+#: templates/js/translated/table_filters.js:112
msgid "Optional"
msgstr ""
-#: part/models.py:2670
+#: part/models.py:3283
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:2675 templates/js/translated/bom.js:920
-#: templates/js/translated/bom.js:1033 templates/js/translated/build.js:1849
+#: part/models.py:3288 templates/js/translated/bom.js:929
+#: templates/js/translated/bom.js:995 templates/js/translated/build.js:1849
#: templates/js/translated/table_filters.js:88
msgid "Consumable"
msgstr ""
-#: part/models.py:2676
+#: part/models.py:3289
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:2680 part/templates/part/upload_bom.html:55
+#: part/models.py:3293 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:2681
+#: part/models.py:3294
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:2684
+#: part/models.py:3297
msgid "BOM item reference"
msgstr ""
-#: part/models.py:2687
+#: part/models.py:3300
msgid "BOM item notes"
msgstr ""
-#: part/models.py:2689
+#: part/models.py:3302
msgid "Checksum"
msgstr ""
-#: part/models.py:2689
+#: part/models.py:3302
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:2693 part/templates/part/upload_bom.html:57
-#: templates/js/translated/bom.js:1050
+#: part/models.py:3306 part/templates/part/upload_bom.html:57
+#: templates/js/translated/bom.js:1012
#: templates/js/translated/table_filters.js:76
-#: templates/js/translated/table_filters.js:104
+#: templates/js/translated/table_filters.js:108
msgid "Inherited"
msgstr ""
-#: part/models.py:2694
+#: part/models.py:3307
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:2699 part/templates/part/upload_bom.html:56
-#: templates/js/translated/bom.js:1042
+#: part/models.py:3312 part/templates/part/upload_bom.html:56
+#: templates/js/translated/bom.js:1004
msgid "Allow Variants"
msgstr ""
-#: part/models.py:2700
+#: part/models.py:3313
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:2786 stock/models.py:502
+#: part/models.py:3399 stock/models.py:518
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:2795 part/models.py:2797
+#: part/models.py:3408 part/models.py:3410
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:2902
+#: part/models.py:3537
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:2923
+#: part/models.py:3558
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:2936
+#: part/models.py:3571
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:2944
+#: part/models.py:3579
msgid "Substitute part"
msgstr ""
-#: part/models.py:2959
+#: part/models.py:3594
msgid "Part 1"
msgstr ""
-#: part/models.py:2963
+#: part/models.py:3598
msgid "Part 2"
msgstr ""
-#: part/models.py:2963
+#: part/models.py:3598
msgid "Select Related Part"
msgstr ""
-#: part/models.py:2981
+#: part/models.py:3616
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:2985
+#: part/models.py:3620
msgid "Duplicate relationship already exists"
msgstr ""
-#: part/serializers.py:154 part/serializers.py:185 stock/serializers.py:179
+#: part/serializers.py:154 part/serializers.py:182 stock/serializers.py:183
msgid "Purchase currency of this stock item"
msgstr ""
-#: part/serializers.py:829
+#: part/serializers.py:542
+msgid "Update"
+msgstr ""
+
+#: part/serializers.py:543
+msgid "Update pricing for this part"
+msgstr ""
+
+#: part/serializers.py:853
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:837
+#: part/serializers.py:861
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:838
+#: part/serializers.py:862
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:843
+#: part/serializers.py:867
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:844
+#: part/serializers.py:868
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:849
+#: part/serializers.py:873
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:850
+#: part/serializers.py:874
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:855
+#: part/serializers.py:879
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:856
+#: part/serializers.py:880
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/serializers.py:896
+#: part/serializers.py:920
msgid "Clear Existing BOM"
msgstr ""
-#: part/serializers.py:897
+#: part/serializers.py:921
msgid "Delete existing BOM items before uploading"
msgstr ""
-#: part/serializers.py:927
+#: part/serializers.py:951
msgid "No part column specified"
msgstr ""
-#: part/serializers.py:970
+#: part/serializers.py:994
msgid "Multiple matching parts found"
msgstr ""
-#: part/serializers.py:973
+#: part/serializers.py:997
msgid "No matching part found"
msgstr ""
-#: part/serializers.py:976
+#: part/serializers.py:1000
msgid "Part is not designated as a component"
msgstr ""
-#: part/serializers.py:985
+#: part/serializers.py:1009
msgid "Quantity not provided"
msgstr ""
-#: part/serializers.py:993
+#: part/serializers.py:1017
msgid "Invalid quantity"
msgstr ""
-#: part/serializers.py:1014
+#: part/serializers.py:1038
msgid "At least one BOM item is required"
msgstr ""
-#: part/tasks.py:21
+#: part/tasks.py:25
msgid "Low stock notification"
msgstr ""
-#: part/tasks.py:22
+#: part/tasks.py:26
#, python-brace-format
msgid "The available stock for {part.name} has fallen below the configured minimum level"
msgstr ""
@@ -5034,7 +5293,7 @@ msgstr ""
msgid "The BOM for %(part)s has not been validated."
msgstr ""
-#: part/templates/part/bom.html:30 part/templates/part/detail.html:269
+#: part/templates/part/bom.html:30 part/templates/part/detail.html:267
msgid "BOM actions"
msgstr ""
@@ -5070,10 +5329,6 @@ msgstr ""
msgid "Delete Category"
msgstr ""
-#: part/templates/part/category.html:81 part/templates/part/category.html:94
-msgid "Category Path"
-msgstr ""
-
#: part/templates/part/category.html:95
msgid "Top level part category"
msgstr ""
@@ -5091,12 +5346,12 @@ msgstr ""
msgid "Create new part"
msgstr ""
-#: part/templates/part/category.html:159 templates/js/translated/bom.js:392
+#: part/templates/part/category.html:159 templates/js/translated/bom.js:405
msgid "New Part"
msgstr ""
-#: part/templates/part/category.html:169 part/templates/part/detail.html:368
-#: part/templates/part/detail.html:399
+#: part/templates/part/category.html:169 part/templates/part/detail.html:366
+#: part/templates/part/detail.html:397
msgid "Options"
msgstr ""
@@ -5144,7 +5399,7 @@ msgstr ""
msgid "Import Parts"
msgstr ""
-#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:379
+#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:393
msgid "Duplicate Part"
msgstr ""
@@ -5176,7 +5431,8 @@ msgstr ""
msgid "Refresh scheduling data"
msgstr ""
-#: part/templates/part/detail.html:45 templates/js/translated/tables.js:524
+#: part/templates/part/detail.html:45 part/templates/part/prices.html:15
+#: templates/js/translated/tables.js:524
msgid "Refresh"
msgstr ""
@@ -5192,123 +5448,103 @@ msgstr ""
msgid "Sales Order Allocations"
msgstr ""
-#: part/templates/part/detail.html:143
+#: part/templates/part/detail.html:141
msgid "Part Notes"
msgstr ""
-#: part/templates/part/detail.html:158
+#: part/templates/part/detail.html:156
msgid "Part Variants"
msgstr ""
-#: part/templates/part/detail.html:162
+#: part/templates/part/detail.html:160
msgid "Create new variant"
msgstr ""
-#: part/templates/part/detail.html:163
+#: part/templates/part/detail.html:161
msgid "New Variant"
msgstr ""
-#: part/templates/part/detail.html:190
+#: part/templates/part/detail.html:188
msgid "Add new parameter"
msgstr ""
-#: part/templates/part/detail.html:227 part/templates/part/part_sidebar.html:54
+#: part/templates/part/detail.html:225 part/templates/part/part_sidebar.html:52
msgid "Related Parts"
msgstr ""
-#: part/templates/part/detail.html:231 part/templates/part/detail.html:232
+#: part/templates/part/detail.html:229 part/templates/part/detail.html:230
msgid "Add Related"
msgstr ""
-#: part/templates/part/detail.html:252 part/templates/part/part_sidebar.html:17
+#: part/templates/part/detail.html:250 part/templates/part/part_sidebar.html:17
msgid "Bill of Materials"
msgstr "부품 명세서"
-#: part/templates/part/detail.html:257
+#: part/templates/part/detail.html:255
msgid "Export actions"
msgstr ""
-#: part/templates/part/detail.html:261 templates/js/translated/bom.js:309
+#: part/templates/part/detail.html:259 templates/js/translated/bom.js:309
msgid "Export BOM"
msgstr ""
-#: part/templates/part/detail.html:263
+#: part/templates/part/detail.html:261
msgid "Print BOM Report"
msgstr ""
-#: part/templates/part/detail.html:273
+#: part/templates/part/detail.html:271
msgid "Upload BOM"
msgstr ""
-#: part/templates/part/detail.html:274 templates/js/translated/part.js:274
+#: part/templates/part/detail.html:272 templates/js/translated/part.js:270
msgid "Copy BOM"
msgstr ""
-#: part/templates/part/detail.html:275
+#: part/templates/part/detail.html:273
msgid "Validate BOM"
msgstr ""
-#: part/templates/part/detail.html:280 part/templates/part/detail.html:281
-#: templates/js/translated/bom.js:1202 templates/js/translated/bom.js:1203
+#: part/templates/part/detail.html:278 part/templates/part/detail.html:279
+#: templates/js/translated/bom.js:1267 templates/js/translated/bom.js:1268
msgid "Add BOM Item"
msgstr ""
-#: part/templates/part/detail.html:294
+#: part/templates/part/detail.html:292
msgid "Assemblies"
msgstr ""
-#: part/templates/part/detail.html:312
+#: part/templates/part/detail.html:310
msgid "Part Builds"
msgstr ""
-#: part/templates/part/detail.html:339 stock/templates/stock/item.html:38
+#: part/templates/part/detail.html:337 stock/templates/stock/item.html:38
msgid "Build Order Allocations"
msgstr ""
-#: part/templates/part/detail.html:355
+#: part/templates/part/detail.html:353
msgid "Part Suppliers"
msgstr ""
-#: part/templates/part/detail.html:385
+#: part/templates/part/detail.html:383
msgid "Part Manufacturers"
msgstr ""
-#: part/templates/part/detail.html:401
+#: part/templates/part/detail.html:399
msgid "Delete manufacturer parts"
msgstr ""
-#: part/templates/part/detail.html:658
+#: part/templates/part/detail.html:656
msgid "Related Part"
msgstr ""
-#: part/templates/part/detail.html:666
+#: part/templates/part/detail.html:664
msgid "Add Related Part"
msgstr ""
-#: part/templates/part/detail.html:758
+#: part/templates/part/detail.html:756
msgid "Add Test Result Template"
msgstr ""
-#: part/templates/part/detail.html:901
-#, python-format
-msgid "Purchase Unit Price - %(currency)s"
-msgstr ""
-
-#: part/templates/part/detail.html:913
-#, python-format
-msgid "Unit Price-Cost Difference - %(currency)s"
-msgstr ""
-
-#: part/templates/part/detail.html:925
-#, python-format
-msgid "Supplier Unit Cost - %(currency)s"
-msgstr ""
-
-#: part/templates/part/detail.html:1014
-#, python-format
-msgid "Unit Price - %(currency)s"
-msgstr ""
-
#: part/templates/part/import_wizard/ajax_match_fields.html:9
#: templates/patterns/wizard/match_fields.html:8
msgid "Missing selections for the following required columns"
@@ -5439,15 +5675,15 @@ msgid "Part is virtual (not a physical part)"
msgstr ""
#: part/templates/part/part_base.html:148
-#: templates/js/translated/company.js:659
-#: templates/js/translated/company.js:920
+#: templates/js/translated/company.js:660
+#: templates/js/translated/company.js:921
#: templates/js/translated/model_renderers.js:204
-#: templates/js/translated/part.js:652 templates/js/translated/part.js:729
+#: templates/js/translated/part.js:666 templates/js/translated/part.js:743
msgid "Inactive"
msgstr ""
#: part/templates/part/part_base.html:165
-#: part/templates/part/part_base.html:620
+#: part/templates/part/part_base.html:635
msgid "Show Part Details"
msgstr ""
@@ -5456,12 +5692,6 @@ msgstr ""
msgid "This part is a variant of %(link)s"
msgstr ""
-#: part/templates/part/part_base.html:200
-#: templates/js/translated/company.js:1027
-#: templates/js/translated/table_filters.js:209
-msgid "In Stock"
-msgstr ""
-
#: part/templates/part/part_base.html:221
#: stock/templates/stock/item_base.html:382
msgid "Allocated to Build Orders"
@@ -5472,100 +5702,91 @@ msgstr ""
msgid "Allocated to Sales Orders"
msgstr ""
-#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1100
+#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1165
msgid "Can Build"
msgstr ""
-#: part/templates/part/part_base.html:244 templates/js/translated/part.js:591
-#: templates/js/translated/part.js:611 templates/js/translated/part.js:1342
-#: templates/js/translated/part.js:1533
-msgid "Building"
-msgstr ""
-
#: part/templates/part/part_base.html:293
msgid "Minimum stock level"
msgstr ""
-#: part/templates/part/part_base.html:330
+#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1032
+#: templates/js/translated/part.js:783 templates/js/translated/part.js:1582
+#: templates/js/translated/pricing.js:124
+#: templates/js/translated/pricing.js:757
+msgid "Price Range"
+msgstr ""
+
+#: part/templates/part/part_base.html:345
msgid "Latest Serial Number"
msgstr ""
-#: part/templates/part/part_base.html:334
+#: part/templates/part/part_base.html:349
#: stock/templates/stock/item_base.html:331
msgid "Search for serial number"
msgstr "일련번호 검색"
-#: part/templates/part/part_base.html:431
+#: part/templates/part/part_base.html:446
msgid "Link Barcode to Part"
msgstr ""
-#: part/templates/part/part_base.html:477 part/templates/part/prices.html:149
+#: part/templates/part/part_base.html:492
msgid "Calculate"
msgstr ""
-#: part/templates/part/part_base.html:520
+#: part/templates/part/part_base.html:535
msgid "No matching images found"
msgstr ""
-#: part/templates/part/part_base.html:614
+#: part/templates/part/part_base.html:629
msgid "Hide Part Details"
msgstr ""
-#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:24
+#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:78
+#: part/templates/part/prices.html:238 templates/js/translated/pricing.js:218
msgid "Supplier Pricing"
msgstr ""
#: part/templates/part/part_pricing.html:26
#: part/templates/part/part_pricing.html:52
-#: part/templates/part/part_pricing.html:103
-#: part/templates/part/part_pricing.html:118 part/templates/part/prices.html:28
-#: part/templates/part/prices.html:55 part/templates/part/prices.html:108
-#: part/templates/part/prices.html:125
+#: part/templates/part/part_pricing.html:95
+#: part/templates/part/part_pricing.html:110
msgid "Unit Cost"
msgstr ""
#: part/templates/part/part_pricing.html:32
#: part/templates/part/part_pricing.html:58
-#: part/templates/part/part_pricing.html:107
-#: part/templates/part/part_pricing.html:122 part/templates/part/prices.html:35
-#: part/templates/part/prices.html:62 part/templates/part/prices.html:113
-#: part/templates/part/prices.html:130
+#: part/templates/part/part_pricing.html:99
+#: part/templates/part/part_pricing.html:114
msgid "Total Cost"
msgstr ""
-#: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:43
-#: templates/js/translated/bom.js:1091
+#: part/templates/part/part_pricing.html:40
msgid "No supplier pricing available"
msgstr ""
-#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:52
-#: part/templates/part/prices.html:248
+#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:94
+#: part/templates/part/prices.html:262
msgid "BOM Pricing"
msgstr ""
-#: part/templates/part/part_pricing.html:66 part/templates/part/prices.html:72
+#: part/templates/part/part_pricing.html:66
msgid "Unit Purchase Price"
msgstr ""
-#: part/templates/part/part_pricing.html:72 part/templates/part/prices.html:79
+#: part/templates/part/part_pricing.html:72
msgid "Total Purchase Price"
msgstr ""
-#: part/templates/part/part_pricing.html:82 part/templates/part/prices.html:89
-msgid "Note: BOM pricing is incomplete for this part"
-msgstr ""
-
-#: part/templates/part/part_pricing.html:91 part/templates/part/prices.html:98
+#: part/templates/part/part_pricing.html:83
msgid "No BOM pricing available"
msgstr ""
-#: part/templates/part/part_pricing.html:100
-#: part/templates/part/prices.html:107
+#: part/templates/part/part_pricing.html:92
msgid "Internal Price"
msgstr ""
-#: part/templates/part/part_pricing.html:131
-#: part/templates/part/prices.html:139
+#: part/templates/part/part_pricing.html:123
msgid "No pricing information is available for this part."
msgstr ""
@@ -5573,7 +5794,8 @@ msgstr ""
#: report/templates/report/inventree_test_report_base.html:97
#: templates/InvenTree/settings/plugin.html:63
#: templates/InvenTree/settings/plugin_settings.html:38
-#: templates/js/translated/order.js:2001 templates/js/translated/stock.js:2478
+#: templates/js/translated/order.js:2035 templates/js/translated/pricing.js:537
+#: templates/js/translated/pricing.js:658 templates/js/translated/stock.js:2496
msgid "Date"
msgstr ""
@@ -5585,15 +5807,11 @@ msgstr ""
msgid "Variants"
msgstr ""
-#: part/templates/part/part_sidebar.html:27
-msgid "Used In"
-msgstr ""
-
-#: part/templates/part/part_sidebar.html:46
+#: part/templates/part/part_sidebar.html:44
msgid "Scheduling"
msgstr ""
-#: part/templates/part/part_sidebar.html:50
+#: part/templates/part/part_sidebar.html:48
msgid "Test Templates"
msgstr ""
@@ -5601,74 +5819,82 @@ msgstr ""
msgid "Select from existing images"
msgstr ""
-#: part/templates/part/prices.html:19
-msgid "Pricing ranges"
+#: part/templates/part/prices.html:11
+msgid "Pricing Overview"
msgstr ""
-#: part/templates/part/prices.html:25
-msgid "Show supplier cost"
+#: part/templates/part/prices.html:14
+msgid "Refresh Part Pricing"
msgstr ""
-#: part/templates/part/prices.html:26
-msgid "Show purchase price"
+#: part/templates/part/prices.html:25 stock/admin.py:106
+#: stock/templates/stock/item_base.html:440
+#: templates/js/translated/company.js:1039
+#: templates/js/translated/stock.js:1920
+msgid "Last Updated"
msgstr ""
-#: part/templates/part/prices.html:53
-msgid "Show BOM cost"
+#: part/templates/part/prices.html:34 part/templates/part/prices.html:126
+msgid "Price Category"
msgstr ""
-#: part/templates/part/prices.html:122
-msgid "Show sale cost"
+#: part/templates/part/prices.html:35 part/templates/part/prices.html:127
+msgid "Minimum"
msgstr ""
-#: part/templates/part/prices.html:123
-msgid "Show sale price"
+#: part/templates/part/prices.html:36 part/templates/part/prices.html:128
+msgid "Maximum"
msgstr ""
-#: part/templates/part/prices.html:145
-msgid "Calculation parameters"
+#: part/templates/part/prices.html:49 part/templates/part/prices.html:185
+msgid "Internal Pricing"
msgstr ""
-#: part/templates/part/prices.html:160 templates/js/translated/bom.js:1085
-msgid "Supplier Cost"
+#: part/templates/part/prices.html:64 part/templates/part/prices.html:217
+msgid "Purchase History"
msgstr ""
-#: part/templates/part/prices.html:161 part/templates/part/prices.html:182
-#: part/templates/part/prices.html:206 part/templates/part/prices.html:236
-#: part/templates/part/prices.html:262 part/templates/part/prices.html:291
+#: part/templates/part/prices.html:103 part/templates/part/prices.html:286
+msgid "Variant Pricing"
+msgstr ""
+
+#: part/templates/part/prices.html:111
+msgid "Overall Pricing"
+msgstr ""
+
+#: part/templates/part/prices.html:155 part/templates/part/prices.html:338
+msgid "Sale History"
+msgstr ""
+
+#: part/templates/part/prices.html:168
+msgid "Sale price data is not available for this part"
+msgstr ""
+
+#: part/templates/part/prices.html:175
+msgid "Price range data is not available for this part."
+msgstr ""
+
+#: part/templates/part/prices.html:186 part/templates/part/prices.html:218
+#: part/templates/part/prices.html:239 part/templates/part/prices.html:263
+#: part/templates/part/prices.html:287 part/templates/part/prices.html:310
+#: part/templates/part/prices.html:339
msgid "Jump to overview"
msgstr ""
-#: part/templates/part/prices.html:186
-msgid "Stock Pricing"
-msgstr ""
-
-#: part/templates/part/prices.html:195
-msgid "No stock pricing history is available for this part."
-msgstr ""
-
-#: part/templates/part/prices.html:205
-msgid "Internal Cost"
-msgstr ""
-
-#: part/templates/part/prices.html:220
+#: part/templates/part/prices.html:191
msgid "Add Internal Price Break"
msgstr ""
-#: part/templates/part/prices.html:235
-msgid "BOM Cost"
+#: part/templates/part/prices.html:309
+msgid "Sale Pricing"
msgstr ""
-#: part/templates/part/prices.html:261
-msgid "Sale Cost"
+#: part/templates/part/prices.html:315
+msgid "Add Sell Price Break"
msgstr ""
-#: part/templates/part/prices.html:302
-msgid "No sale pice history available for this part."
-msgstr ""
-
-#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:614
-#: templates/js/translated/part.js:1330 templates/js/translated/part.js:1332
+#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:628
+#: templates/js/translated/part.js:1351 templates/js/translated/part.js:1353
msgid "No Stock"
msgstr ""
@@ -5722,40 +5948,36 @@ msgstr ""
msgid "Create a new variant of template '%(full_name)s'."
msgstr ""
-#: part/templatetags/inventree_extras.py:177
+#: part/templatetags/inventree_extras.py:210
msgid "Unknown database"
msgstr ""
-#: part/templatetags/inventree_extras.py:229
+#: part/templatetags/inventree_extras.py:262
#, python-brace-format
msgid "{title} v{version}"
msgstr ""
-#: part/views.py:114
+#: part/views.py:109
msgid "Match References"
msgstr ""
-#: part/views.py:415
-msgid "None"
-msgstr ""
-
-#: part/views.py:477
+#: part/views.py:354
msgid "Part QR Code"
msgstr ""
-#: part/views.py:495
+#: part/views.py:372
msgid "Select Part Image"
msgstr ""
-#: part/views.py:521
+#: part/views.py:398
msgid "Updated part image"
msgstr ""
-#: part/views.py:524
+#: part/views.py:401
msgid "Part image not found"
msgstr ""
-#: part/views.py:613
+#: part/views.py:493
msgid "Part Pricing"
msgstr ""
@@ -6070,12 +6292,12 @@ msgid "Stock Item Test Report"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:79
-#: stock/models.py:650 stock/templates/stock/item_base.html:320
+#: stock/models.py:666 stock/templates/stock/item_base.html:320
#: templates/js/translated/build.js:472 templates/js/translated/build.js:624
#: templates/js/translated/build.js:1234 templates/js/translated/build.js:1735
#: templates/js/translated/model_renderers.js:118
-#: templates/js/translated/order.js:121 templates/js/translated/order.js:3592
-#: templates/js/translated/order.js:3679 templates/js/translated/stock.js:490
+#: templates/js/translated/order.js:121 templates/js/translated/order.js:3603
+#: templates/js/translated/order.js:3690 templates/js/translated/stock.js:509
msgid "Serial Number"
msgstr "일련번호"
@@ -6084,12 +6306,12 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:93
-#: stock/models.py:2085
+#: stock/models.py:2101
msgid "Test"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:94
-#: stock/models.py:2091
+#: stock/models.py:2107
msgid "Result"
msgstr ""
@@ -6107,383 +6329,435 @@ msgid "Installed Items"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:137
-#: templates/js/translated/stock.js:610 templates/js/translated/stock.js:780
-#: templates/js/translated/stock.js:2727
+#: stock/admin.py:87 templates/js/translated/stock.js:629
+#: templates/js/translated/stock.js:799 templates/js/translated/stock.js:2745
msgid "Serial"
msgstr ""
-#: stock/api.py:529
+#: stock/admin.py:23 stock/admin.py:90
+#: templates/js/translated/model_renderers.js:159
+msgid "Location ID"
+msgstr ""
+
+#: stock/admin.py:24 stock/admin.py:91
+msgid "Location Name"
+msgstr ""
+
+#: stock/admin.py:28 stock/templates/stock/location.html:123
+#: stock/templates/stock/location.html:129
+msgid "Location Path"
+msgstr ""
+
+#: stock/admin.py:83
+msgid "Stock Item ID"
+msgstr ""
+
+#: stock/admin.py:92 templates/js/translated/model_renderers.js:418
+msgid "Supplier Part ID"
+msgstr ""
+
+#: stock/admin.py:93
+msgid "Supplier ID"
+msgstr ""
+
+#: stock/admin.py:94
+msgid "Supplier Name"
+msgstr ""
+
+#: stock/admin.py:95
+msgid "Customer ID"
+msgstr ""
+
+#: stock/admin.py:96 stock/models.py:649
+#: stock/templates/stock/item_base.html:359
+msgid "Installed In"
+msgstr ""
+
+#: stock/admin.py:97 templates/js/translated/model_renderers.js:177
+msgid "Build ID"
+msgstr ""
+
+#: stock/admin.py:99
+msgid "Sales Order ID"
+msgstr ""
+
+#: stock/admin.py:100
+msgid "Purchase Order ID"
+msgstr ""
+
+#: stock/admin.py:107 templates/js/translated/stock.js:1890
+msgid "Stocktake"
+msgstr ""
+
+#: stock/admin.py:108 stock/models.py:724
+#: stock/templates/stock/item_base.html:427
+#: templates/js/translated/stock.js:1904
+msgid "Expiry Date"
+msgstr ""
+
+#: stock/api.py:539
msgid "Quantity is required"
msgstr ""
-#: stock/api.py:536
+#: stock/api.py:546
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:561
+#: stock/api.py:571
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/models.py:90 stock/models.py:746
+#: stock/models.py:106 stock/models.py:762
#: stock/templates/stock/item_base.html:250
msgid "Owner"
msgstr ""
-#: stock/models.py:91 stock/models.py:747
+#: stock/models.py:107 stock/models.py:763
msgid "Select Owner"
msgstr ""
-#: stock/models.py:508 stock/serializers.py:93
+#: stock/models.py:524 stock/serializers.py:97
msgid "Stock item cannot be created for virtual parts"
msgstr ""
-#: stock/models.py:525
+#: stock/models.py:541
#, python-brace-format
msgid "Part type ('{pf}') must be {pe}"
msgstr ""
-#: stock/models.py:535 stock/models.py:544
+#: stock/models.py:551 stock/models.py:560
msgid "Quantity must be 1 for item with a serial number"
msgstr ""
-#: stock/models.py:536
+#: stock/models.py:552
msgid "Serial number cannot be set if quantity greater than 1"
msgstr ""
-#: stock/models.py:558
+#: stock/models.py:574
msgid "Item cannot belong to itself"
msgstr ""
-#: stock/models.py:564
+#: stock/models.py:580
msgid "Item must have a build reference if is_building=True"
msgstr ""
-#: stock/models.py:578
+#: stock/models.py:594
msgid "Build reference does not point to the same part object"
msgstr ""
-#: stock/models.py:592
+#: stock/models.py:608
msgid "Parent Stock Item"
msgstr ""
-#: stock/models.py:602
+#: stock/models.py:618
msgid "Base part"
msgstr ""
-#: stock/models.py:610
+#: stock/models.py:626
msgid "Select a matching supplier part for this stock item"
msgstr ""
-#: stock/models.py:617 stock/templates/stock/location.html:17
+#: stock/models.py:633 stock/templates/stock/location.html:17
#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
msgstr ""
-#: stock/models.py:620
+#: stock/models.py:636
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:627
+#: stock/models.py:643
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:633 stock/templates/stock/item_base.html:359
-msgid "Installed In"
-msgstr ""
-
-#: stock/models.py:636
+#: stock/models.py:652
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:652
+#: stock/models.py:668
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:666
+#: stock/models.py:682
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:671
+#: stock/models.py:687
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:680
+#: stock/models.py:696
msgid "Source Build"
msgstr ""
-#: stock/models.py:682
+#: stock/models.py:698
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:693
+#: stock/models.py:709
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:696
+#: stock/models.py:712
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:702
+#: stock/models.py:718
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:708 stock/templates/stock/item_base.html:427
-#: templates/js/translated/stock.js:1885
-msgid "Expiry Date"
-msgstr ""
-
-#: stock/models.py:709
+#: stock/models.py:725
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:722
+#: stock/models.py:738
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:722
+#: stock/models.py:738
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:734 stock/templates/stock/item.html:132
+#: stock/models.py:750 stock/templates/stock/item.html:132
msgid "Stock Item Notes"
msgstr ""
-#: stock/models.py:742
+#: stock/models.py:758
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:770
+#: stock/models.py:786
msgid "Converted to part"
msgstr ""
-#: stock/models.py:1244
+#: stock/models.py:1260
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1250
+#: stock/models.py:1266
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1256
+#: stock/models.py:1272
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr ""
-#: stock/models.py:1259
+#: stock/models.py:1275
msgid "Serial numbers must be a list of integers"
msgstr ""
-#: stock/models.py:1262
+#: stock/models.py:1278
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1269
+#: stock/models.py:1285
#, python-brace-format
msgid "Serial numbers already exist: {exists}"
msgstr ""
-#: stock/models.py:1339
+#: stock/models.py:1355
msgid "Stock item has been assigned to a sales order"
msgstr ""
-#: stock/models.py:1342
+#: stock/models.py:1358
msgid "Stock item is installed in another item"
msgstr ""
-#: stock/models.py:1345
+#: stock/models.py:1361
msgid "Stock item contains other items"
msgstr ""
-#: stock/models.py:1348
+#: stock/models.py:1364
msgid "Stock item has been assigned to a customer"
msgstr ""
-#: stock/models.py:1351
+#: stock/models.py:1367
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:1354
+#: stock/models.py:1370
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1361 stock/serializers.py:963
+#: stock/models.py:1377 stock/serializers.py:962
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:1365
+#: stock/models.py:1381
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:1369
+#: stock/models.py:1385
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:1373
+#: stock/models.py:1389
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:1542
+#: stock/models.py:1558
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:2003
+#: stock/models.py:2019
msgid "Entry notes"
msgstr ""
-#: stock/models.py:2061
+#: stock/models.py:2077
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:2067
+#: stock/models.py:2083
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:2086
+#: stock/models.py:2102
msgid "Test name"
msgstr ""
-#: stock/models.py:2092
+#: stock/models.py:2108
msgid "Test result"
msgstr ""
-#: stock/models.py:2098
+#: stock/models.py:2114
msgid "Test output value"
msgstr ""
-#: stock/models.py:2105
+#: stock/models.py:2121
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2111
+#: stock/models.py:2127
msgid "Test notes"
msgstr ""
-#: stock/serializers.py:71
+#: stock/serializers.py:75
msgid "Serial number is too large"
msgstr ""
-#: stock/serializers.py:172
+#: stock/serializers.py:176
msgid "Purchase price of this stock item"
msgstr ""
-#: stock/serializers.py:292
+#: stock/serializers.py:286
msgid "Enter number of stock items to serialize"
msgstr ""
-#: stock/serializers.py:304
+#: stock/serializers.py:298
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({q})"
msgstr ""
-#: stock/serializers.py:310
+#: stock/serializers.py:304
msgid "Enter serial numbers for new items"
msgstr ""
-#: stock/serializers.py:321 stock/serializers.py:920 stock/serializers.py:1153
+#: stock/serializers.py:315 stock/serializers.py:919 stock/serializers.py:1152
msgid "Destination stock location"
msgstr ""
-#: stock/serializers.py:328
+#: stock/serializers.py:322
msgid "Optional note field"
msgstr ""
-#: stock/serializers.py:338
+#: stock/serializers.py:332
msgid "Serial numbers cannot be assigned to this part"
msgstr ""
-#: stock/serializers.py:359
+#: stock/serializers.py:353
msgid "Serial numbers already exist"
msgstr "일련번호가 이미 존재합니다"
-#: stock/serializers.py:399
+#: stock/serializers.py:393
msgid "Select stock item to install"
msgstr ""
-#: stock/serializers.py:412
+#: stock/serializers.py:406
msgid "Stock item is unavailable"
msgstr ""
-#: stock/serializers.py:419
+#: stock/serializers.py:413
msgid "Selected part is not in the Bill of Materials"
msgstr ""
-#: stock/serializers.py:456
+#: stock/serializers.py:450
msgid "Destination location for uninstalled item"
msgstr ""
-#: stock/serializers.py:461 stock/serializers.py:542
+#: stock/serializers.py:455 stock/serializers.py:536
msgid "Add transaction note (optional)"
msgstr ""
-#: stock/serializers.py:495
+#: stock/serializers.py:489
msgid "Select part to convert stock item into"
msgstr ""
-#: stock/serializers.py:506
+#: stock/serializers.py:500
msgid "Selected part is not a valid option for conversion"
msgstr ""
-#: stock/serializers.py:537
+#: stock/serializers.py:531
msgid "Destination location for returned item"
msgstr ""
-#: stock/serializers.py:775
+#: stock/serializers.py:774
msgid "Part must be salable"
msgstr ""
-#: stock/serializers.py:779
+#: stock/serializers.py:778
msgid "Item is allocated to a sales order"
msgstr ""
-#: stock/serializers.py:783
+#: stock/serializers.py:782
msgid "Item is allocated to a build order"
msgstr ""
-#: stock/serializers.py:814
+#: stock/serializers.py:813
msgid "Customer to assign stock items"
msgstr ""
-#: stock/serializers.py:820
+#: stock/serializers.py:819
msgid "Selected company is not a customer"
msgstr ""
-#: stock/serializers.py:828
+#: stock/serializers.py:827
msgid "Stock assignment notes"
msgstr ""
-#: stock/serializers.py:838 stock/serializers.py:1069
+#: stock/serializers.py:837 stock/serializers.py:1068
msgid "A list of stock items must be provided"
msgstr ""
-#: stock/serializers.py:927
+#: stock/serializers.py:926
msgid "Stock merging notes"
msgstr ""
-#: stock/serializers.py:932
+#: stock/serializers.py:931
msgid "Allow mismatched suppliers"
msgstr ""
-#: stock/serializers.py:933
+#: stock/serializers.py:932
msgid "Allow stock items with different supplier parts to be merged"
msgstr ""
-#: stock/serializers.py:938
+#: stock/serializers.py:937
msgid "Allow mismatched status"
msgstr ""
-#: stock/serializers.py:939
+#: stock/serializers.py:938
msgid "Allow stock items with different status codes to be merged"
msgstr ""
-#: stock/serializers.py:949
+#: stock/serializers.py:948
msgid "At least two stock items must be provided"
msgstr ""
-#: stock/serializers.py:1031
+#: stock/serializers.py:1030
msgid "StockItem primary key value"
msgstr ""
-#: stock/serializers.py:1059
+#: stock/serializers.py:1058
msgid "Stock transaction notes"
msgstr ""
@@ -6520,7 +6794,7 @@ msgstr ""
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2871
+#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2889
msgid "Install Stock Item"
msgstr ""
@@ -6528,7 +6802,7 @@ msgstr ""
msgid "Delete all test results for this stock item"
msgstr ""
-#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1522
+#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1541
msgid "Add Test Result"
msgstr ""
@@ -6687,7 +6961,7 @@ msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:431
-#: templates/js/translated/table_filters.js:277
+#: templates/js/translated/table_filters.js:281
msgid "Expired"
msgstr ""
@@ -6697,16 +6971,10 @@ msgid "This StockItem expires on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/table_filters.js:283
+#: templates/js/translated/table_filters.js:287
msgid "Stale"
msgstr ""
-#: stock/templates/stock/item_base.html:440
-#: templates/js/translated/company.js:1038
-#: templates/js/translated/stock.js:1901
-msgid "Last Updated"
-msgstr ""
-
#: stock/templates/stock/item_base.html:445
msgid "Last Stocktake"
msgstr ""
@@ -6783,11 +7051,6 @@ msgstr ""
msgid "Delete location"
msgstr ""
-#: stock/templates/stock/location.html:123
-#: stock/templates/stock/location.html:129
-msgid "Location Path"
-msgstr ""
-
#: stock/templates/stock/location.html:130
msgid "Top level stock location"
msgstr ""
@@ -6960,6 +7223,14 @@ msgstr ""
msgid "Overdue Sales Orders"
msgstr ""
+#: templates/InvenTree/index.html:312
+msgid "InvenTree News"
+msgstr ""
+
+#: templates/InvenTree/index.html:314
+msgid "Current News"
+msgstr ""
+
#: templates/InvenTree/notifications/history.html:9
msgid "Notification History"
msgstr ""
@@ -7026,30 +7297,6 @@ msgstr ""
msgid "Category Settings"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:8
-msgid "Currency Settings"
-msgstr ""
-
-#: templates/InvenTree/settings/currencies.html:19
-msgid "Base Currency"
-msgstr ""
-
-#: templates/InvenTree/settings/currencies.html:24
-msgid "Exchange Rates"
-msgstr ""
-
-#: templates/InvenTree/settings/currencies.html:38
-msgid "Last Update"
-msgstr ""
-
-#: templates/InvenTree/settings/currencies.html:44
-msgid "Never"
-msgstr ""
-
-#: templates/InvenTree/settings/currencies.html:49
-msgid "Update Now"
-msgstr "지금 업데이트"
-
#: templates/InvenTree/settings/global.html:9
msgid "Server Settings"
msgstr "서버 설정"
@@ -7090,15 +7337,15 @@ msgstr "새 탭에서 열기"
msgid "Part Settings"
msgstr ""
-#: templates/InvenTree/settings/part.html:46
+#: templates/InvenTree/settings/part.html:40
msgid "Part Import"
msgstr ""
-#: templates/InvenTree/settings/part.html:50
+#: templates/InvenTree/settings/part.html:44
msgid "Import Part"
msgstr ""
-#: templates/InvenTree/settings/part.html:64
+#: templates/InvenTree/settings/part.html:58
msgid "Part Parameter Templates"
msgstr ""
@@ -7125,11 +7372,6 @@ msgstr ""
msgid "External plugins are not enabled for this InvenTree installation"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:62
-#: templates/InvenTree/settings/plugin_settings.html:33
-msgid "Author"
-msgstr "작성자"
-
#: templates/InvenTree/settings/plugin.html:64
#: templates/InvenTree/settings/plugin_settings.html:43
msgid "Version"
@@ -7239,6 +7481,39 @@ msgstr ""
msgid "Purchase Order Settings"
msgstr ""
+#: templates/InvenTree/settings/pricing.html:7
+msgid "Pricing Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:24
+msgid "Currency Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:30
+msgid "Update Now"
+msgstr "지금 업데이트"
+
+#: templates/InvenTree/settings/pricing.html:39
+#: templates/InvenTree/settings/pricing.html:43
+msgid "Last Update"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:43
+msgid "Never"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:53
+msgid "Base Currency"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:58
+msgid "Exchange Rates"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:60
+msgid "Rate"
+msgstr ""
+
#: templates/InvenTree/settings/report.html:8
#: templates/InvenTree/settings/user_reports.html:9
msgid "Report Settings"
@@ -7295,6 +7570,7 @@ msgid "No part parameter templates found"
msgstr ""
#: templates/InvenTree/settings/settings.html:338
+#: templates/js/translated/news.js:28
#: templates/js/translated/notification.js:36
msgid "ID"
msgstr ""
@@ -7357,10 +7633,6 @@ msgstr ""
msgid "Server Configuration"
msgstr ""
-#: templates/InvenTree/settings/sidebar.html:35
-msgid "Currencies"
-msgstr ""
-
#: templates/InvenTree/settings/sidebar.html:43
msgid "Categories"
msgstr ""
@@ -7380,7 +7652,7 @@ msgid "Change Password"
msgstr "비밀번호 변경"
#: templates/InvenTree/settings/user.html:23
-#: templates/js/translated/helpers.js:31 templates/notes_buttons.html:3
+#: templates/js/translated/helpers.js:33 templates/notes_buttons.html:3
#: templates/notes_buttons.html:4
msgid "Edit"
msgstr ""
@@ -7890,7 +8162,7 @@ msgid "The following parts are low on required stock"
msgstr ""
#: templates/email/build_order_required_stock.html:18
-#: templates/js/translated/bom.js:1566
+#: templates/js/translated/bom.js:1629
msgid "Required Quantity"
msgstr ""
@@ -7904,7 +8176,7 @@ msgid "Click on the following link to view this part"
msgstr ""
#: templates/email/low_stock_notification.html:19
-#: templates/js/translated/part.js:2566
+#: templates/js/translated/part.js:2423
msgid "Minimum Quantity"
msgstr ""
@@ -8057,7 +8329,7 @@ msgstr ""
msgid "Unlink"
msgstr ""
-#: templates/js/translated/barcode.js:500 templates/js/translated/stock.js:1054
+#: templates/js/translated/barcode.js:500 templates/js/translated/stock.js:1073
msgid "Remove stock item"
msgstr ""
@@ -8127,10 +8399,10 @@ msgstr ""
msgid "Row Data"
msgstr ""
-#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:646
+#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:659
#: templates/js/translated/modals.js:56 templates/js/translated/modals.js:601
#: templates/js/translated/modals.js:695 templates/js/translated/modals.js:1003
-#: templates/js/translated/order.js:1179 templates/modals.html:15
+#: templates/js/translated/order.js:1213 templates/modals.html:15
#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50
msgid "Close"
msgstr ""
@@ -8140,12 +8412,12 @@ msgid "Download BOM Template"
msgstr ""
#: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312
-#: templates/js/translated/order.js:960 templates/js/translated/tables.js:145
+#: templates/js/translated/order.js:994 templates/js/translated/tables.js:145
msgid "Format"
msgstr ""
#: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313
-#: templates/js/translated/order.js:961
+#: templates/js/translated/order.js:995
msgid "Select file format"
msgstr ""
@@ -8197,118 +8469,130 @@ msgstr ""
msgid "Include part supplier data in exported BOM"
msgstr ""
-#: templates/js/translated/bom.js:537
+#: templates/js/translated/bom.js:358
+msgid "Include Pricing Data"
+msgstr ""
+
+#: templates/js/translated/bom.js:359
+msgid "Include part pricing data in exported BOM"
+msgstr ""
+
+#: templates/js/translated/bom.js:550
msgid "Remove substitute part"
msgstr ""
-#: templates/js/translated/bom.js:591
+#: templates/js/translated/bom.js:604
msgid "Select and add a new substitute part using the input below"
msgstr ""
-#: templates/js/translated/bom.js:602
+#: templates/js/translated/bom.js:615
msgid "Are you sure you wish to remove this substitute part link?"
msgstr ""
-#: templates/js/translated/bom.js:608
+#: templates/js/translated/bom.js:621
msgid "Remove Substitute Part"
msgstr ""
-#: templates/js/translated/bom.js:647
+#: templates/js/translated/bom.js:660
msgid "Add Substitute"
msgstr ""
-#: templates/js/translated/bom.js:648
+#: templates/js/translated/bom.js:661
msgid "Edit BOM Item Substitutes"
msgstr ""
-#: templates/js/translated/bom.js:710
+#: templates/js/translated/bom.js:723
msgid "All selected BOM items will be deleted"
msgstr ""
-#: templates/js/translated/bom.js:726
+#: templates/js/translated/bom.js:739
msgid "Delete selected BOM items?"
msgstr ""
-#: templates/js/translated/bom.js:860
+#: templates/js/translated/bom.js:868
msgid "Load BOM for subassembly"
msgstr ""
-#: templates/js/translated/bom.js:870
+#: templates/js/translated/bom.js:878
msgid "Substitutes Available"
msgstr ""
-#: templates/js/translated/bom.js:874 templates/js/translated/build.js:1835
+#: templates/js/translated/bom.js:882 templates/js/translated/build.js:1835
msgid "Variant stock allowed"
msgstr ""
-#: templates/js/translated/bom.js:983 templates/js/translated/build.js:1907
-#: templates/js/translated/order.js:3927
-msgid "No Stock Available"
-msgstr ""
-
-#: templates/js/translated/bom.js:988 templates/js/translated/build.js:1911
-msgid "Includes variant and substitute stock"
-msgstr ""
-
-#: templates/js/translated/bom.js:990 templates/js/translated/build.js:1913
-#: templates/js/translated/part.js:761 templates/js/translated/part.js:1539
-msgid "Includes variant stock"
-msgstr ""
-
-#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1915
-msgid "Includes substitute stock"
-msgstr ""
-
-#: templates/js/translated/bom.js:1010
+#: templates/js/translated/bom.js:972
msgid "Substitutes"
msgstr ""
-#: templates/js/translated/bom.js:1061 templates/js/translated/bom.js:1195
+#: templates/js/translated/bom.js:1023 templates/js/translated/bom.js:1260
msgid "View BOM"
msgstr ""
-#: templates/js/translated/bom.js:1071
-msgid "Purchase Price Range"
+#: templates/js/translated/bom.js:1094
+msgid "BOM pricing is complete"
msgstr ""
-#: templates/js/translated/bom.js:1078
-msgid "Purchase Price Average"
+#: templates/js/translated/bom.js:1099
+msgid "BOM pricing is incomplete"
msgstr ""
-#: templates/js/translated/bom.js:1106 templates/js/translated/build.js:1898
+#: templates/js/translated/bom.js:1106
+msgid "No pricing available"
+msgstr ""
+
+#: templates/js/translated/bom.js:1137 templates/js/translated/build.js:1907
+#: templates/js/translated/order.js:3924
+msgid "No Stock Available"
+msgstr ""
+
+#: templates/js/translated/bom.js:1142 templates/js/translated/build.js:1911
+msgid "Includes variant and substitute stock"
+msgstr ""
+
+#: templates/js/translated/bom.js:1144 templates/js/translated/build.js:1913
+#: templates/js/translated/part.js:775 templates/js/translated/part.js:1550
+msgid "Includes variant stock"
+msgstr ""
+
+#: templates/js/translated/bom.js:1146 templates/js/translated/build.js:1915
+msgid "Includes substitute stock"
+msgstr ""
+
+#: templates/js/translated/bom.js:1171 templates/js/translated/build.js:1898
#: templates/js/translated/build.js:1985
msgid "Consumable item"
msgstr ""
-#: templates/js/translated/bom.js:1166
+#: templates/js/translated/bom.js:1231
msgid "Validate BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1168
+#: templates/js/translated/bom.js:1233
msgid "This line has been validated"
msgstr ""
-#: templates/js/translated/bom.js:1170
+#: templates/js/translated/bom.js:1235
msgid "Edit substitute parts"
msgstr ""
-#: templates/js/translated/bom.js:1172 templates/js/translated/bom.js:1369
+#: templates/js/translated/bom.js:1237 templates/js/translated/bom.js:1433
msgid "Edit BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1174
+#: templates/js/translated/bom.js:1239
msgid "Delete BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1280 templates/js/translated/build.js:1679
+#: templates/js/translated/bom.js:1344 templates/js/translated/build.js:1679
msgid "No BOM items found"
msgstr ""
-#: templates/js/translated/bom.js:1549 templates/js/translated/build.js:1818
+#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1818
msgid "Required Part"
msgstr ""
-#: templates/js/translated/bom.js:1575
+#: templates/js/translated/bom.js:1638
msgid "Inherited from parent BOM"
msgstr ""
@@ -8353,12 +8637,12 @@ msgid "Complete Build Order"
msgstr ""
#: templates/js/translated/build.js:311 templates/js/translated/stock.js:92
-#: templates/js/translated/stock.js:214
+#: templates/js/translated/stock.js:233
msgid "Next available serial number"
msgstr ""
#: templates/js/translated/build.js:313 templates/js/translated/stock.js:94
-#: templates/js/translated/stock.js:216
+#: templates/js/translated/stock.js:235
msgid "Latest serial number"
msgstr ""
@@ -8455,12 +8739,12 @@ msgid "No required tests for this build"
msgstr ""
#: templates/js/translated/build.js:1775 templates/js/translated/build.js:2765
-#: templates/js/translated/order.js:3627
+#: templates/js/translated/order.js:3638
msgid "Edit stock allocation"
msgstr ""
#: templates/js/translated/build.js:1777 templates/js/translated/build.js:2766
-#: templates/js/translated/order.js:3628
+#: templates/js/translated/order.js:3639
msgid "Delete stock allocation"
msgstr ""
@@ -8480,20 +8764,15 @@ msgstr ""
msgid "Quantity Per"
msgstr ""
-#: templates/js/translated/build.js:1901 templates/js/translated/order.js:3934
+#: templates/js/translated/build.js:1901 templates/js/translated/order.js:3931
msgid "Insufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3932
+#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3929
msgid "Sufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1937 templates/js/translated/build.js:2195
-#: templates/js/translated/build.js:2761 templates/js/translated/order.js:3946
-msgid "Allocated"
-msgstr ""
-
-#: templates/js/translated/build.js:1993 templates/js/translated/order.js:4026
+#: templates/js/translated/build.js:1993 templates/js/translated/order.js:4023
msgid "Build stock"
msgstr ""
@@ -8501,21 +8780,21 @@ msgstr ""
msgid "Order stock"
msgstr ""
-#: templates/js/translated/build.js:2000 templates/js/translated/order.js:4019
+#: templates/js/translated/build.js:2000 templates/js/translated/order.js:4016
msgid "Allocate stock"
msgstr ""
#: templates/js/translated/build.js:2039 templates/js/translated/label.js:172
-#: templates/js/translated/order.js:1007 templates/js/translated/order.js:3154
+#: templates/js/translated/order.js:1041 templates/js/translated/order.js:3165
#: templates/js/translated/report.js:225
msgid "Select Parts"
msgstr ""
-#: templates/js/translated/build.js:2040 templates/js/translated/order.js:3155
+#: templates/js/translated/build.js:2040 templates/js/translated/order.js:3166
msgid "You must select at least one part to allocate"
msgstr ""
-#: templates/js/translated/build.js:2089 templates/js/translated/order.js:3103
+#: templates/js/translated/build.js:2089 templates/js/translated/order.js:3114
msgid "Specify stock allocation quantity"
msgstr ""
@@ -8527,7 +8806,7 @@ msgstr ""
msgid "All selected parts have been fully allocated"
msgstr ""
-#: templates/js/translated/build.js:2183 templates/js/translated/order.js:3169
+#: templates/js/translated/build.js:2183 templates/js/translated/order.js:3180
msgid "Select source location (leave blank to take from all locations)"
msgstr ""
@@ -8535,11 +8814,11 @@ msgstr ""
msgid "Allocate Stock Items to Build Order"
msgstr ""
-#: templates/js/translated/build.js:2222 templates/js/translated/order.js:3266
+#: templates/js/translated/build.js:2222 templates/js/translated/order.js:3277
msgid "No matching stock locations"
msgstr ""
-#: templates/js/translated/build.js:2294 templates/js/translated/order.js:3343
+#: templates/js/translated/build.js:2294 templates/js/translated/order.js:3354
msgid "No matching stock items"
msgstr ""
@@ -8571,9 +8850,9 @@ msgstr ""
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:2558 templates/js/translated/part.js:1423
-#: templates/js/translated/part.js:1957 templates/js/translated/stock.js:1686
-#: templates/js/translated/stock.js:2390
+#: templates/js/translated/build.js:2558 templates/js/translated/part.js:1444
+#: templates/js/translated/part.js:1981 templates/js/translated/stock.js:1705
+#: templates/js/translated/stock.js:2408
msgid "Select"
msgstr "선택"
@@ -8585,7 +8864,7 @@ msgstr ""
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2636 templates/js/translated/stock.js:2657
+#: templates/js/translated/build.js:2636 templates/js/translated/stock.js:2675
msgid "No user information"
msgstr ""
@@ -8593,118 +8872,144 @@ msgstr ""
msgid "No parts allocated for"
msgstr ""
-#: templates/js/translated/company.js:66
+#: templates/js/translated/company.js:67
msgid "Add Manufacturer"
msgstr ""
-#: templates/js/translated/company.js:79 templates/js/translated/company.js:181
+#: templates/js/translated/company.js:80 templates/js/translated/company.js:182
msgid "Add Manufacturer Part"
msgstr ""
-#: templates/js/translated/company.js:100
+#: templates/js/translated/company.js:101
msgid "Edit Manufacturer Part"
msgstr ""
-#: templates/js/translated/company.js:169 templates/js/translated/order.js:576
+#: templates/js/translated/company.js:170 templates/js/translated/order.js:576
msgid "Add Supplier"
msgstr ""
-#: templates/js/translated/company.js:197 templates/js/translated/order.js:828
+#: templates/js/translated/company.js:198 templates/js/translated/order.js:862
msgid "Add Supplier Part"
msgstr ""
-#: templates/js/translated/company.js:297
+#: templates/js/translated/company.js:298
msgid "All selected supplier parts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:313
+#: templates/js/translated/company.js:314
msgid "Delete Supplier Parts"
msgstr ""
-#: templates/js/translated/company.js:385
+#: templates/js/translated/company.js:386
msgid "Add new Company"
msgstr ""
-#: templates/js/translated/company.js:462
+#: templates/js/translated/company.js:463
msgid "Parts Supplied"
msgstr ""
-#: templates/js/translated/company.js:471
+#: templates/js/translated/company.js:472
msgid "Parts Manufactured"
msgstr ""
-#: templates/js/translated/company.js:486
+#: templates/js/translated/company.js:487
msgid "No company information found"
msgstr ""
-#: templates/js/translated/company.js:527
+#: templates/js/translated/company.js:528
msgid "All selected manufacturer parts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:542
+#: templates/js/translated/company.js:543
msgid "Delete Manufacturer Parts"
msgstr ""
-#: templates/js/translated/company.js:576
+#: templates/js/translated/company.js:577
msgid "All selected parameters will be deleted"
msgstr ""
-#: templates/js/translated/company.js:590
+#: templates/js/translated/company.js:591
msgid "Delete Parameters"
msgstr ""
-#: templates/js/translated/company.js:631
+#: templates/js/translated/company.js:632
msgid "No manufacturer parts found"
msgstr ""
-#: templates/js/translated/company.js:651
-#: templates/js/translated/company.js:912 templates/js/translated/part.js:636
-#: templates/js/translated/part.js:721
+#: templates/js/translated/company.js:652
+#: templates/js/translated/company.js:913 templates/js/translated/part.js:650
+#: templates/js/translated/part.js:735
msgid "Template part"
msgstr ""
-#: templates/js/translated/company.js:655
-#: templates/js/translated/company.js:916 templates/js/translated/part.js:640
-#: templates/js/translated/part.js:725
+#: templates/js/translated/company.js:656
+#: templates/js/translated/company.js:917 templates/js/translated/part.js:654
+#: templates/js/translated/part.js:739
msgid "Assembled part"
msgstr ""
-#: templates/js/translated/company.js:783 templates/js/translated/part.js:828
+#: templates/js/translated/company.js:784 templates/js/translated/part.js:855
msgid "No parameters found"
msgstr ""
-#: templates/js/translated/company.js:820 templates/js/translated/part.js:870
+#: templates/js/translated/company.js:821 templates/js/translated/part.js:897
msgid "Edit parameter"
msgstr ""
-#: templates/js/translated/company.js:821 templates/js/translated/part.js:871
+#: templates/js/translated/company.js:822 templates/js/translated/part.js:898
msgid "Delete parameter"
msgstr ""
-#: templates/js/translated/company.js:840 templates/js/translated/part.js:888
+#: templates/js/translated/company.js:841 templates/js/translated/part.js:915
msgid "Edit Parameter"
msgstr ""
-#: templates/js/translated/company.js:851 templates/js/translated/part.js:900
+#: templates/js/translated/company.js:852 templates/js/translated/part.js:927
msgid "Delete Parameter"
msgstr ""
-#: templates/js/translated/company.js:891
+#: templates/js/translated/company.js:892
msgid "No supplier parts found"
msgstr ""
-#: templates/js/translated/company.js:1032
+#: templates/js/translated/company.js:1033
msgid "Availability"
msgstr ""
-#: templates/js/translated/company.js:1055
+#: templates/js/translated/company.js:1056
msgid "Edit supplier part"
msgstr ""
-#: templates/js/translated/company.js:1056
+#: templates/js/translated/company.js:1057
msgid "Delete supplier part"
msgstr ""
+#: templates/js/translated/company.js:1112
+#: templates/js/translated/pricing.js:423
+msgid "Delete Price Break"
+msgstr ""
+
+#: templates/js/translated/company.js:1128
+#: templates/js/translated/pricing.js:437
+msgid "Edit Price Break"
+msgstr ""
+
+#: templates/js/translated/company.js:1145
+msgid "No price break information found"
+msgstr ""
+
+#: templates/js/translated/company.js:1174
+msgid "Last updated"
+msgstr ""
+
+#: templates/js/translated/company.js:1180
+msgid "Edit price break"
+msgstr ""
+
+#: templates/js/translated/company.js:1181
+msgid "Delete price break"
+msgstr ""
+
#: templates/js/translated/filters.js:178
#: templates/js/translated/filters.js:441
msgid "true"
@@ -8785,27 +9090,27 @@ msgstr ""
msgid "Clear input"
msgstr ""
-#: templates/js/translated/forms.js:2638
+#: templates/js/translated/forms.js:2628
msgid "File Column"
msgstr ""
-#: templates/js/translated/forms.js:2638
+#: templates/js/translated/forms.js:2628
msgid "Field Name"
msgstr ""
-#: templates/js/translated/forms.js:2650
+#: templates/js/translated/forms.js:2640
msgid "Select Columns"
msgstr ""
-#: templates/js/translated/helpers.js:24
+#: templates/js/translated/helpers.js:26
msgid "YES"
msgstr "예"
-#: templates/js/translated/helpers.js:26
+#: templates/js/translated/helpers.js:28
msgid "NO"
msgstr "아니오"
-#: templates/js/translated/helpers.js:363
+#: templates/js/translated/helpers.js:434
msgid "Notes updated"
msgstr ""
@@ -8814,7 +9119,7 @@ msgid "Labels sent to printer"
msgstr ""
#: templates/js/translated/label.js:60 templates/js/translated/report.js:118
-#: templates/js/translated/stock.js:1078
+#: templates/js/translated/stock.js:1097
msgid "Select Stock Items"
msgstr ""
@@ -8934,14 +9239,6 @@ msgstr ""
msgid "Stock ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:159
-msgid "Location ID"
-msgstr ""
-
-#: templates/js/translated/model_renderers.js:177
-msgid "Build ID"
-msgstr ""
-
#: templates/js/translated/model_renderers.js:278
#: templates/js/translated/model_renderers.js:303
msgid "Order ID"
@@ -8952,16 +9249,12 @@ msgstr ""
msgid "Shipment ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:338
-msgid "Category ID"
-msgstr ""
-
#: templates/js/translated/model_renderers.js:381
msgid "Manufacturer Part ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:418
-msgid "Supplier Part ID"
+#: templates/js/translated/news.js:23
+msgid "No news found"
msgstr ""
#: templates/js/translated/notification.js:42
@@ -9104,659 +9397,688 @@ msgstr ""
msgid "Duplication Options"
msgstr ""
-#: templates/js/translated/order.js:957
+#: templates/js/translated/order.js:991
msgid "Export Order"
msgstr ""
-#: templates/js/translated/order.js:1008
+#: templates/js/translated/order.js:1042
msgid "At least one purchaseable part must be selected"
msgstr ""
-#: templates/js/translated/order.js:1033
+#: templates/js/translated/order.js:1067
msgid "Quantity to order"
msgstr ""
-#: templates/js/translated/order.js:1042
+#: templates/js/translated/order.js:1076
msgid "New supplier part"
msgstr ""
-#: templates/js/translated/order.js:1060
+#: templates/js/translated/order.js:1094
msgid "New purchase order"
msgstr ""
-#: templates/js/translated/order.js:1093
+#: templates/js/translated/order.js:1127
msgid "Add to purchase order"
msgstr ""
-#: templates/js/translated/order.js:1233
+#: templates/js/translated/order.js:1267
msgid "No matching supplier parts"
msgstr ""
-#: templates/js/translated/order.js:1252
+#: templates/js/translated/order.js:1286
msgid "No matching purchase orders"
msgstr ""
-#: templates/js/translated/order.js:1429
+#: templates/js/translated/order.js:1463
msgid "Select Line Items"
msgstr ""
-#: templates/js/translated/order.js:1430
+#: templates/js/translated/order.js:1464
msgid "At least one line item must be selected"
msgstr ""
-#: templates/js/translated/order.js:1450 templates/js/translated/order.js:1563
+#: templates/js/translated/order.js:1484 templates/js/translated/order.js:1597
msgid "Add batch code"
msgstr ""
-#: templates/js/translated/order.js:1456 templates/js/translated/order.js:1574
+#: templates/js/translated/order.js:1490 templates/js/translated/order.js:1608
msgid "Add serial numbers"
msgstr ""
-#: templates/js/translated/order.js:1471
+#: templates/js/translated/order.js:1505
msgid "Received Quantity"
msgstr ""
-#: templates/js/translated/order.js:1482
+#: templates/js/translated/order.js:1516
msgid "Quantity to receive"
msgstr ""
-#: templates/js/translated/order.js:1546 templates/js/translated/stock.js:2146
+#: templates/js/translated/order.js:1580 templates/js/translated/stock.js:2164
msgid "Stock Status"
msgstr ""
-#: templates/js/translated/order.js:1639
+#: templates/js/translated/order.js:1673
msgid "Order Code"
msgstr ""
-#: templates/js/translated/order.js:1640
+#: templates/js/translated/order.js:1674
msgid "Ordered"
msgstr ""
-#: templates/js/translated/order.js:1642
+#: templates/js/translated/order.js:1676
msgid "Quantity to Receive"
msgstr ""
-#: templates/js/translated/order.js:1661
+#: templates/js/translated/order.js:1695
msgid "Confirm receipt of items"
msgstr ""
-#: templates/js/translated/order.js:1662
+#: templates/js/translated/order.js:1696
msgid "Receive Purchase Order Items"
msgstr ""
-#: templates/js/translated/order.js:1940 templates/js/translated/part.js:941
+#: templates/js/translated/order.js:1974 templates/js/translated/part.js:968
msgid "No purchase orders found"
msgstr ""
-#: templates/js/translated/order.js:1967 templates/js/translated/order.js:2798
+#: templates/js/translated/order.js:2001 templates/js/translated/order.js:2809
msgid "Order is overdue"
msgstr ""
-#: templates/js/translated/order.js:2017 templates/js/translated/order.js:2863
-#: templates/js/translated/order.js:3004
+#: templates/js/translated/order.js:2051 templates/js/translated/order.js:2874
+#: templates/js/translated/order.js:3015
msgid "Items"
msgstr ""
-#: templates/js/translated/order.js:2115 templates/js/translated/order.js:4078
+#: templates/js/translated/order.js:2154 templates/js/translated/order.js:4075
msgid "Duplicate Line Item"
msgstr ""
-#: templates/js/translated/order.js:2132 templates/js/translated/order.js:4100
+#: templates/js/translated/order.js:2171 templates/js/translated/order.js:4097
msgid "Edit Line Item"
msgstr ""
-#: templates/js/translated/order.js:2145 templates/js/translated/order.js:4111
+#: templates/js/translated/order.js:2184 templates/js/translated/order.js:4108
msgid "Delete Line Item"
msgstr ""
-#: templates/js/translated/order.js:2188
+#: templates/js/translated/order.js:2227
msgid "No line items found"
msgstr ""
-#: templates/js/translated/order.js:2215 templates/js/translated/order.js:3812
+#: templates/js/translated/order.js:2254 templates/js/translated/order.js:3827
msgid "Total"
msgstr ""
-#: templates/js/translated/order.js:2270 templates/js/translated/part.js:1043
-#: templates/js/translated/part.js:1095
+#: templates/js/translated/order.js:2309 templates/js/translated/part.js:1070
+#: templates/js/translated/part.js:1122
msgid "Total Quantity"
msgstr ""
-#: templates/js/translated/order.js:2301 templates/js/translated/order.js:2500
-#: templates/js/translated/order.js:3837 templates/js/translated/order.js:4342
-#: templates/js/translated/part.js:2199 templates/js/translated/part.js:2797
+#: templates/js/translated/order.js:2340 templates/js/translated/order.js:2527
+#: templates/js/translated/order.js:3852 templates/js/translated/order.js:4343
+#: templates/js/translated/pricing.js:260
+#: templates/js/translated/pricing.js:329
+#: templates/js/translated/pricing.js:545
msgid "Unit Price"
msgstr "단가"
-#: templates/js/translated/order.js:2316 templates/js/translated/order.js:2516
-#: templates/js/translated/order.js:3853 templates/js/translated/order.js:4358
+#: templates/js/translated/order.js:2350 templates/js/translated/order.js:2537
+#: templates/js/translated/order.js:3862 templates/js/translated/order.js:4353
msgid "Total Price"
msgstr ""
-#: templates/js/translated/order.js:2357 templates/js/translated/order.js:3895
-#: templates/js/translated/part.js:1079
+#: templates/js/translated/order.js:2380 templates/js/translated/order.js:3892
+#: templates/js/translated/part.js:1106
msgid "This line item is overdue"
msgstr ""
-#: templates/js/translated/order.js:2416 templates/js/translated/part.js:1130
+#: templates/js/translated/order.js:2439 templates/js/translated/part.js:1151
msgid "Receive line item"
msgstr ""
-#: templates/js/translated/order.js:2420 templates/js/translated/order.js:4032
+#: templates/js/translated/order.js:2443 templates/js/translated/order.js:4029
msgid "Duplicate line item"
msgstr ""
-#: templates/js/translated/order.js:2421 templates/js/translated/order.js:4033
+#: templates/js/translated/order.js:2444 templates/js/translated/order.js:4030
msgid "Edit line item"
msgstr ""
-#: templates/js/translated/order.js:2422 templates/js/translated/order.js:4037
+#: templates/js/translated/order.js:2445 templates/js/translated/order.js:4034
msgid "Delete line item"
msgstr ""
-#: templates/js/translated/order.js:2564 templates/js/translated/order.js:4406
+#: templates/js/translated/order.js:2574 templates/js/translated/order.js:4389
msgid "Duplicate line"
msgstr ""
-#: templates/js/translated/order.js:2565 templates/js/translated/order.js:4407
+#: templates/js/translated/order.js:2575 templates/js/translated/order.js:4390
msgid "Edit line"
msgstr ""
-#: templates/js/translated/order.js:2566 templates/js/translated/order.js:4408
+#: templates/js/translated/order.js:2576 templates/js/translated/order.js:4391
msgid "Delete line"
msgstr ""
-#: templates/js/translated/order.js:2595 templates/js/translated/order.js:4437
+#: templates/js/translated/order.js:2606 templates/js/translated/order.js:4420
msgid "Duplicate Line"
msgstr ""
-#: templates/js/translated/order.js:2616 templates/js/translated/order.js:4458
+#: templates/js/translated/order.js:2627 templates/js/translated/order.js:4441
msgid "Edit Line"
msgstr ""
-#: templates/js/translated/order.js:2627 templates/js/translated/order.js:4469
+#: templates/js/translated/order.js:2638 templates/js/translated/order.js:4452
msgid "Delete Line"
msgstr ""
-#: templates/js/translated/order.js:2638
+#: templates/js/translated/order.js:2649
msgid "No matching line"
msgstr ""
-#: templates/js/translated/order.js:2749
+#: templates/js/translated/order.js:2760
msgid "No sales orders found"
msgstr ""
-#: templates/js/translated/order.js:2812
+#: templates/js/translated/order.js:2823
msgid "Invalid Customer"
msgstr ""
-#: templates/js/translated/order.js:2910
+#: templates/js/translated/order.js:2921
msgid "Edit shipment"
msgstr ""
-#: templates/js/translated/order.js:2913
+#: templates/js/translated/order.js:2924
msgid "Complete shipment"
msgstr ""
-#: templates/js/translated/order.js:2918
+#: templates/js/translated/order.js:2929
msgid "Delete shipment"
msgstr ""
-#: templates/js/translated/order.js:2938
+#: templates/js/translated/order.js:2949
msgid "Edit Shipment"
msgstr ""
-#: templates/js/translated/order.js:2955
+#: templates/js/translated/order.js:2966
msgid "Delete Shipment"
msgstr ""
-#: templates/js/translated/order.js:2989
+#: templates/js/translated/order.js:3000
msgid "No matching shipments found"
msgstr ""
-#: templates/js/translated/order.js:2999
+#: templates/js/translated/order.js:3010
msgid "Shipment Reference"
msgstr ""
-#: templates/js/translated/order.js:3023
+#: templates/js/translated/order.js:3034
msgid "Not shipped"
msgstr ""
-#: templates/js/translated/order.js:3029
+#: templates/js/translated/order.js:3040
msgid "Tracking"
msgstr ""
-#: templates/js/translated/order.js:3033
+#: templates/js/translated/order.js:3044
msgid "Invoice"
msgstr ""
-#: templates/js/translated/order.js:3202
+#: templates/js/translated/order.js:3213
msgid "Add Shipment"
msgstr ""
-#: templates/js/translated/order.js:3253
+#: templates/js/translated/order.js:3264
msgid "Confirm stock allocation"
msgstr ""
-#: templates/js/translated/order.js:3254
+#: templates/js/translated/order.js:3265
msgid "Allocate Stock Items to Sales Order"
msgstr ""
-#: templates/js/translated/order.js:3462
+#: templates/js/translated/order.js:3473
msgid "No sales order allocations found"
msgstr ""
-#: templates/js/translated/order.js:3541
+#: templates/js/translated/order.js:3552
msgid "Edit Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:3558
+#: templates/js/translated/order.js:3569
msgid "Confirm Delete Operation"
msgstr ""
-#: templates/js/translated/order.js:3559
+#: templates/js/translated/order.js:3570
msgid "Delete Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:3604 templates/js/translated/order.js:3693
-#: templates/js/translated/stock.js:1602
+#: templates/js/translated/order.js:3615 templates/js/translated/order.js:3704
+#: templates/js/translated/stock.js:1621
msgid "Shipped to customer"
msgstr ""
-#: templates/js/translated/order.js:3612 templates/js/translated/order.js:3702
+#: templates/js/translated/order.js:3623 templates/js/translated/order.js:3713
msgid "Stock location not specified"
msgstr ""
-#: templates/js/translated/order.js:4016
+#: templates/js/translated/order.js:4013
msgid "Allocate serial numbers"
msgstr ""
-#: templates/js/translated/order.js:4022
+#: templates/js/translated/order.js:4019
msgid "Purchase stock"
msgstr ""
-#: templates/js/translated/order.js:4029 templates/js/translated/order.js:4227
+#: templates/js/translated/order.js:4026 templates/js/translated/order.js:4224
msgid "Calculate price"
msgstr ""
-#: templates/js/translated/order.js:4041
+#: templates/js/translated/order.js:4038
msgid "Cannot be deleted as items have been shipped"
msgstr ""
-#: templates/js/translated/order.js:4044
+#: templates/js/translated/order.js:4041
msgid "Cannot be deleted as items have been allocated"
msgstr ""
-#: templates/js/translated/order.js:4126
+#: templates/js/translated/order.js:4123
msgid "Allocate Serial Numbers"
msgstr ""
-#: templates/js/translated/order.js:4235
+#: templates/js/translated/order.js:4232
msgid "Update Unit Price"
msgstr ""
-#: templates/js/translated/order.js:4249
+#: templates/js/translated/order.js:4246
msgid "No matching line items"
msgstr ""
-#: templates/js/translated/order.js:4480
+#: templates/js/translated/order.js:4463
msgid "No matching lines"
msgstr ""
-#: templates/js/translated/part.js:56
+#: templates/js/translated/part.js:52
msgid "Part Attributes"
msgstr ""
-#: templates/js/translated/part.js:60
+#: templates/js/translated/part.js:56
msgid "Part Creation Options"
msgstr ""
-#: templates/js/translated/part.js:64
+#: templates/js/translated/part.js:60
msgid "Part Duplication Options"
msgstr ""
-#: templates/js/translated/part.js:68
+#: templates/js/translated/part.js:64
msgid "Supplier Options"
msgstr ""
-#: templates/js/translated/part.js:82
+#: templates/js/translated/part.js:78
msgid "Add Part Category"
msgstr ""
-#: templates/js/translated/part.js:166
+#: templates/js/translated/part.js:162
msgid "Create Initial Stock"
msgstr ""
-#: templates/js/translated/part.js:167
+#: templates/js/translated/part.js:163
msgid "Create an initial stock item for this part"
msgstr ""
-#: templates/js/translated/part.js:174
+#: templates/js/translated/part.js:170
msgid "Initial Stock Quantity"
msgstr ""
-#: templates/js/translated/part.js:175
+#: templates/js/translated/part.js:171
msgid "Specify initial stock quantity for this part"
msgstr ""
-#: templates/js/translated/part.js:182
+#: templates/js/translated/part.js:178
msgid "Select destination stock location"
msgstr ""
-#: templates/js/translated/part.js:200
+#: templates/js/translated/part.js:196
msgid "Copy Category Parameters"
msgstr ""
-#: templates/js/translated/part.js:201
+#: templates/js/translated/part.js:197
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: templates/js/translated/part.js:209
+#: templates/js/translated/part.js:205
msgid "Add Supplier Data"
msgstr ""
-#: templates/js/translated/part.js:210
+#: templates/js/translated/part.js:206
msgid "Create initial supplier data for this part"
msgstr ""
-#: templates/js/translated/part.js:266
+#: templates/js/translated/part.js:262
msgid "Copy Image"
msgstr "이미지 복사"
-#: templates/js/translated/part.js:267
+#: templates/js/translated/part.js:263
msgid "Copy image from original part"
msgstr ""
-#: templates/js/translated/part.js:275
+#: templates/js/translated/part.js:271
msgid "Copy bill of materials from original part"
msgstr ""
-#: templates/js/translated/part.js:282
+#: templates/js/translated/part.js:278
msgid "Copy Parameters"
msgstr ""
-#: templates/js/translated/part.js:283
+#: templates/js/translated/part.js:279
msgid "Copy parameter data from original part"
msgstr ""
-#: templates/js/translated/part.js:296
+#: templates/js/translated/part.js:292
msgid "Parent part category"
msgstr ""
-#: templates/js/translated/part.js:306 templates/js/translated/stock.js:118
+#: templates/js/translated/part.js:302 templates/js/translated/stock.js:118
msgid "Icon (optional) - Explore all available icons on"
msgstr ""
-#: templates/js/translated/part.js:322
+#: templates/js/translated/part.js:318
msgid "Edit Part Category"
msgstr ""
-#: templates/js/translated/part.js:335
+#: templates/js/translated/part.js:331
msgid "Are you sure you want to delete this part category?"
msgstr ""
-#: templates/js/translated/part.js:337
-msgid "Any child categories will be moved to the parent of this category"
+#: templates/js/translated/part.js:336
+msgid "Move to parent category"
msgstr ""
-#: templates/js/translated/part.js:338
-msgid "Any parts in this category will be moved to the parent of this category"
-msgstr ""
-
-#: templates/js/translated/part.js:343
+#: templates/js/translated/part.js:345
msgid "Delete Part Category"
msgstr ""
-#: templates/js/translated/part.js:369
+#: templates/js/translated/part.js:349
+msgid "Action for parts in this category"
+msgstr ""
+
+#: templates/js/translated/part.js:354
+msgid "Action for child categories"
+msgstr ""
+
+#: templates/js/translated/part.js:383
msgid "Edit Part"
msgstr ""
-#: templates/js/translated/part.js:371
+#: templates/js/translated/part.js:385
msgid "Part edited"
msgstr ""
-#: templates/js/translated/part.js:382
+#: templates/js/translated/part.js:396
msgid "Create Part Variant"
msgstr ""
-#: templates/js/translated/part.js:434
+#: templates/js/translated/part.js:448
msgid "Active Part"
msgstr ""
-#: templates/js/translated/part.js:435
+#: templates/js/translated/part.js:449
msgid "Part cannot be deleted as it is currently active"
msgstr ""
-#: templates/js/translated/part.js:449
+#: templates/js/translated/part.js:463
msgid "Deleting this part cannot be reversed"
msgstr ""
-#: templates/js/translated/part.js:451
+#: templates/js/translated/part.js:465
msgid "Any stock items for this part will be deleted"
msgstr ""
-#: templates/js/translated/part.js:452
+#: templates/js/translated/part.js:466
msgid "This part will be removed from any Bills of Material"
msgstr ""
-#: templates/js/translated/part.js:453
+#: templates/js/translated/part.js:467
msgid "All manufacturer and supplier information for this part will be deleted"
msgstr ""
-#: templates/js/translated/part.js:460
+#: templates/js/translated/part.js:474
msgid "Delete Part"
msgstr ""
-#: templates/js/translated/part.js:496
+#: templates/js/translated/part.js:510
msgid "You are subscribed to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:498
+#: templates/js/translated/part.js:512
msgid "You have subscribed to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:503
+#: templates/js/translated/part.js:517
msgid "Subscribe to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:505
+#: templates/js/translated/part.js:519
msgid "You have unsubscribed to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:522
+#: templates/js/translated/part.js:536
msgid "Validating the BOM will mark each line item as valid"
msgstr ""
-#: templates/js/translated/part.js:532
+#: templates/js/translated/part.js:546
msgid "Validate Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:535
+#: templates/js/translated/part.js:549
msgid "Validated Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:560
+#: templates/js/translated/part.js:574
msgid "Copy Bill of Materials"
msgstr "부품 명세서 복사"
-#: templates/js/translated/part.js:584 templates/js/translated/part.js:1521
-#: templates/js/translated/table_filters.js:476
+#: templates/js/translated/part.js:598 templates/js/translated/part.js:1532
+#: templates/js/translated/table_filters.js:480
msgid "Low stock"
msgstr ""
-#: templates/js/translated/part.js:594
+#: templates/js/translated/part.js:608
msgid "No stock available"
msgstr ""
-#: templates/js/translated/part.js:628 templates/js/translated/part.js:713
+#: templates/js/translated/part.js:642 templates/js/translated/part.js:727
msgid "Trackable part"
msgstr ""
-#: templates/js/translated/part.js:632 templates/js/translated/part.js:717
+#: templates/js/translated/part.js:646 templates/js/translated/part.js:731
msgid "Virtual part"
msgstr ""
-#: templates/js/translated/part.js:644
+#: templates/js/translated/part.js:658
msgid "Subscribed part"
msgstr ""
-#: templates/js/translated/part.js:648
+#: templates/js/translated/part.js:662
msgid "Salable part"
msgstr ""
-#: templates/js/translated/part.js:776
+#: templates/js/translated/part.js:800
msgid "No variants found"
msgstr ""
-#: templates/js/translated/part.js:1200
+#: templates/js/translated/part.js:1221
msgid "Delete part relationship"
msgstr ""
-#: templates/js/translated/part.js:1224
+#: templates/js/translated/part.js:1245
msgid "Delete Part Relationship"
msgstr ""
-#: templates/js/translated/part.js:1291 templates/js/translated/part.js:1609
+#: templates/js/translated/part.js:1312 templates/js/translated/part.js:1633
msgid "No parts found"
msgstr ""
-#: templates/js/translated/part.js:1488
+#: templates/js/translated/part.js:1499
msgid "No category"
msgstr ""
-#: templates/js/translated/part.js:1519
+#: templates/js/translated/part.js:1530
msgid "No stock"
msgstr ""
-#: templates/js/translated/part.js:1543
+#: templates/js/translated/part.js:1554
msgid "Allocated to build orders"
msgstr ""
-#: templates/js/translated/part.js:1547
+#: templates/js/translated/part.js:1558
msgid "Allocated to sales orders"
msgstr ""
-#: templates/js/translated/part.js:1633 templates/js/translated/part.js:1876
-#: templates/js/translated/stock.js:2349
+#: templates/js/translated/part.js:1657 templates/js/translated/part.js:1900
+#: templates/js/translated/stock.js:2367
msgid "Display as list"
msgstr ""
-#: templates/js/translated/part.js:1649
+#: templates/js/translated/part.js:1673
msgid "Display as grid"
msgstr ""
-#: templates/js/translated/part.js:1715
+#: templates/js/translated/part.js:1739
msgid "Set the part category for the selected parts"
msgstr ""
-#: templates/js/translated/part.js:1720
+#: templates/js/translated/part.js:1744
msgid "Set Part Category"
msgstr ""
-#: templates/js/translated/part.js:1725
+#: templates/js/translated/part.js:1749
msgid "Select Part Category"
msgstr ""
-#: templates/js/translated/part.js:1738
+#: templates/js/translated/part.js:1762
msgid "Category is required"
msgstr ""
-#: templates/js/translated/part.js:1896 templates/js/translated/stock.js:2369
+#: templates/js/translated/part.js:1920 templates/js/translated/stock.js:2387
msgid "Display as tree"
msgstr ""
-#: templates/js/translated/part.js:1976
+#: templates/js/translated/part.js:2000
msgid "Load Subcategories"
msgstr ""
-#: templates/js/translated/part.js:1992
+#: templates/js/translated/part.js:2016
msgid "Subscribed category"
msgstr ""
-#: templates/js/translated/part.js:2056
+#: templates/js/translated/part.js:2080
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:2107 templates/js/translated/stock.js:1299
+#: templates/js/translated/part.js:2131 templates/js/translated/stock.js:1318
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:2108 templates/js/translated/stock.js:1300
-#: templates/js/translated/stock.js:1560
+#: templates/js/translated/part.js:2132 templates/js/translated/stock.js:1319
+#: templates/js/translated/stock.js:1579
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:2114
+#: templates/js/translated/part.js:2138
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:2136
+#: templates/js/translated/part.js:2160
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2150
+#: templates/js/translated/part.js:2174
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2175
-#, python-brace-format
-msgid "No ${human_name} information found"
-msgstr ""
-
-#: templates/js/translated/part.js:2232
-#, python-brace-format
-msgid "Edit ${human_name}"
-msgstr ""
-
-#: templates/js/translated/part.js:2233
-#, python-brace-format
-msgid "Delete ${human_name}"
-msgstr ""
-
-#: templates/js/translated/part.js:2398 templates/js/translated/part.js:2399
+#: templates/js/translated/part.js:2255 templates/js/translated/part.js:2256
msgid "No date specified"
msgstr ""
-#: templates/js/translated/part.js:2401
+#: templates/js/translated/part.js:2258
msgid "Specified date is in the past"
msgstr ""
-#: templates/js/translated/part.js:2407
+#: templates/js/translated/part.js:2264
msgid "Speculative"
msgstr ""
-#: templates/js/translated/part.js:2457
+#: templates/js/translated/part.js:2314
msgid "No scheduling information available for this part"
msgstr ""
-#: templates/js/translated/part.js:2463
+#: templates/js/translated/part.js:2320
msgid "Error fetching scheduling information for this part"
msgstr ""
-#: templates/js/translated/part.js:2559
+#: templates/js/translated/part.js:2416
msgid "Scheduled Stock Quantities"
msgstr ""
-#: templates/js/translated/part.js:2575
+#: templates/js/translated/part.js:2432
msgid "Maximum Quantity"
msgstr ""
-#: templates/js/translated/part.js:2620
+#: templates/js/translated/part.js:2477
msgid "Minimum Stock Level"
msgstr ""
-#: templates/js/translated/part.js:2721
-msgid "Single Price"
-msgstr ""
-
-#: templates/js/translated/part.js:2740
-msgid "Single Price Difference"
-msgstr ""
-
#: templates/js/translated/plugin.js:23
msgid "The Plugin was installed"
msgstr ""
+#: templates/js/translated/pricing.js:54
+msgid "No BOM data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:196
+msgid "No supplier pricing data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:305
+msgid "No price break data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:361
+#, python-brace-format
+msgid "Edit ${human_name}"
+msgstr ""
+
+#: templates/js/translated/pricing.js:362
+#, python-brace-format
+msgid "Delete ${human_name}"
+msgstr ""
+
+#: templates/js/translated/pricing.js:480
+msgid "No purchase history data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:502
+msgid "Purchase Price History"
+msgstr ""
+
+#: templates/js/translated/pricing.js:602
+msgid "No sales history data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:624
+msgid "Sale Price History"
+msgstr ""
+
+#: templates/js/translated/pricing.js:708
+msgid "No variant data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:748
+msgid "Variant Part"
+msgstr ""
+
#: templates/js/translated/report.js:67
msgid "items selected"
msgstr ""
@@ -9855,364 +10177,364 @@ msgstr ""
msgid "Are you sure you want to delete this stock location?"
msgstr ""
-#: templates/js/translated/stock.js:175
-msgid "Any child locations will be moved to the parent of this location"
+#: templates/js/translated/stock.js:180
+msgid "Move to parent stock location"
msgstr ""
-#: templates/js/translated/stock.js:176
-msgid "Any stock items in this location will be moved to the parent of this location"
-msgstr ""
-
-#: templates/js/translated/stock.js:182
+#: templates/js/translated/stock.js:189
msgid "Delete Stock Location"
msgstr ""
-#: templates/js/translated/stock.js:227
+#: templates/js/translated/stock.js:193
+msgid "Action for stock items in this stock location"
+msgstr ""
+
+#: templates/js/translated/stock.js:198
+msgid "Action for sub-locations"
+msgstr ""
+
+#: templates/js/translated/stock.js:246
msgid "This part cannot be serialized"
msgstr ""
-#: templates/js/translated/stock.js:266
+#: templates/js/translated/stock.js:285
msgid "Enter initial quantity for this stock item"
msgstr ""
-#: templates/js/translated/stock.js:272
+#: templates/js/translated/stock.js:291
msgid "Enter serial numbers for new stock (or leave blank)"
msgstr ""
-#: templates/js/translated/stock.js:337
+#: templates/js/translated/stock.js:356
msgid "Stock item duplicated"
msgstr ""
-#: templates/js/translated/stock.js:357
+#: templates/js/translated/stock.js:376
msgid "Duplicate Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:373
+#: templates/js/translated/stock.js:392
msgid "Are you sure you want to delete this stock item?"
msgstr ""
-#: templates/js/translated/stock.js:378
+#: templates/js/translated/stock.js:397
msgid "Delete Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:399
+#: templates/js/translated/stock.js:418
msgid "Edit Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:449
+#: templates/js/translated/stock.js:468
msgid "Created new stock item"
msgstr ""
-#: templates/js/translated/stock.js:462
+#: templates/js/translated/stock.js:481
msgid "Created multiple stock items"
msgstr ""
-#: templates/js/translated/stock.js:487
+#: templates/js/translated/stock.js:506
msgid "Find Serial Number"
msgstr "일련번호 찾기"
-#: templates/js/translated/stock.js:491 templates/js/translated/stock.js:492
+#: templates/js/translated/stock.js:510 templates/js/translated/stock.js:511
msgid "Enter serial number"
msgstr "일련번호를 입력하세요"
-#: templates/js/translated/stock.js:508
+#: templates/js/translated/stock.js:527
msgid "Enter a serial number"
msgstr "일련번호를 입력하세요"
-#: templates/js/translated/stock.js:528
+#: templates/js/translated/stock.js:547
msgid "No matching serial number"
msgstr "일치하는 일련번호가 없습니다"
-#: templates/js/translated/stock.js:537
+#: templates/js/translated/stock.js:556
msgid "More than one matching result found"
msgstr ""
-#: templates/js/translated/stock.js:660
+#: templates/js/translated/stock.js:679
msgid "Confirm stock assignment"
msgstr ""
-#: templates/js/translated/stock.js:661
+#: templates/js/translated/stock.js:680
msgid "Assign Stock to Customer"
msgstr ""
-#: templates/js/translated/stock.js:738
+#: templates/js/translated/stock.js:757
msgid "Warning: Merge operation cannot be reversed"
msgstr ""
-#: templates/js/translated/stock.js:739
+#: templates/js/translated/stock.js:758
msgid "Some information will be lost when merging stock items"
msgstr ""
-#: templates/js/translated/stock.js:741
+#: templates/js/translated/stock.js:760
msgid "Stock transaction history will be deleted for merged items"
msgstr ""
-#: templates/js/translated/stock.js:742
+#: templates/js/translated/stock.js:761
msgid "Supplier part information will be deleted for merged items"
msgstr ""
-#: templates/js/translated/stock.js:828
+#: templates/js/translated/stock.js:847
msgid "Confirm stock item merge"
msgstr ""
-#: templates/js/translated/stock.js:829
+#: templates/js/translated/stock.js:848
msgid "Merge Stock Items"
msgstr ""
-#: templates/js/translated/stock.js:924
+#: templates/js/translated/stock.js:943
msgid "Transfer Stock"
msgstr ""
-#: templates/js/translated/stock.js:925
+#: templates/js/translated/stock.js:944
msgid "Move"
msgstr ""
-#: templates/js/translated/stock.js:931
+#: templates/js/translated/stock.js:950
msgid "Count Stock"
msgstr ""
-#: templates/js/translated/stock.js:932
+#: templates/js/translated/stock.js:951
msgid "Count"
msgstr ""
-#: templates/js/translated/stock.js:936
+#: templates/js/translated/stock.js:955
msgid "Remove Stock"
msgstr ""
-#: templates/js/translated/stock.js:937
+#: templates/js/translated/stock.js:956
msgid "Take"
msgstr ""
-#: templates/js/translated/stock.js:941
+#: templates/js/translated/stock.js:960
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:942 users/models.py:218
+#: templates/js/translated/stock.js:961 users/models.py:220
msgid "Add"
msgstr ""
-#: templates/js/translated/stock.js:946
+#: templates/js/translated/stock.js:965
msgid "Delete Stock"
msgstr ""
-#: templates/js/translated/stock.js:1039
+#: templates/js/translated/stock.js:1058
msgid "Quantity cannot be adjusted for serialized stock"
msgstr ""
-#: templates/js/translated/stock.js:1039
+#: templates/js/translated/stock.js:1058
msgid "Specify stock quantity"
msgstr ""
-#: templates/js/translated/stock.js:1079
+#: templates/js/translated/stock.js:1098
msgid "You must select at least one available stock item"
msgstr ""
-#: templates/js/translated/stock.js:1102
+#: templates/js/translated/stock.js:1121
msgid "Confirm stock adjustment"
msgstr ""
-#: templates/js/translated/stock.js:1238
+#: templates/js/translated/stock.js:1257
msgid "PASS"
msgstr ""
-#: templates/js/translated/stock.js:1240
+#: templates/js/translated/stock.js:1259
msgid "FAIL"
msgstr ""
-#: templates/js/translated/stock.js:1245
+#: templates/js/translated/stock.js:1264
msgid "NO RESULT"
msgstr ""
-#: templates/js/translated/stock.js:1292
+#: templates/js/translated/stock.js:1311
msgid "Pass test"
msgstr ""
-#: templates/js/translated/stock.js:1295
+#: templates/js/translated/stock.js:1314
msgid "Add test result"
msgstr ""
-#: templates/js/translated/stock.js:1321
+#: templates/js/translated/stock.js:1340
msgid "No test results found"
msgstr ""
-#: templates/js/translated/stock.js:1378
+#: templates/js/translated/stock.js:1397
msgid "Test Date"
msgstr ""
-#: templates/js/translated/stock.js:1543
+#: templates/js/translated/stock.js:1562
msgid "Edit Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1565
+#: templates/js/translated/stock.js:1584
msgid "Delete Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1594
+#: templates/js/translated/stock.js:1613
msgid "In production"
msgstr ""
-#: templates/js/translated/stock.js:1598
+#: templates/js/translated/stock.js:1617
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:1606
+#: templates/js/translated/stock.js:1625
msgid "Assigned to Sales Order"
msgstr ""
-#: templates/js/translated/stock.js:1612
+#: templates/js/translated/stock.js:1631
msgid "No stock location set"
msgstr ""
-#: templates/js/translated/stock.js:1781
+#: templates/js/translated/stock.js:1800
msgid "Stock item is in production"
msgstr ""
-#: templates/js/translated/stock.js:1786
+#: templates/js/translated/stock.js:1805
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/translated/stock.js:1789
+#: templates/js/translated/stock.js:1808
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/translated/stock.js:1792
+#: templates/js/translated/stock.js:1811
msgid "Serialized stock item has been allocated"
msgstr ""
-#: templates/js/translated/stock.js:1794
+#: templates/js/translated/stock.js:1813
msgid "Stock item has been fully allocated"
msgstr ""
-#: templates/js/translated/stock.js:1796
+#: templates/js/translated/stock.js:1815
msgid "Stock item has been partially allocated"
msgstr ""
-#: templates/js/translated/stock.js:1799
+#: templates/js/translated/stock.js:1818
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:1803
+#: templates/js/translated/stock.js:1822
msgid "Stock item has expired"
msgstr ""
-#: templates/js/translated/stock.js:1805
+#: templates/js/translated/stock.js:1824
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/translated/stock.js:1812
+#: templates/js/translated/stock.js:1831
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/translated/stock.js:1814
+#: templates/js/translated/stock.js:1833
msgid "Stock item is lost"
msgstr ""
-#: templates/js/translated/stock.js:1816
+#: templates/js/translated/stock.js:1835
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/translated/stock.js:1820
-#: templates/js/translated/table_filters.js:204
+#: templates/js/translated/stock.js:1839
+#: templates/js/translated/table_filters.js:208
msgid "Depleted"
msgstr ""
-#: templates/js/translated/stock.js:1871
-msgid "Stocktake"
-msgstr ""
-
-#: templates/js/translated/stock.js:1950
+#: templates/js/translated/stock.js:1969
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/translated/stock.js:1988
+#: templates/js/translated/stock.js:2006
msgid "No stock items matching query"
msgstr ""
-#: templates/js/translated/stock.js:2161
+#: templates/js/translated/stock.js:2179
msgid "Set Stock Status"
msgstr ""
-#: templates/js/translated/stock.js:2175
+#: templates/js/translated/stock.js:2193
msgid "Select Status Code"
msgstr ""
-#: templates/js/translated/stock.js:2176
+#: templates/js/translated/stock.js:2194
msgid "Status code must be selected"
msgstr ""
-#: templates/js/translated/stock.js:2408
+#: templates/js/translated/stock.js:2426
msgid "Load Subloactions"
msgstr ""
-#: templates/js/translated/stock.js:2503
+#: templates/js/translated/stock.js:2521
msgid "Details"
msgstr ""
-#: templates/js/translated/stock.js:2519
+#: templates/js/translated/stock.js:2537
msgid "Part information unavailable"
msgstr ""
-#: templates/js/translated/stock.js:2541
+#: templates/js/translated/stock.js:2559
msgid "Location no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2560
+#: templates/js/translated/stock.js:2578
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2579
+#: templates/js/translated/stock.js:2597
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2597
+#: templates/js/translated/stock.js:2615
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2620
+#: templates/js/translated/stock.js:2638
msgid "Added"
msgstr ""
-#: templates/js/translated/stock.js:2628
+#: templates/js/translated/stock.js:2646
msgid "Removed"
msgstr ""
-#: templates/js/translated/stock.js:2704
+#: templates/js/translated/stock.js:2722
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:2755 templates/js/translated/stock.js:2791
+#: templates/js/translated/stock.js:2773 templates/js/translated/stock.js:2809
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2804
+#: templates/js/translated/stock.js:2822
msgid "Select stock item to uninstall"
msgstr ""
-#: templates/js/translated/stock.js:2825
+#: templates/js/translated/stock.js:2843
msgid "Install another stock item into this item"
msgstr ""
-#: templates/js/translated/stock.js:2826
+#: templates/js/translated/stock.js:2844
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: templates/js/translated/stock.js:2828
+#: templates/js/translated/stock.js:2846
msgid "The Stock Item links to a Part which is the BOM for this Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2829
+#: templates/js/translated/stock.js:2847
msgid "The Stock Item is currently available in stock"
msgstr ""
-#: templates/js/translated/stock.js:2830
+#: templates/js/translated/stock.js:2848
msgid "The Stock Item is not already installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:2831
+#: templates/js/translated/stock.js:2849
msgid "The Stock Item is tracked by either a batch code or serial number"
msgstr ""
-#: templates/js/translated/stock.js:2844
+#: templates/js/translated/stock.js:2862
msgid "Select part to install"
msgstr ""
@@ -10236,215 +10558,220 @@ msgstr ""
msgid "Allow Variant Stock"
msgstr ""
-#: templates/js/translated/table_filters.js:126
-#: templates/js/translated/table_filters.js:199
+#: templates/js/translated/table_filters.js:92
+#: templates/js/translated/table_filters.js:508
+msgid "Has Pricing"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:130
+#: templates/js/translated/table_filters.js:203
msgid "Include sublocations"
msgstr ""
-#: templates/js/translated/table_filters.js:127
+#: templates/js/translated/table_filters.js:131
msgid "Include locations"
msgstr ""
-#: templates/js/translated/table_filters.js:137
-#: templates/js/translated/table_filters.js:138
-#: templates/js/translated/table_filters.js:445
+#: templates/js/translated/table_filters.js:141
+#: templates/js/translated/table_filters.js:142
+#: templates/js/translated/table_filters.js:449
msgid "Include subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:142
-#: templates/js/translated/table_filters.js:488
+#: templates/js/translated/table_filters.js:146
+#: templates/js/translated/table_filters.js:492
msgid "Subscribed"
msgstr ""
-#: templates/js/translated/table_filters.js:152
-#: templates/js/translated/table_filters.js:234
-msgid "Is Serialized"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:155
-#: templates/js/translated/table_filters.js:241
-msgid "Serial number GTE"
-msgstr ""
-
#: templates/js/translated/table_filters.js:156
-#: templates/js/translated/table_filters.js:242
-msgid "Serial number greater than or equal to"
+#: templates/js/translated/table_filters.js:238
+msgid "Is Serialized"
msgstr ""
#: templates/js/translated/table_filters.js:159
#: templates/js/translated/table_filters.js:245
-msgid "Serial number LTE"
+msgid "Serial number GTE"
msgstr ""
#: templates/js/translated/table_filters.js:160
#: templates/js/translated/table_filters.js:246
-msgid "Serial number less than or equal to"
+msgid "Serial number greater than or equal to"
msgstr ""
#: templates/js/translated/table_filters.js:163
+#: templates/js/translated/table_filters.js:249
+msgid "Serial number LTE"
+msgstr ""
+
#: templates/js/translated/table_filters.js:164
-#: templates/js/translated/table_filters.js:237
-#: templates/js/translated/table_filters.js:238
+#: templates/js/translated/table_filters.js:250
+msgid "Serial number less than or equal to"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:167
+#: templates/js/translated/table_filters.js:168
+#: templates/js/translated/table_filters.js:241
+#: templates/js/translated/table_filters.js:242
msgid "Serial number"
msgstr "일련번호"
-#: templates/js/translated/table_filters.js:168
-#: templates/js/translated/table_filters.js:259
+#: templates/js/translated/table_filters.js:172
+#: templates/js/translated/table_filters.js:263
msgid "Batch code"
msgstr ""
-#: templates/js/translated/table_filters.js:179
-#: templates/js/translated/table_filters.js:417
+#: templates/js/translated/table_filters.js:183
+#: templates/js/translated/table_filters.js:421
msgid "Active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:180
+#: templates/js/translated/table_filters.js:184
msgid "Show stock for active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:185
+#: templates/js/translated/table_filters.js:189
msgid "Part is an assembly"
msgstr ""
-#: templates/js/translated/table_filters.js:189
+#: templates/js/translated/table_filters.js:193
msgid "Is allocated"
msgstr ""
-#: templates/js/translated/table_filters.js:190
+#: templates/js/translated/table_filters.js:194
msgid "Item has been allocated"
msgstr ""
-#: templates/js/translated/table_filters.js:195
+#: templates/js/translated/table_filters.js:199
msgid "Stock is available for use"
msgstr ""
-#: templates/js/translated/table_filters.js:200
+#: templates/js/translated/table_filters.js:204
msgid "Include stock in sublocations"
msgstr ""
-#: templates/js/translated/table_filters.js:205
+#: templates/js/translated/table_filters.js:209
msgid "Show stock items which are depleted"
msgstr ""
-#: templates/js/translated/table_filters.js:210
+#: templates/js/translated/table_filters.js:214
msgid "Show items which are in stock"
msgstr ""
-#: templates/js/translated/table_filters.js:214
+#: templates/js/translated/table_filters.js:218
msgid "In Production"
msgstr ""
-#: templates/js/translated/table_filters.js:215
+#: templates/js/translated/table_filters.js:219
msgid "Show items which are in production"
msgstr ""
-#: templates/js/translated/table_filters.js:219
+#: templates/js/translated/table_filters.js:223
msgid "Include Variants"
msgstr ""
-#: templates/js/translated/table_filters.js:220
+#: templates/js/translated/table_filters.js:224
msgid "Include stock items for variant parts"
msgstr ""
-#: templates/js/translated/table_filters.js:224
+#: templates/js/translated/table_filters.js:228
msgid "Installed"
msgstr ""
-#: templates/js/translated/table_filters.js:225
+#: templates/js/translated/table_filters.js:229
msgid "Show stock items which are installed in another item"
msgstr ""
-#: templates/js/translated/table_filters.js:230
+#: templates/js/translated/table_filters.js:234
msgid "Show items which have been assigned to a customer"
msgstr ""
-#: templates/js/translated/table_filters.js:250
-#: templates/js/translated/table_filters.js:251
+#: templates/js/translated/table_filters.js:254
+#: templates/js/translated/table_filters.js:255
msgid "Stock status"
msgstr ""
-#: templates/js/translated/table_filters.js:254
+#: templates/js/translated/table_filters.js:258
msgid "Has batch code"
msgstr ""
-#: templates/js/translated/table_filters.js:262
+#: templates/js/translated/table_filters.js:266
msgid "Tracked"
msgstr ""
-#: templates/js/translated/table_filters.js:263
+#: templates/js/translated/table_filters.js:267
msgid "Stock item is tracked by either batch code or serial number"
msgstr ""
-#: templates/js/translated/table_filters.js:268
+#: templates/js/translated/table_filters.js:272
msgid "Has purchase price"
msgstr ""
-#: templates/js/translated/table_filters.js:269
+#: templates/js/translated/table_filters.js:273
msgid "Show stock items which have a purchase price set"
msgstr ""
-#: templates/js/translated/table_filters.js:278
+#: templates/js/translated/table_filters.js:282
msgid "Show stock items which have expired"
msgstr ""
-#: templates/js/translated/table_filters.js:284
+#: templates/js/translated/table_filters.js:288
msgid "Show stock which is close to expiring"
msgstr ""
-#: templates/js/translated/table_filters.js:296
+#: templates/js/translated/table_filters.js:300
msgid "Test Passed"
msgstr ""
-#: templates/js/translated/table_filters.js:300
+#: templates/js/translated/table_filters.js:304
msgid "Include Installed Items"
msgstr ""
-#: templates/js/translated/table_filters.js:319
+#: templates/js/translated/table_filters.js:323
msgid "Build status"
msgstr ""
-#: templates/js/translated/table_filters.js:332
-#: templates/js/translated/table_filters.js:373
+#: templates/js/translated/table_filters.js:336
+#: templates/js/translated/table_filters.js:377
msgid "Assigned to me"
msgstr ""
-#: templates/js/translated/table_filters.js:349
-#: templates/js/translated/table_filters.js:360
-#: templates/js/translated/table_filters.js:390
+#: templates/js/translated/table_filters.js:353
+#: templates/js/translated/table_filters.js:364
+#: templates/js/translated/table_filters.js:394
msgid "Order status"
msgstr ""
-#: templates/js/translated/table_filters.js:365
-#: templates/js/translated/table_filters.js:382
-#: templates/js/translated/table_filters.js:395
+#: templates/js/translated/table_filters.js:369
+#: templates/js/translated/table_filters.js:386
+#: templates/js/translated/table_filters.js:399
msgid "Outstanding"
msgstr ""
-#: templates/js/translated/table_filters.js:446
+#: templates/js/translated/table_filters.js:450
msgid "Include parts in subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:451
+#: templates/js/translated/table_filters.js:455
msgid "Show active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:459
+#: templates/js/translated/table_filters.js:463
msgid "Available stock"
msgstr ""
-#: templates/js/translated/table_filters.js:467
+#: templates/js/translated/table_filters.js:471
msgid "Has IPN"
msgstr ""
-#: templates/js/translated/table_filters.js:468
+#: templates/js/translated/table_filters.js:472
msgid "Part has internal part number"
msgstr ""
-#: templates/js/translated/table_filters.js:472
+#: templates/js/translated/table_filters.js:476
msgid "In stock"
msgstr ""
-#: templates/js/translated/table_filters.js:480
+#: templates/js/translated/table_filters.js:484
msgid "Purchasable"
msgstr ""
@@ -10554,6 +10881,10 @@ msgstr ""
msgid "Show all notifications and history"
msgstr ""
+#: templates/price_data.html:7
+msgid "No data"
+msgstr ""
+
#: templates/qr_code.html:11
msgid "QR data not provided"
msgstr ""
@@ -10738,35 +11069,35 @@ msgstr ""
msgid "Important dates"
msgstr ""
-#: users/models.py:205
+#: users/models.py:207
msgid "Permission set"
msgstr ""
-#: users/models.py:213
+#: users/models.py:215
msgid "Group"
msgstr ""
-#: users/models.py:216
+#: users/models.py:218
msgid "View"
msgstr ""
-#: users/models.py:216
+#: users/models.py:218
msgid "Permission to view items"
msgstr ""
-#: users/models.py:218
+#: users/models.py:220
msgid "Permission to add items"
msgstr ""
-#: users/models.py:220
+#: users/models.py:222
msgid "Change"
msgstr ""
-#: users/models.py:220
+#: users/models.py:222
msgid "Permissions to edit items"
msgstr ""
-#: users/models.py:222
+#: users/models.py:224
msgid "Permission to delete items"
msgstr ""
diff --git a/InvenTree/locale/nl/LC_MESSAGES/django.po b/InvenTree/locale/nl/LC_MESSAGES/django.po
index ff5c069957..074f3819ad 100644
--- a/InvenTree/locale/nl/LC_MESSAGES/django.po
+++ b/InvenTree/locale/nl/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-11-04 14:07+0000\n"
-"PO-Revision-Date: 2022-11-04 19:02\n"
+"POT-Creation-Date: 2022-11-14 04:59+0000\n"
+"PO-Revision-Date: 2022-11-14 14:51\n"
"Last-Translator: \n"
"Language-Team: Dutch\n"
"Language: nl_NL\n"
@@ -17,7 +17,7 @@ msgstr ""
"X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n"
"X-Crowdin-File-ID: 154\n"
-#: InvenTree/api.py:54
+#: InvenTree/api.py:61
msgid "API endpoint not found"
msgstr "API eindpunt niet gevonden"
@@ -25,27 +25,27 @@ msgstr "API eindpunt niet gevonden"
msgid "Error details can be found in the admin panel"
msgstr "Error details kunnen worden gevonden in het admin scherm"
-#: InvenTree/fields.py:120
+#: InvenTree/fields.py:129
msgid "Enter date"
msgstr "Voer datum in"
-#: InvenTree/fields.py:195 build/serializers.py:387
-#: build/templates/build/sidebar.html:21 company/models.py:525
-#: company/templates/company/sidebar.html:25 order/models.py:920
+#: InvenTree/fields.py:204 build/serializers.py:387
+#: build/templates/build/sidebar.html:21 company/models.py:529
+#: company/templates/company/sidebar.html:25 order/models.py:943
#: order/templates/order/po_sidebar.html:11
-#: order/templates/order/so_sidebar.html:17
-#: part/templates/part/part_sidebar.html:59
+#: order/templates/order/so_sidebar.html:17 part/admin.py:27
+#: part/templates/part/part_sidebar.html:57
#: report/templates/report/inventree_build_order_base.html:172
-#: stock/models.py:2002 stock/models.py:2110 stock/serializers.py:327
-#: stock/serializers.py:460 stock/serializers.py:541 stock/serializers.py:827
-#: stock/serializers.py:926 stock/serializers.py:1058
+#: stock/admin.py:103 stock/models.py:2018 stock/models.py:2126
+#: stock/serializers.py:321 stock/serializers.py:454 stock/serializers.py:535
+#: stock/serializers.py:826 stock/serializers.py:925 stock/serializers.py:1057
#: stock/templates/stock/stock_sidebar.html:25
-#: templates/js/translated/barcode.js:108 templates/js/translated/bom.js:1146
-#: templates/js/translated/company.js:1022
-#: templates/js/translated/order.js:2404 templates/js/translated/order.js:2552
-#: templates/js/translated/order.js:3048 templates/js/translated/order.js:3999
-#: templates/js/translated/order.js:4394 templates/js/translated/stock.js:1374
-#: templates/js/translated/stock.js:1982
+#: templates/js/translated/barcode.js:108 templates/js/translated/bom.js:1211
+#: templates/js/translated/company.js:1023
+#: templates/js/translated/order.js:2427 templates/js/translated/order.js:2561
+#: templates/js/translated/order.js:3059 templates/js/translated/order.js:3996
+#: templates/js/translated/order.js:4377 templates/js/translated/stock.js:1393
+#: templates/js/translated/stock.js:2000
msgid "Notes"
msgstr "Opmerkingen"
@@ -122,43 +122,43 @@ msgstr "Externe server heeft lege reactie teruggegeven"
msgid "Supplied URL is not a valid image file"
msgstr "Opgegeven URL is geen geldig afbeeldingsbestand"
-#: InvenTree/helpers.py:602 order/models.py:325 order/models.py:477
+#: InvenTree/helpers.py:589 order/models.py:329 order/models.py:496
msgid "Invalid quantity provided"
msgstr "Ongeldige hoeveelheid ingevoerd"
-#: InvenTree/helpers.py:610
+#: InvenTree/helpers.py:597
msgid "Empty serial number string"
msgstr "Leeg serienummer"
-#: InvenTree/helpers.py:640
+#: InvenTree/helpers.py:627
msgid "Duplicate serial"
msgstr ""
-#: InvenTree/helpers.py:673 InvenTree/helpers.py:708
+#: InvenTree/helpers.py:660 InvenTree/helpers.py:695
#, python-brace-format
msgid "Invalid group range: {g}"
msgstr "Ongeldig groepsbereik: {g}"
-#: InvenTree/helpers.py:702
+#: InvenTree/helpers.py:689
#, python-brace-format
msgid "Group range {g} exceeds allowed quantity ({q})"
msgstr ""
-#: InvenTree/helpers.py:726 InvenTree/helpers.py:733 InvenTree/helpers.py:748
+#: InvenTree/helpers.py:713 InvenTree/helpers.py:720 InvenTree/helpers.py:735
#, python-brace-format
msgid "Invalid group sequence: {g}"
msgstr "Ongeldig groepsbereik: {g}"
-#: InvenTree/helpers.py:758
+#: InvenTree/helpers.py:745
msgid "No serial numbers found"
msgstr "Geen serienummers gevonden"
-#: InvenTree/helpers.py:761
+#: InvenTree/helpers.py:748
#, python-brace-format
msgid "Number of unique serial numbers ({s}) must match quantity ({q})"
msgstr "Hoeveelheid van unieke serienummers ({s}) moet overeenkomen met de hoeveelheid ({q})"
-#: InvenTree/helpers.py:960
+#: InvenTree/helpers.py:947
msgid "Remove HTML tags from this value"
msgstr ""
@@ -194,7 +194,7 @@ msgstr "Ontbrekend bestand"
msgid "Missing external link"
msgstr "Externe link ontbreekt"
-#: InvenTree/models.py:405 stock/models.py:2104
+#: InvenTree/models.py:405 stock/models.py:2120
#: templates/js/translated/attachment.js:103
#: templates/js/translated/attachment.js:241
msgid "Attachment"
@@ -204,18 +204,19 @@ msgstr "Bijlage"
msgid "Select file to attach"
msgstr "Bestand als bijlage selecteren"
-#: InvenTree/models.py:412 company/models.py:125 company/models.py:277
-#: company/models.py:512 order/models.py:84 order/models.py:1259
-#: part/models.py:816 part/templates/part/part_scheduling.html:11
+#: InvenTree/models.py:412 common/models.py:2313 company/models.py:129
+#: company/models.py:281 company/models.py:516 order/models.py:85
+#: order/models.py:1282 part/admin.py:25 part/models.py:835
+#: part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
-#: templates/js/translated/company.js:691
-#: templates/js/translated/company.js:1011
-#: templates/js/translated/order.js:3037 templates/js/translated/part.js:1569
+#: stock/admin.py:102 templates/js/translated/company.js:692
+#: templates/js/translated/company.js:1012
+#: templates/js/translated/order.js:3048 templates/js/translated/part.js:1593
msgid "Link"
msgstr "Link"
-#: InvenTree/models.py:413 build/models.py:290 part/models.py:817
-#: stock/models.py:660
+#: InvenTree/models.py:413 build/models.py:290 part/models.py:836
+#: stock/models.py:676
msgid "Link to external URL"
msgstr "Link naar externe URL"
@@ -228,12 +229,12 @@ msgstr "Opmerking"
msgid "File comment"
msgstr "Bestand opmerking"
-#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1744
-#: common/models.py:1745 common/models.py:1968 common/models.py:1969
-#: common/models.py:2231 common/models.py:2232 part/models.py:2254
-#: part/models.py:2274 plugin/models.py:264 plugin/models.py:265
+#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1756
+#: common/models.py:1757 common/models.py:1980 common/models.py:1981
+#: common/models.py:2243 common/models.py:2244 part/models.py:2867
+#: part/models.py:2887 plugin/models.py:264 plugin/models.py:265
#: report/templates/report/inventree_test_report_base.html:96
-#: templates/js/translated/stock.js:2651
+#: templates/js/translated/stock.js:2669
msgid "User"
msgstr "Gebruiker"
@@ -270,44 +271,45 @@ msgstr "Fout bij hernoemen bestand"
msgid "Invalid choice"
msgstr "Ongeldige keuze"
-#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1954
-#: company/models.py:359 label/models.py:101 part/models.py:760
-#: part/models.py:2429 plugin/models.py:94 report/models.py:152
+#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1966
+#: company/models.py:363 label/models.py:101 part/models.py:779
+#: part/models.py:3042 plugin/models.py:94 report/models.py:152
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/plugin.html:60
#: templates/InvenTree/settings/plugin.html:104
#: templates/InvenTree/settings/plugin_settings.html:23
#: templates/InvenTree/settings/settings.html:344
-#: templates/js/translated/company.js:580
-#: templates/js/translated/company.js:793
+#: templates/js/translated/company.js:581
+#: templates/js/translated/company.js:794
#: templates/js/translated/notification.js:71
-#: templates/js/translated/part.js:686 templates/js/translated/part.js:838
-#: templates/js/translated/part.js:1964 templates/js/translated/stock.js:2396
+#: templates/js/translated/part.js:700 templates/js/translated/part.js:865
+#: templates/js/translated/part.js:1988 templates/js/translated/stock.js:2414
msgid "Name"
msgstr "Naam"
#: InvenTree/models.py:564 build/models.py:163
-#: build/templates/build/detail.html:24 company/models.py:283
-#: company/models.py:518 company/templates/company/company_base.html:71
+#: build/templates/build/detail.html:24 company/models.py:287
+#: company/models.py:522 company/templates/company/company_base.html:71
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:108 label/models.py:108
-#: order/models.py:82 part/models.py:783 part/models.py:2438
-#: part/templates/part/category.html:75 part/templates/part/part_base.html:172
+#: order/models.py:83 part/admin.py:141 part/admin.py:222 part/models.py:802
+#: part/models.py:3051 part/templates/part/category.html:75
+#: part/templates/part/part_base.html:172
#: part/templates/part/part_scheduling.html:12 report/models.py:165
#: report/models.py:507 report/models.py:551
#: report/templates/report/inventree_build_order_base.html:117
-#: stock/templates/stock/location.html:117
+#: stock/admin.py:25 stock/templates/stock/location.html:117
#: templates/InvenTree/settings/plugin_settings.html:28
#: templates/InvenTree/settings/settings.html:355
-#: templates/js/translated/bom.js:579 templates/js/translated/bom.js:887
-#: templates/js/translated/build.js:2580 templates/js/translated/company.js:444
-#: templates/js/translated/company.js:702
-#: templates/js/translated/company.js:986 templates/js/translated/order.js:1988
-#: templates/js/translated/order.js:2220 templates/js/translated/order.js:2826
-#: templates/js/translated/part.js:745 templates/js/translated/part.js:1187
-#: templates/js/translated/part.js:1464 templates/js/translated/part.js:2000
-#: templates/js/translated/part.js:2075 templates/js/translated/stock.js:1748
-#: templates/js/translated/stock.js:2428 templates/js/translated/stock.js:2488
+#: templates/js/translated/bom.js:592 templates/js/translated/bom.js:895
+#: templates/js/translated/build.js:2580 templates/js/translated/company.js:445
+#: templates/js/translated/company.js:703
+#: templates/js/translated/company.js:987 templates/js/translated/order.js:2022
+#: templates/js/translated/order.js:2259 templates/js/translated/order.js:2837
+#: templates/js/translated/part.js:759 templates/js/translated/part.js:1208
+#: templates/js/translated/part.js:1475 templates/js/translated/part.js:2024
+#: templates/js/translated/part.js:2099 templates/js/translated/stock.js:1767
+#: templates/js/translated/stock.js:2446 templates/js/translated/stock.js:2506
msgid "Description"
msgstr "Omschrijving"
@@ -320,7 +322,7 @@ msgid "parent"
msgstr "bovenliggende"
#: InvenTree/models.py:580 InvenTree/models.py:581
-#: templates/js/translated/part.js:2009 templates/js/translated/stock.js:2437
+#: templates/js/translated/part.js:2033 templates/js/translated/stock.js:2455
msgid "Path"
msgstr "Pad"
@@ -332,7 +334,7 @@ msgstr ""
msgid "Third party barcode data"
msgstr ""
-#: InvenTree/models.py:688 order/serializers.py:486
+#: InvenTree/models.py:688 order/serializers.py:477
msgid "Barcode Hash"
msgstr "Hash van Streepjescode"
@@ -352,187 +354,187 @@ msgstr "Serverfout"
msgid "An error has been logged by the server."
msgstr "Er is een fout gelogd door de server."
-#: InvenTree/serializers.py:58 part/models.py:2774
+#: InvenTree/serializers.py:58 part/models.py:3387
msgid "Must be a valid number"
msgstr "Moet een geldig nummer zijn"
-#: InvenTree/serializers.py:265
+#: InvenTree/serializers.py:266
msgid "Filename"
msgstr "Bestandsnaam"
-#: InvenTree/serializers.py:300
+#: InvenTree/serializers.py:301
msgid "Invalid value"
msgstr "Ongeldige waarde"
-#: InvenTree/serializers.py:322
+#: InvenTree/serializers.py:323
msgid "Data File"
msgstr "Data bestand"
-#: InvenTree/serializers.py:323
+#: InvenTree/serializers.py:324
msgid "Select data file for upload"
msgstr "Selecteer een bestand om te uploaden"
-#: InvenTree/serializers.py:344
+#: InvenTree/serializers.py:345
msgid "Unsupported file type"
msgstr "Niet ondersteund bestandstype"
-#: InvenTree/serializers.py:350
+#: InvenTree/serializers.py:351
msgid "File is too large"
msgstr "Bestand is te groot"
-#: InvenTree/serializers.py:371
+#: InvenTree/serializers.py:372
msgid "No columns found in file"
msgstr "Geen kolommen gevonden in het bestand"
-#: InvenTree/serializers.py:374
+#: InvenTree/serializers.py:375
msgid "No data rows found in file"
msgstr "Geen data rijen gevonden in dit bestand"
-#: InvenTree/serializers.py:497
+#: InvenTree/serializers.py:498
msgid "No data rows provided"
msgstr "Geen data rijen opgegeven"
-#: InvenTree/serializers.py:500
+#: InvenTree/serializers.py:501
msgid "No data columns supplied"
msgstr "Geen gegevenskolommen opgegeven"
-#: InvenTree/serializers.py:577
+#: InvenTree/serializers.py:578
#, python-brace-format
msgid "Missing required column: '{name}'"
msgstr "Verplichte kolom ontbreekt: '{name}'"
-#: InvenTree/serializers.py:586
+#: InvenTree/serializers.py:587
#, python-brace-format
msgid "Duplicate column: '{col}'"
msgstr "Dubbele kolom: '{col}'"
-#: InvenTree/serializers.py:605
+#: InvenTree/serializers.py:606
#: templates/InvenTree/settings/mixins/urls.html:14
msgid "URL"
msgstr "URL"
-#: InvenTree/serializers.py:606
+#: InvenTree/serializers.py:607
msgid "URL of remote image file"
msgstr "URL van extern afbeeldingsbestand"
-#: InvenTree/serializers.py:620
+#: InvenTree/serializers.py:621
msgid "Downloading images from remote URL is not enabled"
msgstr "Afbeeldingen van externe URL downloaden is niet ingeschakeld"
-#: InvenTree/settings.py:621
+#: InvenTree/settings.py:627
msgid "Czech"
msgstr "Tsjechisch"
-#: InvenTree/settings.py:622
+#: InvenTree/settings.py:628
msgid "Danish"
msgstr ""
-#: InvenTree/settings.py:623
+#: InvenTree/settings.py:629
msgid "German"
msgstr "Duits"
-#: InvenTree/settings.py:624
+#: InvenTree/settings.py:630
msgid "Greek"
msgstr "Grieks"
-#: InvenTree/settings.py:625
+#: InvenTree/settings.py:631
msgid "English"
msgstr "Engels"
-#: InvenTree/settings.py:626
+#: InvenTree/settings.py:632
msgid "Spanish"
msgstr "Spaans"
-#: InvenTree/settings.py:627
+#: InvenTree/settings.py:633
msgid "Spanish (Mexican)"
msgstr "Spaans (Mexicaans)"
-#: InvenTree/settings.py:628
+#: InvenTree/settings.py:634
msgid "Farsi / Persian"
msgstr "Farsi / Perzisch"
-#: InvenTree/settings.py:629
+#: InvenTree/settings.py:635
msgid "French"
msgstr "Frans"
-#: InvenTree/settings.py:630
+#: InvenTree/settings.py:636
msgid "Hebrew"
msgstr "Hebreeuws"
-#: InvenTree/settings.py:631
+#: InvenTree/settings.py:637
msgid "Hungarian"
msgstr "Hongaars"
-#: InvenTree/settings.py:632
+#: InvenTree/settings.py:638
msgid "Italian"
msgstr "Italiaans"
-#: InvenTree/settings.py:633
+#: InvenTree/settings.py:639
msgid "Japanese"
msgstr "Japans"
-#: InvenTree/settings.py:634
+#: InvenTree/settings.py:640
msgid "Korean"
msgstr "Koreaans"
-#: InvenTree/settings.py:635
+#: InvenTree/settings.py:641
msgid "Dutch"
msgstr "Nederlands"
-#: InvenTree/settings.py:636
+#: InvenTree/settings.py:642
msgid "Norwegian"
msgstr "Noors"
-#: InvenTree/settings.py:637
+#: InvenTree/settings.py:643
msgid "Polish"
msgstr "Pools"
-#: InvenTree/settings.py:638
+#: InvenTree/settings.py:644
msgid "Portuguese"
msgstr "Portugees"
-#: InvenTree/settings.py:639
+#: InvenTree/settings.py:645
msgid "Portuguese (Brazilian)"
msgstr "Portugees (Braziliaans)"
-#: InvenTree/settings.py:640
+#: InvenTree/settings.py:646
msgid "Russian"
msgstr "Russisch"
-#: InvenTree/settings.py:641
+#: InvenTree/settings.py:647
msgid "Swedish"
msgstr "Zweeds"
-#: InvenTree/settings.py:642
+#: InvenTree/settings.py:648
msgid "Thai"
msgstr "Thais"
-#: InvenTree/settings.py:643
+#: InvenTree/settings.py:649
msgid "Turkish"
msgstr "Turks"
-#: InvenTree/settings.py:644
+#: InvenTree/settings.py:650
msgid "Vietnamese"
msgstr "Vietnamees"
-#: InvenTree/settings.py:645
+#: InvenTree/settings.py:651
msgid "Chinese"
msgstr "Chinees"
-#: InvenTree/status.py:99
+#: InvenTree/status.py:98
msgid "Background worker check failed"
msgstr "Achtergrondwerker check is gefaald"
-#: InvenTree/status.py:103
+#: InvenTree/status.py:102
msgid "Email backend not configured"
msgstr "E-mailbackend niet geconfigureerd"
-#: InvenTree/status.py:106
+#: InvenTree/status.py:105
msgid "InvenTree system health checks failed"
msgstr "InvenTree gezondsheidschecks mislukt"
#: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140
-#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:342
+#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:346
msgid "Pending"
msgstr "Bezig"
@@ -561,8 +563,8 @@ msgstr "Kwijt"
msgid "Returned"
msgstr "Retour"
-#: InvenTree/status_codes.py:141 order/models.py:1142
-#: templates/js/translated/order.js:3625 templates/js/translated/order.js:3974
+#: InvenTree/status_codes.py:141 order/models.py:1165
+#: templates/js/translated/order.js:3636 templates/js/translated/order.js:3971
msgid "Shipped"
msgstr "Verzonden"
@@ -646,7 +648,7 @@ msgstr "Splits van bovenliggend item"
msgid "Split child item"
msgstr "Splits onderliggende item"
-#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2086
+#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2104
msgid "Merged stock items"
msgstr "Samengevoegde voorraadartikelen"
@@ -654,7 +656,7 @@ msgstr "Samengevoegde voorraadartikelen"
msgid "Converted to variant"
msgstr "Geconverteerd naar variant"
-#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:229
+#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:233
msgid "Sent to customer"
msgstr "Naar klant verzonden"
@@ -746,7 +748,7 @@ msgstr "Productieorder"
#: build/models.py:111 build/templates/build/build_base.html:13
#: build/templates/build/index.html:8 build/templates/build/index.html:12
-#: order/templates/order/sales_order_detail.html:120
+#: order/templates/order/sales_order_detail.html:125
#: order/templates/order/so_sidebar.html:13
#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221
#: templates/InvenTree/search.html:141
@@ -759,15 +761,15 @@ msgstr "Productieorders"
msgid "Build Order Reference"
msgstr "Productieorderreferentie"
-#: build/models.py:155 order/models.py:240 order/models.py:632
-#: order/models.py:918 part/models.py:2684
+#: build/models.py:155 order/models.py:241 order/models.py:651
+#: order/models.py:941 part/admin.py:224 part/models.py:3297
#: part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:92
-#: templates/js/translated/bom.js:716 templates/js/translated/bom.js:897
-#: templates/js/translated/build.js:1843 templates/js/translated/order.js:2251
-#: templates/js/translated/order.js:2481 templates/js/translated/order.js:3818
-#: templates/js/translated/order.js:4323
+#: templates/js/translated/bom.js:729 templates/js/translated/bom.js:905
+#: templates/js/translated/build.js:1843 templates/js/translated/order.js:2290
+#: templates/js/translated/order.js:2508 templates/js/translated/order.js:3833
+#: templates/js/translated/order.js:4324 templates/js/translated/pricing.js:119
msgid "Reference"
msgstr "Referentie"
@@ -785,39 +787,40 @@ msgid "BuildOrder to which this build is allocated"
msgstr "Productieorder waar deze productie aan is toegewezen"
#: build/models.py:180 build/templates/build/build_base.html:80
-#: build/templates/build/detail.html:29 company/models.py:680
-#: order/models.py:1015 order/models.py:1126 order/models.py:1127
-#: part/models.py:343 part/models.py:2200 part/models.py:2215
-#: part/models.py:2234 part/models.py:2252 part/models.py:2351
-#: part/models.py:2472 part/models.py:2564 part/models.py:2649
-#: part/models.py:2943 part/serializers.py:828
+#: build/templates/build/detail.html:29 company/models.py:684
+#: order/models.py:1038 order/models.py:1149 order/models.py:1150
+#: part/models.py:362 part/models.py:2700 part/models.py:2813
+#: part/models.py:2828 part/models.py:2847 part/models.py:2865
+#: part/models.py:2964 part/models.py:3085 part/models.py:3177
+#: part/models.py:3262 part/models.py:3578 part/serializers.py:852
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
#: report/templates/report/inventree_build_order_base.html:109
#: report/templates/report/inventree_po_report.html:89
-#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:86
-#: stock/serializers.py:494 templates/InvenTree/search.html:82
+#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:90
+#: stock/serializers.py:488 templates/InvenTree/search.html:82
#: templates/email/build_order_completed.html:17
#: templates/email/build_order_required_stock.html:17
#: templates/email/low_stock_notification.html:16
#: templates/email/overdue_build_order.html:16
-#: templates/js/translated/barcode.js:479 templates/js/translated/bom.js:578
-#: templates/js/translated/bom.js:715 templates/js/translated/bom.js:841
+#: templates/js/translated/barcode.js:479 templates/js/translated/bom.js:591
+#: templates/js/translated/bom.js:728 templates/js/translated/bom.js:849
#: templates/js/translated/build.js:1214 templates/js/translated/build.js:1711
#: templates/js/translated/build.js:2194 templates/js/translated/build.js:2585
-#: templates/js/translated/company.js:301
-#: templates/js/translated/company.js:531
-#: templates/js/translated/company.js:643
-#: templates/js/translated/company.js:904 templates/js/translated/order.js:106
-#: templates/js/translated/order.js:1134 templates/js/translated/order.js:1638
-#: templates/js/translated/order.js:2205 templates/js/translated/order.js:3180
-#: templates/js/translated/order.js:3576 templates/js/translated/order.js:3802
-#: templates/js/translated/part.js:1172 templates/js/translated/part.js:1244
-#: templates/js/translated/part.js:1442 templates/js/translated/stock.js:586
-#: templates/js/translated/stock.js:751 templates/js/translated/stock.js:958
-#: templates/js/translated/stock.js:1700 templates/js/translated/stock.js:2514
-#: templates/js/translated/stock.js:2709 templates/js/translated/stock.js:2843
+#: templates/js/translated/company.js:302
+#: templates/js/translated/company.js:532
+#: templates/js/translated/company.js:644
+#: templates/js/translated/company.js:905 templates/js/translated/order.js:106
+#: templates/js/translated/order.js:1168 templates/js/translated/order.js:1672
+#: templates/js/translated/order.js:2244 templates/js/translated/order.js:3191
+#: templates/js/translated/order.js:3587 templates/js/translated/order.js:3817
+#: templates/js/translated/part.js:1193 templates/js/translated/part.js:1265
+#: templates/js/translated/part.js:1452 templates/js/translated/pricing.js:102
+#: templates/js/translated/stock.js:605 templates/js/translated/stock.js:770
+#: templates/js/translated/stock.js:977 templates/js/translated/stock.js:1719
+#: templates/js/translated/stock.js:2532 templates/js/translated/stock.js:2727
+#: templates/js/translated/stock.js:2861
msgid "Part"
msgstr "Onderdeel"
@@ -834,7 +837,7 @@ msgid "SalesOrder to which this build is allocated"
msgstr "Verkooporder waar deze productie aan is toegewezen"
#: build/models.py:202 build/serializers.py:822
-#: templates/js/translated/build.js:2182 templates/js/translated/order.js:3168
+#: templates/js/translated/build.js:2182 templates/js/translated/order.js:3179
msgid "Source Location"
msgstr "Bronlocatie"
@@ -874,8 +877,8 @@ msgstr "Productiestatus"
msgid "Build status code"
msgstr "Productiestatuscode"
-#: build/models.py:245 build/serializers.py:224 order/serializers.py:464
-#: stock/models.py:664 templates/js/translated/order.js:1496
+#: build/models.py:245 build/serializers.py:224 order/serializers.py:455
+#: stock/models.py:680 templates/js/translated/order.js:1530
msgid "Batch Code"
msgstr "Batchcode"
@@ -883,12 +886,12 @@ msgstr "Batchcode"
msgid "Batch code for this build output"
msgstr "Batchcode voor deze productieuitvoer"
-#: build/models.py:252 order/models.py:86 part/models.py:952
-#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2839
+#: build/models.py:252 order/models.py:87 part/models.py:971
+#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2850
msgid "Creation Date"
msgstr "Aanmaakdatum"
-#: build/models.py:256 order/models.py:662
+#: build/models.py:256 order/models.py:681
msgid "Target completion date"
msgstr "Verwachte opleveringsdatum"
@@ -896,7 +899,7 @@ msgstr "Verwachte opleveringsdatum"
msgid "Target date for build completion. Build will be overdue after this date."
msgstr "Doeldatum voor productie voltooiing. Productie zal achterstallig zijn na deze datum."
-#: build/models.py:260 order/models.py:291
+#: build/models.py:260 order/models.py:292
#: templates/js/translated/build.js:2662
msgid "Completion Date"
msgstr "Opleveringsdatum"
@@ -914,11 +917,11 @@ msgid "User who issued this build order"
msgstr "Gebruiker die de productieorder heeft gegeven"
#: build/models.py:283 build/templates/build/build_base.html:193
-#: build/templates/build/detail.html:115 order/models.py:100
+#: build/templates/build/detail.html:115 order/models.py:101
#: order/templates/order/order_base.html:185
-#: order/templates/order/sales_order_base.html:183 part/models.py:956
+#: order/templates/order/sales_order_base.html:183 part/models.py:975
#: report/templates/report/inventree_build_order_base.html:158
-#: templates/js/translated/build.js:2642 templates/js/translated/order.js:2022
+#: templates/js/translated/build.js:2642 templates/js/translated/order.js:2056
msgid "Responsible"
msgstr "Verantwoordelijke"
@@ -929,7 +932,7 @@ msgstr "Gebruiker verantwoordelijk voor deze productieorder"
#: build/models.py:289 build/templates/build/detail.html:101
#: company/templates/company/manufacturer_part.html:107
#: company/templates/company/supplier_part.html:188
-#: part/templates/part/part_base.html:361 stock/models.py:658
+#: part/templates/part/part_base.html:376 stock/models.py:674
#: stock/templates/stock/item_base.html:203
msgid "External Link"
msgstr "Externe Link"
@@ -968,11 +971,11 @@ msgstr "Productieartikel moet een productieuitvoer specificeren, omdat het hoofd
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr "Toegewezen hoeveelheid ({q}) mag de beschikbare voorraad ({a}) niet overschrijden"
-#: build/models.py:1191 order/models.py:1393
+#: build/models.py:1191 order/models.py:1416
msgid "Stock item is over-allocated"
msgstr "Voorraad item is te veel toegewezen"
-#: build/models.py:1197 order/models.py:1396
+#: build/models.py:1197 order/models.py:1419
msgid "Allocation quantity must be greater than zero"
msgstr "Toewijzing hoeveelheid moet groter zijn dan nul"
@@ -994,18 +997,18 @@ msgstr "Product"
msgid "Build to allocate parts"
msgstr "Product om onderdelen toe te wijzen"
-#: build/models.py:1346 build/serializers.py:663 order/serializers.py:1039
-#: order/serializers.py:1060 stock/serializers.py:398 stock/serializers.py:758
-#: stock/serializers.py:884 stock/templates/stock/item_base.html:10
+#: build/models.py:1346 build/serializers.py:663 order/serializers.py:1032
+#: order/serializers.py:1053 stock/serializers.py:392 stock/serializers.py:757
+#: stock/serializers.py:883 stock/templates/stock/item_base.html:10
#: stock/templates/stock/item_base.html:23
#: stock/templates/stock/item_base.html:197
#: templates/js/translated/build.js:790 templates/js/translated/build.js:795
#: templates/js/translated/build.js:2196 templates/js/translated/build.js:2747
-#: templates/js/translated/order.js:107 templates/js/translated/order.js:3181
-#: templates/js/translated/order.js:3483 templates/js/translated/order.js:3488
-#: templates/js/translated/order.js:3583 templates/js/translated/order.js:3675
-#: templates/js/translated/stock.js:587 templates/js/translated/stock.js:752
-#: templates/js/translated/stock.js:2587
+#: templates/js/translated/order.js:107 templates/js/translated/order.js:3192
+#: templates/js/translated/order.js:3494 templates/js/translated/order.js:3499
+#: templates/js/translated/order.js:3594 templates/js/translated/order.js:3686
+#: templates/js/translated/stock.js:606 templates/js/translated/stock.js:771
+#: templates/js/translated/stock.js:2605
msgid "Stock Item"
msgstr "Voorraadartikel"
@@ -1015,12 +1018,10 @@ msgstr "Bron voorraadartikel"
#: build/models.py:1359 build/serializers.py:192
#: build/templates/build/build_base.html:85
-#: build/templates/build/detail.html:34 common/models.py:1776
-#: company/templates/company/supplier_part.html:341 order/models.py:911
-#: order/models.py:1437 order/serializers.py:1213
-#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:40
-#: part/models.py:2665 part/templates/part/detail.html:938
-#: part/templates/part/detail.html:1024
+#: build/templates/build/detail.html:34 common/models.py:1788
+#: order/models.py:934 order/models.py:1460 order/serializers.py:1206
+#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:223
+#: part/forms.py:40 part/models.py:3278
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_build_order_base.html:113
@@ -1028,25 +1029,29 @@ msgstr "Bron voorraadartikel"
#: report/templates/report/inventree_so_report.html:91
#: report/templates/report/inventree_test_report_base.html:81
#: report/templates/report/inventree_test_report_base.html:139
-#: stock/serializers.py:291 stock/templates/stock/item_base.html:290
+#: stock/admin.py:86 stock/serializers.py:285
+#: stock/templates/stock/item_base.html:290
#: stock/templates/stock/item_base.html:298
#: templates/email/build_order_completed.html:18
-#: templates/js/translated/barcode.js:481 templates/js/translated/bom.js:717
-#: templates/js/translated/bom.js:905 templates/js/translated/build.js:474
+#: templates/js/translated/barcode.js:481 templates/js/translated/bom.js:730
+#: templates/js/translated/bom.js:913 templates/js/translated/build.js:474
#: templates/js/translated/build.js:626 templates/js/translated/build.js:817
#: templates/js/translated/build.js:1236 templates/js/translated/build.js:1737
#: templates/js/translated/build.js:2197
+#: templates/js/translated/company.js:1159
#: templates/js/translated/model_renderers.js:120
-#: templates/js/translated/order.js:123 templates/js/translated/order.js:1137
-#: templates/js/translated/order.js:2257 templates/js/translated/order.js:2487
-#: templates/js/translated/order.js:3182 templates/js/translated/order.js:3502
-#: templates/js/translated/order.js:3589 templates/js/translated/order.js:3681
-#: templates/js/translated/order.js:3824 templates/js/translated/order.js:4329
-#: templates/js/translated/part.js:1036 templates/js/translated/part.js:2220
-#: templates/js/translated/part.js:2689 templates/js/translated/part.js:2730
-#: templates/js/translated/part.js:2808 templates/js/translated/stock.js:458
-#: templates/js/translated/stock.js:612 templates/js/translated/stock.js:782
-#: templates/js/translated/stock.js:2636 templates/js/translated/stock.js:2721
+#: templates/js/translated/order.js:123 templates/js/translated/order.js:1171
+#: templates/js/translated/order.js:2296 templates/js/translated/order.js:2514
+#: templates/js/translated/order.js:3193 templates/js/translated/order.js:3513
+#: templates/js/translated/order.js:3600 templates/js/translated/order.js:3692
+#: templates/js/translated/order.js:3839 templates/js/translated/order.js:4330
+#: templates/js/translated/part.js:1063 templates/js/translated/part.js:2546
+#: templates/js/translated/pricing.js:114
+#: templates/js/translated/pricing.js:207
+#: templates/js/translated/pricing.js:255
+#: templates/js/translated/pricing.js:349 templates/js/translated/stock.js:477
+#: templates/js/translated/stock.js:631 templates/js/translated/stock.js:801
+#: templates/js/translated/stock.js:2654 templates/js/translated/stock.js:2739
msgid "Quantity"
msgstr "Hoeveelheid"
@@ -1087,10 +1092,10 @@ msgstr "Deze productieuitvoer is niet volledig toegewezen"
msgid "Enter quantity for build output"
msgstr "Voer hoeveelheid in voor productie uitvoer"
-#: build/serializers.py:207 build/serializers.py:683 order/models.py:323
-#: order/serializers.py:304 order/serializers.py:459 part/serializers.py:558
-#: part/serializers.py:991 stock/models.py:518 stock/models.py:1253
-#: stock/serializers.py:300
+#: build/serializers.py:207 build/serializers.py:683 order/models.py:327
+#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:644
+#: part/serializers.py:1015 stock/models.py:534 stock/models.py:1269
+#: stock/serializers.py:294
msgid "Quantity must be greater than zero"
msgstr "Hoeveelheid moet groter zijn dan nul"
@@ -1102,9 +1107,9 @@ msgstr "Hoeveelheid als geheel getal vereist voor traceerbare onderdelen"
msgid "Integer quantity required, as the bill of materials contains trackable parts"
msgstr "Geheel getal vereist omdat de stuklijst traceerbare onderdelen bevat"
-#: build/serializers.py:231 order/serializers.py:472 order/serializers.py:1217
-#: stock/serializers.py:309 templates/js/translated/order.js:1507
-#: templates/js/translated/stock.js:271 templates/js/translated/stock.js:459
+#: build/serializers.py:231 order/serializers.py:463 order/serializers.py:1210
+#: stock/serializers.py:303 templates/js/translated/order.js:1541
+#: templates/js/translated/stock.js:290 templates/js/translated/stock.js:478
msgid "Serial Numbers"
msgstr "Serienummers"
@@ -1120,7 +1125,7 @@ msgstr "Serienummers automatisch toewijzen"
msgid "Automatically allocate required items with matching serial numbers"
msgstr "Vereiste artikelen automatisch toewijzen met overeenkomende serienummers"
-#: build/serializers.py:281 stock/api.py:589
+#: build/serializers.py:281 stock/api.py:599
msgid "The following serial numbers already exist or are invalid"
msgstr ""
@@ -1128,18 +1133,18 @@ msgstr ""
msgid "A list of build outputs must be provided"
msgstr "Een lijst van productieuitvoeren moet worden verstrekt"
-#: build/serializers.py:369 order/serializers.py:445 order/serializers.py:556
-#: stock/serializers.py:320 stock/serializers.py:455 stock/serializers.py:536
-#: stock/serializers.py:919 stock/serializers.py:1152
+#: build/serializers.py:369 order/serializers.py:436 order/serializers.py:547
+#: stock/serializers.py:314 stock/serializers.py:449 stock/serializers.py:530
+#: stock/serializers.py:918 stock/serializers.py:1151
#: stock/templates/stock/item_base.html:388
#: templates/js/translated/barcode.js:480
#: templates/js/translated/barcode.js:724 templates/js/translated/build.js:802
-#: templates/js/translated/build.js:1749 templates/js/translated/order.js:1534
-#: templates/js/translated/order.js:3495 templates/js/translated/order.js:3600
-#: templates/js/translated/order.js:3608 templates/js/translated/order.js:3689
-#: templates/js/translated/part.js:181 templates/js/translated/stock.js:588
-#: templates/js/translated/stock.js:753 templates/js/translated/stock.js:960
-#: templates/js/translated/stock.js:1856 templates/js/translated/stock.js:2528
+#: templates/js/translated/build.js:1749 templates/js/translated/order.js:1568
+#: templates/js/translated/order.js:3506 templates/js/translated/order.js:3611
+#: templates/js/translated/order.js:3619 templates/js/translated/order.js:3700
+#: templates/js/translated/part.js:177 templates/js/translated/stock.js:607
+#: templates/js/translated/stock.js:772 templates/js/translated/stock.js:979
+#: templates/js/translated/stock.js:1875 templates/js/translated/stock.js:2546
msgid "Location"
msgstr "Locatie"
@@ -1148,12 +1153,13 @@ msgid "Location for completed build outputs"
msgstr "Locatie van voltooide productieuitvoeren"
#: build/serializers.py:376 build/templates/build/build_base.html:145
-#: build/templates/build/detail.html:62 order/models.py:651
-#: order/serializers.py:482 stock/templates/stock/item_base.html:421
+#: build/templates/build/detail.html:62 order/models.py:670
+#: order/serializers.py:473 stock/admin.py:89
+#: stock/templates/stock/item_base.html:421
#: templates/js/translated/barcode.js:214 templates/js/translated/build.js:2614
-#: templates/js/translated/order.js:1643 templates/js/translated/order.js:1992
-#: templates/js/translated/order.js:2831 templates/js/translated/stock.js:1831
-#: templates/js/translated/stock.js:2605 templates/js/translated/stock.js:2737
+#: templates/js/translated/order.js:1677 templates/js/translated/order.js:2026
+#: templates/js/translated/order.js:2842 templates/js/translated/stock.js:1850
+#: templates/js/translated/stock.js:2623 templates/js/translated/stock.js:2755
msgid "Status"
msgstr "Status"
@@ -1213,7 +1219,7 @@ msgstr "Accepteer dat voorraadartikelen niet volledig zijn toegewezen aan deze p
msgid "Required stock has not been fully allocated"
msgstr "Vereiste voorraad is niet volledig toegewezen"
-#: build/serializers.py:545 order/serializers.py:208 order/serializers.py:1107
+#: build/serializers.py:545 order/serializers.py:202 order/serializers.py:1100
msgid "Accept Incomplete"
msgstr "Accepteer Onvolledig"
@@ -1229,8 +1235,8 @@ msgstr "Vereiste productiehoeveelheid is voltooid"
msgid "Build order has incomplete outputs"
msgstr "Productieorder heeft onvolledige uitvoeren"
-#: build/serializers.py:595 build/serializers.py:640 part/models.py:2801
-#: part/models.py:2935
+#: build/serializers.py:595 build/serializers.py:640 part/models.py:3414
+#: part/models.py:3570
msgid "BOM Item"
msgstr "Stuklijstartikel"
@@ -1246,11 +1252,11 @@ msgstr "Productieuitvoer moet naar dezelfde productie wijzen"
msgid "bom_item.part must point to the same part as the build order"
msgstr "bom_item.part moet naar hetzelfde onderdeel wijzen als de productieorder"
-#: build/serializers.py:669 stock/serializers.py:771
+#: build/serializers.py:669 stock/serializers.py:770
msgid "Item must be in stock"
msgstr "Artikel moet op voorraad zijn"
-#: build/serializers.py:727 order/serializers.py:1097
+#: build/serializers.py:727 order/serializers.py:1090
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr "Beschikbare hoeveelheid ({q}) overschreden"
@@ -1267,7 +1273,7 @@ msgstr "Productieuitvoer kan niet worden gespecificeerd voor de toewijzing van n
msgid "This stock item has already been allocated to this build output"
msgstr "Dit voorraadartikel is al toegewezen aan deze productieoutput"
-#: build/serializers.py:768 order/serializers.py:1381
+#: build/serializers.py:768 order/serializers.py:1374
msgid "Allocation items must be provided"
msgstr "Allocaties voor artikelen moeten worden opgegeven"
@@ -1382,13 +1388,13 @@ msgid "Stock has not been fully allocated to this Build Order"
msgstr "Voorraad is niet volledig toegewezen aan deze productieorder"
#: build/templates/build/build_base.html:154
-#: build/templates/build/detail.html:131 order/models.py:924
+#: build/templates/build/detail.html:131 order/models.py:947
#: order/templates/order/order_base.html:171
#: order/templates/order/sales_order_base.html:164
#: report/templates/report/inventree_build_order_base.html:125
-#: templates/js/translated/build.js:2654 templates/js/translated/order.js:2009
-#: templates/js/translated/order.js:2351 templates/js/translated/order.js:2847
-#: templates/js/translated/order.js:3887 templates/js/translated/part.js:1051
+#: templates/js/translated/build.js:2654 templates/js/translated/order.js:2043
+#: templates/js/translated/order.js:2374 templates/js/translated/order.js:2858
+#: templates/js/translated/order.js:3884 templates/js/translated/part.js:1078
msgid "Target Date"
msgstr "Streefdatum"
@@ -1401,29 +1407,29 @@ msgstr "Deze productie was verwacht op %(target)s"
#: build/templates/build/build_base.html:204
#: order/templates/order/order_base.html:107
#: order/templates/order/sales_order_base.html:94
-#: templates/js/translated/table_filters.js:328
-#: templates/js/translated/table_filters.js:369
-#: templates/js/translated/table_filters.js:399
+#: templates/js/translated/table_filters.js:332
+#: templates/js/translated/table_filters.js:373
+#: templates/js/translated/table_filters.js:403
msgid "Overdue"
msgstr "Achterstallig"
#: build/templates/build/build_base.html:166
#: build/templates/build/detail.html:67 build/templates/build/detail.html:142
#: order/templates/order/sales_order_base.html:171
-#: templates/js/translated/table_filters.js:408
+#: templates/js/translated/table_filters.js:412
msgid "Completed"
msgstr "Voltooid"
#: build/templates/build/build_base.html:179
-#: build/templates/build/detail.html:94 order/models.py:1119
-#: order/models.py:1213 order/models.py:1344
+#: build/templates/build/detail.html:94 order/models.py:1142
+#: order/models.py:1236 order/models.py:1367
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
#: report/templates/report/inventree_build_order_base.html:135
#: report/templates/report/inventree_so_report.html:77
#: stock/templates/stock/item_base.html:368
#: templates/email/overdue_sales_order.html:15
-#: templates/js/translated/order.js:2793
+#: templates/js/translated/order.js:2804 templates/js/translated/pricing.js:637
msgid "Sales Order"
msgstr "Verkooporder"
@@ -1449,8 +1455,8 @@ msgstr "Voorraadbron"
msgid "Stock can be taken from any available location."
msgstr "Voorraad kan worden genomen van elke beschikbare locatie."
-#: build/templates/build/detail.html:49 order/models.py:1037
-#: templates/js/translated/order.js:1644 templates/js/translated/order.js:2393
+#: build/templates/build/detail.html:49 order/models.py:1060
+#: templates/js/translated/order.js:1678 templates/js/translated/order.js:2416
msgid "Destination"
msgstr "Bestemming"
@@ -1462,14 +1468,14 @@ msgstr "Bestemmingslocatie niet opgegeven"
msgid "Allocated Parts"
msgstr "Toegewezen Onderdelen"
-#: build/templates/build/detail.html:80
+#: build/templates/build/detail.html:80 stock/admin.py:88
#: stock/templates/stock/item_base.html:168
#: templates/js/translated/build.js:1240
#: templates/js/translated/model_renderers.js:124
-#: templates/js/translated/stock.js:1026 templates/js/translated/stock.js:1845
-#: templates/js/translated/stock.js:2744
-#: templates/js/translated/table_filters.js:167
-#: templates/js/translated/table_filters.js:258
+#: templates/js/translated/stock.js:1045 templates/js/translated/stock.js:1864
+#: templates/js/translated/stock.js:2762
+#: templates/js/translated/table_filters.js:171
+#: templates/js/translated/table_filters.js:262
msgid "Batch"
msgstr "Batch"
@@ -1527,7 +1533,7 @@ msgstr "Vereiste onderdelen bestellen"
#: build/templates/build/detail.html:187
#: company/templates/company/detail.html:37
#: company/templates/company/detail.html:85
-#: part/templates/part/category.html:178 templates/js/translated/order.js:1177
+#: part/templates/part/category.html:178 templates/js/translated/order.js:1211
msgid "Order Parts"
msgstr "Onderdelen bestellen"
@@ -1597,10 +1603,10 @@ msgstr "Voltooide Productieuitvoeren"
#: company/templates/company/manufacturer_part.html:151
#: company/templates/company/manufacturer_part_sidebar.html:9
#: order/templates/order/po_sidebar.html:9
-#: order/templates/order/purchase_order_detail.html:82
-#: order/templates/order/sales_order_detail.html:135
-#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:212
-#: part/templates/part/part_sidebar.html:57 stock/templates/stock/item.html:117
+#: order/templates/order/purchase_order_detail.html:86
+#: order/templates/order/sales_order_detail.html:140
+#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:210
+#: part/templates/part/part_sidebar.html:55 stock/templates/stock/item.html:117
#: stock/templates/stock/stock_sidebar.html:23
msgid "Attachments"
msgstr "Bijlagen"
@@ -1617,7 +1623,7 @@ msgstr "Toewijzing Voltooid"
msgid "All untracked stock items have been allocated"
msgstr "Alle niet gevolgde voorraadartikelen zijn toegewezen"
-#: build/templates/build/index.html:18 part/templates/part/detail.html:318
+#: build/templates/build/index.html:18 part/templates/part/detail.html:316
msgid "New Build Order"
msgstr "Nieuwe Productieorder"
@@ -1734,7 +1740,7 @@ msgstr "Tonen `over` beperken"
msgid "Show the `about` modal only to superusers"
msgstr ""
-#: common/models.py:833 company/models.py:94 company/models.py:95
+#: common/models.py:833 company/models.py:98 company/models.py:99
msgid "Company name"
msgstr "Bedrijfsnaam"
@@ -1902,9 +1908,9 @@ msgstr "Kopiëer Categorieparameter Sjablonen"
msgid "Copy category parameter templates when creating a part"
msgstr "Kopieer categorieparameter sjablonen bij het aanmaken van een onderdeel"
-#: common/models.py:1002 part/models.py:2474 report/models.py:158
-#: templates/js/translated/table_filters.js:38
-#: templates/js/translated/table_filters.js:492
+#: common/models.py:1002 part/admin.py:41 part/models.py:3087
+#: report/models.py:158 templates/js/translated/table_filters.js:38
+#: templates/js/translated/table_filters.js:496
msgid "Template"
msgstr "Sjabloon"
@@ -1912,9 +1918,10 @@ msgstr "Sjabloon"
msgid "Parts are templates by default"
msgstr "Onderdelen zijn standaard sjablonen"
-#: common/models.py:1009 part/models.py:908 templates/js/translated/bom.js:1531
-#: templates/js/translated/table_filters.js:184
-#: templates/js/translated/table_filters.js:455
+#: common/models.py:1009 part/admin.py:37 part/admin.py:229 part/models.py:927
+#: templates/js/translated/bom.js:1594
+#: templates/js/translated/table_filters.js:188
+#: templates/js/translated/table_filters.js:459
msgid "Assembly"
msgstr "Samenstelling"
@@ -1922,8 +1929,8 @@ msgstr "Samenstelling"
msgid "Parts can be assembled from other components by default"
msgstr "Onderdelen kunnen standaard vanuit andere componenten worden samengesteld"
-#: common/models.py:1016 part/models.py:914
-#: templates/js/translated/table_filters.js:463
+#: common/models.py:1016 part/admin.py:38 part/models.py:933
+#: templates/js/translated/table_filters.js:467
msgid "Component"
msgstr "Component"
@@ -1931,7 +1938,7 @@ msgstr "Component"
msgid "Parts can be used as sub-components by default"
msgstr "Onderdelen kunnen standaard worden gebruikt als subcomponenten"
-#: common/models.py:1023 part/models.py:925
+#: common/models.py:1023 part/admin.py:39 part/models.py:944
msgid "Purchaseable"
msgstr "Koopbaar"
@@ -1939,8 +1946,8 @@ msgstr "Koopbaar"
msgid "Parts are purchaseable by default"
msgstr "Onderdelen kunnen standaard gekocht worden"
-#: common/models.py:1030 part/models.py:930
-#: templates/js/translated/table_filters.js:484
+#: common/models.py:1030 part/admin.py:40 part/models.py:949
+#: templates/js/translated/table_filters.js:488
msgid "Salable"
msgstr "Verkoopbaar"
@@ -1948,10 +1955,10 @@ msgstr "Verkoopbaar"
msgid "Parts are salable by default"
msgstr "Onderdelen kunnen standaard verkocht worden"
-#: common/models.py:1037 part/models.py:920
+#: common/models.py:1037 part/admin.py:42 part/models.py:939
#: templates/js/translated/table_filters.js:46
-#: templates/js/translated/table_filters.js:116
-#: templates/js/translated/table_filters.js:496
+#: templates/js/translated/table_filters.js:120
+#: templates/js/translated/table_filters.js:500
msgid "Trackable"
msgstr "Volgbaar"
@@ -1959,10 +1966,10 @@ msgstr "Volgbaar"
msgid "Parts are trackable by default"
msgstr "Onderdelen kunnen standaard gevolgd worden"
-#: common/models.py:1044 part/models.py:940
+#: common/models.py:1044 part/admin.py:43 part/models.py:959
#: part/templates/part/part_base.html:156
#: templates/js/translated/table_filters.js:42
-#: templates/js/translated/table_filters.js:500
+#: templates/js/translated/table_filters.js:504
msgid "Virtual"
msgstr "Virtueel"
@@ -1979,791 +1986,837 @@ msgid "Display the import wizard in some part views"
msgstr "Toon de importwizard in sommige onderdelenweergaven"
#: common/models.py:1058
-msgid "Show Price in Forms"
-msgstr "Toon Prijs in Formulieren"
-
-#: common/models.py:1059
-msgid "Display part price in some forms"
-msgstr "Toon onderdeelprijs in sommige formulieren"
-
-#: common/models.py:1070
-msgid "Show Price in BOM"
-msgstr "Prijs in Stuklijst Weergeven"
-
-#: common/models.py:1071
-msgid "Include pricing information in BOM tables"
-msgstr "Prijsinformatie in Stuklijsttabellen opnemen"
-
-#: common/models.py:1082
-msgid "Show Price History"
-msgstr "Toon Prijsgeschiedenis"
-
-#: common/models.py:1083
-msgid "Display historical pricing for Part"
-msgstr "Toon historische prijzen voor Onderdeel"
-
-#: common/models.py:1089
msgid "Show related parts"
msgstr "Verwante onderdelen tonen"
-#: common/models.py:1090
+#: common/models.py:1059
msgid "Display related parts for a part"
msgstr "Verwante onderdelen voor een onderdeel tonen"
-#: common/models.py:1096
+#: common/models.py:1065
msgid "Create initial stock"
msgstr "Eerste voorraad aanmaken"
-#: common/models.py:1097
+#: common/models.py:1066
msgid "Create initial stock on part creation"
msgstr "Aanmaken eerste voorraad bij het maken van onderdeel"
-#: common/models.py:1103
-msgid "Internal Prices"
-msgstr "Interne Prijzen"
-
-#: common/models.py:1104
-msgid "Enable internal prices for parts"
-msgstr "Inschakelen van interne prijzen voor onderdelen"
-
-#: common/models.py:1110
-msgid "Internal Price as BOM-Price"
-msgstr "Interne Prijs als Stuklijst Prijs"
-
-#: common/models.py:1111
-msgid "Use the internal price (if set) in BOM-price calculations"
-msgstr "Gebruik de interne prijs (indien ingesteld) in stuklijst prijsberekeningen"
-
-#: common/models.py:1117
+#: common/models.py:1072
msgid "Part Name Display Format"
msgstr "Onderdelennaam Weergaveopmaak"
-#: common/models.py:1118
+#: common/models.py:1073
msgid "Format to display the part name"
msgstr "Opmaak om de onderdeelnaam weer te geven"
-#: common/models.py:1125
+#: common/models.py:1080
msgid "Part Category Default Icon"
msgstr ""
-#: common/models.py:1126
+#: common/models.py:1081
msgid "Part category default icon (empty means no icon)"
msgstr ""
-#: common/models.py:1131
-msgid "Enable label printing"
-msgstr "Printen van labels Inschakelen"
-
-#: common/models.py:1132
-msgid "Enable label printing from the web interface"
-msgstr "Printen van labels via de webinterface inschakelen"
-
-#: common/models.py:1138
-msgid "Label Image DPI"
-msgstr "Label Afbeelding DPI"
-
-#: common/models.py:1139
-msgid "DPI resolution when generating image files to supply to label printing plugins"
-msgstr "DPI resolutie bij het genereren van afbeelginsbestanden voor label printer plugins"
-
-#: common/models.py:1148
-msgid "Enable Reports"
-msgstr "Activeer Rapportages"
-
-#: common/models.py:1149
-msgid "Enable generation of reports"
-msgstr "Activeer het genereren van rapporten"
-
-#: common/models.py:1155 templates/stats.html:25
-msgid "Debug Mode"
-msgstr "Foutopsporingsmodus"
-
-#: common/models.py:1156
-msgid "Generate reports in debug mode (HTML output)"
-msgstr "Rapporten genereren in debug modus (HTML uitvoer)"
-
-#: common/models.py:1162
-msgid "Page Size"
-msgstr "Paginagrootte"
-
-#: common/models.py:1163
-msgid "Default page size for PDF reports"
-msgstr "Standaard paginagrootte voor PDF rapporten"
-
-#: common/models.py:1173
-msgid "Enable Test Reports"
-msgstr "Activeer Testrapporten"
-
-#: common/models.py:1174
-msgid "Enable generation of test reports"
-msgstr "Activeer het genereren van testrapporten"
-
-#: common/models.py:1180
-msgid "Attach Test Reports"
-msgstr "Testrapporten Toevoegen"
-
-#: common/models.py:1181
-msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item"
-msgstr "Bij het afdrukken van een Testrapport, voeg een kopie van het Testrapport toe aan het bijbehorende Voorraadartikel"
-
-#: common/models.py:1187
-msgid "Globally Unique Serials"
+#: common/models.py:1086
+msgid "Pricing Decimal Places"
msgstr ""
-#: common/models.py:1188
-msgid "Serial numbers for stock items must be globally unique"
+#: common/models.py:1087
+msgid "Number of decimal places to display when rendering pricing data"
msgstr ""
-#: common/models.py:1194
-msgid "Batch Code Template"
-msgstr "Batchcode Sjabloon"
+#: common/models.py:1097
+msgid "Pricing Rebuild Time"
+msgstr ""
-#: common/models.py:1195
-msgid "Template for generating default batch codes for stock items"
-msgstr "Sjabloon voor het genereren van standaard batchcodes voor voorraadartikelen"
+#: common/models.py:1098
+msgid "Number of days before part pricing is automatically updated"
+msgstr ""
-#: common/models.py:1200
-msgid "Stock Expiry"
-msgstr "Verlopen Voorraad"
-
-#: common/models.py:1201
-msgid "Enable stock expiry functionality"
-msgstr "Verlopen voorraad functionaliteit inschakelen"
-
-#: common/models.py:1207
-msgid "Sell Expired Stock"
-msgstr "Verkoop Verlopen Voorraad"
-
-#: common/models.py:1208
-msgid "Allow sale of expired stock"
-msgstr "Verkoop verlopen voorraad toestaan"
-
-#: common/models.py:1214
-msgid "Stock Stale Time"
-msgstr "Voorraad Vervaltijd"
-
-#: common/models.py:1215
-msgid "Number of days stock items are considered stale before expiring"
-msgstr "Aantal dagen voordat voorraadartikelen als verouderd worden beschouwd voor ze verlopen"
-
-#: common/models.py:1217
+#: common/models.py:1099 common/models.py:1208
msgid "days"
msgstr "dagen"
-#: common/models.py:1222
+#: common/models.py:1108
+msgid "Internal Prices"
+msgstr "Interne Prijzen"
+
+#: common/models.py:1109
+msgid "Enable internal prices for parts"
+msgstr "Inschakelen van interne prijzen voor onderdelen"
+
+#: common/models.py:1115
+msgid "Internal Price Override"
+msgstr ""
+
+#: common/models.py:1116
+msgid "If available, internal prices override price range calculations"
+msgstr ""
+
+#: common/models.py:1122
+msgid "Enable label printing"
+msgstr "Printen van labels Inschakelen"
+
+#: common/models.py:1123
+msgid "Enable label printing from the web interface"
+msgstr "Printen van labels via de webinterface inschakelen"
+
+#: common/models.py:1129
+msgid "Label Image DPI"
+msgstr "Label Afbeelding DPI"
+
+#: common/models.py:1130
+msgid "DPI resolution when generating image files to supply to label printing plugins"
+msgstr "DPI resolutie bij het genereren van afbeelginsbestanden voor label printer plugins"
+
+#: common/models.py:1139
+msgid "Enable Reports"
+msgstr "Activeer Rapportages"
+
+#: common/models.py:1140
+msgid "Enable generation of reports"
+msgstr "Activeer het genereren van rapporten"
+
+#: common/models.py:1146 templates/stats.html:25
+msgid "Debug Mode"
+msgstr "Foutopsporingsmodus"
+
+#: common/models.py:1147
+msgid "Generate reports in debug mode (HTML output)"
+msgstr "Rapporten genereren in debug modus (HTML uitvoer)"
+
+#: common/models.py:1153
+msgid "Page Size"
+msgstr "Paginagrootte"
+
+#: common/models.py:1154
+msgid "Default page size for PDF reports"
+msgstr "Standaard paginagrootte voor PDF rapporten"
+
+#: common/models.py:1164
+msgid "Enable Test Reports"
+msgstr "Activeer Testrapporten"
+
+#: common/models.py:1165
+msgid "Enable generation of test reports"
+msgstr "Activeer het genereren van testrapporten"
+
+#: common/models.py:1171
+msgid "Attach Test Reports"
+msgstr "Testrapporten Toevoegen"
+
+#: common/models.py:1172
+msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item"
+msgstr "Bij het afdrukken van een Testrapport, voeg een kopie van het Testrapport toe aan het bijbehorende Voorraadartikel"
+
+#: common/models.py:1178
+msgid "Globally Unique Serials"
+msgstr ""
+
+#: common/models.py:1179
+msgid "Serial numbers for stock items must be globally unique"
+msgstr ""
+
+#: common/models.py:1185
+msgid "Batch Code Template"
+msgstr "Batchcode Sjabloon"
+
+#: common/models.py:1186
+msgid "Template for generating default batch codes for stock items"
+msgstr "Sjabloon voor het genereren van standaard batchcodes voor voorraadartikelen"
+
+#: common/models.py:1191
+msgid "Stock Expiry"
+msgstr "Verlopen Voorraad"
+
+#: common/models.py:1192
+msgid "Enable stock expiry functionality"
+msgstr "Verlopen voorraad functionaliteit inschakelen"
+
+#: common/models.py:1198
+msgid "Sell Expired Stock"
+msgstr "Verkoop Verlopen Voorraad"
+
+#: common/models.py:1199
+msgid "Allow sale of expired stock"
+msgstr "Verkoop verlopen voorraad toestaan"
+
+#: common/models.py:1205
+msgid "Stock Stale Time"
+msgstr "Voorraad Vervaltijd"
+
+#: common/models.py:1206
+msgid "Number of days stock items are considered stale before expiring"
+msgstr "Aantal dagen voordat voorraadartikelen als verouderd worden beschouwd voor ze verlopen"
+
+#: common/models.py:1213
msgid "Build Expired Stock"
msgstr "Produceer Verlopen Voorraad"
-#: common/models.py:1223
+#: common/models.py:1214
msgid "Allow building with expired stock"
msgstr "Sta productie met verlopen voorraad toe"
-#: common/models.py:1229
+#: common/models.py:1220
msgid "Stock Ownership Control"
msgstr "Voorraad Eigenaar Toezicht"
-#: common/models.py:1230
+#: common/models.py:1221
msgid "Enable ownership control over stock locations and items"
msgstr "Eigenaarstoezicht over voorraadlocaties en items inschakelen"
-#: common/models.py:1236
+#: common/models.py:1227
msgid "Stock Location Default Icon"
msgstr ""
-#: common/models.py:1237
+#: common/models.py:1228
msgid "Stock location default icon (empty means no icon)"
msgstr ""
-#: common/models.py:1242
+#: common/models.py:1233
msgid "Build Order Reference Pattern"
msgstr "Productieorderreferentiepatroon"
-#: common/models.py:1243
+#: common/models.py:1234
msgid "Required pattern for generating Build Order reference field"
msgstr "Vereist patroon voor het genereren van het Bouworderreferentieveld"
-#: common/models.py:1249
+#: common/models.py:1240
msgid "Sales Order Reference Pattern"
msgstr "Verkooporderreferentiepatroon"
-#: common/models.py:1250
+#: common/models.py:1241
msgid "Required pattern for generating Sales Order reference field"
msgstr "Vereist patroon voor het genereren van het Verkooporderreferentieveld"
-#: common/models.py:1256
+#: common/models.py:1247
msgid "Sales Order Default Shipment"
msgstr "Standaard Verzending Verkooporder"
-#: common/models.py:1257
+#: common/models.py:1248
msgid "Enable creation of default shipment with sales orders"
msgstr "Aanmaken standaard verzending bij verkooporders inschakelen"
-#: common/models.py:1263
+#: common/models.py:1254
+msgid "Edit Completed Sales Orders"
+msgstr ""
+
+#: common/models.py:1255
+msgid "Allow editing of sales orders after they have been shipped or completed"
+msgstr ""
+
+#: common/models.py:1261
msgid "Purchase Order Reference Pattern"
msgstr "Inkooporderreferentiepatroon"
-#: common/models.py:1264
+#: common/models.py:1262
msgid "Required pattern for generating Purchase Order reference field"
msgstr "Vereist patroon voor het genereren van het Inkooporderreferentieveld"
-#: common/models.py:1271
+#: common/models.py:1268
+msgid "Edit Completed Purchase Orders"
+msgstr ""
+
+#: common/models.py:1269
+msgid "Allow editing of purchase orders after they have been shipped or completed"
+msgstr ""
+
+#: common/models.py:1276
msgid "Enable password forgot"
msgstr "Wachtwoord vergeten functie inschakelen"
-#: common/models.py:1272
+#: common/models.py:1277
msgid "Enable password forgot function on the login pages"
msgstr "Wachtwoord vergeten functie inschakelen op de inlogpagina's"
-#: common/models.py:1278
+#: common/models.py:1283
msgid "Enable registration"
msgstr "Registratie inschakelen"
-#: common/models.py:1279
+#: common/models.py:1284
msgid "Enable self-registration for users on the login pages"
msgstr "Zelfregistratie voor gebruikers op de inlogpagina's inschakelen"
-#: common/models.py:1285
+#: common/models.py:1290
msgid "Enable SSO"
msgstr "SSO inschakelen"
-#: common/models.py:1286
+#: common/models.py:1291
msgid "Enable SSO on the login pages"
msgstr "SSO inschakelen op de inlogpagina's"
-#: common/models.py:1292
+#: common/models.py:1297
msgid "Email required"
msgstr "E-mailadres verplicht"
-#: common/models.py:1293
+#: common/models.py:1298
msgid "Require user to supply mail on signup"
msgstr "Vereis gebruiker om e-mailadres te registreren bij aanmelding"
-#: common/models.py:1299
+#: common/models.py:1304
msgid "Auto-fill SSO users"
msgstr ""
-#: common/models.py:1300
+#: common/models.py:1305
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/models.py:1306
+#: common/models.py:1311
msgid "Mail twice"
msgstr "E-mail twee keer"
-#: common/models.py:1307
+#: common/models.py:1312
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/models.py:1313
+#: common/models.py:1318
msgid "Password twice"
msgstr ""
-#: common/models.py:1314
+#: common/models.py:1319
msgid "On signup ask users twice for their password"
msgstr "Laat gebruikers twee keer om hun wachtwoord vragen tijdens het aanmelden"
-#: common/models.py:1320
+#: common/models.py:1325
msgid "Group on signup"
msgstr "Groep bij aanmelding"
-#: common/models.py:1321
+#: common/models.py:1326
msgid "Group to which new users are assigned on registration"
msgstr "Groep waaraan nieuwe gebruikers worden toegewezen bij registratie"
-#: common/models.py:1327
+#: common/models.py:1332
msgid "Enforce MFA"
msgstr "MFA afdwingen"
-#: common/models.py:1328
+#: common/models.py:1333
msgid "Users must use multifactor security."
msgstr "Gebruikers moeten multifactor-beveiliging gebruiken."
-#: common/models.py:1334
+#: common/models.py:1339
msgid "Check plugins on startup"
msgstr "Controleer plugins bij het opstarten"
-#: common/models.py:1335
+#: common/models.py:1340
msgid "Check that all plugins are installed on startup - enable in container environments"
msgstr ""
-#: common/models.py:1342
+#: common/models.py:1347
msgid "Check plugin signatures"
msgstr ""
-#: common/models.py:1343
+#: common/models.py:1348
msgid "Check and show signatures for plugins"
msgstr ""
-#: common/models.py:1350
+#: common/models.py:1355
msgid "Enable URL integration"
msgstr "Activeer URL-integratie"
-#: common/models.py:1351
+#: common/models.py:1356
msgid "Enable plugins to add URL routes"
msgstr ""
-#: common/models.py:1358
+#: common/models.py:1363
msgid "Enable navigation integration"
msgstr ""
-#: common/models.py:1359
+#: common/models.py:1364
msgid "Enable plugins to integrate into navigation"
msgstr ""
-#: common/models.py:1366
+#: common/models.py:1371
msgid "Enable app integration"
msgstr ""
-#: common/models.py:1367
+#: common/models.py:1372
msgid "Enable plugins to add apps"
msgstr ""
-#: common/models.py:1374
+#: common/models.py:1379
msgid "Enable schedule integration"
msgstr ""
-#: common/models.py:1375
+#: common/models.py:1380
msgid "Enable plugins to run scheduled tasks"
msgstr ""
-#: common/models.py:1382
+#: common/models.py:1387
msgid "Enable event integration"
msgstr ""
-#: common/models.py:1383
+#: common/models.py:1388
msgid "Enable plugins to respond to internal events"
msgstr ""
-#: common/models.py:1402 common/models.py:1737
+#: common/models.py:1407 common/models.py:1749
msgid "Settings key (must be unique - case insensitive"
msgstr "Instellingssleutel (moet uniek zijn - hoofdletter ongevoelig"
-#: common/models.py:1424
+#: common/models.py:1429
msgid "Show subscribed parts"
msgstr ""
-#: common/models.py:1425
+#: common/models.py:1430
msgid "Show subscribed parts on the homepage"
msgstr ""
-#: common/models.py:1431
+#: common/models.py:1436
msgid "Show subscribed categories"
msgstr ""
-#: common/models.py:1432
+#: common/models.py:1437
msgid "Show subscribed part categories on the homepage"
msgstr ""
-#: common/models.py:1438
+#: common/models.py:1443
msgid "Show latest parts"
msgstr "Toon laatste onderdelen"
-#: common/models.py:1439
+#: common/models.py:1444
msgid "Show latest parts on the homepage"
msgstr "Toon laatste onderdelen op de startpagina"
-#: common/models.py:1445
+#: common/models.py:1450
msgid "Recent Part Count"
msgstr "Recente Voorraadtelling"
-#: common/models.py:1446
+#: common/models.py:1451
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:1452
+#: common/models.py:1457
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:1453
+#: common/models.py:1458
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:1459
+#: common/models.py:1464
msgid "Show recent stock changes"
msgstr "Toon recente voorraadwijzigingen"
-#: common/models.py:1460
+#: common/models.py:1465
msgid "Show recently changed stock items on the homepage"
msgstr "Toon recent aangepaste voorraadartikelen op de startpagina"
-#: common/models.py:1466
+#: common/models.py:1471
msgid "Recent Stock Count"
msgstr "Recente Voorraadtelling"
-#: common/models.py:1467
+#: common/models.py:1472
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:1473
+#: common/models.py:1478
msgid "Show low stock"
msgstr "Toon lage voorraad"
-#: common/models.py:1474
+#: common/models.py:1479
msgid "Show low stock items on the homepage"
msgstr "Toon lage voorraad van artikelen op de startpagina"
-#: common/models.py:1480
+#: common/models.py:1485
msgid "Show depleted stock"
msgstr "Toon lege voorraad"
-#: common/models.py:1481
+#: common/models.py:1486
msgid "Show depleted stock items on the homepage"
msgstr "Toon lege voorraad van artikelen op de startpagina"
-#: common/models.py:1487
+#: common/models.py:1492
msgid "Show needed stock"
msgstr "Toon benodigde voorraad"
-#: common/models.py:1488
+#: common/models.py:1493
msgid "Show stock items needed for builds on the homepage"
msgstr "Toon benodigde voorraad van artikelen voor productie op de startpagina"
-#: common/models.py:1494
+#: common/models.py:1499
msgid "Show expired stock"
msgstr "Toon verlopen voorraad"
-#: common/models.py:1495
+#: common/models.py:1500
msgid "Show expired stock items on the homepage"
msgstr "Toon verlopen voorraad van artikelen op de startpagina"
-#: common/models.py:1501
+#: common/models.py:1506
msgid "Show stale stock"
msgstr "Toon verouderde voorraad"
-#: common/models.py:1502
+#: common/models.py:1507
msgid "Show stale stock items on the homepage"
msgstr "Toon verouderde voorraad van artikelen op de startpagina"
-#: common/models.py:1508
+#: common/models.py:1513
msgid "Show pending builds"
msgstr "Toon openstaande producties"
-#: common/models.py:1509
+#: common/models.py:1514
msgid "Show pending builds on the homepage"
msgstr "Toon openstaande producties op de startpagina"
-#: common/models.py:1515
+#: common/models.py:1520
msgid "Show overdue builds"
msgstr "Toon achterstallige productie"
-#: common/models.py:1516
+#: common/models.py:1521
msgid "Show overdue builds on the homepage"
msgstr "Toon achterstallige producties op de startpagina"
-#: common/models.py:1522
+#: common/models.py:1527
msgid "Show outstanding POs"
msgstr "Toon uitstaande PO's"
-#: common/models.py:1523
+#: common/models.py:1528
msgid "Show outstanding POs on the homepage"
msgstr "Toon uitstaande PO's op de startpagina"
-#: common/models.py:1529
+#: common/models.py:1534
msgid "Show overdue POs"
msgstr "Toon achterstallige PO's"
-#: common/models.py:1530
+#: common/models.py:1535
msgid "Show overdue POs on the homepage"
msgstr "Toon achterstallige PO's op de startpagina"
-#: common/models.py:1536
+#: common/models.py:1541
msgid "Show outstanding SOs"
msgstr "Toon uitstaande SO's"
-#: common/models.py:1537
+#: common/models.py:1542
msgid "Show outstanding SOs on the homepage"
msgstr "Toon uitstaande SO's op de startpagina"
-#: common/models.py:1543
+#: common/models.py:1548
msgid "Show overdue SOs"
msgstr "Toon achterstallige SO's"
-#: common/models.py:1544
+#: common/models.py:1549
msgid "Show overdue SOs on the homepage"
msgstr "Toon achterstallige SO's op de startpagina"
-#: common/models.py:1550
+#: common/models.py:1555
+msgid "Show News"
+msgstr ""
+
+#: common/models.py:1556
+msgid "Show news on the homepage"
+msgstr ""
+
+#: common/models.py:1562
msgid "Inline label display"
msgstr ""
-#: common/models.py:1551
+#: common/models.py:1563
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1557
+#: common/models.py:1569
msgid "Inline report display"
msgstr ""
-#: common/models.py:1558
+#: common/models.py:1570
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1564
+#: common/models.py:1576
msgid "Search Parts"
msgstr "Zoek Onderdelen"
-#: common/models.py:1565
+#: common/models.py:1577
msgid "Display parts in search preview window"
msgstr ""
-#: common/models.py:1571
+#: common/models.py:1583
msgid "Seach Supplier Parts"
msgstr ""
-#: common/models.py:1572
+#: common/models.py:1584
msgid "Display supplier parts in search preview window"
msgstr ""
-#: common/models.py:1578
+#: common/models.py:1590
msgid "Search Manufacturer Parts"
msgstr ""
-#: common/models.py:1579
+#: common/models.py:1591
msgid "Display manufacturer parts in search preview window"
msgstr ""
-#: common/models.py:1585
+#: common/models.py:1597
msgid "Hide Inactive Parts"
msgstr "Inactieve Onderdelen Verbergen"
-#: common/models.py:1586
+#: common/models.py:1598
msgid "Excluded inactive parts from search preview window"
msgstr ""
-#: common/models.py:1592
+#: common/models.py:1604
msgid "Search Categories"
msgstr ""
-#: common/models.py:1593
+#: common/models.py:1605
msgid "Display part categories in search preview window"
msgstr ""
-#: common/models.py:1599
+#: common/models.py:1611
msgid "Search Stock"
msgstr "Zoek in Voorraad"
-#: common/models.py:1600
+#: common/models.py:1612
msgid "Display stock items in search preview window"
msgstr ""
-#: common/models.py:1606
+#: common/models.py:1618
msgid "Hide Unavailable Stock Items"
msgstr ""
-#: common/models.py:1607
+#: common/models.py:1619
msgid "Exclude stock items which are not available from the search preview window"
msgstr ""
-#: common/models.py:1613
+#: common/models.py:1625
msgid "Search Locations"
msgstr ""
-#: common/models.py:1614
+#: common/models.py:1626
msgid "Display stock locations in search preview window"
msgstr ""
-#: common/models.py:1620
+#: common/models.py:1632
msgid "Search Companies"
msgstr ""
-#: common/models.py:1621
+#: common/models.py:1633
msgid "Display companies in search preview window"
msgstr ""
-#: common/models.py:1627
+#: common/models.py:1639
msgid "Search Build Orders"
msgstr ""
-#: common/models.py:1628
+#: common/models.py:1640
msgid "Display build orders in search preview window"
msgstr ""
-#: common/models.py:1634
+#: common/models.py:1646
msgid "Search Purchase Orders"
msgstr "Inkooporders Zoeken"
-#: common/models.py:1635
+#: common/models.py:1647
msgid "Display purchase orders in search preview window"
msgstr "Toon inkooporders in het zoekvenster"
-#: common/models.py:1641
+#: common/models.py:1653
msgid "Exclude Inactive Purchase Orders"
msgstr "Inactieve Inkooporders Weglaten"
-#: common/models.py:1642
+#: common/models.py:1654
msgid "Exclude inactive purchase orders from search preview window"
msgstr "Inactieve inkooporders weglaten in het zoekvenster"
-#: common/models.py:1648
+#: common/models.py:1660
msgid "Search Sales Orders"
msgstr "Verkooporders zoeken"
-#: common/models.py:1649
+#: common/models.py:1661
msgid "Display sales orders in search preview window"
msgstr "Toon verkooporders in het zoekvenster"
-#: common/models.py:1655
+#: common/models.py:1667
msgid "Exclude Inactive Sales Orders"
msgstr "Inactieve Verkooporders Weglaten"
-#: common/models.py:1656
+#: common/models.py:1668
msgid "Exclude inactive sales orders from search preview window"
msgstr "Inactieve verkooporders weglaten in het zoekvenster"
-#: common/models.py:1662
+#: common/models.py:1674
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:1663
+#: common/models.py:1675
msgid "Number of results to show in each section of the search preview window"
msgstr ""
-#: common/models.py:1669
+#: common/models.py:1681
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:1670
+#: common/models.py:1682
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:1676
+#: common/models.py:1688
msgid "Escape Key Closes Forms"
msgstr ""
-#: common/models.py:1677
+#: common/models.py:1689
msgid "Use the escape key to close modal forms"
msgstr ""
-#: common/models.py:1683
+#: common/models.py:1695
msgid "Fixed Navbar"
msgstr ""
-#: common/models.py:1684
+#: common/models.py:1696
msgid "The navbar position is fixed to the top of the screen"
msgstr ""
-#: common/models.py:1690
+#: common/models.py:1702
msgid "Date Format"
msgstr ""
-#: common/models.py:1691
+#: common/models.py:1703
msgid "Preferred format for displaying dates"
msgstr ""
-#: common/models.py:1705 part/templates/part/detail.html:41
+#: common/models.py:1717 part/templates/part/detail.html:41
msgid "Part Scheduling"
msgstr ""
-#: common/models.py:1706
+#: common/models.py:1718
msgid "Display part scheduling information"
msgstr ""
-#: common/models.py:1712
+#: common/models.py:1724
msgid "Table String Length"
msgstr ""
-#: common/models.py:1713
+#: common/models.py:1725
msgid "Maximimum length limit for strings displayed in table views"
msgstr ""
-#: common/models.py:1777
+#: common/models.py:1789
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1784 company/serializers.py:372
-#: company/templates/company/supplier_part.html:346 order/models.py:952
-#: templates/js/translated/part.js:1103 templates/js/translated/part.js:2225
+#: common/models.py:1796 company/serializers.py:393 order/models.py:975
+#: templates/js/translated/company.js:1164 templates/js/translated/part.js:1130
+#: templates/js/translated/pricing.js:354
msgid "Price"
msgstr "Prijs"
-#: common/models.py:1785
+#: common/models.py:1797
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1945 common/models.py:2123
+#: common/models.py:1957 common/models.py:2135
msgid "Endpoint"
msgstr ""
-#: common/models.py:1946
+#: common/models.py:1958
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:1955
+#: common/models.py:1967
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:1960 part/models.py:935 plugin/models.py:100
-#: templates/js/translated/table_filters.js:34
-#: templates/js/translated/table_filters.js:112
-#: templates/js/translated/table_filters.js:324
-#: templates/js/translated/table_filters.js:450
+#: common/models.py:1972 part/admin.py:36 part/models.py:954
+#: plugin/models.py:100 templates/js/translated/table_filters.js:34
+#: templates/js/translated/table_filters.js:116
+#: templates/js/translated/table_filters.js:328
+#: templates/js/translated/table_filters.js:454
msgid "Active"
msgstr "Actief"
-#: common/models.py:1961
+#: common/models.py:1973
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:1975
+#: common/models.py:1987
msgid "Token"
msgstr "Token"
-#: common/models.py:1976
+#: common/models.py:1988
msgid "Token for access"
msgstr "Token voor toegang"
-#: common/models.py:1983
+#: common/models.py:1995
msgid "Secret"
msgstr "Geheim"
-#: common/models.py:1984
+#: common/models.py:1996
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:2090
+#: common/models.py:2102
msgid "Message ID"
msgstr "Bericht ID"
-#: common/models.py:2091
+#: common/models.py:2103
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:2099
+#: common/models.py:2111
msgid "Host"
msgstr "Host"
-#: common/models.py:2100
+#: common/models.py:2112
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:2107
+#: common/models.py:2119
msgid "Header"
msgstr "Koptekst"
-#: common/models.py:2108
+#: common/models.py:2120
msgid "Header of this message"
msgstr "Koptekst van dit bericht"
-#: common/models.py:2114
+#: common/models.py:2126
msgid "Body"
msgstr "Berichtinhoud"
-#: common/models.py:2115
+#: common/models.py:2127
msgid "Body of this message"
msgstr "Inhoud van dit bericht"
-#: common/models.py:2124
+#: common/models.py:2136
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:2129
+#: common/models.py:2141
msgid "Worked on"
msgstr ""
-#: common/models.py:2130
+#: common/models.py:2142
msgid "Was the work on this message finished?"
msgstr ""
+#: common/models.py:2302
+msgid "Id"
+msgstr ""
+
+#: common/models.py:2308 templates/js/translated/news.js:34
+msgid "Title"
+msgstr ""
+
+#: common/models.py:2318 templates/js/translated/news.js:50
+msgid "Published"
+msgstr ""
+
+#: common/models.py:2323 templates/InvenTree/settings/plugin.html:62
+#: templates/InvenTree/settings/plugin_settings.html:33
+#: templates/js/translated/news.js:46
+msgid "Author"
+msgstr ""
+
+#: common/models.py:2328 templates/js/translated/news.js:42
+msgid "Summary"
+msgstr ""
+
+#: common/models.py:2333
+msgid "Read"
+msgstr ""
+
+#: common/models.py:2334
+msgid "Was this news item read?"
+msgstr ""
+
#: common/notifications.py:293
#, python-brace-format
msgid "New {verbose_name}"
@@ -2785,15 +2838,15 @@ msgstr "Artikelen zijn ontvangen tegen een inkooporder"
msgid "Error raised by plugin"
msgstr ""
-#: common/views.py:85 order/templates/order/purchase_order_detail.html:23
-#: order/views.py:102 part/views.py:112
+#: common/views.py:85 order/templates/order/purchase_order_detail.html:25
+#: order/views.py:102 part/views.py:107
#: templates/patterns/wizard/upload.html:37
msgid "Upload File"
msgstr "Upload Bestand"
#: common/views.py:86 order/views.py:103
#: part/templates/part/import_wizard/ajax_match_fields.html:45
-#: part/views.py:113 templates/patterns/wizard/match_fields.html:51
+#: part/views.py:108 templates/patterns/wizard/match_fields.html:51
msgid "Match Fields"
msgstr "Vergelijk Velden"
@@ -2816,298 +2869,301 @@ msgstr ""
msgid "Previous Step"
msgstr "Vorige Stap"
-#: company/models.py:99
+#: company/models.py:103
msgid "Company description"
msgstr ""
-#: company/models.py:100
+#: company/models.py:104
msgid "Description of the company"
msgstr ""
-#: company/models.py:106 company/templates/company/company_base.html:100
+#: company/models.py:110 company/templates/company/company_base.html:100
#: templates/InvenTree/settings/plugin_settings.html:55
-#: templates/js/translated/company.js:448
+#: templates/js/translated/company.js:449
msgid "Website"
msgstr "Website"
-#: company/models.py:107
+#: company/models.py:111
msgid "Company website URL"
msgstr "URL bedrijfswebsite"
-#: company/models.py:111 company/templates/company/company_base.html:118
+#: company/models.py:115 company/templates/company/company_base.html:118
msgid "Address"
msgstr "Adres"
-#: company/models.py:112
+#: company/models.py:116
msgid "Company address"
msgstr "Bedrijfsadres"
-#: company/models.py:115
+#: company/models.py:119
msgid "Phone number"
msgstr "Telefoonnummer"
-#: company/models.py:116
+#: company/models.py:120
msgid "Contact phone number"
msgstr "Telefoonnummer voor contact"
-#: company/models.py:119 company/templates/company/company_base.html:132
+#: company/models.py:123 company/templates/company/company_base.html:132
#: templates/InvenTree/settings/user.html:48
msgid "Email"
msgstr "Email"
-#: company/models.py:119
+#: company/models.py:123
msgid "Contact email address"
msgstr "Contact e-mailadres"
-#: company/models.py:122 company/templates/company/company_base.html:139
+#: company/models.py:126 company/templates/company/company_base.html:139
msgid "Contact"
msgstr "Contact"
-#: company/models.py:123
+#: company/models.py:127
msgid "Point of contact"
msgstr "Contactpunt"
-#: company/models.py:125
+#: company/models.py:129
msgid "Link to external company information"
msgstr "Link naar externe bedrijfsinformatie"
-#: company/models.py:136 part/models.py:829
+#: company/models.py:140 part/models.py:848
msgid "Image"
msgstr "Afbeelding"
-#: company/models.py:139 company/templates/company/detail.html:185
+#: company/models.py:143 company/templates/company/detail.html:185
msgid "Company Notes"
msgstr "Opmerkingen Bedrijf"
-#: company/models.py:141
+#: company/models.py:145
msgid "is customer"
msgstr "is klant"
-#: company/models.py:141
+#: company/models.py:145
msgid "Do you sell items to this company?"
msgstr ""
-#: company/models.py:143
+#: company/models.py:147
msgid "is supplier"
msgstr "is leverancier"
-#: company/models.py:143
+#: company/models.py:147
msgid "Do you purchase items from this company?"
msgstr ""
-#: company/models.py:145
+#: company/models.py:149
msgid "is manufacturer"
msgstr "is fabrikant"
-#: company/models.py:145
+#: company/models.py:149
msgid "Does this company manufacture parts?"
msgstr "Fabriceert dit bedrijf onderdelen?"
-#: company/models.py:149 company/serializers.py:378
-#: company/templates/company/company_base.html:106 part/serializers.py:153
-#: part/serializers.py:184 stock/serializers.py:178
+#: company/models.py:153 company/serializers.py:399
+#: company/templates/company/company_base.html:106 part/models.py:2681
+#: part/serializers.py:153 part/serializers.py:181 stock/serializers.py:182
+#: templates/InvenTree/settings/pricing.html:59
msgid "Currency"
msgstr "Valuta"
-#: company/models.py:152
+#: company/models.py:156
msgid "Default currency used for this company"
msgstr "Standaardvaluta die gebruikt wordt voor dit bedrijf"
-#: company/models.py:249 company/models.py:483 stock/models.py:600
-#: stock/serializers.py:85 stock/templates/stock/item_base.html:143
-#: templates/js/translated/bom.js:568
+#: company/models.py:253 company/models.py:487 stock/models.py:616
+#: stock/serializers.py:89 stock/templates/stock/item_base.html:143
+#: templates/js/translated/bom.js:581
msgid "Base Part"
msgstr "Basis onderdeel"
-#: company/models.py:253 company/models.py:487
+#: company/models.py:257 company/models.py:491
msgid "Select part"
msgstr "Onderdeel selecteren"
-#: company/models.py:264 company/templates/company/company_base.html:76
+#: company/models.py:268 company/templates/company/company_base.html:76
#: company/templates/company/manufacturer_part.html:90
#: company/templates/company/supplier_part.html:152
#: stock/templates/stock/item_base.html:210
-#: templates/js/translated/company.js:432
-#: templates/js/translated/company.js:533
-#: templates/js/translated/company.js:668
-#: templates/js/translated/company.js:956 templates/js/translated/part.js:236
-#: templates/js/translated/table_filters.js:427
+#: templates/js/translated/company.js:433
+#: templates/js/translated/company.js:534
+#: templates/js/translated/company.js:669
+#: templates/js/translated/company.js:957 templates/js/translated/part.js:232
+#: templates/js/translated/table_filters.js:431
msgid "Manufacturer"
msgstr "Fabrikant"
-#: company/models.py:265 templates/js/translated/part.js:237
+#: company/models.py:269 templates/js/translated/part.js:233
msgid "Select manufacturer"
msgstr "Fabrikant selecteren"
-#: company/models.py:271 company/templates/company/manufacturer_part.html:101
+#: company/models.py:275 company/templates/company/manufacturer_part.html:101
#: company/templates/company/supplier_part.html:160
-#: templates/js/translated/company.js:304
-#: templates/js/translated/company.js:532
-#: templates/js/translated/company.js:684
-#: templates/js/translated/company.js:975 templates/js/translated/order.js:2239
-#: templates/js/translated/part.js:247 templates/js/translated/part.js:1025
+#: templates/js/translated/company.js:305
+#: templates/js/translated/company.js:533
+#: templates/js/translated/company.js:685
+#: templates/js/translated/company.js:976 templates/js/translated/order.js:2278
+#: templates/js/translated/part.js:243 templates/js/translated/part.js:1052
msgid "MPN"
msgstr "MPN"
-#: company/models.py:272 templates/js/translated/part.js:248
+#: company/models.py:276 templates/js/translated/part.js:244
msgid "Manufacturer Part Number"
msgstr "Fabrikant artikel nummer (MPN)"
-#: company/models.py:278
+#: company/models.py:282
msgid "URL for external manufacturer part link"
msgstr "URL voor externe link van het fabrikant onderdeel"
-#: company/models.py:284
+#: company/models.py:288
msgid "Manufacturer part description"
msgstr "Omschrijving onderdeel fabrikant"
-#: company/models.py:329 company/models.py:353 company/models.py:506
+#: company/models.py:333 company/models.py:357 company/models.py:510
#: company/templates/company/manufacturer_part.html:7
#: company/templates/company/manufacturer_part.html:24
#: stock/templates/stock/item_base.html:220
msgid "Manufacturer Part"
msgstr "Fabrikant onderdeel"
-#: company/models.py:360
+#: company/models.py:364
msgid "Parameter name"
msgstr "Parameternaam"
-#: company/models.py:366
+#: company/models.py:370
#: report/templates/report/inventree_test_report_base.html:95
-#: stock/models.py:2097 templates/js/translated/company.js:581
-#: templates/js/translated/company.js:799 templates/js/translated/part.js:847
-#: templates/js/translated/stock.js:1360
+#: stock/models.py:2113 templates/js/translated/company.js:582
+#: templates/js/translated/company.js:800 templates/js/translated/part.js:874
+#: templates/js/translated/stock.js:1379
msgid "Value"
msgstr "Waarde"
-#: company/models.py:367
+#: company/models.py:371
msgid "Parameter value"
msgstr "Parameterwaarde"
-#: company/models.py:373 part/models.py:902 part/models.py:2434
-#: part/templates/part/part_base.html:286
+#: company/models.py:377 part/admin.py:26 part/models.py:921
+#: part/models.py:3047 part/templates/part/part_base.html:286
#: templates/InvenTree/settings/settings.html:349
-#: templates/js/translated/company.js:805 templates/js/translated/part.js:853
+#: templates/js/translated/company.js:806 templates/js/translated/part.js:880
msgid "Units"
msgstr "Eenheden"
-#: company/models.py:374
+#: company/models.py:378
msgid "Parameter units"
msgstr "Parameter eenheden"
-#: company/models.py:451
+#: company/models.py:455
msgid "Linked manufacturer part must reference the same base part"
msgstr "Gekoppeld fabrikant onderdeel moet verwijzen naar hetzelfde basis onderdeel"
-#: company/models.py:493 company/templates/company/company_base.html:81
-#: company/templates/company/supplier_part.html:136 order/models.py:263
-#: order/templates/order/order_base.html:121 part/bom.py:237 part/bom.py:265
+#: company/models.py:497 company/templates/company/company_base.html:81
+#: company/templates/company/supplier_part.html:136 order/models.py:264
+#: order/templates/order/order_base.html:121 part/bom.py:252 part/bom.py:280
#: stock/templates/stock/item_base.html:227
#: templates/email/overdue_purchase_order.html:16
-#: templates/js/translated/company.js:303
-#: templates/js/translated/company.js:436
-#: templates/js/translated/company.js:929 templates/js/translated/order.js:1975
-#: templates/js/translated/part.js:217 templates/js/translated/part.js:993
-#: templates/js/translated/table_filters.js:431
+#: templates/js/translated/company.js:304
+#: templates/js/translated/company.js:437
+#: templates/js/translated/company.js:930 templates/js/translated/order.js:2009
+#: templates/js/translated/part.js:213 templates/js/translated/part.js:1020
+#: templates/js/translated/pricing.js:231
+#: templates/js/translated/table_filters.js:435
msgid "Supplier"
msgstr "Leverancier"
-#: company/models.py:494 templates/js/translated/part.js:218
+#: company/models.py:498 templates/js/translated/part.js:214
msgid "Select supplier"
msgstr "Leverancier selecteren"
-#: company/models.py:499 company/templates/company/supplier_part.html:146
-#: part/bom.py:238 part/bom.py:266 templates/js/translated/company.js:302
-#: templates/js/translated/order.js:2226 templates/js/translated/part.js:228
-#: templates/js/translated/part.js:1011
+#: company/models.py:503 company/templates/company/supplier_part.html:146
+#: part/bom.py:253 part/bom.py:281 templates/js/translated/company.js:303
+#: templates/js/translated/order.js:2265 templates/js/translated/part.js:224
+#: templates/js/translated/part.js:1038 templates/js/translated/pricing.js:243
msgid "SKU"
msgstr "SKU"
-#: company/models.py:500 templates/js/translated/part.js:229
+#: company/models.py:504 templates/js/translated/part.js:225
msgid "Supplier stock keeping unit"
msgstr ""
-#: company/models.py:507
+#: company/models.py:511
msgid "Select manufacturer part"
msgstr "Selecteer fabrikant onderdeel"
-#: company/models.py:513
+#: company/models.py:517
msgid "URL for external supplier part link"
msgstr ""
-#: company/models.py:519
+#: company/models.py:523
msgid "Supplier part description"
msgstr ""
-#: company/models.py:524 company/templates/company/supplier_part.html:181
-#: part/models.py:2687 part/templates/part/upload_bom.html:59
+#: company/models.py:528 company/templates/company/supplier_part.html:181
+#: part/admin.py:225 part/models.py:3300 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_po_report.html:92
-#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:403
+#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:397
msgid "Note"
msgstr "Opmerking"
-#: company/models.py:528 part/models.py:1788
+#: company/models.py:532 part/models.py:1817
msgid "base cost"
msgstr "basisprijs"
-#: company/models.py:528 part/models.py:1788
+#: company/models.py:532 part/models.py:1817
msgid "Minimum charge (e.g. stocking fee)"
msgstr "Minimale kosten (bijv. voorraadkosten)"
-#: company/models.py:530 company/templates/company/supplier_part.html:167
-#: stock/models.py:626 stock/templates/stock/item_base.html:243
-#: templates/js/translated/company.js:991 templates/js/translated/stock.js:1978
+#: company/models.py:534 company/templates/company/supplier_part.html:167
+#: stock/admin.py:101 stock/models.py:642
+#: stock/templates/stock/item_base.html:243
+#: templates/js/translated/company.js:992 templates/js/translated/stock.js:1996
msgid "Packaging"
msgstr ""
-#: company/models.py:530
+#: company/models.py:534
msgid "Part packaging"
msgstr ""
-#: company/models.py:533 company/serializers.py:242
+#: company/models.py:537 company/serializers.py:242
#: company/templates/company/supplier_part.html:174
-#: templates/js/translated/company.js:996 templates/js/translated/order.js:820
-#: templates/js/translated/order.js:1215 templates/js/translated/order.js:1470
-#: templates/js/translated/order.js:2270 templates/js/translated/order.js:2287
-#: templates/js/translated/part.js:1043 templates/js/translated/part.js:1095
+#: templates/js/translated/company.js:997 templates/js/translated/order.js:826
+#: templates/js/translated/order.js:1249 templates/js/translated/order.js:1504
+#: templates/js/translated/order.js:2309 templates/js/translated/order.js:2326
+#: templates/js/translated/part.js:1070 templates/js/translated/part.js:1122
msgid "Pack Quantity"
msgstr ""
-#: company/models.py:534
+#: company/models.py:538
msgid "Unit quantity supplied in a single pack"
msgstr ""
-#: company/models.py:540 part/models.py:1790
+#: company/models.py:544 part/models.py:1819
msgid "multiple"
msgstr "meerdere"
-#: company/models.py:540
+#: company/models.py:544
msgid "Order multiple"
msgstr "Order meerdere"
-#: company/models.py:548 company/templates/company/supplier_part.html:115
+#: company/models.py:552 company/templates/company/supplier_part.html:115
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:18
-#: templates/js/translated/bom.js:963 templates/js/translated/build.js:1873
-#: templates/js/translated/build.js:2754 templates/js/translated/part.js:598
-#: templates/js/translated/part.js:601
-#: templates/js/translated/table_filters.js:194
+#: templates/js/translated/bom.js:1117 templates/js/translated/build.js:1873
+#: templates/js/translated/build.js:2754 templates/js/translated/part.js:612
+#: templates/js/translated/part.js:615
+#: templates/js/translated/table_filters.js:198
msgid "Available"
msgstr "Beschikbaar"
-#: company/models.py:549
+#: company/models.py:553
msgid "Quantity available from supplier"
msgstr ""
-#: company/models.py:553
+#: company/models.py:557
msgid "Availability Updated"
msgstr ""
-#: company/models.py:554
+#: company/models.py:558
msgid "Date of last update of availability data"
msgstr ""
-#: company/models.py:682
+#: company/models.py:686
msgid "last updated"
msgstr "laatst bijgewerkt"
@@ -3121,7 +3177,7 @@ msgstr "Valutacode"
#: company/templates/company/company_base.html:8
#: company/templates/company/company_base.html:12
-#: templates/InvenTree/search.html:179 templates/js/translated/company.js:421
+#: templates/InvenTree/search.html:179 templates/js/translated/company.js:422
msgid "Company"
msgstr "Bedrijf"
@@ -3139,7 +3195,7 @@ msgid "Edit company information"
msgstr "Bedrijfsinformatie bewerken"
#: company/templates/company/company_base.html:34
-#: templates/js/translated/company.js:364
+#: templates/js/translated/company.js:365
msgid "Edit Company"
msgstr "Bedrijf bewerken"
@@ -3162,14 +3218,14 @@ msgstr "Nieuwe afbeelding uploaden"
msgid "Download image from URL"
msgstr "Afbeelding downloaden van URL"
-#: company/templates/company/company_base.html:86 order/models.py:646
-#: order/templates/order/sales_order_base.html:116 stock/models.py:645
-#: stock/models.py:646 stock/serializers.py:813
+#: company/templates/company/company_base.html:86 order/models.py:665
+#: order/templates/order/sales_order_base.html:116 stock/models.py:661
+#: stock/models.py:662 stock/serializers.py:812
#: stock/templates/stock/item_base.html:399
#: templates/email/overdue_sales_order.html:16
-#: templates/js/translated/company.js:428 templates/js/translated/order.js:2808
-#: templates/js/translated/stock.js:2569
-#: templates/js/translated/table_filters.js:435
+#: templates/js/translated/company.js:429 templates/js/translated/order.js:2819
+#: templates/js/translated/stock.js:2587
+#: templates/js/translated/table_filters.js:439
msgid "Customer"
msgstr "Klant"
@@ -3182,12 +3238,12 @@ msgid "Phone"
msgstr "Telefoon"
#: company/templates/company/company_base.html:208
-#: part/templates/part/part_base.html:499
+#: part/templates/part/part_base.html:514
msgid "Upload Image"
msgstr "Afbeelding Uploaden"
#: company/templates/company/company_base.html:223
-#: part/templates/part/part_base.html:554
+#: part/templates/part/part_base.html:569
msgid "Download Image"
msgstr "Afbeelding Downloaden"
@@ -3203,7 +3259,7 @@ msgstr ""
#: company/templates/company/detail.html:19
#: company/templates/company/manufacturer_part.html:123
-#: part/templates/part/detail.html:359
+#: part/templates/part/detail.html:357
msgid "New Supplier Part"
msgstr ""
@@ -3232,7 +3288,7 @@ msgstr "Fabrikant onderdelen"
msgid "Create new manufacturer part"
msgstr "Maak nieuw fabrikant onderdeel"
-#: company/templates/company/detail.html:66 part/templates/part/detail.html:389
+#: company/templates/company/detail.html:66 part/templates/part/detail.html:387
msgid "New Manufacturer Part"
msgstr "Nieuw fabrikant onderdeel"
@@ -3246,7 +3302,7 @@ msgstr ""
#: order/templates/order/order_base.html:13
#: order/templates/order/purchase_orders.html:8
#: order/templates/order/purchase_orders.html:12
-#: part/templates/part/detail.html:84 part/templates/part/part_sidebar.html:37
+#: part/templates/part/detail.html:84 part/templates/part/part_sidebar.html:35
#: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200
#: templates/InvenTree/settings/sidebar.html:49
#: templates/js/translated/search.js:293 templates/navbar.html:50
@@ -3269,7 +3325,7 @@ msgstr "Nieuwe Inkooporder"
#: order/templates/order/sales_order_base.html:13
#: order/templates/order/sales_orders.html:8
#: order/templates/order/sales_orders.html:15
-#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:41
+#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:39
#: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220
#: templates/InvenTree/settings/sidebar.html:51
#: templates/js/translated/search.js:317 templates/navbar.html:61
@@ -3297,8 +3353,7 @@ msgid "Supplier List"
msgstr "Leverancierslijst"
#: company/templates/company/manufacturer_part.html:15 company/views.py:38
-#: part/templates/part/prices.html:172 templates/InvenTree/search.html:181
-#: templates/navbar.html:49
+#: templates/InvenTree/search.html:181 templates/navbar.html:49
msgid "Manufacturers"
msgstr "Fabrikanten"
@@ -3309,12 +3364,12 @@ msgid "Order part"
msgstr "Order onderdeel"
#: company/templates/company/manufacturer_part.html:39
-#: templates/js/translated/company.js:716
+#: templates/js/translated/company.js:717
msgid "Edit manufacturer part"
msgstr "Fabrikant onderdeel bewerken"
#: company/templates/company/manufacturer_part.html:43
-#: templates/js/translated/company.js:717
+#: templates/js/translated/company.js:718
msgid "Delete manufacturer part"
msgstr "Fabrikant onderdeel verwijderen"
@@ -3329,35 +3384,36 @@ msgstr "Geen fabrikanten informatie beschikbaar"
#: company/templates/company/manufacturer_part.html:119
#: company/templates/company/supplier_part.html:15 company/views.py:32
-#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:168
+#: part/admin.py:46 part/templates/part/part_sidebar.html:33
#: templates/InvenTree/search.html:191 templates/navbar.html:48
msgid "Suppliers"
msgstr "Leveranciers"
#: company/templates/company/manufacturer_part.html:136
-#: part/templates/part/detail.html:370
+#: part/templates/part/detail.html:368
msgid "Delete supplier parts"
msgstr "Verwijder leveranciersonderdelen"
#: company/templates/company/manufacturer_part.html:136
#: company/templates/company/manufacturer_part.html:183
-#: part/templates/part/detail.html:371 part/templates/part/detail.html:401
-#: templates/js/translated/forms.js:455 templates/js/translated/helpers.js:36
-#: users/models.py:222
+#: part/templates/part/detail.html:369 part/templates/part/detail.html:399
+#: templates/js/translated/forms.js:455 templates/js/translated/helpers.js:38
+#: templates/js/translated/part.js:340 templates/js/translated/stock.js:184
+#: users/models.py:224
msgid "Delete"
msgstr "Verwijderen"
#: company/templates/company/manufacturer_part.html:166
#: company/templates/company/manufacturer_part_sidebar.html:5
#: part/templates/part/category_sidebar.html:19
-#: part/templates/part/detail.html:186 part/templates/part/part_sidebar.html:8
+#: part/templates/part/detail.html:184 part/templates/part/part_sidebar.html:8
msgid "Parameters"
msgstr "Parameters"
#: company/templates/company/manufacturer_part.html:170
-#: part/templates/part/detail.html:191
+#: part/templates/part/detail.html:189
#: templates/InvenTree/settings/category.html:12
-#: templates/InvenTree/settings/part.html:68
+#: templates/InvenTree/settings/part.html:62
msgid "New Parameter"
msgstr "Nieuwe Parameter"
@@ -3366,7 +3422,7 @@ msgid "Delete parameters"
msgstr "Parameter verwijderen"
#: company/templates/company/manufacturer_part.html:245
-#: part/templates/part/detail.html:827
+#: part/templates/part/detail.html:825
msgid "Add Parameter"
msgstr "Parameter toevoegen"
@@ -3387,10 +3443,10 @@ msgid "Assigned Stock Items"
msgstr "Toegewezen Voorraadartikelen"
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:609
+#: company/templates/company/supplier_part.html:24 stock/models.py:625
#: stock/templates/stock/item_base.html:236
-#: templates/js/translated/company.js:945 templates/js/translated/order.js:1135
-#: templates/js/translated/stock.js:1935
+#: templates/js/translated/company.js:946 templates/js/translated/order.js:1169
+#: templates/js/translated/stock.js:1954
msgid "Supplier Part"
msgstr "Leveranciersonderdeel"
@@ -3441,13 +3497,13 @@ msgstr ""
#: company/templates/company/supplier_part.html:64
#: company/templates/company/supplier_part.html:65
-#: templates/js/translated/company.js:247
+#: templates/js/translated/company.js:248
msgid "Edit Supplier Part"
msgstr ""
#: company/templates/company/supplier_part.html:69
#: company/templates/company/supplier_part.html:70
-#: templates/js/translated/company.js:222
+#: templates/js/translated/company.js:223
msgid "Duplicate Supplier Part"
msgstr ""
@@ -3482,7 +3538,7 @@ msgstr "Nieuw voorraadartikel aanmaken"
#: company/templates/company/supplier_part.html:204
#: part/templates/part/detail.html:25 stock/templates/stock/location.html:198
-#: templates/js/translated/stock.js:435
+#: templates/js/translated/stock.js:454
msgid "New Stock Item"
msgstr "Nieuw Voorraadartikel"
@@ -3492,47 +3548,20 @@ msgid "Supplier Part Orders"
msgstr "Leverancier Onderdelenorders"
#: company/templates/company/supplier_part.html:242
-#: part/templates/part/prices.html:10
msgid "Pricing Information"
msgstr "Prijsinformatie"
#: company/templates/company/supplier_part.html:247
-#: company/templates/company/supplier_part.html:388
-#: part/templates/part/prices.html:276 templates/js/translated/part.js:2297
+#: company/templates/company/supplier_part.html:317
+#: templates/js/translated/pricing.js:413
msgid "Add Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:282
+#: company/templates/company/supplier_part.html:285
msgid "Link Barcode to Supplier Part"
msgstr ""
-#: company/templates/company/supplier_part.html:300
-msgid "No price break information found"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:314
-#: templates/js/translated/part.js:2307
-msgid "Delete Price Break"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:328
-#: templates/js/translated/part.js:2321
-msgid "Edit Price Break"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:353
-msgid "Edit price break"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:354
-msgid "Delete price break"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:363
-msgid "Last updated"
-msgstr "Laatst bijgewerkt"
-
-#: company/templates/company/supplier_part.html:444
+#: company/templates/company/supplier_part.html:375
msgid "Update Part Availability"
msgstr ""
@@ -3542,9 +3571,9 @@ msgstr ""
#: stock/templates/stock/stock_app_base.html:10
#: templates/InvenTree/search.html:153
#: templates/InvenTree/settings/sidebar.html:45
-#: templates/js/translated/part.js:749 templates/js/translated/part.js:1335
-#: templates/js/translated/part.js:1501 templates/js/translated/stock.js:959
-#: templates/js/translated/stock.js:1760 templates/navbar.html:31
+#: templates/js/translated/part.js:763 templates/js/translated/part.js:1356
+#: templates/js/translated/part.js:1512 templates/js/translated/stock.js:978
+#: templates/js/translated/stock.js:1779 templates/navbar.html:31
msgid "Stock"
msgstr "Voorraad"
@@ -3558,19 +3587,20 @@ msgid "Supplier Part Pricing"
msgstr ""
#: company/templates/company/supplier_part_navbar.html:29
-#: part/templates/part/part_sidebar.html:31
+#: part/templates/part/part_sidebar.html:30
+#: templates/InvenTree/settings/sidebar.html:35
msgid "Pricing"
msgstr "Prijzen"
#: company/templates/company/supplier_part_sidebar.html:5
#: part/templates/part/category.html:198
-#: part/templates/part/category_sidebar.html:17
+#: part/templates/part/category_sidebar.html:17 stock/admin.py:31
#: stock/templates/stock/location.html:168
#: stock/templates/stock/location.html:182
#: stock/templates/stock/location.html:194
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:155 templates/js/translated/search.js:225
-#: templates/js/translated/stock.js:2446 users/models.py:40
+#: templates/js/translated/stock.js:2464 users/models.py:40
msgid "Stock Items"
msgstr "Voorraadartikelen"
@@ -3672,438 +3702,439 @@ msgstr ""
msgid "No matching purchase order found"
msgstr ""
-#: order/models.py:82
+#: order/models.py:83
msgid "Order description"
msgstr "Order beschrijving"
-#: order/models.py:84 order/models.py:1260
+#: order/models.py:85 order/models.py:1283
msgid "Link to external page"
msgstr "Link naar externe pagina"
-#: order/models.py:92
+#: order/models.py:93
msgid "Created By"
msgstr "Aangemaakt Door"
-#: order/models.py:99
+#: order/models.py:100
msgid "User or group responsible for this order"
msgstr "Gebruiker of groep verantwoordelijk voor deze order"
-#: order/models.py:104
+#: order/models.py:105
msgid "Order notes"
msgstr "Ordernotities"
-#: order/models.py:241 order/models.py:633
+#: order/models.py:242 order/models.py:652
msgid "Order reference"
msgstr "Orderreferentie"
-#: order/models.py:249 order/models.py:651
+#: order/models.py:250 order/models.py:670
msgid "Purchase order status"
msgstr "Inkooporder status"
-#: order/models.py:264
+#: order/models.py:265
msgid "Company from which the items are being ordered"
msgstr "Bedrijf waar de artikelen van worden besteld"
-#: order/models.py:267 order/templates/order/order_base.html:133
-#: templates/js/translated/order.js:1984
+#: order/models.py:268 order/templates/order/order_base.html:133
+#: templates/js/translated/order.js:2018
msgid "Supplier Reference"
msgstr "Leveranciersreferentie"
-#: order/models.py:267
+#: order/models.py:268
msgid "Supplier order reference code"
msgstr "Order referentiecode van leverancier"
-#: order/models.py:274
+#: order/models.py:275
msgid "received by"
msgstr "ontvangen door"
-#: order/models.py:279
+#: order/models.py:280
msgid "Issue Date"
msgstr "Datum van uitgifte"
-#: order/models.py:280
+#: order/models.py:281
msgid "Date order was issued"
msgstr "Order uitgegeven op datum"
-#: order/models.py:285
+#: order/models.py:286
msgid "Target Delivery Date"
msgstr "Streefdatum Levering"
-#: order/models.py:286
+#: order/models.py:287
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr "Verwachte datum voor levering van de bestelling. De bestelling wordt achterstallig na deze datum."
-#: order/models.py:292
+#: order/models.py:293
msgid "Date order was completed"
msgstr "Order voltooid op datum"
-#: order/models.py:328
+#: order/models.py:332
msgid "Part supplier must match PO supplier"
msgstr "Onderdeelleverancier moet overeenkomen met de Inkooporderleverancier"
-#: order/models.py:472
+#: order/models.py:491
msgid "Quantity must be a positive number"
msgstr "Hoeveelheid moet een positief getal zijn"
-#: order/models.py:647
+#: order/models.py:666
msgid "Company to which the items are being sold"
msgstr "Bedrijf waaraan de artikelen worden verkocht"
-#: order/models.py:658
+#: order/models.py:677
msgid "Customer Reference "
msgstr "Klantreferentie "
-#: order/models.py:658
+#: order/models.py:677
msgid "Customer order reference code"
msgstr "Klant order referentiecode"
-#: order/models.py:663
+#: order/models.py:682
msgid "Target date for order completion. Order will be overdue after this date."
msgstr "Streefdatum voor voltooien order. De order is na deze datum achterstallig."
-#: order/models.py:666 order/models.py:1218
-#: templates/js/translated/order.js:2855 templates/js/translated/order.js:3017
+#: order/models.py:685 order/models.py:1241
+#: templates/js/translated/order.js:2866 templates/js/translated/order.js:3028
msgid "Shipment Date"
msgstr "Verzenddatum"
-#: order/models.py:673
+#: order/models.py:692
msgid "shipped by"
msgstr "verzonden door"
-#: order/models.py:728
+#: order/models.py:747
msgid "Order cannot be completed as no parts have been assigned"
msgstr "Order kan niet worden voltooid omdat er geen onderdelen aangewezen zijn"
-#: order/models.py:732
+#: order/models.py:751
msgid "Only a pending order can be marked as complete"
msgstr "Alleen orders in afwachting kunnen als voltooid worden gemarkeerd"
-#: order/models.py:735 templates/js/translated/order.js:419
+#: order/models.py:754 templates/js/translated/order.js:419
msgid "Order cannot be completed as there are incomplete shipments"
msgstr "Bestelling kan niet worden voltooid omdat er onvolledige verzendingen aanwezig zijn"
-#: order/models.py:738
+#: order/models.py:757
msgid "Order cannot be completed as there are incomplete line items"
msgstr "Order kan niet worden voltooid omdat er onvolledige artikelen aanwezig zijn"
-#: order/models.py:912
+#: order/models.py:935
msgid "Item quantity"
msgstr "Hoeveelheid artikelen"
-#: order/models.py:918
+#: order/models.py:941
msgid "Line item reference"
msgstr "Artikelregel referentie"
-#: order/models.py:920
+#: order/models.py:943
msgid "Line item notes"
msgstr "Artikel notities"
-#: order/models.py:925
+#: order/models.py:948
msgid "Target shipping date for this line item"
msgstr "Verwachte verzenddatum van het artikel"
-#: order/models.py:943
+#: order/models.py:966
msgid "Context"
msgstr "Context"
-#: order/models.py:944
+#: order/models.py:967
msgid "Additional context for this line"
msgstr "Additionele context voor deze regel"
-#: order/models.py:953
+#: order/models.py:976
msgid "Unit price"
msgstr "Stukprijs"
-#: order/models.py:983
+#: order/models.py:1006
msgid "Supplier part must match supplier"
msgstr "Leveranciersonderdeel moet overeenkomen met leverancier"
-#: order/models.py:991
+#: order/models.py:1014
msgid "deleted"
msgstr "verwijderd"
-#: order/models.py:997 order/models.py:1077 order/models.py:1118
-#: order/models.py:1212 order/models.py:1344
-#: templates/js/translated/order.js:3473
+#: order/models.py:1020 order/models.py:1100 order/models.py:1141
+#: order/models.py:1235 order/models.py:1367
+#: templates/js/translated/order.js:3484
msgid "Order"
msgstr "Order"
-#: order/models.py:998 order/models.py:1077
+#: order/models.py:1021 order/models.py:1100
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report.html:76
#: stock/templates/stock/item_base.html:182
#: templates/email/overdue_purchase_order.html:15
-#: templates/js/translated/order.js:619 templates/js/translated/order.js:1136
-#: templates/js/translated/order.js:1959 templates/js/translated/part.js:970
-#: templates/js/translated/stock.js:1915 templates/js/translated/stock.js:2550
+#: templates/js/translated/order.js:619 templates/js/translated/order.js:1170
+#: templates/js/translated/order.js:1993 templates/js/translated/part.js:997
+#: templates/js/translated/pricing.js:515 templates/js/translated/stock.js:1934
+#: templates/js/translated/stock.js:2568
msgid "Purchase Order"
msgstr "Inkooporder"
-#: order/models.py:1016
+#: order/models.py:1039
msgid "Supplier part"
msgstr "Leveranciersonderdeel"
-#: order/models.py:1023 order/templates/order/order_base.html:178
-#: templates/js/translated/order.js:1641 templates/js/translated/order.js:2373
-#: templates/js/translated/part.js:1087 templates/js/translated/part.js:1125
-#: templates/js/translated/table_filters.js:346
+#: order/models.py:1046 order/templates/order/order_base.html:178
+#: templates/js/translated/order.js:1675 templates/js/translated/order.js:2396
+#: templates/js/translated/part.js:1114 templates/js/translated/part.js:1146
+#: templates/js/translated/table_filters.js:350
msgid "Received"
msgstr "Ontvangen"
-#: order/models.py:1024
+#: order/models.py:1047
msgid "Number of items received"
msgstr "Aantal ontvangen artikelen"
-#: order/models.py:1031 part/templates/part/prices.html:181 stock/models.py:741
-#: stock/serializers.py:169 stock/templates/stock/item_base.html:189
-#: templates/js/translated/stock.js:1966
+#: order/models.py:1054 stock/models.py:757 stock/serializers.py:173
+#: stock/templates/stock/item_base.html:189
+#: templates/js/translated/stock.js:1985
msgid "Purchase Price"
msgstr "Inkoopprijs"
-#: order/models.py:1032
+#: order/models.py:1055
msgid "Unit purchase price"
msgstr "Aankoopprijs per stuk"
-#: order/models.py:1040
+#: order/models.py:1063
msgid "Where does the Purchaser want this item to be stored?"
msgstr "Waar wil de inkoper dat dit artikel opgeslagen wordt?"
-#: order/models.py:1106
+#: order/models.py:1129
msgid "Virtual part cannot be assigned to a sales order"
msgstr "Virtueel onderdeel kan niet worden toegewezen aan een verkooporder"
-#: order/models.py:1111
+#: order/models.py:1134
msgid "Only salable parts can be assigned to a sales order"
msgstr "Alleen verkoopbare onderdelen kunnen aan een verkooporder worden toegewezen"
-#: order/models.py:1137 part/templates/part/part_pricing.html:115
-#: part/templates/part/prices.html:121 part/templates/part/prices.html:290
+#: order/models.py:1160 part/templates/part/part_pricing.html:107
+#: part/templates/part/prices.html:139 templates/js/translated/pricing.js:665
msgid "Sale Price"
msgstr "Verkoopprijs"
-#: order/models.py:1138
+#: order/models.py:1161
msgid "Unit sale price"
msgstr "Prijs per stuk"
-#: order/models.py:1143
+#: order/models.py:1166
msgid "Shipped quantity"
msgstr "Verzonden hoeveelheid"
-#: order/models.py:1219
+#: order/models.py:1242
msgid "Date of shipment"
msgstr "Datum van verzending"
-#: order/models.py:1226
+#: order/models.py:1249
msgid "Checked By"
msgstr "Gecontroleerd door"
-#: order/models.py:1227
+#: order/models.py:1250
msgid "User who checked this shipment"
msgstr "Gebruiker die deze zending gecontroleerd heeft"
-#: order/models.py:1234 order/models.py:1419 order/serializers.py:1228
-#: order/serializers.py:1356 templates/js/translated/model_renderers.js:314
+#: order/models.py:1257 order/models.py:1442 order/serializers.py:1221
+#: order/serializers.py:1349 templates/js/translated/model_renderers.js:314
msgid "Shipment"
msgstr "Zending"
-#: order/models.py:1235
+#: order/models.py:1258
msgid "Shipment number"
msgstr "Zendingsnummer"
-#: order/models.py:1239
+#: order/models.py:1262
msgid "Shipment notes"
msgstr "Zendingnotities"
-#: order/models.py:1245
+#: order/models.py:1268
msgid "Tracking Number"
msgstr "Volgnummer"
-#: order/models.py:1246
+#: order/models.py:1269
msgid "Shipment tracking information"
msgstr "Zending volginformatie"
-#: order/models.py:1253
+#: order/models.py:1276
msgid "Invoice Number"
msgstr "Factuurnummer"
-#: order/models.py:1254
+#: order/models.py:1277
msgid "Reference number for associated invoice"
msgstr "Referentienummer voor bijbehorende factuur"
-#: order/models.py:1272
+#: order/models.py:1295
msgid "Shipment has already been sent"
msgstr "Verzending is al verzonden"
-#: order/models.py:1275
+#: order/models.py:1298
msgid "Shipment has no allocated stock items"
msgstr "Zending heeft geen toegewezen voorraadartikelen"
-#: order/models.py:1378 order/models.py:1380
+#: order/models.py:1401 order/models.py:1403
msgid "Stock item has not been assigned"
msgstr "Voorraadartikel is niet toegewezen"
-#: order/models.py:1384
+#: order/models.py:1407
msgid "Cannot allocate stock item to a line with a different part"
msgstr "Kan het voorraadartikel niet toewijzen aan een regel met een ander onderdeel"
-#: order/models.py:1386
+#: order/models.py:1409
msgid "Cannot allocate stock to a line without a part"
msgstr "Kan voorraad niet toewijzen aan een regel zonder onderdeel"
-#: order/models.py:1389
+#: order/models.py:1412
msgid "Allocation quantity cannot exceed stock quantity"
msgstr "Toewijzingshoeveelheid kan niet hoger zijn dan de voorraadhoeveelheid"
-#: order/models.py:1399 order/serializers.py:1090
+#: order/models.py:1422 order/serializers.py:1083
msgid "Quantity must be 1 for serialized stock item"
msgstr "Hoeveelheid moet 1 zijn voor geserialiseerd voorraadartikel"
-#: order/models.py:1402
+#: order/models.py:1425
msgid "Sales order does not match shipment"
msgstr "Verkooporder komt niet overeen met zending"
-#: order/models.py:1403
+#: order/models.py:1426
msgid "Shipment does not match sales order"
msgstr "Verzending komt niet overeen met verkooporder"
-#: order/models.py:1411
+#: order/models.py:1434
msgid "Line"
msgstr "Regel"
-#: order/models.py:1420
+#: order/models.py:1443
msgid "Sales order shipment reference"
msgstr "Verzendreferentie verkooporder"
-#: order/models.py:1433 templates/js/translated/notification.js:55
+#: order/models.py:1456 templates/js/translated/notification.js:55
msgid "Item"
msgstr "Artikel"
-#: order/models.py:1434
+#: order/models.py:1457
msgid "Select stock item to allocate"
msgstr "Selecteer voorraadartikel om toe te wijzen"
-#: order/models.py:1437
+#: order/models.py:1460
msgid "Enter stock allocation quantity"
msgstr "Voer voorraadtoewijzingshoeveelheid in"
-#: order/serializers.py:67
+#: order/serializers.py:63
msgid "Price currency"
msgstr "Prijs valuta"
-#: order/serializers.py:199
+#: order/serializers.py:193
msgid "Order cannot be cancelled"
msgstr "Order kan niet worden geannuleerd"
-#: order/serializers.py:209 order/serializers.py:1108
+#: order/serializers.py:203 order/serializers.py:1101
msgid "Allow order to be closed with incomplete line items"
msgstr ""
-#: order/serializers.py:220 order/serializers.py:1119
+#: order/serializers.py:214 order/serializers.py:1112
msgid "Order has incomplete line items"
msgstr ""
-#: order/serializers.py:311
+#: order/serializers.py:305
msgid "Order is not open"
msgstr "Order is niet open"
-#: order/serializers.py:335
+#: order/serializers.py:327
msgid "Purchase price currency"
msgstr "Valuta Inkoopprijs"
-#: order/serializers.py:354
+#: order/serializers.py:346
msgid "Supplier part must be specified"
msgstr "Leveranciersonderdeel moet worden gespecificeerd"
-#: order/serializers.py:359
+#: order/serializers.py:351
msgid "Purchase order must be specified"
msgstr "Inkooporder moet worden gespecificeerd"
-#: order/serializers.py:365
+#: order/serializers.py:357
msgid "Supplier must match purchase order"
msgstr "De leverancier moet overeenkomen met de inkooporder"
-#: order/serializers.py:366
+#: order/serializers.py:358
msgid "Purchase order must match supplier"
msgstr "Inkooporder moet overeenkomen met de leverancier"
-#: order/serializers.py:430 order/serializers.py:1196
+#: order/serializers.py:421 order/serializers.py:1189
msgid "Line Item"
msgstr "Artikel"
-#: order/serializers.py:436
+#: order/serializers.py:427
msgid "Line item does not match purchase order"
msgstr "Artikelregel komt niet overeen met inkooporder"
-#: order/serializers.py:446 order/serializers.py:557
+#: order/serializers.py:437 order/serializers.py:548
msgid "Select destination location for received items"
msgstr "Selecteer bestemmingslocatie voor ontvangen artikelen"
-#: order/serializers.py:465 templates/js/translated/order.js:1497
+#: order/serializers.py:456 templates/js/translated/order.js:1531
msgid "Enter batch code for incoming stock items"
msgstr ""
-#: order/serializers.py:473 templates/js/translated/order.js:1508
+#: order/serializers.py:464 templates/js/translated/order.js:1542
msgid "Enter serial numbers for incoming stock items"
msgstr "Voer serienummers in voor inkomende voorraadartikelen"
-#: order/serializers.py:487
+#: order/serializers.py:478
msgid "Unique identifier field"
msgstr "Uniek identificatieveld"
-#: order/serializers.py:501
+#: order/serializers.py:492
msgid "Barcode is already in use"
msgstr "Streepjescode is al in gebruik"
-#: order/serializers.py:527
+#: order/serializers.py:518
msgid "An integer quantity must be provided for trackable parts"
msgstr "Hoeveelheid als geheel getal vereist voor traceerbare onderdelen"
-#: order/serializers.py:573
+#: order/serializers.py:564
msgid "Line items must be provided"
msgstr "Artikelen moeten worden opgegeven"
-#: order/serializers.py:590
+#: order/serializers.py:581
msgid "Destination location must be specified"
msgstr "Bestemmingslocatie moet worden opgegeven"
-#: order/serializers.py:601
+#: order/serializers.py:592
msgid "Supplied barcode values must be unique"
msgstr "Geleverde streepjescodewaarden moeten uniek zijn"
-#: order/serializers.py:907
+#: order/serializers.py:900
msgid "Sale price currency"
msgstr "Valuta verkoopprijs"
-#: order/serializers.py:988
+#: order/serializers.py:981
msgid "No shipment details provided"
msgstr "Geen verzenddetails opgegeven"
-#: order/serializers.py:1051 order/serializers.py:1205
+#: order/serializers.py:1044 order/serializers.py:1198
msgid "Line item is not associated with this order"
msgstr "Artikelregel is niet gekoppeld aan deze bestelling"
-#: order/serializers.py:1073
+#: order/serializers.py:1066
msgid "Quantity must be positive"
msgstr "Hoeveelheid moet positief zijn"
-#: order/serializers.py:1218
+#: order/serializers.py:1211
msgid "Enter serial numbers to allocate"
msgstr "Voer serienummers in om toe te wijzen"
-#: order/serializers.py:1240 order/serializers.py:1364
+#: order/serializers.py:1233 order/serializers.py:1357
msgid "Shipment has already been shipped"
msgstr "Verzending is al verzonden"
-#: order/serializers.py:1243 order/serializers.py:1367
+#: order/serializers.py:1236 order/serializers.py:1360
msgid "Shipment is not associated with this order"
msgstr "Zending is niet gekoppeld aan deze bestelling"
-#: order/serializers.py:1297
+#: order/serializers.py:1290
msgid "No match found for the following serial numbers"
msgstr "Geen overeenkomst gevonden voor de volgende serienummers"
-#: order/serializers.py:1307
+#: order/serializers.py:1300
msgid "The following serial numbers are already allocated"
msgstr "De volgende serienummers zijn al toegewezen"
@@ -4154,15 +4185,16 @@ msgid "Duplicate order"
msgstr ""
#: order/templates/order/order_base.html:61
-msgid "Place order"
-msgstr "Order plaatsen"
+#: order/templates/order/order_base.html:62
+msgid "Submit Order"
+msgstr ""
#: order/templates/order/order_base.html:65
msgid "Receive items"
msgstr "Ontvang artikelen"
#: order/templates/order/order_base.html:67
-#: order/templates/order/purchase_order_detail.html:30
+#: order/templates/order/purchase_order_detail.html:32
msgid "Receive Items"
msgstr "Ontvang Artikelen"
@@ -4248,9 +4280,9 @@ msgstr "Selecteer Leveranciersonderdeel"
#: part/templates/part/import_wizard/match_references.html:49
#: templates/js/translated/bom.js:102 templates/js/translated/build.js:479
#: templates/js/translated/build.js:631 templates/js/translated/build.js:2078
-#: templates/js/translated/order.js:1084 templates/js/translated/order.js:1586
-#: templates/js/translated/order.js:3092 templates/js/translated/stock.js:625
-#: templates/js/translated/stock.js:793
+#: templates/js/translated/order.js:1118 templates/js/translated/order.js:1620
+#: templates/js/translated/order.js:3103 templates/js/translated/stock.js:644
+#: templates/js/translated/stock.js:812
#: templates/patterns/wizard/match_fields.html:70
msgid "Remove row"
msgstr "Rij verwijderen"
@@ -4278,42 +4310,42 @@ msgstr "Artikelen"
msgid "Received Stock"
msgstr "Ontvangen Voorraadartikelen"
-#: order/templates/order/purchase_order_detail.html:17
+#: order/templates/order/purchase_order_detail.html:19
msgid "Purchase Order Items"
msgstr "Inkooporder Artikelen"
-#: order/templates/order/purchase_order_detail.html:26
-#: order/templates/order/sales_order_detail.html:22
-#: order/templates/order/sales_order_detail.html:255
+#: order/templates/order/purchase_order_detail.html:28
+#: order/templates/order/sales_order_detail.html:24
+#: order/templates/order/sales_order_detail.html:260
#: templates/js/translated/order.js:728
msgid "Add Line Item"
msgstr "Artikel toevoegen"
-#: order/templates/order/purchase_order_detail.html:29
+#: order/templates/order/purchase_order_detail.html:31
msgid "Receive selected items"
msgstr "Geselecteerde artikelen ontvangen"
-#: order/templates/order/purchase_order_detail.html:48
-#: order/templates/order/sales_order_detail.html:42
+#: order/templates/order/purchase_order_detail.html:50
+#: order/templates/order/sales_order_detail.html:45
msgid "Extra Lines"
msgstr "Extra Regels"
-#: order/templates/order/purchase_order_detail.html:53
-#: order/templates/order/sales_order_detail.html:47
-#: order/templates/order/sales_order_detail.html:280
+#: order/templates/order/purchase_order_detail.html:56
+#: order/templates/order/sales_order_detail.html:51
+#: order/templates/order/sales_order_detail.html:291
msgid "Add Extra Line"
msgstr "Extra Regel Toevoegen"
-#: order/templates/order/purchase_order_detail.html:72
+#: order/templates/order/purchase_order_detail.html:76
msgid "Received Items"
msgstr "Ontvangen Artikelen"
-#: order/templates/order/purchase_order_detail.html:97
-#: order/templates/order/sales_order_detail.html:150
+#: order/templates/order/purchase_order_detail.html:101
+#: order/templates/order/sales_order_detail.html:155
msgid "Order Notes"
msgstr "Ordernotities"
-#: order/templates/order/purchase_order_detail.html:232
+#: order/templates/order/purchase_order_detail.html:239
msgid "Add Order Line"
msgstr "Voeg Orderregel toe"
@@ -4345,12 +4377,12 @@ msgid "This Sales Order has not been fully allocated"
msgstr "Deze Verkooporder is niet volledig toegewezen"
#: order/templates/order/sales_order_base.html:123
-#: templates/js/translated/order.js:2821
+#: templates/js/translated/order.js:2832
msgid "Customer Reference"
msgstr "Klantreferentie"
#: order/templates/order/sales_order_base.html:141
-#: order/templates/order/sales_order_detail.html:104
+#: order/templates/order/sales_order_detail.html:109
#: order/templates/order/so_sidebar.html:11
msgid "Completed Shipments"
msgstr "Voltooide Verzendingen"
@@ -4359,22 +4391,22 @@ msgstr "Voltooide Verzendingen"
msgid "Edit Sales Order"
msgstr "Verkooporder bewerken"
-#: order/templates/order/sales_order_detail.html:17
+#: order/templates/order/sales_order_detail.html:18
msgid "Sales Order Items"
msgstr "Verkoooporder Artikelen"
-#: order/templates/order/sales_order_detail.html:68
+#: order/templates/order/sales_order_detail.html:73
#: order/templates/order/so_sidebar.html:8
msgid "Pending Shipments"
msgstr "Verzendingen in behandeling"
-#: order/templates/order/sales_order_detail.html:72
-#: templates/attachment_table.html:6 templates/js/translated/bom.js:1158
+#: order/templates/order/sales_order_detail.html:77
+#: templates/attachment_table.html:6 templates/js/translated/bom.js:1223
#: templates/js/translated/build.js:1979
msgid "Actions"
msgstr "Acties"
-#: order/templates/order/sales_order_detail.html:81
+#: order/templates/order/sales_order_detail.html:86
msgid "New Shipment"
msgstr "Nieuwe Verzending"
@@ -4400,617 +4432,844 @@ msgstr "{part} stukprijs bijgewerkt naar {price}"
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr "{part} stukprijs bijgewerkt naar {price} en aantal naar {qty}"
-#: part/api.py:516
-msgid "Incoming Purchase Order"
-msgstr "Binnenkomende Inkooporder"
-
-#: part/api.py:536
-msgid "Outgoing Sales Order"
-msgstr "Uitgaande Verkooporder"
-
-#: part/api.py:554
-msgid "Stock produced by Build Order"
-msgstr "Geproduceerde voorraad door Productieorder"
-
-#: part/api.py:640
-msgid "Stock required for Build Order"
-msgstr "Voorraad vereist voor Productieorder"
-
-#: part/api.py:777
-msgid "Valid"
+#: part/admin.py:19 part/admin.py:219 part/models.py:3181 stock/admin.py:84
+#: templates/js/translated/model_renderers.js:212
+msgid "Part ID"
msgstr ""
-#: part/api.py:778
-msgid "Validate entire Bill of Materials"
+#: part/admin.py:20 part/admin.py:221 part/models.py:3185 stock/admin.py:85
+msgid "Part Name"
msgstr ""
-#: part/api.py:784
-msgid "This option must be selected"
+#: part/admin.py:21
+msgid "Part Description"
msgstr ""
-#: part/api.py:1207
-msgid "Must be greater than zero"
+#: part/admin.py:22 part/models.py:822 part/templates/part/part_base.html:272
+#: templates/js/translated/part.js:751 templates/js/translated/part.js:1469
+#: templates/js/translated/stock.js:1745
+msgid "IPN"
msgstr ""
-#: part/api.py:1211
-msgid "Must be a valid quantity"
+#: part/admin.py:23 part/models.py:830 part/templates/part/part_base.html:279
+#: report/models.py:171 templates/js/translated/part.js:755
+msgid "Revision"
msgstr ""
-#: part/api.py:1226
-msgid "Specify location for initial part stock"
+#: part/admin.py:24 part/admin.py:145 part/models.py:808
+#: part/templates/part/category.html:87 part/templates/part/part_base.html:300
+msgid "Keywords"
msgstr ""
-#: part/api.py:1257 part/api.py:1261 part/api.py:1276 part/api.py:1280
-msgid "This field is required"
+#: part/admin.py:28 part/admin.py:139
+#: templates/js/translated/model_renderers.js:338
+msgid "Category ID"
msgstr ""
-#: part/bom.py:127 part/models.py:98 part/models.py:838
-#: part/templates/part/category.html:109 part/templates/part/part_base.html:345
-msgid "Default Location"
-msgstr "Standaard locatie"
+#: part/admin.py:29 part/admin.py:140
+msgid "Category Name"
+msgstr ""
-#: part/bom.py:128 templates/email/low_stock_notification.html:17
-msgid "Total Stock"
-msgstr "Totale Voorraad"
+#: part/admin.py:30 part/admin.py:144
+msgid "Default Location ID"
+msgstr ""
-#: part/bom.py:129 part/templates/part/part_base.html:195
-#: templates/js/translated/order.js:3913
-msgid "Available Stock"
-msgstr "Beschikbare Voorraad"
+#: part/admin.py:31
+msgid "Default Supplier ID"
+msgstr ""
-#: part/bom.py:130 part/templates/part/part_base.html:213
-#: templates/js/translated/bom.js:1001 templates/js/translated/build.js:1925
-#: templates/js/translated/part.js:588 templates/js/translated/part.js:608
-#: templates/js/translated/part.js:1338 templates/js/translated/part.js:1526
+#: part/admin.py:33 part/models.py:914 part/templates/part/part_base.html:206
+msgid "Minimum Stock"
+msgstr ""
+
+#: part/admin.py:47 part/templates/part/part_base.html:200
+#: templates/js/translated/company.js:1028
+#: templates/js/translated/table_filters.js:213
+msgid "In Stock"
+msgstr ""
+
+#: part/admin.py:48 part/bom.py:145 part/templates/part/part_base.html:213
+#: templates/js/translated/bom.js:1155 templates/js/translated/build.js:1925
+#: templates/js/translated/part.js:602 templates/js/translated/part.js:622
+#: templates/js/translated/part.js:1359 templates/js/translated/part.js:1537
#: templates/js/translated/table_filters.js:68
msgid "On Order"
msgstr "In bestelling"
-#: part/forms.py:41
-msgid "Input quantity for price calculation"
+#: part/admin.py:49 part/templates/part/part_sidebar.html:27
+msgid "Used In"
msgstr ""
-#: part/models.py:99
-msgid "Default location for parts in this category"
-msgstr "Standaard locatie voor onderdelen in deze categorie"
+#: part/admin.py:50 templates/js/translated/build.js:1937
+#: templates/js/translated/build.js:2195 templates/js/translated/build.js:2761
+#: templates/js/translated/order.js:3943
+msgid "Allocated"
+msgstr "Toegewezen"
-#: part/models.py:102
-msgid "Default keywords"
+#: part/admin.py:51 part/templates/part/part_base.html:244
+#: templates/js/translated/part.js:605 templates/js/translated/part.js:625
+#: templates/js/translated/part.js:1363 templates/js/translated/part.js:1544
+msgid "Building"
msgstr ""
-#: part/models.py:102
-msgid "Default keywords for parts in this category"
+#: part/admin.py:52 part/models.py:2765
+msgid "Minimum Cost"
msgstr ""
-#: part/models.py:107 stock/models.py:85
-msgid "Icon"
+#: part/admin.py:53 part/models.py:2771
+msgid "Maximum Cost"
msgstr ""
-#: part/models.py:108 stock/models.py:86
-msgid "Icon (optional)"
+#: part/admin.py:142 part/admin.py:216 stock/admin.py:26 stock/admin.py:98
+msgid "Parent ID"
msgstr ""
-#: part/models.py:122 part/models.py:2517 part/templates/part/category.html:16
-#: part/templates/part/part_app_base.html:10
-msgid "Part Category"
+#: part/admin.py:143 part/admin.py:218 stock/admin.py:27
+msgid "Parent Name"
msgstr ""
-#: part/models.py:123 part/templates/part/category.html:129
-#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200
-#: users/models.py:37
-msgid "Part Categories"
+#: part/admin.py:146 part/templates/part/category.html:81
+#: part/templates/part/category.html:94
+msgid "Category Path"
msgstr ""
-#: part/models.py:344 part/templates/part/cat_link.html:3
+#: part/admin.py:149 part/models.py:363 part/templates/part/cat_link.html:3
#: part/templates/part/category.html:23 part/templates/part/category.html:134
#: part/templates/part/category.html:154
#: part/templates/part/category_sidebar.html:9
#: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84
#: templates/InvenTree/settings/sidebar.html:41
-#: templates/js/translated/part.js:2019 templates/js/translated/search.js:146
+#: templates/js/translated/part.js:2043 templates/js/translated/search.js:146
#: templates/navbar.html:24 users/models.py:38
msgid "Parts"
msgstr ""
-#: part/models.py:429
+#: part/admin.py:211
+msgid "BOM Level"
+msgstr ""
+
+#: part/admin.py:213
+msgid "BOM Item ID"
+msgstr ""
+
+#: part/admin.py:217
+msgid "Parent IPN"
+msgstr ""
+
+#: part/admin.py:220 part/models.py:3189
+msgid "Part IPN"
+msgstr ""
+
+#: part/admin.py:226 templates/js/translated/pricing.js:91
+#: templates/js/translated/pricing.js:727
+msgid "Minimum Price"
+msgstr ""
+
+#: part/admin.py:227 templates/js/translated/pricing.js:86
+#: templates/js/translated/pricing.js:735
+msgid "Maximum Price"
+msgstr ""
+
+#: part/api.py:532
+msgid "Incoming Purchase Order"
+msgstr "Binnenkomende Inkooporder"
+
+#: part/api.py:552
+msgid "Outgoing Sales Order"
+msgstr "Uitgaande Verkooporder"
+
+#: part/api.py:570
+msgid "Stock produced by Build Order"
+msgstr "Geproduceerde voorraad door Productieorder"
+
+#: part/api.py:656
+msgid "Stock required for Build Order"
+msgstr "Voorraad vereist voor Productieorder"
+
+#: part/api.py:814
+msgid "Valid"
+msgstr ""
+
+#: part/api.py:815
+msgid "Validate entire Bill of Materials"
+msgstr ""
+
+#: part/api.py:821
+msgid "This option must be selected"
+msgstr ""
+
+#: part/api.py:1261
+msgid "Must be greater than zero"
+msgstr ""
+
+#: part/api.py:1265
+msgid "Must be a valid quantity"
+msgstr ""
+
+#: part/api.py:1280
+msgid "Specify location for initial part stock"
+msgstr ""
+
+#: part/api.py:1311 part/api.py:1315 part/api.py:1330 part/api.py:1334
+msgid "This field is required"
+msgstr ""
+
+#: part/bom.py:142 part/models.py:116 part/models.py:857
+#: part/templates/part/category.html:109 part/templates/part/part_base.html:360
+msgid "Default Location"
+msgstr "Standaard locatie"
+
+#: part/bom.py:143 templates/email/low_stock_notification.html:17
+msgid "Total Stock"
+msgstr "Totale Voorraad"
+
+#: part/bom.py:144 part/templates/part/part_base.html:195
+#: templates/js/translated/order.js:3910
+msgid "Available Stock"
+msgstr "Beschikbare Voorraad"
+
+#: part/forms.py:41
+msgid "Input quantity for price calculation"
+msgstr ""
+
+#: part/models.py:117
+msgid "Default location for parts in this category"
+msgstr "Standaard locatie voor onderdelen in deze categorie"
+
+#: part/models.py:120
+msgid "Default keywords"
+msgstr ""
+
+#: part/models.py:120
+msgid "Default keywords for parts in this category"
+msgstr ""
+
+#: part/models.py:125 stock/models.py:101
+msgid "Icon"
+msgstr ""
+
+#: part/models.py:126 stock/models.py:102
+msgid "Icon (optional)"
+msgstr ""
+
+#: part/models.py:140 part/models.py:3130 part/templates/part/category.html:16
+#: part/templates/part/part_app_base.html:10
+msgid "Part Category"
+msgstr ""
+
+#: part/models.py:141 part/templates/part/category.html:129
+#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200
+#: users/models.py:37
+msgid "Part Categories"
+msgstr ""
+
+#: part/models.py:448
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:499 part/models.py:511
+#: part/models.py:518 part/models.py:530
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:601
+#: part/models.py:620
msgid "Stock item with this serial number already exists"
msgstr ""
-#: part/models.py:732
+#: part/models.py:751
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:759 part/models.py:2573
+#: part/models.py:778 part/models.py:3186
msgid "Part name"
msgstr ""
-#: part/models.py:766
+#: part/models.py:785
msgid "Is Template"
msgstr ""
-#: part/models.py:767
+#: part/models.py:786
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:777
+#: part/models.py:796
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:778
+#: part/models.py:797
msgid "Variant Of"
msgstr ""
-#: part/models.py:784
+#: part/models.py:803
msgid "Part description"
msgstr ""
-#: part/models.py:789 part/templates/part/category.html:87
-#: part/templates/part/part_base.html:300
-msgid "Keywords"
-msgstr ""
-
-#: part/models.py:790
+#: part/models.py:809
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:797 part/models.py:2272 part/models.py:2516
+#: part/models.py:816 part/models.py:2885 part/models.py:3129
#: part/templates/part/part_base.html:263
#: templates/InvenTree/settings/settings.html:229
#: templates/js/translated/notification.js:50
-#: templates/js/translated/part.js:1480 templates/js/translated/part.js:1724
+#: templates/js/translated/part.js:1491 templates/js/translated/part.js:1748
msgid "Category"
msgstr ""
-#: part/models.py:798
+#: part/models.py:817
msgid "Part category"
msgstr ""
-#: part/models.py:803 part/templates/part/part_base.html:272
-#: templates/js/translated/part.js:737 templates/js/translated/part.js:1431
-#: templates/js/translated/stock.js:1726
-msgid "IPN"
-msgstr ""
-
-#: part/models.py:804
+#: part/models.py:823
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:810
+#: part/models.py:829
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:811 part/templates/part/part_base.html:279
-#: report/models.py:171 templates/js/translated/part.js:741
-msgid "Revision"
-msgstr ""
-
-#: part/models.py:836
+#: part/models.py:855
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:881 part/templates/part/part_base.html:354
+#: part/models.py:900 part/templates/part/part_base.html:369
msgid "Default Supplier"
msgstr ""
-#: part/models.py:882
+#: part/models.py:901
msgid "Default supplier part"
msgstr ""
-#: part/models.py:889
+#: part/models.py:908
msgid "Default Expiry"
msgstr ""
-#: part/models.py:890
+#: part/models.py:909
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:895 part/templates/part/part_base.html:206
-msgid "Minimum Stock"
-msgstr ""
-
-#: part/models.py:896
+#: part/models.py:915
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:903
+#: part/models.py:922
msgid "Stock keeping units for this part"
msgstr ""
-#: part/models.py:909
+#: part/models.py:928
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:915
+#: part/models.py:934
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:921
+#: part/models.py:940
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:926
+#: part/models.py:945
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:931
+#: part/models.py:950
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:936
+#: part/models.py:955
msgid "Is this part active?"
msgstr ""
-#: part/models.py:941
+#: part/models.py:960
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:943
+#: part/models.py:962
msgid "Part notes"
msgstr ""
-#: part/models.py:945
+#: part/models.py:964
msgid "BOM checksum"
msgstr ""
-#: part/models.py:945
+#: part/models.py:964
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:948
+#: part/models.py:967
msgid "BOM checked by"
msgstr ""
-#: part/models.py:950
+#: part/models.py:969
msgid "BOM checked date"
msgstr ""
-#: part/models.py:954
+#: part/models.py:973
msgid "Creation User"
msgstr ""
-#: part/models.py:1790
+#: part/models.py:1819
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2319
+#: part/models.py:2682
+msgid "Currency used to cache pricing calculations"
+msgstr ""
+
+#: part/models.py:2687
+msgid "Updated"
+msgstr ""
+
+#: part/models.py:2688
+msgid "Timestamp of last pricing update"
+msgstr ""
+
+#: part/models.py:2705
+msgid "Minimum BOM Cost"
+msgstr ""
+
+#: part/models.py:2706
+msgid "Minimum cost of component parts"
+msgstr ""
+
+#: part/models.py:2711
+msgid "Maximum BOM Cost"
+msgstr ""
+
+#: part/models.py:2712
+msgid "Maximum cost of component parts"
+msgstr ""
+
+#: part/models.py:2717
+msgid "Minimum Purchase Cost"
+msgstr ""
+
+#: part/models.py:2718
+msgid "Minimum historical purchase cost"
+msgstr ""
+
+#: part/models.py:2723
+msgid "Maximum Purchase Cost"
+msgstr ""
+
+#: part/models.py:2724
+msgid "Maximum historical purchase cost"
+msgstr ""
+
+#: part/models.py:2729
+msgid "Minimum Internal Price"
+msgstr ""
+
+#: part/models.py:2730
+msgid "Minimum cost based on internal price breaks"
+msgstr ""
+
+#: part/models.py:2735
+msgid "Maximum Internal Price"
+msgstr ""
+
+#: part/models.py:2736
+msgid "Maximum cost based on internal price breaks"
+msgstr ""
+
+#: part/models.py:2741
+msgid "Minimum Supplier Price"
+msgstr ""
+
+#: part/models.py:2742
+msgid "Minimum price of part from external suppliers"
+msgstr ""
+
+#: part/models.py:2747
+msgid "Maximum Supplier Price"
+msgstr ""
+
+#: part/models.py:2748
+msgid "Maximum price of part from external suppliers"
+msgstr ""
+
+#: part/models.py:2753
+msgid "Minimum Variant Cost"
+msgstr ""
+
+#: part/models.py:2754
+msgid "Calculated minimum cost of variant parts"
+msgstr ""
+
+#: part/models.py:2759
+msgid "Maximum Variant Cost"
+msgstr ""
+
+#: part/models.py:2760
+msgid "Calculated maximum cost of variant parts"
+msgstr ""
+
+#: part/models.py:2766
+msgid "Calculated overall minimum cost"
+msgstr ""
+
+#: part/models.py:2772
+msgid "Calculated overall maximum cost"
+msgstr ""
+
+#: part/models.py:2777
+msgid "Minimum Sale Price"
+msgstr ""
+
+#: part/models.py:2778
+msgid "Minimum sale price based on price breaks"
+msgstr ""
+
+#: part/models.py:2783
+msgid "Maximum Sale Price"
+msgstr ""
+
+#: part/models.py:2784
+msgid "Maximum sale price based on price breaks"
+msgstr ""
+
+#: part/models.py:2789
+msgid "Minimum Sale Cost"
+msgstr ""
+
+#: part/models.py:2790
+msgid "Minimum historical sale price"
+msgstr ""
+
+#: part/models.py:2795
+msgid "Maximum Sale Cost"
+msgstr ""
+
+#: part/models.py:2796
+msgid "Maximum historical sale price"
+msgstr ""
+
+#: part/models.py:2932
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:2336
+#: part/models.py:2949
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2356 templates/js/translated/part.js:2070
-#: templates/js/translated/stock.js:1340
+#: part/models.py:2969 templates/js/translated/part.js:2094
+#: templates/js/translated/stock.js:1359
msgid "Test Name"
msgstr ""
-#: part/models.py:2357
+#: part/models.py:2970
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2362
+#: part/models.py:2975
msgid "Test Description"
msgstr ""
-#: part/models.py:2363
+#: part/models.py:2976
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2368 templates/js/translated/part.js:2079
-#: templates/js/translated/table_filters.js:310
+#: part/models.py:2981 templates/js/translated/part.js:2103
+#: templates/js/translated/table_filters.js:314
msgid "Required"
msgstr ""
-#: part/models.py:2369
+#: part/models.py:2982
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2374 templates/js/translated/part.js:2087
+#: part/models.py:2987 templates/js/translated/part.js:2111
msgid "Requires Value"
msgstr ""
-#: part/models.py:2375
+#: part/models.py:2988
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2380 templates/js/translated/part.js:2094
+#: part/models.py:2993 templates/js/translated/part.js:2118
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2381
+#: part/models.py:2994
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:2422
+#: part/models.py:3035
msgid "Parameter template name must be unique"
msgstr "De template van de parameter moet uniek zijn"
-#: part/models.py:2430
+#: part/models.py:3043
msgid "Parameter Name"
msgstr "Parameternaam"
-#: part/models.py:2434
+#: part/models.py:3047
msgid "Parameter Units"
msgstr "Parameter Eenheden"
-#: part/models.py:2439
+#: part/models.py:3052
msgid "Parameter description"
msgstr ""
-#: part/models.py:2472
+#: part/models.py:3085
msgid "Parent Part"
msgstr ""
-#: part/models.py:2474 part/models.py:2522 part/models.py:2523
+#: part/models.py:3087 part/models.py:3135 part/models.py:3136
#: templates/InvenTree/settings/settings.html:224
msgid "Parameter Template"
msgstr "Parameter Template"
-#: part/models.py:2476
+#: part/models.py:3089
msgid "Data"
msgstr ""
-#: part/models.py:2476
+#: part/models.py:3089
msgid "Parameter Value"
msgstr "Parameterwaarde"
-#: part/models.py:2527 templates/InvenTree/settings/settings.html:233
+#: part/models.py:3140 templates/InvenTree/settings/settings.html:233
msgid "Default Value"
msgstr ""
-#: part/models.py:2528
+#: part/models.py:3141
msgid "Default Parameter Value"
msgstr "Standaard Parameter Waarde"
-#: part/models.py:2565
+#: part/models.py:3178
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:2568 templates/js/translated/model_renderers.js:212
-msgid "Part ID"
-msgstr ""
-
-#: part/models.py:2569
+#: part/models.py:3182
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:2572
-msgid "Part Name"
-msgstr ""
-
-#: part/models.py:2576
-msgid "Part IPN"
-msgstr ""
-
-#: part/models.py:2577
+#: part/models.py:3190
msgid "Part IPN value"
msgstr ""
-#: part/models.py:2580
+#: part/models.py:3193
msgid "Level"
msgstr ""
-#: part/models.py:2581
+#: part/models.py:3194
msgid "BOM level"
msgstr ""
-#: part/models.py:2650
+#: part/models.py:3263
msgid "Select parent part"
msgstr ""
-#: part/models.py:2658
+#: part/models.py:3271
msgid "Sub part"
msgstr ""
-#: part/models.py:2659
+#: part/models.py:3272
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:2665
+#: part/models.py:3278
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:2669 part/templates/part/upload_bom.html:58
-#: templates/js/translated/bom.js:924 templates/js/translated/bom.js:1024
+#: part/models.py:3282 part/templates/part/upload_bom.html:58
+#: templates/js/translated/bom.js:933 templates/js/translated/bom.js:986
#: templates/js/translated/build.js:1858
#: templates/js/translated/table_filters.js:84
-#: templates/js/translated/table_filters.js:108
+#: templates/js/translated/table_filters.js:112
msgid "Optional"
msgstr ""
-#: part/models.py:2670
+#: part/models.py:3283
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:2675 templates/js/translated/bom.js:920
-#: templates/js/translated/bom.js:1033 templates/js/translated/build.js:1849
+#: part/models.py:3288 templates/js/translated/bom.js:929
+#: templates/js/translated/bom.js:995 templates/js/translated/build.js:1849
#: templates/js/translated/table_filters.js:88
msgid "Consumable"
msgstr ""
-#: part/models.py:2676
+#: part/models.py:3289
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:2680 part/templates/part/upload_bom.html:55
+#: part/models.py:3293 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:2681
+#: part/models.py:3294
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:2684
+#: part/models.py:3297
msgid "BOM item reference"
msgstr ""
-#: part/models.py:2687
+#: part/models.py:3300
msgid "BOM item notes"
msgstr ""
-#: part/models.py:2689
+#: part/models.py:3302
msgid "Checksum"
msgstr ""
-#: part/models.py:2689
+#: part/models.py:3302
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:2693 part/templates/part/upload_bom.html:57
-#: templates/js/translated/bom.js:1050
+#: part/models.py:3306 part/templates/part/upload_bom.html:57
+#: templates/js/translated/bom.js:1012
#: templates/js/translated/table_filters.js:76
-#: templates/js/translated/table_filters.js:104
+#: templates/js/translated/table_filters.js:108
msgid "Inherited"
msgstr ""
-#: part/models.py:2694
+#: part/models.py:3307
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:2699 part/templates/part/upload_bom.html:56
-#: templates/js/translated/bom.js:1042
+#: part/models.py:3312 part/templates/part/upload_bom.html:56
+#: templates/js/translated/bom.js:1004
msgid "Allow Variants"
msgstr ""
-#: part/models.py:2700
+#: part/models.py:3313
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:2786 stock/models.py:502
+#: part/models.py:3399 stock/models.py:518
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:2795 part/models.py:2797
+#: part/models.py:3408 part/models.py:3410
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:2902
+#: part/models.py:3537
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:2923
+#: part/models.py:3558
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:2936
+#: part/models.py:3571
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:2944
+#: part/models.py:3579
msgid "Substitute part"
msgstr ""
-#: part/models.py:2959
+#: part/models.py:3594
msgid "Part 1"
msgstr ""
-#: part/models.py:2963
+#: part/models.py:3598
msgid "Part 2"
msgstr ""
-#: part/models.py:2963
+#: part/models.py:3598
msgid "Select Related Part"
msgstr ""
-#: part/models.py:2981
+#: part/models.py:3616
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:2985
+#: part/models.py:3620
msgid "Duplicate relationship already exists"
msgstr ""
-#: part/serializers.py:154 part/serializers.py:185 stock/serializers.py:179
+#: part/serializers.py:154 part/serializers.py:182 stock/serializers.py:183
msgid "Purchase currency of this stock item"
msgstr ""
-#: part/serializers.py:829
+#: part/serializers.py:542
+msgid "Update"
+msgstr ""
+
+#: part/serializers.py:543
+msgid "Update pricing for this part"
+msgstr ""
+
+#: part/serializers.py:853
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:837
+#: part/serializers.py:861
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:838
+#: part/serializers.py:862
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:843
+#: part/serializers.py:867
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:844
+#: part/serializers.py:868
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:849
+#: part/serializers.py:873
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:850
+#: part/serializers.py:874
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:855
+#: part/serializers.py:879
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:856
+#: part/serializers.py:880
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/serializers.py:896
+#: part/serializers.py:920
msgid "Clear Existing BOM"
msgstr ""
-#: part/serializers.py:897
+#: part/serializers.py:921
msgid "Delete existing BOM items before uploading"
msgstr ""
-#: part/serializers.py:927
+#: part/serializers.py:951
msgid "No part column specified"
msgstr ""
-#: part/serializers.py:970
+#: part/serializers.py:994
msgid "Multiple matching parts found"
msgstr ""
-#: part/serializers.py:973
+#: part/serializers.py:997
msgid "No matching part found"
msgstr ""
-#: part/serializers.py:976
+#: part/serializers.py:1000
msgid "Part is not designated as a component"
msgstr ""
-#: part/serializers.py:985
+#: part/serializers.py:1009
msgid "Quantity not provided"
msgstr ""
-#: part/serializers.py:993
+#: part/serializers.py:1017
msgid "Invalid quantity"
msgstr "Ongeldige hoeveelheid"
-#: part/serializers.py:1014
+#: part/serializers.py:1038
msgid "At least one BOM item is required"
msgstr ""
-#: part/tasks.py:21
+#: part/tasks.py:25
msgid "Low stock notification"
msgstr ""
-#: part/tasks.py:22
+#: part/tasks.py:26
#, python-brace-format
msgid "The available stock for {part.name} has fallen below the configured minimum level"
msgstr ""
@@ -5034,7 +5293,7 @@ msgstr ""
msgid "The BOM for %(part)s has not been validated."
msgstr ""
-#: part/templates/part/bom.html:30 part/templates/part/detail.html:269
+#: part/templates/part/bom.html:30 part/templates/part/detail.html:267
msgid "BOM actions"
msgstr ""
@@ -5070,10 +5329,6 @@ msgstr "Categorie verwijderen"
msgid "Delete Category"
msgstr "Categorie verwijderen"
-#: part/templates/part/category.html:81 part/templates/part/category.html:94
-msgid "Category Path"
-msgstr ""
-
#: part/templates/part/category.html:95
msgid "Top level part category"
msgstr ""
@@ -5091,12 +5346,12 @@ msgstr ""
msgid "Create new part"
msgstr ""
-#: part/templates/part/category.html:159 templates/js/translated/bom.js:392
+#: part/templates/part/category.html:159 templates/js/translated/bom.js:405
msgid "New Part"
msgstr ""
-#: part/templates/part/category.html:169 part/templates/part/detail.html:368
-#: part/templates/part/detail.html:399
+#: part/templates/part/category.html:169 part/templates/part/detail.html:366
+#: part/templates/part/detail.html:397
msgid "Options"
msgstr ""
@@ -5144,7 +5399,7 @@ msgstr ""
msgid "Import Parts"
msgstr ""
-#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:379
+#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:393
msgid "Duplicate Part"
msgstr ""
@@ -5176,7 +5431,8 @@ msgstr ""
msgid "Refresh scheduling data"
msgstr ""
-#: part/templates/part/detail.html:45 templates/js/translated/tables.js:524
+#: part/templates/part/detail.html:45 part/templates/part/prices.html:15
+#: templates/js/translated/tables.js:524
msgid "Refresh"
msgstr ""
@@ -5192,123 +5448,103 @@ msgstr ""
msgid "Sales Order Allocations"
msgstr "Verkoopordertoewijzingen"
-#: part/templates/part/detail.html:143
+#: part/templates/part/detail.html:141
msgid "Part Notes"
msgstr ""
-#: part/templates/part/detail.html:158
+#: part/templates/part/detail.html:156
msgid "Part Variants"
msgstr ""
-#: part/templates/part/detail.html:162
+#: part/templates/part/detail.html:160
msgid "Create new variant"
msgstr ""
-#: part/templates/part/detail.html:163
+#: part/templates/part/detail.html:161
msgid "New Variant"
msgstr ""
-#: part/templates/part/detail.html:190
+#: part/templates/part/detail.html:188
msgid "Add new parameter"
msgstr "Een parameter toevoegen"
-#: part/templates/part/detail.html:227 part/templates/part/part_sidebar.html:54
+#: part/templates/part/detail.html:225 part/templates/part/part_sidebar.html:52
msgid "Related Parts"
msgstr ""
-#: part/templates/part/detail.html:231 part/templates/part/detail.html:232
+#: part/templates/part/detail.html:229 part/templates/part/detail.html:230
msgid "Add Related"
msgstr ""
-#: part/templates/part/detail.html:252 part/templates/part/part_sidebar.html:17
+#: part/templates/part/detail.html:250 part/templates/part/part_sidebar.html:17
msgid "Bill of Materials"
msgstr ""
-#: part/templates/part/detail.html:257
+#: part/templates/part/detail.html:255
msgid "Export actions"
msgstr ""
-#: part/templates/part/detail.html:261 templates/js/translated/bom.js:309
+#: part/templates/part/detail.html:259 templates/js/translated/bom.js:309
msgid "Export BOM"
msgstr ""
-#: part/templates/part/detail.html:263
+#: part/templates/part/detail.html:261
msgid "Print BOM Report"
msgstr ""
-#: part/templates/part/detail.html:273
+#: part/templates/part/detail.html:271
msgid "Upload BOM"
msgstr ""
-#: part/templates/part/detail.html:274 templates/js/translated/part.js:274
+#: part/templates/part/detail.html:272 templates/js/translated/part.js:270
msgid "Copy BOM"
msgstr ""
-#: part/templates/part/detail.html:275
+#: part/templates/part/detail.html:273
msgid "Validate BOM"
msgstr ""
-#: part/templates/part/detail.html:280 part/templates/part/detail.html:281
-#: templates/js/translated/bom.js:1202 templates/js/translated/bom.js:1203
+#: part/templates/part/detail.html:278 part/templates/part/detail.html:279
+#: templates/js/translated/bom.js:1267 templates/js/translated/bom.js:1268
msgid "Add BOM Item"
msgstr ""
-#: part/templates/part/detail.html:294
+#: part/templates/part/detail.html:292
msgid "Assemblies"
msgstr "Assemblages"
-#: part/templates/part/detail.html:312
+#: part/templates/part/detail.html:310
msgid "Part Builds"
msgstr ""
-#: part/templates/part/detail.html:339 stock/templates/stock/item.html:38
+#: part/templates/part/detail.html:337 stock/templates/stock/item.html:38
msgid "Build Order Allocations"
msgstr "Productieordertoewijzingen"
-#: part/templates/part/detail.html:355
+#: part/templates/part/detail.html:353
msgid "Part Suppliers"
msgstr ""
-#: part/templates/part/detail.html:385
+#: part/templates/part/detail.html:383
msgid "Part Manufacturers"
msgstr "Onderdeelfabrikanten"
-#: part/templates/part/detail.html:401
+#: part/templates/part/detail.html:399
msgid "Delete manufacturer parts"
msgstr "Fabrikantonderdeel verwijderen"
-#: part/templates/part/detail.html:658
+#: part/templates/part/detail.html:656
msgid "Related Part"
msgstr ""
-#: part/templates/part/detail.html:666
+#: part/templates/part/detail.html:664
msgid "Add Related Part"
msgstr ""
-#: part/templates/part/detail.html:758
+#: part/templates/part/detail.html:756
msgid "Add Test Result Template"
msgstr ""
-#: part/templates/part/detail.html:901
-#, python-format
-msgid "Purchase Unit Price - %(currency)s"
-msgstr ""
-
-#: part/templates/part/detail.html:913
-#, python-format
-msgid "Unit Price-Cost Difference - %(currency)s"
-msgstr ""
-
-#: part/templates/part/detail.html:925
-#, python-format
-msgid "Supplier Unit Cost - %(currency)s"
-msgstr ""
-
-#: part/templates/part/detail.html:1014
-#, python-format
-msgid "Unit Price - %(currency)s"
-msgstr ""
-
#: part/templates/part/import_wizard/ajax_match_fields.html:9
#: templates/patterns/wizard/match_fields.html:8
msgid "Missing selections for the following required columns"
@@ -5439,15 +5675,15 @@ msgid "Part is virtual (not a physical part)"
msgstr ""
#: part/templates/part/part_base.html:148
-#: templates/js/translated/company.js:659
-#: templates/js/translated/company.js:920
+#: templates/js/translated/company.js:660
+#: templates/js/translated/company.js:921
#: templates/js/translated/model_renderers.js:204
-#: templates/js/translated/part.js:652 templates/js/translated/part.js:729
+#: templates/js/translated/part.js:666 templates/js/translated/part.js:743
msgid "Inactive"
msgstr ""
#: part/templates/part/part_base.html:165
-#: part/templates/part/part_base.html:620
+#: part/templates/part/part_base.html:635
msgid "Show Part Details"
msgstr ""
@@ -5456,12 +5692,6 @@ msgstr ""
msgid "This part is a variant of %(link)s"
msgstr ""
-#: part/templates/part/part_base.html:200
-#: templates/js/translated/company.js:1027
-#: templates/js/translated/table_filters.js:209
-msgid "In Stock"
-msgstr ""
-
#: part/templates/part/part_base.html:221
#: stock/templates/stock/item_base.html:382
msgid "Allocated to Build Orders"
@@ -5472,100 +5702,91 @@ msgstr "Toegewezen aan Productieorder"
msgid "Allocated to Sales Orders"
msgstr "Toegewezen aan verkooporders"
-#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1100
+#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1165
msgid "Can Build"
msgstr ""
-#: part/templates/part/part_base.html:244 templates/js/translated/part.js:591
-#: templates/js/translated/part.js:611 templates/js/translated/part.js:1342
-#: templates/js/translated/part.js:1533
-msgid "Building"
-msgstr ""
-
#: part/templates/part/part_base.html:293
msgid "Minimum stock level"
msgstr ""
-#: part/templates/part/part_base.html:330
+#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1032
+#: templates/js/translated/part.js:783 templates/js/translated/part.js:1582
+#: templates/js/translated/pricing.js:124
+#: templates/js/translated/pricing.js:757
+msgid "Price Range"
+msgstr ""
+
+#: part/templates/part/part_base.html:345
msgid "Latest Serial Number"
msgstr ""
-#: part/templates/part/part_base.html:334
+#: part/templates/part/part_base.html:349
#: stock/templates/stock/item_base.html:331
msgid "Search for serial number"
msgstr ""
-#: part/templates/part/part_base.html:431
+#: part/templates/part/part_base.html:446
msgid "Link Barcode to Part"
msgstr ""
-#: part/templates/part/part_base.html:477 part/templates/part/prices.html:149
+#: part/templates/part/part_base.html:492
msgid "Calculate"
msgstr ""
-#: part/templates/part/part_base.html:520
+#: part/templates/part/part_base.html:535
msgid "No matching images found"
msgstr "Geen overeenkomende afbeeldingen gevonden"
-#: part/templates/part/part_base.html:614
+#: part/templates/part/part_base.html:629
msgid "Hide Part Details"
msgstr ""
-#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:24
+#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:78
+#: part/templates/part/prices.html:238 templates/js/translated/pricing.js:218
msgid "Supplier Pricing"
msgstr ""
#: part/templates/part/part_pricing.html:26
#: part/templates/part/part_pricing.html:52
-#: part/templates/part/part_pricing.html:103
-#: part/templates/part/part_pricing.html:118 part/templates/part/prices.html:28
-#: part/templates/part/prices.html:55 part/templates/part/prices.html:108
-#: part/templates/part/prices.html:125
+#: part/templates/part/part_pricing.html:95
+#: part/templates/part/part_pricing.html:110
msgid "Unit Cost"
msgstr ""
#: part/templates/part/part_pricing.html:32
#: part/templates/part/part_pricing.html:58
-#: part/templates/part/part_pricing.html:107
-#: part/templates/part/part_pricing.html:122 part/templates/part/prices.html:35
-#: part/templates/part/prices.html:62 part/templates/part/prices.html:113
-#: part/templates/part/prices.html:130
+#: part/templates/part/part_pricing.html:99
+#: part/templates/part/part_pricing.html:114
msgid "Total Cost"
msgstr ""
-#: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:43
-#: templates/js/translated/bom.js:1091
+#: part/templates/part/part_pricing.html:40
msgid "No supplier pricing available"
msgstr ""
-#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:52
-#: part/templates/part/prices.html:248
+#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:94
+#: part/templates/part/prices.html:262
msgid "BOM Pricing"
msgstr ""
-#: part/templates/part/part_pricing.html:66 part/templates/part/prices.html:72
+#: part/templates/part/part_pricing.html:66
msgid "Unit Purchase Price"
msgstr ""
-#: part/templates/part/part_pricing.html:72 part/templates/part/prices.html:79
+#: part/templates/part/part_pricing.html:72
msgid "Total Purchase Price"
msgstr ""
-#: part/templates/part/part_pricing.html:82 part/templates/part/prices.html:89
-msgid "Note: BOM pricing is incomplete for this part"
-msgstr ""
-
-#: part/templates/part/part_pricing.html:91 part/templates/part/prices.html:98
+#: part/templates/part/part_pricing.html:83
msgid "No BOM pricing available"
msgstr ""
-#: part/templates/part/part_pricing.html:100
-#: part/templates/part/prices.html:107
+#: part/templates/part/part_pricing.html:92
msgid "Internal Price"
msgstr ""
-#: part/templates/part/part_pricing.html:131
-#: part/templates/part/prices.html:139
+#: part/templates/part/part_pricing.html:123
msgid "No pricing information is available for this part."
msgstr ""
@@ -5573,7 +5794,8 @@ msgstr ""
#: report/templates/report/inventree_test_report_base.html:97
#: templates/InvenTree/settings/plugin.html:63
#: templates/InvenTree/settings/plugin_settings.html:38
-#: templates/js/translated/order.js:2001 templates/js/translated/stock.js:2478
+#: templates/js/translated/order.js:2035 templates/js/translated/pricing.js:537
+#: templates/js/translated/pricing.js:658 templates/js/translated/stock.js:2496
msgid "Date"
msgstr "Datum"
@@ -5585,15 +5807,11 @@ msgstr ""
msgid "Variants"
msgstr ""
-#: part/templates/part/part_sidebar.html:27
-msgid "Used In"
-msgstr ""
-
-#: part/templates/part/part_sidebar.html:46
+#: part/templates/part/part_sidebar.html:44
msgid "Scheduling"
msgstr ""
-#: part/templates/part/part_sidebar.html:50
+#: part/templates/part/part_sidebar.html:48
msgid "Test Templates"
msgstr ""
@@ -5601,74 +5819,82 @@ msgstr ""
msgid "Select from existing images"
msgstr "Selecteer uit bestaande afbeeldingen"
-#: part/templates/part/prices.html:19
-msgid "Pricing ranges"
+#: part/templates/part/prices.html:11
+msgid "Pricing Overview"
msgstr ""
-#: part/templates/part/prices.html:25
-msgid "Show supplier cost"
+#: part/templates/part/prices.html:14
+msgid "Refresh Part Pricing"
msgstr ""
-#: part/templates/part/prices.html:26
-msgid "Show purchase price"
+#: part/templates/part/prices.html:25 stock/admin.py:106
+#: stock/templates/stock/item_base.html:440
+#: templates/js/translated/company.js:1039
+#: templates/js/translated/stock.js:1920
+msgid "Last Updated"
msgstr ""
-#: part/templates/part/prices.html:53
-msgid "Show BOM cost"
+#: part/templates/part/prices.html:34 part/templates/part/prices.html:126
+msgid "Price Category"
msgstr ""
-#: part/templates/part/prices.html:122
-msgid "Show sale cost"
+#: part/templates/part/prices.html:35 part/templates/part/prices.html:127
+msgid "Minimum"
msgstr ""
-#: part/templates/part/prices.html:123
-msgid "Show sale price"
+#: part/templates/part/prices.html:36 part/templates/part/prices.html:128
+msgid "Maximum"
msgstr ""
-#: part/templates/part/prices.html:145
-msgid "Calculation parameters"
+#: part/templates/part/prices.html:49 part/templates/part/prices.html:185
+msgid "Internal Pricing"
msgstr ""
-#: part/templates/part/prices.html:160 templates/js/translated/bom.js:1085
-msgid "Supplier Cost"
+#: part/templates/part/prices.html:64 part/templates/part/prices.html:217
+msgid "Purchase History"
msgstr ""
-#: part/templates/part/prices.html:161 part/templates/part/prices.html:182
-#: part/templates/part/prices.html:206 part/templates/part/prices.html:236
-#: part/templates/part/prices.html:262 part/templates/part/prices.html:291
+#: part/templates/part/prices.html:103 part/templates/part/prices.html:286
+msgid "Variant Pricing"
+msgstr ""
+
+#: part/templates/part/prices.html:111
+msgid "Overall Pricing"
+msgstr ""
+
+#: part/templates/part/prices.html:155 part/templates/part/prices.html:338
+msgid "Sale History"
+msgstr ""
+
+#: part/templates/part/prices.html:168
+msgid "Sale price data is not available for this part"
+msgstr ""
+
+#: part/templates/part/prices.html:175
+msgid "Price range data is not available for this part."
+msgstr ""
+
+#: part/templates/part/prices.html:186 part/templates/part/prices.html:218
+#: part/templates/part/prices.html:239 part/templates/part/prices.html:263
+#: part/templates/part/prices.html:287 part/templates/part/prices.html:310
+#: part/templates/part/prices.html:339
msgid "Jump to overview"
msgstr ""
-#: part/templates/part/prices.html:186
-msgid "Stock Pricing"
-msgstr ""
-
-#: part/templates/part/prices.html:195
-msgid "No stock pricing history is available for this part."
-msgstr ""
-
-#: part/templates/part/prices.html:205
-msgid "Internal Cost"
-msgstr ""
-
-#: part/templates/part/prices.html:220
+#: part/templates/part/prices.html:191
msgid "Add Internal Price Break"
msgstr ""
-#: part/templates/part/prices.html:235
-msgid "BOM Cost"
+#: part/templates/part/prices.html:309
+msgid "Sale Pricing"
msgstr ""
-#: part/templates/part/prices.html:261
-msgid "Sale Cost"
+#: part/templates/part/prices.html:315
+msgid "Add Sell Price Break"
msgstr ""
-#: part/templates/part/prices.html:302
-msgid "No sale pice history available for this part."
-msgstr ""
-
-#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:614
-#: templates/js/translated/part.js:1330 templates/js/translated/part.js:1332
+#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:628
+#: templates/js/translated/part.js:1351 templates/js/translated/part.js:1353
msgid "No Stock"
msgstr ""
@@ -5722,40 +5948,36 @@ msgstr ""
msgid "Create a new variant of template '%(full_name)s'."
msgstr ""
-#: part/templatetags/inventree_extras.py:177
+#: part/templatetags/inventree_extras.py:210
msgid "Unknown database"
msgstr ""
-#: part/templatetags/inventree_extras.py:229
+#: part/templatetags/inventree_extras.py:262
#, python-brace-format
msgid "{title} v{version}"
msgstr ""
-#: part/views.py:114
+#: part/views.py:109
msgid "Match References"
msgstr ""
-#: part/views.py:415
-msgid "None"
-msgstr ""
-
-#: part/views.py:477
+#: part/views.py:354
msgid "Part QR Code"
msgstr ""
-#: part/views.py:495
+#: part/views.py:372
msgid "Select Part Image"
msgstr "Selecteer afbeelding onderdeel"
-#: part/views.py:521
+#: part/views.py:398
msgid "Updated part image"
msgstr "Afbeelding onderdeel bijgewerkt"
-#: part/views.py:524
+#: part/views.py:401
msgid "Part image not found"
msgstr "Afbeelding van onderdeel niet gevonden"
-#: part/views.py:613
+#: part/views.py:493
msgid "Part Pricing"
msgstr ""
@@ -6070,12 +6292,12 @@ msgid "Stock Item Test Report"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:79
-#: stock/models.py:650 stock/templates/stock/item_base.html:320
+#: stock/models.py:666 stock/templates/stock/item_base.html:320
#: templates/js/translated/build.js:472 templates/js/translated/build.js:624
#: templates/js/translated/build.js:1234 templates/js/translated/build.js:1735
#: templates/js/translated/model_renderers.js:118
-#: templates/js/translated/order.js:121 templates/js/translated/order.js:3592
-#: templates/js/translated/order.js:3679 templates/js/translated/stock.js:490
+#: templates/js/translated/order.js:121 templates/js/translated/order.js:3603
+#: templates/js/translated/order.js:3690 templates/js/translated/stock.js:509
msgid "Serial Number"
msgstr "Serienummer"
@@ -6084,12 +6306,12 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:93
-#: stock/models.py:2085
+#: stock/models.py:2101
msgid "Test"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:94
-#: stock/models.py:2091
+#: stock/models.py:2107
msgid "Result"
msgstr ""
@@ -6107,383 +6329,435 @@ msgid "Installed Items"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:137
-#: templates/js/translated/stock.js:610 templates/js/translated/stock.js:780
-#: templates/js/translated/stock.js:2727
+#: stock/admin.py:87 templates/js/translated/stock.js:629
+#: templates/js/translated/stock.js:799 templates/js/translated/stock.js:2745
msgid "Serial"
msgstr ""
-#: stock/api.py:529
+#: stock/admin.py:23 stock/admin.py:90
+#: templates/js/translated/model_renderers.js:159
+msgid "Location ID"
+msgstr ""
+
+#: stock/admin.py:24 stock/admin.py:91
+msgid "Location Name"
+msgstr ""
+
+#: stock/admin.py:28 stock/templates/stock/location.html:123
+#: stock/templates/stock/location.html:129
+msgid "Location Path"
+msgstr ""
+
+#: stock/admin.py:83
+msgid "Stock Item ID"
+msgstr ""
+
+#: stock/admin.py:92 templates/js/translated/model_renderers.js:418
+msgid "Supplier Part ID"
+msgstr ""
+
+#: stock/admin.py:93
+msgid "Supplier ID"
+msgstr ""
+
+#: stock/admin.py:94
+msgid "Supplier Name"
+msgstr ""
+
+#: stock/admin.py:95
+msgid "Customer ID"
+msgstr ""
+
+#: stock/admin.py:96 stock/models.py:649
+#: stock/templates/stock/item_base.html:359
+msgid "Installed In"
+msgstr ""
+
+#: stock/admin.py:97 templates/js/translated/model_renderers.js:177
+msgid "Build ID"
+msgstr ""
+
+#: stock/admin.py:99
+msgid "Sales Order ID"
+msgstr ""
+
+#: stock/admin.py:100
+msgid "Purchase Order ID"
+msgstr ""
+
+#: stock/admin.py:107 templates/js/translated/stock.js:1890
+msgid "Stocktake"
+msgstr ""
+
+#: stock/admin.py:108 stock/models.py:724
+#: stock/templates/stock/item_base.html:427
+#: templates/js/translated/stock.js:1904
+msgid "Expiry Date"
+msgstr ""
+
+#: stock/api.py:539
msgid "Quantity is required"
msgstr ""
-#: stock/api.py:536
+#: stock/api.py:546
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:561
+#: stock/api.py:571
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/models.py:90 stock/models.py:746
+#: stock/models.py:106 stock/models.py:762
#: stock/templates/stock/item_base.html:250
msgid "Owner"
msgstr ""
-#: stock/models.py:91 stock/models.py:747
+#: stock/models.py:107 stock/models.py:763
msgid "Select Owner"
msgstr ""
-#: stock/models.py:508 stock/serializers.py:93
+#: stock/models.py:524 stock/serializers.py:97
msgid "Stock item cannot be created for virtual parts"
msgstr ""
-#: stock/models.py:525
+#: stock/models.py:541
#, python-brace-format
msgid "Part type ('{pf}') must be {pe}"
msgstr ""
-#: stock/models.py:535 stock/models.py:544
+#: stock/models.py:551 stock/models.py:560
msgid "Quantity must be 1 for item with a serial number"
msgstr ""
-#: stock/models.py:536
+#: stock/models.py:552
msgid "Serial number cannot be set if quantity greater than 1"
msgstr ""
-#: stock/models.py:558
+#: stock/models.py:574
msgid "Item cannot belong to itself"
msgstr ""
-#: stock/models.py:564
+#: stock/models.py:580
msgid "Item must have a build reference if is_building=True"
msgstr ""
-#: stock/models.py:578
+#: stock/models.py:594
msgid "Build reference does not point to the same part object"
msgstr ""
-#: stock/models.py:592
+#: stock/models.py:608
msgid "Parent Stock Item"
msgstr ""
-#: stock/models.py:602
+#: stock/models.py:618
msgid "Base part"
msgstr ""
-#: stock/models.py:610
+#: stock/models.py:626
msgid "Select a matching supplier part for this stock item"
msgstr ""
-#: stock/models.py:617 stock/templates/stock/location.html:17
+#: stock/models.py:633 stock/templates/stock/location.html:17
#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
msgstr "Voorraadlocatie"
-#: stock/models.py:620
+#: stock/models.py:636
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:627
+#: stock/models.py:643
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:633 stock/templates/stock/item_base.html:359
-msgid "Installed In"
-msgstr ""
-
-#: stock/models.py:636
+#: stock/models.py:652
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:652
+#: stock/models.py:668
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:666
+#: stock/models.py:682
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:671
+#: stock/models.py:687
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:680
+#: stock/models.py:696
msgid "Source Build"
msgstr ""
-#: stock/models.py:682
+#: stock/models.py:698
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:693
+#: stock/models.py:709
msgid "Source Purchase Order"
msgstr "Inkooporder Bron"
-#: stock/models.py:696
+#: stock/models.py:712
msgid "Purchase order for this stock item"
msgstr "Inkooporder voor dit voorraadartikel"
-#: stock/models.py:702
+#: stock/models.py:718
msgid "Destination Sales Order"
msgstr "Bestemming Verkooporder"
-#: stock/models.py:708 stock/templates/stock/item_base.html:427
-#: templates/js/translated/stock.js:1885
-msgid "Expiry Date"
-msgstr ""
-
-#: stock/models.py:709
+#: stock/models.py:725
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:722
+#: stock/models.py:738
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:722
+#: stock/models.py:738
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:734 stock/templates/stock/item.html:132
+#: stock/models.py:750 stock/templates/stock/item.html:132
msgid "Stock Item Notes"
msgstr ""
-#: stock/models.py:742
+#: stock/models.py:758
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:770
+#: stock/models.py:786
msgid "Converted to part"
msgstr ""
-#: stock/models.py:1244
+#: stock/models.py:1260
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1250
+#: stock/models.py:1266
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1256
+#: stock/models.py:1272
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr ""
-#: stock/models.py:1259
+#: stock/models.py:1275
msgid "Serial numbers must be a list of integers"
msgstr ""
-#: stock/models.py:1262
+#: stock/models.py:1278
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1269
+#: stock/models.py:1285
#, python-brace-format
msgid "Serial numbers already exist: {exists}"
msgstr ""
-#: stock/models.py:1339
+#: stock/models.py:1355
msgid "Stock item has been assigned to a sales order"
msgstr "Voorraadartikel is toegewezen aan een verkooporder"
-#: stock/models.py:1342
+#: stock/models.py:1358
msgid "Stock item is installed in another item"
msgstr ""
-#: stock/models.py:1345
+#: stock/models.py:1361
msgid "Stock item contains other items"
msgstr ""
-#: stock/models.py:1348
+#: stock/models.py:1364
msgid "Stock item has been assigned to a customer"
msgstr ""
-#: stock/models.py:1351
+#: stock/models.py:1367
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:1354
+#: stock/models.py:1370
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1361 stock/serializers.py:963
+#: stock/models.py:1377 stock/serializers.py:962
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:1365
+#: stock/models.py:1381
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:1369
+#: stock/models.py:1385
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:1373
+#: stock/models.py:1389
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:1542
+#: stock/models.py:1558
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:2003
+#: stock/models.py:2019
msgid "Entry notes"
msgstr ""
-#: stock/models.py:2061
+#: stock/models.py:2077
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:2067
+#: stock/models.py:2083
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:2086
+#: stock/models.py:2102
msgid "Test name"
msgstr ""
-#: stock/models.py:2092
+#: stock/models.py:2108
msgid "Test result"
msgstr ""
-#: stock/models.py:2098
+#: stock/models.py:2114
msgid "Test output value"
msgstr ""
-#: stock/models.py:2105
+#: stock/models.py:2121
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2111
+#: stock/models.py:2127
msgid "Test notes"
msgstr ""
-#: stock/serializers.py:71
+#: stock/serializers.py:75
msgid "Serial number is too large"
msgstr ""
-#: stock/serializers.py:172
+#: stock/serializers.py:176
msgid "Purchase price of this stock item"
msgstr ""
-#: stock/serializers.py:292
+#: stock/serializers.py:286
msgid "Enter number of stock items to serialize"
msgstr ""
-#: stock/serializers.py:304
+#: stock/serializers.py:298
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({q})"
msgstr ""
-#: stock/serializers.py:310
+#: stock/serializers.py:304
msgid "Enter serial numbers for new items"
msgstr ""
-#: stock/serializers.py:321 stock/serializers.py:920 stock/serializers.py:1153
+#: stock/serializers.py:315 stock/serializers.py:919 stock/serializers.py:1152
msgid "Destination stock location"
msgstr ""
-#: stock/serializers.py:328
+#: stock/serializers.py:322
msgid "Optional note field"
msgstr ""
-#: stock/serializers.py:338
+#: stock/serializers.py:332
msgid "Serial numbers cannot be assigned to this part"
msgstr ""
-#: stock/serializers.py:359
+#: stock/serializers.py:353
msgid "Serial numbers already exist"
msgstr ""
-#: stock/serializers.py:399
+#: stock/serializers.py:393
msgid "Select stock item to install"
msgstr ""
-#: stock/serializers.py:412
+#: stock/serializers.py:406
msgid "Stock item is unavailable"
msgstr ""
-#: stock/serializers.py:419
+#: stock/serializers.py:413
msgid "Selected part is not in the Bill of Materials"
msgstr ""
-#: stock/serializers.py:456
+#: stock/serializers.py:450
msgid "Destination location for uninstalled item"
msgstr ""
-#: stock/serializers.py:461 stock/serializers.py:542
+#: stock/serializers.py:455 stock/serializers.py:536
msgid "Add transaction note (optional)"
msgstr ""
-#: stock/serializers.py:495
+#: stock/serializers.py:489
msgid "Select part to convert stock item into"
msgstr ""
-#: stock/serializers.py:506
+#: stock/serializers.py:500
msgid "Selected part is not a valid option for conversion"
msgstr ""
-#: stock/serializers.py:537
+#: stock/serializers.py:531
msgid "Destination location for returned item"
msgstr ""
-#: stock/serializers.py:775
+#: stock/serializers.py:774
msgid "Part must be salable"
msgstr ""
-#: stock/serializers.py:779
+#: stock/serializers.py:778
msgid "Item is allocated to a sales order"
msgstr "Artikel is toegewezen aan een verkooporder"
-#: stock/serializers.py:783
+#: stock/serializers.py:782
msgid "Item is allocated to a build order"
msgstr "Artikel is toegewezen aan een productieorder"
-#: stock/serializers.py:814
+#: stock/serializers.py:813
msgid "Customer to assign stock items"
msgstr ""
-#: stock/serializers.py:820
+#: stock/serializers.py:819
msgid "Selected company is not a customer"
msgstr ""
-#: stock/serializers.py:828
+#: stock/serializers.py:827
msgid "Stock assignment notes"
msgstr ""
-#: stock/serializers.py:838 stock/serializers.py:1069
+#: stock/serializers.py:837 stock/serializers.py:1068
msgid "A list of stock items must be provided"
msgstr ""
-#: stock/serializers.py:927
+#: stock/serializers.py:926
msgid "Stock merging notes"
msgstr ""
-#: stock/serializers.py:932
+#: stock/serializers.py:931
msgid "Allow mismatched suppliers"
msgstr ""
-#: stock/serializers.py:933
+#: stock/serializers.py:932
msgid "Allow stock items with different supplier parts to be merged"
msgstr ""
-#: stock/serializers.py:938
+#: stock/serializers.py:937
msgid "Allow mismatched status"
msgstr ""
-#: stock/serializers.py:939
+#: stock/serializers.py:938
msgid "Allow stock items with different status codes to be merged"
msgstr ""
-#: stock/serializers.py:949
+#: stock/serializers.py:948
msgid "At least two stock items must be provided"
msgstr ""
-#: stock/serializers.py:1031
+#: stock/serializers.py:1030
msgid "StockItem primary key value"
msgstr ""
-#: stock/serializers.py:1059
+#: stock/serializers.py:1058
msgid "Stock transaction notes"
msgstr ""
@@ -6520,7 +6794,7 @@ msgstr ""
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2871
+#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2889
msgid "Install Stock Item"
msgstr ""
@@ -6528,7 +6802,7 @@ msgstr ""
msgid "Delete all test results for this stock item"
msgstr ""
-#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1522
+#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1541
msgid "Add Test Result"
msgstr ""
@@ -6687,7 +6961,7 @@ msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:431
-#: templates/js/translated/table_filters.js:277
+#: templates/js/translated/table_filters.js:281
msgid "Expired"
msgstr ""
@@ -6697,16 +6971,10 @@ msgid "This StockItem expires on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/table_filters.js:283
+#: templates/js/translated/table_filters.js:287
msgid "Stale"
msgstr ""
-#: stock/templates/stock/item_base.html:440
-#: templates/js/translated/company.js:1038
-#: templates/js/translated/stock.js:1901
-msgid "Last Updated"
-msgstr ""
-
#: stock/templates/stock/item_base.html:445
msgid "Last Stocktake"
msgstr ""
@@ -6783,11 +7051,6 @@ msgstr "Bewerk locatie"
msgid "Delete location"
msgstr "Verwijder locatie"
-#: stock/templates/stock/location.html:123
-#: stock/templates/stock/location.html:129
-msgid "Location Path"
-msgstr ""
-
#: stock/templates/stock/location.html:130
msgid "Top level stock location"
msgstr ""
@@ -6960,6 +7223,14 @@ msgstr "Openstaande Verkooporders"
msgid "Overdue Sales Orders"
msgstr "Achterstallige Verkooporders"
+#: templates/InvenTree/index.html:312
+msgid "InvenTree News"
+msgstr ""
+
+#: templates/InvenTree/index.html:314
+msgid "Current News"
+msgstr ""
+
#: templates/InvenTree/notifications/history.html:9
msgid "Notification History"
msgstr ""
@@ -7026,30 +7297,6 @@ msgstr "Productieorderinstellingen"
msgid "Category Settings"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:8
-msgid "Currency Settings"
-msgstr ""
-
-#: templates/InvenTree/settings/currencies.html:19
-msgid "Base Currency"
-msgstr ""
-
-#: templates/InvenTree/settings/currencies.html:24
-msgid "Exchange Rates"
-msgstr ""
-
-#: templates/InvenTree/settings/currencies.html:38
-msgid "Last Update"
-msgstr ""
-
-#: templates/InvenTree/settings/currencies.html:44
-msgid "Never"
-msgstr ""
-
-#: templates/InvenTree/settings/currencies.html:49
-msgid "Update Now"
-msgstr ""
-
#: templates/InvenTree/settings/global.html:9
msgid "Server Settings"
msgstr ""
@@ -7090,15 +7337,15 @@ msgstr ""
msgid "Part Settings"
msgstr ""
-#: templates/InvenTree/settings/part.html:46
+#: templates/InvenTree/settings/part.html:40
msgid "Part Import"
msgstr ""
-#: templates/InvenTree/settings/part.html:50
+#: templates/InvenTree/settings/part.html:44
msgid "Import Part"
msgstr ""
-#: templates/InvenTree/settings/part.html:64
+#: templates/InvenTree/settings/part.html:58
msgid "Part Parameter Templates"
msgstr ""
@@ -7125,11 +7372,6 @@ msgstr ""
msgid "External plugins are not enabled for this InvenTree installation"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:62
-#: templates/InvenTree/settings/plugin_settings.html:33
-msgid "Author"
-msgstr ""
-
#: templates/InvenTree/settings/plugin.html:64
#: templates/InvenTree/settings/plugin_settings.html:43
msgid "Version"
@@ -7239,6 +7481,39 @@ msgstr ""
msgid "Purchase Order Settings"
msgstr "Inkooporder Instellingen"
+#: templates/InvenTree/settings/pricing.html:7
+msgid "Pricing Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:24
+msgid "Currency Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:30
+msgid "Update Now"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:39
+#: templates/InvenTree/settings/pricing.html:43
+msgid "Last Update"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:43
+msgid "Never"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:53
+msgid "Base Currency"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:58
+msgid "Exchange Rates"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:60
+msgid "Rate"
+msgstr ""
+
#: templates/InvenTree/settings/report.html:8
#: templates/InvenTree/settings/user_reports.html:9
msgid "Report Settings"
@@ -7295,6 +7570,7 @@ msgid "No part parameter templates found"
msgstr ""
#: templates/InvenTree/settings/settings.html:338
+#: templates/js/translated/news.js:28
#: templates/js/translated/notification.js:36
msgid "ID"
msgstr ""
@@ -7357,10 +7633,6 @@ msgstr ""
msgid "Server Configuration"
msgstr ""
-#: templates/InvenTree/settings/sidebar.html:35
-msgid "Currencies"
-msgstr ""
-
#: templates/InvenTree/settings/sidebar.html:43
msgid "Categories"
msgstr ""
@@ -7380,7 +7652,7 @@ msgid "Change Password"
msgstr ""
#: templates/InvenTree/settings/user.html:23
-#: templates/js/translated/helpers.js:31 templates/notes_buttons.html:3
+#: templates/js/translated/helpers.js:33 templates/notes_buttons.html:3
#: templates/notes_buttons.html:4
msgid "Edit"
msgstr ""
@@ -7890,7 +8162,7 @@ msgid "The following parts are low on required stock"
msgstr "De volgende onderdelen hebben een lage vereiste voorraad"
#: templates/email/build_order_required_stock.html:18
-#: templates/js/translated/bom.js:1566
+#: templates/js/translated/bom.js:1629
msgid "Required Quantity"
msgstr "Vereiste Hoeveelheid"
@@ -7904,7 +8176,7 @@ msgid "Click on the following link to view this part"
msgstr ""
#: templates/email/low_stock_notification.html:19
-#: templates/js/translated/part.js:2566
+#: templates/js/translated/part.js:2423
msgid "Minimum Quantity"
msgstr ""
@@ -8057,7 +8329,7 @@ msgstr ""
msgid "Unlink"
msgstr ""
-#: templates/js/translated/barcode.js:500 templates/js/translated/stock.js:1054
+#: templates/js/translated/barcode.js:500 templates/js/translated/stock.js:1073
msgid "Remove stock item"
msgstr ""
@@ -8127,10 +8399,10 @@ msgstr ""
msgid "Row Data"
msgstr ""
-#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:646
+#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:659
#: templates/js/translated/modals.js:56 templates/js/translated/modals.js:601
#: templates/js/translated/modals.js:695 templates/js/translated/modals.js:1003
-#: templates/js/translated/order.js:1179 templates/modals.html:15
+#: templates/js/translated/order.js:1213 templates/modals.html:15
#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50
msgid "Close"
msgstr "Sluit"
@@ -8140,12 +8412,12 @@ msgid "Download BOM Template"
msgstr ""
#: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312
-#: templates/js/translated/order.js:960 templates/js/translated/tables.js:145
+#: templates/js/translated/order.js:994 templates/js/translated/tables.js:145
msgid "Format"
msgstr "Formaat"
#: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313
-#: templates/js/translated/order.js:961
+#: templates/js/translated/order.js:995
msgid "Select file format"
msgstr "Selecteer bestandsindeling"
@@ -8197,118 +8469,130 @@ msgstr ""
msgid "Include part supplier data in exported BOM"
msgstr ""
-#: templates/js/translated/bom.js:537
+#: templates/js/translated/bom.js:358
+msgid "Include Pricing Data"
+msgstr ""
+
+#: templates/js/translated/bom.js:359
+msgid "Include part pricing data in exported BOM"
+msgstr ""
+
+#: templates/js/translated/bom.js:550
msgid "Remove substitute part"
msgstr ""
-#: templates/js/translated/bom.js:591
+#: templates/js/translated/bom.js:604
msgid "Select and add a new substitute part using the input below"
msgstr ""
-#: templates/js/translated/bom.js:602
+#: templates/js/translated/bom.js:615
msgid "Are you sure you wish to remove this substitute part link?"
msgstr ""
-#: templates/js/translated/bom.js:608
+#: templates/js/translated/bom.js:621
msgid "Remove Substitute Part"
msgstr ""
-#: templates/js/translated/bom.js:647
+#: templates/js/translated/bom.js:660
msgid "Add Substitute"
msgstr ""
-#: templates/js/translated/bom.js:648
+#: templates/js/translated/bom.js:661
msgid "Edit BOM Item Substitutes"
msgstr ""
-#: templates/js/translated/bom.js:710
+#: templates/js/translated/bom.js:723
msgid "All selected BOM items will be deleted"
msgstr ""
-#: templates/js/translated/bom.js:726
+#: templates/js/translated/bom.js:739
msgid "Delete selected BOM items?"
msgstr ""
-#: templates/js/translated/bom.js:860
+#: templates/js/translated/bom.js:868
msgid "Load BOM for subassembly"
msgstr ""
-#: templates/js/translated/bom.js:870
+#: templates/js/translated/bom.js:878
msgid "Substitutes Available"
msgstr ""
-#: templates/js/translated/bom.js:874 templates/js/translated/build.js:1835
+#: templates/js/translated/bom.js:882 templates/js/translated/build.js:1835
msgid "Variant stock allowed"
msgstr ""
-#: templates/js/translated/bom.js:983 templates/js/translated/build.js:1907
-#: templates/js/translated/order.js:3927
-msgid "No Stock Available"
-msgstr "Geen Voorraad Aanwezig"
-
-#: templates/js/translated/bom.js:988 templates/js/translated/build.js:1911
-msgid "Includes variant and substitute stock"
-msgstr ""
-
-#: templates/js/translated/bom.js:990 templates/js/translated/build.js:1913
-#: templates/js/translated/part.js:761 templates/js/translated/part.js:1539
-msgid "Includes variant stock"
-msgstr ""
-
-#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1915
-msgid "Includes substitute stock"
-msgstr ""
-
-#: templates/js/translated/bom.js:1010
+#: templates/js/translated/bom.js:972
msgid "Substitutes"
msgstr ""
-#: templates/js/translated/bom.js:1061 templates/js/translated/bom.js:1195
+#: templates/js/translated/bom.js:1023 templates/js/translated/bom.js:1260
msgid "View BOM"
msgstr ""
-#: templates/js/translated/bom.js:1071
-msgid "Purchase Price Range"
+#: templates/js/translated/bom.js:1094
+msgid "BOM pricing is complete"
msgstr ""
-#: templates/js/translated/bom.js:1078
-msgid "Purchase Price Average"
-msgstr "Gemiddelde inkoopprijs"
+#: templates/js/translated/bom.js:1099
+msgid "BOM pricing is incomplete"
+msgstr ""
-#: templates/js/translated/bom.js:1106 templates/js/translated/build.js:1898
+#: templates/js/translated/bom.js:1106
+msgid "No pricing available"
+msgstr ""
+
+#: templates/js/translated/bom.js:1137 templates/js/translated/build.js:1907
+#: templates/js/translated/order.js:3924
+msgid "No Stock Available"
+msgstr "Geen Voorraad Aanwezig"
+
+#: templates/js/translated/bom.js:1142 templates/js/translated/build.js:1911
+msgid "Includes variant and substitute stock"
+msgstr ""
+
+#: templates/js/translated/bom.js:1144 templates/js/translated/build.js:1913
+#: templates/js/translated/part.js:775 templates/js/translated/part.js:1550
+msgid "Includes variant stock"
+msgstr ""
+
+#: templates/js/translated/bom.js:1146 templates/js/translated/build.js:1915
+msgid "Includes substitute stock"
+msgstr ""
+
+#: templates/js/translated/bom.js:1171 templates/js/translated/build.js:1898
#: templates/js/translated/build.js:1985
msgid "Consumable item"
msgstr ""
-#: templates/js/translated/bom.js:1166
+#: templates/js/translated/bom.js:1231
msgid "Validate BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1168
+#: templates/js/translated/bom.js:1233
msgid "This line has been validated"
msgstr ""
-#: templates/js/translated/bom.js:1170
+#: templates/js/translated/bom.js:1235
msgid "Edit substitute parts"
msgstr ""
-#: templates/js/translated/bom.js:1172 templates/js/translated/bom.js:1369
+#: templates/js/translated/bom.js:1237 templates/js/translated/bom.js:1433
msgid "Edit BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1174
+#: templates/js/translated/bom.js:1239
msgid "Delete BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1280 templates/js/translated/build.js:1679
+#: templates/js/translated/bom.js:1344 templates/js/translated/build.js:1679
msgid "No BOM items found"
msgstr ""
-#: templates/js/translated/bom.js:1549 templates/js/translated/build.js:1818
+#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1818
msgid "Required Part"
msgstr ""
-#: templates/js/translated/bom.js:1575
+#: templates/js/translated/bom.js:1638
msgid "Inherited from parent BOM"
msgstr ""
@@ -8353,12 +8637,12 @@ msgid "Complete Build Order"
msgstr "Voltooi Productieoorder"
#: templates/js/translated/build.js:311 templates/js/translated/stock.js:92
-#: templates/js/translated/stock.js:214
+#: templates/js/translated/stock.js:233
msgid "Next available serial number"
msgstr ""
#: templates/js/translated/build.js:313 templates/js/translated/stock.js:94
-#: templates/js/translated/stock.js:216
+#: templates/js/translated/stock.js:235
msgid "Latest serial number"
msgstr ""
@@ -8455,12 +8739,12 @@ msgid "No required tests for this build"
msgstr ""
#: templates/js/translated/build.js:1775 templates/js/translated/build.js:2765
-#: templates/js/translated/order.js:3627
+#: templates/js/translated/order.js:3638
msgid "Edit stock allocation"
msgstr "Voorraadtoewijzing bewerken"
#: templates/js/translated/build.js:1777 templates/js/translated/build.js:2766
-#: templates/js/translated/order.js:3628
+#: templates/js/translated/order.js:3639
msgid "Delete stock allocation"
msgstr "Voorraadtoewijzing verwijderen"
@@ -8480,20 +8764,15 @@ msgstr ""
msgid "Quantity Per"
msgstr ""
-#: templates/js/translated/build.js:1901 templates/js/translated/order.js:3934
+#: templates/js/translated/build.js:1901 templates/js/translated/order.js:3931
msgid "Insufficient stock available"
msgstr "Onvoldoende voorraad beschikbaar"
-#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3932
+#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3929
msgid "Sufficient stock available"
msgstr "Genoeg voorraad beschikbaar"
-#: templates/js/translated/build.js:1937 templates/js/translated/build.js:2195
-#: templates/js/translated/build.js:2761 templates/js/translated/order.js:3946
-msgid "Allocated"
-msgstr "Toegewezen"
-
-#: templates/js/translated/build.js:1993 templates/js/translated/order.js:4026
+#: templates/js/translated/build.js:1993 templates/js/translated/order.js:4023
msgid "Build stock"
msgstr "Productie voorraad"
@@ -8501,21 +8780,21 @@ msgstr "Productie voorraad"
msgid "Order stock"
msgstr "Voorraad order"
-#: templates/js/translated/build.js:2000 templates/js/translated/order.js:4019
+#: templates/js/translated/build.js:2000 templates/js/translated/order.js:4016
msgid "Allocate stock"
msgstr "Voorraad toewijzen"
#: templates/js/translated/build.js:2039 templates/js/translated/label.js:172
-#: templates/js/translated/order.js:1007 templates/js/translated/order.js:3154
+#: templates/js/translated/order.js:1041 templates/js/translated/order.js:3165
#: templates/js/translated/report.js:225
msgid "Select Parts"
msgstr "Onderdelen selecteren"
-#: templates/js/translated/build.js:2040 templates/js/translated/order.js:3155
+#: templates/js/translated/build.js:2040 templates/js/translated/order.js:3166
msgid "You must select at least one part to allocate"
msgstr "Er moet op zijn minst één onderdeel toegewezen worden"
-#: templates/js/translated/build.js:2089 templates/js/translated/order.js:3103
+#: templates/js/translated/build.js:2089 templates/js/translated/order.js:3114
msgid "Specify stock allocation quantity"
msgstr "Specificeer voorraadtoewijzingshoeveelheid"
@@ -8527,7 +8806,7 @@ msgstr ""
msgid "All selected parts have been fully allocated"
msgstr ""
-#: templates/js/translated/build.js:2183 templates/js/translated/order.js:3169
+#: templates/js/translated/build.js:2183 templates/js/translated/order.js:3180
msgid "Select source location (leave blank to take from all locations)"
msgstr "Selecteer bron locatie (laat het veld leeg om iedere locatie te gebruiken)"
@@ -8535,11 +8814,11 @@ msgstr "Selecteer bron locatie (laat het veld leeg om iedere locatie te gebruike
msgid "Allocate Stock Items to Build Order"
msgstr "Voorraadartikelen toewijzen aan Productieorder"
-#: templates/js/translated/build.js:2222 templates/js/translated/order.js:3266
+#: templates/js/translated/build.js:2222 templates/js/translated/order.js:3277
msgid "No matching stock locations"
msgstr "Geen overeenkomende voorraadlocaties"
-#: templates/js/translated/build.js:2294 templates/js/translated/order.js:3343
+#: templates/js/translated/build.js:2294 templates/js/translated/order.js:3354
msgid "No matching stock items"
msgstr "Geen overeenkomende voorraadartikelen"
@@ -8571,9 +8850,9 @@ msgstr ""
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:2558 templates/js/translated/part.js:1423
-#: templates/js/translated/part.js:1957 templates/js/translated/stock.js:1686
-#: templates/js/translated/stock.js:2390
+#: templates/js/translated/build.js:2558 templates/js/translated/part.js:1444
+#: templates/js/translated/part.js:1981 templates/js/translated/stock.js:1705
+#: templates/js/translated/stock.js:2408
msgid "Select"
msgstr ""
@@ -8585,7 +8864,7 @@ msgstr "Productieorder is achterstallig"
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2636 templates/js/translated/stock.js:2657
+#: templates/js/translated/build.js:2636 templates/js/translated/stock.js:2675
msgid "No user information"
msgstr ""
@@ -8593,118 +8872,144 @@ msgstr ""
msgid "No parts allocated for"
msgstr ""
-#: templates/js/translated/company.js:66
+#: templates/js/translated/company.js:67
msgid "Add Manufacturer"
msgstr "Fabrikant toevoegen"
-#: templates/js/translated/company.js:79 templates/js/translated/company.js:181
+#: templates/js/translated/company.js:80 templates/js/translated/company.js:182
msgid "Add Manufacturer Part"
msgstr "Fabrikantonderdeel toevoegen"
-#: templates/js/translated/company.js:100
+#: templates/js/translated/company.js:101
msgid "Edit Manufacturer Part"
msgstr "Fabrikantonderdeel bewerken"
-#: templates/js/translated/company.js:169 templates/js/translated/order.js:576
+#: templates/js/translated/company.js:170 templates/js/translated/order.js:576
msgid "Add Supplier"
msgstr "Leverancier Toevoegen"
-#: templates/js/translated/company.js:197 templates/js/translated/order.js:828
+#: templates/js/translated/company.js:198 templates/js/translated/order.js:862
msgid "Add Supplier Part"
msgstr "Leveranciersonderdeel Toevoegen"
-#: templates/js/translated/company.js:297
+#: templates/js/translated/company.js:298
msgid "All selected supplier parts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:313
+#: templates/js/translated/company.js:314
msgid "Delete Supplier Parts"
msgstr ""
-#: templates/js/translated/company.js:385
+#: templates/js/translated/company.js:386
msgid "Add new Company"
msgstr ""
-#: templates/js/translated/company.js:462
+#: templates/js/translated/company.js:463
msgid "Parts Supplied"
msgstr ""
-#: templates/js/translated/company.js:471
+#: templates/js/translated/company.js:472
msgid "Parts Manufactured"
msgstr "Gefabriceerde Onderdelen"
-#: templates/js/translated/company.js:486
+#: templates/js/translated/company.js:487
msgid "No company information found"
msgstr ""
-#: templates/js/translated/company.js:527
+#: templates/js/translated/company.js:528
msgid "All selected manufacturer parts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:542
+#: templates/js/translated/company.js:543
msgid "Delete Manufacturer Parts"
msgstr "Verwijder Fabrikantenonderdelen"
-#: templates/js/translated/company.js:576
+#: templates/js/translated/company.js:577
msgid "All selected parameters will be deleted"
msgstr ""
-#: templates/js/translated/company.js:590
+#: templates/js/translated/company.js:591
msgid "Delete Parameters"
msgstr "Parameter verwijderen"
-#: templates/js/translated/company.js:631
+#: templates/js/translated/company.js:632
msgid "No manufacturer parts found"
msgstr "Geen fabrikantenonderdelen gevonden"
-#: templates/js/translated/company.js:651
-#: templates/js/translated/company.js:912 templates/js/translated/part.js:636
-#: templates/js/translated/part.js:721
+#: templates/js/translated/company.js:652
+#: templates/js/translated/company.js:913 templates/js/translated/part.js:650
+#: templates/js/translated/part.js:735
msgid "Template part"
msgstr ""
-#: templates/js/translated/company.js:655
-#: templates/js/translated/company.js:916 templates/js/translated/part.js:640
-#: templates/js/translated/part.js:725
+#: templates/js/translated/company.js:656
+#: templates/js/translated/company.js:917 templates/js/translated/part.js:654
+#: templates/js/translated/part.js:739
msgid "Assembled part"
msgstr "Samengesteld onderdeel"
-#: templates/js/translated/company.js:783 templates/js/translated/part.js:828
+#: templates/js/translated/company.js:784 templates/js/translated/part.js:855
msgid "No parameters found"
msgstr "Geen parameters gevonden"
-#: templates/js/translated/company.js:820 templates/js/translated/part.js:870
+#: templates/js/translated/company.js:821 templates/js/translated/part.js:897
msgid "Edit parameter"
msgstr "Parameter bewerken"
-#: templates/js/translated/company.js:821 templates/js/translated/part.js:871
+#: templates/js/translated/company.js:822 templates/js/translated/part.js:898
msgid "Delete parameter"
msgstr "Parameter verwijderen"
-#: templates/js/translated/company.js:840 templates/js/translated/part.js:888
+#: templates/js/translated/company.js:841 templates/js/translated/part.js:915
msgid "Edit Parameter"
msgstr "Parameter bewerken"
-#: templates/js/translated/company.js:851 templates/js/translated/part.js:900
+#: templates/js/translated/company.js:852 templates/js/translated/part.js:927
msgid "Delete Parameter"
msgstr "Parameter verwijderen"
-#: templates/js/translated/company.js:891
+#: templates/js/translated/company.js:892
msgid "No supplier parts found"
msgstr ""
-#: templates/js/translated/company.js:1032
+#: templates/js/translated/company.js:1033
msgid "Availability"
msgstr ""
-#: templates/js/translated/company.js:1055
+#: templates/js/translated/company.js:1056
msgid "Edit supplier part"
msgstr ""
-#: templates/js/translated/company.js:1056
+#: templates/js/translated/company.js:1057
msgid "Delete supplier part"
msgstr ""
+#: templates/js/translated/company.js:1112
+#: templates/js/translated/pricing.js:423
+msgid "Delete Price Break"
+msgstr ""
+
+#: templates/js/translated/company.js:1128
+#: templates/js/translated/pricing.js:437
+msgid "Edit Price Break"
+msgstr ""
+
+#: templates/js/translated/company.js:1145
+msgid "No price break information found"
+msgstr ""
+
+#: templates/js/translated/company.js:1174
+msgid "Last updated"
+msgstr "Laatst bijgewerkt"
+
+#: templates/js/translated/company.js:1180
+msgid "Edit price break"
+msgstr ""
+
+#: templates/js/translated/company.js:1181
+msgid "Delete price break"
+msgstr ""
+
#: templates/js/translated/filters.js:178
#: templates/js/translated/filters.js:441
msgid "true"
@@ -8785,27 +9090,27 @@ msgstr ""
msgid "Clear input"
msgstr ""
-#: templates/js/translated/forms.js:2638
+#: templates/js/translated/forms.js:2628
msgid "File Column"
msgstr ""
-#: templates/js/translated/forms.js:2638
+#: templates/js/translated/forms.js:2628
msgid "Field Name"
msgstr ""
-#: templates/js/translated/forms.js:2650
+#: templates/js/translated/forms.js:2640
msgid "Select Columns"
msgstr ""
-#: templates/js/translated/helpers.js:24
+#: templates/js/translated/helpers.js:26
msgid "YES"
msgstr ""
-#: templates/js/translated/helpers.js:26
+#: templates/js/translated/helpers.js:28
msgid "NO"
msgstr ""
-#: templates/js/translated/helpers.js:363
+#: templates/js/translated/helpers.js:434
msgid "Notes updated"
msgstr ""
@@ -8814,7 +9119,7 @@ msgid "Labels sent to printer"
msgstr ""
#: templates/js/translated/label.js:60 templates/js/translated/report.js:118
-#: templates/js/translated/stock.js:1078
+#: templates/js/translated/stock.js:1097
msgid "Select Stock Items"
msgstr ""
@@ -8934,14 +9239,6 @@ msgstr ""
msgid "Stock ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:159
-msgid "Location ID"
-msgstr ""
-
-#: templates/js/translated/model_renderers.js:177
-msgid "Build ID"
-msgstr ""
-
#: templates/js/translated/model_renderers.js:278
#: templates/js/translated/model_renderers.js:303
msgid "Order ID"
@@ -8952,16 +9249,12 @@ msgstr "Order-ID"
msgid "Shipment ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:338
-msgid "Category ID"
-msgstr ""
-
#: templates/js/translated/model_renderers.js:381
msgid "Manufacturer Part ID"
msgstr "Onderdeelnummer Fabrikant"
-#: templates/js/translated/model_renderers.js:418
-msgid "Supplier Part ID"
+#: templates/js/translated/news.js:23
+msgid "No news found"
msgstr ""
#: templates/js/translated/notification.js:42
@@ -9104,659 +9397,688 @@ msgstr "Bewerk Inkooporder"
msgid "Duplication Options"
msgstr ""
-#: templates/js/translated/order.js:957
+#: templates/js/translated/order.js:991
msgid "Export Order"
msgstr "Export Order"
-#: templates/js/translated/order.js:1008
+#: templates/js/translated/order.js:1042
msgid "At least one purchaseable part must be selected"
msgstr ""
-#: templates/js/translated/order.js:1033
+#: templates/js/translated/order.js:1067
msgid "Quantity to order"
msgstr "Te bestellen aantal"
-#: templates/js/translated/order.js:1042
+#: templates/js/translated/order.js:1076
msgid "New supplier part"
msgstr ""
-#: templates/js/translated/order.js:1060
+#: templates/js/translated/order.js:1094
msgid "New purchase order"
msgstr "Nieuwe inkooporder"
-#: templates/js/translated/order.js:1093
+#: templates/js/translated/order.js:1127
msgid "Add to purchase order"
msgstr "Toevoegen aan inkooporder"
-#: templates/js/translated/order.js:1233
+#: templates/js/translated/order.js:1267
msgid "No matching supplier parts"
msgstr ""
-#: templates/js/translated/order.js:1252
+#: templates/js/translated/order.js:1286
msgid "No matching purchase orders"
msgstr "Geen overeenkomende inkooporders"
-#: templates/js/translated/order.js:1429
+#: templates/js/translated/order.js:1463
msgid "Select Line Items"
msgstr "Selecteer artikelen"
-#: templates/js/translated/order.js:1430
+#: templates/js/translated/order.js:1464
msgid "At least one line item must be selected"
msgstr "Ten minste één artikel moet worden geselecteerd"
-#: templates/js/translated/order.js:1450 templates/js/translated/order.js:1563
+#: templates/js/translated/order.js:1484 templates/js/translated/order.js:1597
msgid "Add batch code"
msgstr ""
-#: templates/js/translated/order.js:1456 templates/js/translated/order.js:1574
+#: templates/js/translated/order.js:1490 templates/js/translated/order.js:1608
msgid "Add serial numbers"
msgstr ""
-#: templates/js/translated/order.js:1471
+#: templates/js/translated/order.js:1505
msgid "Received Quantity"
msgstr ""
-#: templates/js/translated/order.js:1482
+#: templates/js/translated/order.js:1516
msgid "Quantity to receive"
msgstr ""
-#: templates/js/translated/order.js:1546 templates/js/translated/stock.js:2146
+#: templates/js/translated/order.js:1580 templates/js/translated/stock.js:2164
msgid "Stock Status"
msgstr ""
-#: templates/js/translated/order.js:1639
+#: templates/js/translated/order.js:1673
msgid "Order Code"
msgstr "Order Code"
-#: templates/js/translated/order.js:1640
+#: templates/js/translated/order.js:1674
msgid "Ordered"
msgstr "Besteld"
-#: templates/js/translated/order.js:1642
+#: templates/js/translated/order.js:1676
msgid "Quantity to Receive"
msgstr ""
-#: templates/js/translated/order.js:1661
+#: templates/js/translated/order.js:1695
msgid "Confirm receipt of items"
msgstr ""
-#: templates/js/translated/order.js:1662
+#: templates/js/translated/order.js:1696
msgid "Receive Purchase Order Items"
msgstr "Ontvang Artikelen Inkooporder"
-#: templates/js/translated/order.js:1940 templates/js/translated/part.js:941
+#: templates/js/translated/order.js:1974 templates/js/translated/part.js:968
msgid "No purchase orders found"
msgstr "Geen inkooporder gevonden"
-#: templates/js/translated/order.js:1967 templates/js/translated/order.js:2798
+#: templates/js/translated/order.js:2001 templates/js/translated/order.js:2809
msgid "Order is overdue"
msgstr "Order is achterstallig"
-#: templates/js/translated/order.js:2017 templates/js/translated/order.js:2863
-#: templates/js/translated/order.js:3004
+#: templates/js/translated/order.js:2051 templates/js/translated/order.js:2874
+#: templates/js/translated/order.js:3015
msgid "Items"
msgstr "Artikelen"
-#: templates/js/translated/order.js:2115 templates/js/translated/order.js:4078
+#: templates/js/translated/order.js:2154 templates/js/translated/order.js:4075
msgid "Duplicate Line Item"
msgstr "Artikel dupliceren"
-#: templates/js/translated/order.js:2132 templates/js/translated/order.js:4100
+#: templates/js/translated/order.js:2171 templates/js/translated/order.js:4097
msgid "Edit Line Item"
msgstr "Artikel wijzigen"
-#: templates/js/translated/order.js:2145 templates/js/translated/order.js:4111
+#: templates/js/translated/order.js:2184 templates/js/translated/order.js:4108
msgid "Delete Line Item"
msgstr "Artikel verwijderen"
-#: templates/js/translated/order.js:2188
+#: templates/js/translated/order.js:2227
msgid "No line items found"
msgstr "Geen artikelen gevonden"
-#: templates/js/translated/order.js:2215 templates/js/translated/order.js:3812
+#: templates/js/translated/order.js:2254 templates/js/translated/order.js:3827
msgid "Total"
msgstr "Totaal"
-#: templates/js/translated/order.js:2270 templates/js/translated/part.js:1043
-#: templates/js/translated/part.js:1095
+#: templates/js/translated/order.js:2309 templates/js/translated/part.js:1070
+#: templates/js/translated/part.js:1122
msgid "Total Quantity"
msgstr ""
-#: templates/js/translated/order.js:2301 templates/js/translated/order.js:2500
-#: templates/js/translated/order.js:3837 templates/js/translated/order.js:4342
-#: templates/js/translated/part.js:2199 templates/js/translated/part.js:2797
+#: templates/js/translated/order.js:2340 templates/js/translated/order.js:2527
+#: templates/js/translated/order.js:3852 templates/js/translated/order.js:4343
+#: templates/js/translated/pricing.js:260
+#: templates/js/translated/pricing.js:329
+#: templates/js/translated/pricing.js:545
msgid "Unit Price"
msgstr "Stukprijs"
-#: templates/js/translated/order.js:2316 templates/js/translated/order.js:2516
-#: templates/js/translated/order.js:3853 templates/js/translated/order.js:4358
+#: templates/js/translated/order.js:2350 templates/js/translated/order.js:2537
+#: templates/js/translated/order.js:3862 templates/js/translated/order.js:4353
msgid "Total Price"
msgstr "Totaalprijs"
-#: templates/js/translated/order.js:2357 templates/js/translated/order.js:3895
-#: templates/js/translated/part.js:1079
+#: templates/js/translated/order.js:2380 templates/js/translated/order.js:3892
+#: templates/js/translated/part.js:1106
msgid "This line item is overdue"
msgstr "Dit artikel is achterstallig"
-#: templates/js/translated/order.js:2416 templates/js/translated/part.js:1130
+#: templates/js/translated/order.js:2439 templates/js/translated/part.js:1151
msgid "Receive line item"
msgstr "Artikel ontvangen"
-#: templates/js/translated/order.js:2420 templates/js/translated/order.js:4032
+#: templates/js/translated/order.js:2443 templates/js/translated/order.js:4029
msgid "Duplicate line item"
msgstr "Artikel dupliceren"
-#: templates/js/translated/order.js:2421 templates/js/translated/order.js:4033
+#: templates/js/translated/order.js:2444 templates/js/translated/order.js:4030
msgid "Edit line item"
msgstr "Artikel bewerken"
-#: templates/js/translated/order.js:2422 templates/js/translated/order.js:4037
+#: templates/js/translated/order.js:2445 templates/js/translated/order.js:4034
msgid "Delete line item"
msgstr "Artikel verwijderen"
-#: templates/js/translated/order.js:2564 templates/js/translated/order.js:4406
+#: templates/js/translated/order.js:2574 templates/js/translated/order.js:4389
msgid "Duplicate line"
msgstr "Kopieer regel"
-#: templates/js/translated/order.js:2565 templates/js/translated/order.js:4407
+#: templates/js/translated/order.js:2575 templates/js/translated/order.js:4390
msgid "Edit line"
msgstr "Bewerk regel"
-#: templates/js/translated/order.js:2566 templates/js/translated/order.js:4408
+#: templates/js/translated/order.js:2576 templates/js/translated/order.js:4391
msgid "Delete line"
msgstr "Verwijder regel"
-#: templates/js/translated/order.js:2595 templates/js/translated/order.js:4437
+#: templates/js/translated/order.js:2606 templates/js/translated/order.js:4420
msgid "Duplicate Line"
msgstr "Kopieer Regel"
-#: templates/js/translated/order.js:2616 templates/js/translated/order.js:4458
+#: templates/js/translated/order.js:2627 templates/js/translated/order.js:4441
msgid "Edit Line"
msgstr "Bewerk Regel"
-#: templates/js/translated/order.js:2627 templates/js/translated/order.js:4469
+#: templates/js/translated/order.js:2638 templates/js/translated/order.js:4452
msgid "Delete Line"
msgstr "Verwijder Regel"
-#: templates/js/translated/order.js:2638
+#: templates/js/translated/order.js:2649
msgid "No matching line"
msgstr "Geen overeenkomende regel"
-#: templates/js/translated/order.js:2749
+#: templates/js/translated/order.js:2760
msgid "No sales orders found"
msgstr "Geen verkooporder gevonden"
-#: templates/js/translated/order.js:2812
+#: templates/js/translated/order.js:2823
msgid "Invalid Customer"
msgstr "Ongeldige Klant"
-#: templates/js/translated/order.js:2910
+#: templates/js/translated/order.js:2921
msgid "Edit shipment"
msgstr "Verzending bewerken"
-#: templates/js/translated/order.js:2913
+#: templates/js/translated/order.js:2924
msgid "Complete shipment"
msgstr "Verzending Voltooien"
-#: templates/js/translated/order.js:2918
+#: templates/js/translated/order.js:2929
msgid "Delete shipment"
msgstr "Verzending verwijderen"
-#: templates/js/translated/order.js:2938
+#: templates/js/translated/order.js:2949
msgid "Edit Shipment"
msgstr "Verzending bewerken"
-#: templates/js/translated/order.js:2955
+#: templates/js/translated/order.js:2966
msgid "Delete Shipment"
msgstr "Verzending verwijderen"
-#: templates/js/translated/order.js:2989
+#: templates/js/translated/order.js:3000
msgid "No matching shipments found"
msgstr "Geen overeenkomende verzending gevonden"
-#: templates/js/translated/order.js:2999
+#: templates/js/translated/order.js:3010
msgid "Shipment Reference"
msgstr "Verzendingsreferentie"
-#: templates/js/translated/order.js:3023
+#: templates/js/translated/order.js:3034
msgid "Not shipped"
msgstr "Niet verzonden"
-#: templates/js/translated/order.js:3029
+#: templates/js/translated/order.js:3040
msgid "Tracking"
msgstr "Volgen"
-#: templates/js/translated/order.js:3033
+#: templates/js/translated/order.js:3044
msgid "Invoice"
msgstr "Factuur"
-#: templates/js/translated/order.js:3202
+#: templates/js/translated/order.js:3213
msgid "Add Shipment"
msgstr "Voeg Verzending toe"
-#: templates/js/translated/order.js:3253
+#: templates/js/translated/order.js:3264
msgid "Confirm stock allocation"
msgstr "Bevestig de voorraadtoewijzing"
-#: templates/js/translated/order.js:3254
+#: templates/js/translated/order.js:3265
msgid "Allocate Stock Items to Sales Order"
msgstr "Voorraadartikel toewijzen aan Verkooporder"
-#: templates/js/translated/order.js:3462
+#: templates/js/translated/order.js:3473
msgid "No sales order allocations found"
msgstr "Geen verkooporder toewijzingen gevonden"
-#: templates/js/translated/order.js:3541
+#: templates/js/translated/order.js:3552
msgid "Edit Stock Allocation"
msgstr "Bewerk Voorraadtoewijzing"
-#: templates/js/translated/order.js:3558
+#: templates/js/translated/order.js:3569
msgid "Confirm Delete Operation"
msgstr "Bevestig Verwijderen"
-#: templates/js/translated/order.js:3559
+#: templates/js/translated/order.js:3570
msgid "Delete Stock Allocation"
msgstr "Verwijder Voorraadtoewijzing"
-#: templates/js/translated/order.js:3604 templates/js/translated/order.js:3693
-#: templates/js/translated/stock.js:1602
+#: templates/js/translated/order.js:3615 templates/js/translated/order.js:3704
+#: templates/js/translated/stock.js:1621
msgid "Shipped to customer"
msgstr "Verzonden aan klant"
-#: templates/js/translated/order.js:3612 templates/js/translated/order.js:3702
+#: templates/js/translated/order.js:3623 templates/js/translated/order.js:3713
msgid "Stock location not specified"
msgstr "Voorraadlocatie niet gespecificeerd"
-#: templates/js/translated/order.js:4016
+#: templates/js/translated/order.js:4013
msgid "Allocate serial numbers"
msgstr "Wijs serienummers toe"
-#: templates/js/translated/order.js:4022
+#: templates/js/translated/order.js:4019
msgid "Purchase stock"
msgstr "Koop voorraad"
-#: templates/js/translated/order.js:4029 templates/js/translated/order.js:4227
+#: templates/js/translated/order.js:4026 templates/js/translated/order.js:4224
msgid "Calculate price"
msgstr "Bereken prijs"
-#: templates/js/translated/order.js:4041
+#: templates/js/translated/order.js:4038
msgid "Cannot be deleted as items have been shipped"
msgstr "Kan niet worden verwijderd omdat artikelen verzonden zijn"
-#: templates/js/translated/order.js:4044
+#: templates/js/translated/order.js:4041
msgid "Cannot be deleted as items have been allocated"
msgstr "Kan niet worden verwijderd omdat artikelen toegewezen zijn"
-#: templates/js/translated/order.js:4126
+#: templates/js/translated/order.js:4123
msgid "Allocate Serial Numbers"
msgstr "Wijs Serienummers Toe"
-#: templates/js/translated/order.js:4235
+#: templates/js/translated/order.js:4232
msgid "Update Unit Price"
msgstr "Werk Stukprijs Bij"
-#: templates/js/translated/order.js:4249
+#: templates/js/translated/order.js:4246
msgid "No matching line items"
msgstr "Geen overeenkomende artikelen"
-#: templates/js/translated/order.js:4480
+#: templates/js/translated/order.js:4463
msgid "No matching lines"
msgstr "Geen overeenkomende regels"
-#: templates/js/translated/part.js:56
+#: templates/js/translated/part.js:52
msgid "Part Attributes"
msgstr ""
-#: templates/js/translated/part.js:60
+#: templates/js/translated/part.js:56
msgid "Part Creation Options"
msgstr ""
-#: templates/js/translated/part.js:64
+#: templates/js/translated/part.js:60
msgid "Part Duplication Options"
msgstr ""
-#: templates/js/translated/part.js:68
+#: templates/js/translated/part.js:64
msgid "Supplier Options"
msgstr ""
-#: templates/js/translated/part.js:82
+#: templates/js/translated/part.js:78
msgid "Add Part Category"
msgstr ""
-#: templates/js/translated/part.js:166
+#: templates/js/translated/part.js:162
msgid "Create Initial Stock"
msgstr ""
-#: templates/js/translated/part.js:167
+#: templates/js/translated/part.js:163
msgid "Create an initial stock item for this part"
msgstr ""
-#: templates/js/translated/part.js:174
+#: templates/js/translated/part.js:170
msgid "Initial Stock Quantity"
msgstr ""
-#: templates/js/translated/part.js:175
+#: templates/js/translated/part.js:171
msgid "Specify initial stock quantity for this part"
msgstr ""
-#: templates/js/translated/part.js:182
+#: templates/js/translated/part.js:178
msgid "Select destination stock location"
msgstr ""
-#: templates/js/translated/part.js:200
+#: templates/js/translated/part.js:196
msgid "Copy Category Parameters"
msgstr ""
-#: templates/js/translated/part.js:201
+#: templates/js/translated/part.js:197
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: templates/js/translated/part.js:209
+#: templates/js/translated/part.js:205
msgid "Add Supplier Data"
msgstr ""
-#: templates/js/translated/part.js:210
+#: templates/js/translated/part.js:206
msgid "Create initial supplier data for this part"
msgstr ""
-#: templates/js/translated/part.js:266
+#: templates/js/translated/part.js:262
msgid "Copy Image"
msgstr "Afbeelding kopiëren"
-#: templates/js/translated/part.js:267
+#: templates/js/translated/part.js:263
msgid "Copy image from original part"
msgstr "Afbeelding kopiëren van het oorspronkelijke onderdeel"
-#: templates/js/translated/part.js:275
+#: templates/js/translated/part.js:271
msgid "Copy bill of materials from original part"
msgstr ""
-#: templates/js/translated/part.js:282
+#: templates/js/translated/part.js:278
msgid "Copy Parameters"
msgstr "Parameters kopiëren"
-#: templates/js/translated/part.js:283
+#: templates/js/translated/part.js:279
msgid "Copy parameter data from original part"
msgstr "Parameter data kopiëren van het originele onderdeel"
-#: templates/js/translated/part.js:296
+#: templates/js/translated/part.js:292
msgid "Parent part category"
msgstr ""
-#: templates/js/translated/part.js:306 templates/js/translated/stock.js:118
+#: templates/js/translated/part.js:302 templates/js/translated/stock.js:118
msgid "Icon (optional) - Explore all available icons on"
msgstr ""
-#: templates/js/translated/part.js:322
+#: templates/js/translated/part.js:318
msgid "Edit Part Category"
msgstr ""
-#: templates/js/translated/part.js:335
+#: templates/js/translated/part.js:331
msgid "Are you sure you want to delete this part category?"
msgstr ""
-#: templates/js/translated/part.js:337
-msgid "Any child categories will be moved to the parent of this category"
+#: templates/js/translated/part.js:336
+msgid "Move to parent category"
msgstr ""
-#: templates/js/translated/part.js:338
-msgid "Any parts in this category will be moved to the parent of this category"
-msgstr ""
-
-#: templates/js/translated/part.js:343
+#: templates/js/translated/part.js:345
msgid "Delete Part Category"
msgstr ""
-#: templates/js/translated/part.js:369
+#: templates/js/translated/part.js:349
+msgid "Action for parts in this category"
+msgstr ""
+
+#: templates/js/translated/part.js:354
+msgid "Action for child categories"
+msgstr ""
+
+#: templates/js/translated/part.js:383
msgid "Edit Part"
msgstr ""
-#: templates/js/translated/part.js:371
+#: templates/js/translated/part.js:385
msgid "Part edited"
msgstr ""
-#: templates/js/translated/part.js:382
+#: templates/js/translated/part.js:396
msgid "Create Part Variant"
msgstr ""
-#: templates/js/translated/part.js:434
+#: templates/js/translated/part.js:448
msgid "Active Part"
msgstr ""
-#: templates/js/translated/part.js:435
+#: templates/js/translated/part.js:449
msgid "Part cannot be deleted as it is currently active"
msgstr ""
-#: templates/js/translated/part.js:449
+#: templates/js/translated/part.js:463
msgid "Deleting this part cannot be reversed"
msgstr ""
-#: templates/js/translated/part.js:451
+#: templates/js/translated/part.js:465
msgid "Any stock items for this part will be deleted"
msgstr ""
-#: templates/js/translated/part.js:452
+#: templates/js/translated/part.js:466
msgid "This part will be removed from any Bills of Material"
msgstr ""
-#: templates/js/translated/part.js:453
+#: templates/js/translated/part.js:467
msgid "All manufacturer and supplier information for this part will be deleted"
msgstr ""
-#: templates/js/translated/part.js:460
+#: templates/js/translated/part.js:474
msgid "Delete Part"
msgstr ""
-#: templates/js/translated/part.js:496
+#: templates/js/translated/part.js:510
msgid "You are subscribed to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:498
+#: templates/js/translated/part.js:512
msgid "You have subscribed to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:503
+#: templates/js/translated/part.js:517
msgid "Subscribe to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:505
+#: templates/js/translated/part.js:519
msgid "You have unsubscribed to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:522
+#: templates/js/translated/part.js:536
msgid "Validating the BOM will mark each line item as valid"
msgstr "Validatie van de BOM markeert ieder artikel als geldig"
-#: templates/js/translated/part.js:532
+#: templates/js/translated/part.js:546
msgid "Validate Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:535
+#: templates/js/translated/part.js:549
msgid "Validated Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:560
+#: templates/js/translated/part.js:574
msgid "Copy Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:584 templates/js/translated/part.js:1521
-#: templates/js/translated/table_filters.js:476
+#: templates/js/translated/part.js:598 templates/js/translated/part.js:1532
+#: templates/js/translated/table_filters.js:480
msgid "Low stock"
msgstr ""
-#: templates/js/translated/part.js:594
+#: templates/js/translated/part.js:608
msgid "No stock available"
msgstr ""
-#: templates/js/translated/part.js:628 templates/js/translated/part.js:713
+#: templates/js/translated/part.js:642 templates/js/translated/part.js:727
msgid "Trackable part"
msgstr ""
-#: templates/js/translated/part.js:632 templates/js/translated/part.js:717
+#: templates/js/translated/part.js:646 templates/js/translated/part.js:731
msgid "Virtual part"
msgstr ""
-#: templates/js/translated/part.js:644
+#: templates/js/translated/part.js:658
msgid "Subscribed part"
msgstr ""
-#: templates/js/translated/part.js:648
+#: templates/js/translated/part.js:662
msgid "Salable part"
msgstr ""
-#: templates/js/translated/part.js:776
+#: templates/js/translated/part.js:800
msgid "No variants found"
msgstr ""
-#: templates/js/translated/part.js:1200
+#: templates/js/translated/part.js:1221
msgid "Delete part relationship"
msgstr ""
-#: templates/js/translated/part.js:1224
+#: templates/js/translated/part.js:1245
msgid "Delete Part Relationship"
msgstr ""
-#: templates/js/translated/part.js:1291 templates/js/translated/part.js:1609
+#: templates/js/translated/part.js:1312 templates/js/translated/part.js:1633
msgid "No parts found"
msgstr ""
-#: templates/js/translated/part.js:1488
+#: templates/js/translated/part.js:1499
msgid "No category"
msgstr ""
-#: templates/js/translated/part.js:1519
+#: templates/js/translated/part.js:1530
msgid "No stock"
msgstr ""
-#: templates/js/translated/part.js:1543
+#: templates/js/translated/part.js:1554
msgid "Allocated to build orders"
msgstr ""
-#: templates/js/translated/part.js:1547
+#: templates/js/translated/part.js:1558
msgid "Allocated to sales orders"
msgstr ""
-#: templates/js/translated/part.js:1633 templates/js/translated/part.js:1876
-#: templates/js/translated/stock.js:2349
+#: templates/js/translated/part.js:1657 templates/js/translated/part.js:1900
+#: templates/js/translated/stock.js:2367
msgid "Display as list"
msgstr ""
-#: templates/js/translated/part.js:1649
+#: templates/js/translated/part.js:1673
msgid "Display as grid"
msgstr ""
-#: templates/js/translated/part.js:1715
+#: templates/js/translated/part.js:1739
msgid "Set the part category for the selected parts"
msgstr ""
-#: templates/js/translated/part.js:1720
+#: templates/js/translated/part.js:1744
msgid "Set Part Category"
msgstr ""
-#: templates/js/translated/part.js:1725
+#: templates/js/translated/part.js:1749
msgid "Select Part Category"
msgstr ""
-#: templates/js/translated/part.js:1738
+#: templates/js/translated/part.js:1762
msgid "Category is required"
msgstr ""
-#: templates/js/translated/part.js:1896 templates/js/translated/stock.js:2369
+#: templates/js/translated/part.js:1920 templates/js/translated/stock.js:2387
msgid "Display as tree"
msgstr ""
-#: templates/js/translated/part.js:1976
+#: templates/js/translated/part.js:2000
msgid "Load Subcategories"
msgstr ""
-#: templates/js/translated/part.js:1992
+#: templates/js/translated/part.js:2016
msgid "Subscribed category"
msgstr ""
-#: templates/js/translated/part.js:2056
+#: templates/js/translated/part.js:2080
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:2107 templates/js/translated/stock.js:1299
+#: templates/js/translated/part.js:2131 templates/js/translated/stock.js:1318
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:2108 templates/js/translated/stock.js:1300
-#: templates/js/translated/stock.js:1560
+#: templates/js/translated/part.js:2132 templates/js/translated/stock.js:1319
+#: templates/js/translated/stock.js:1579
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:2114
+#: templates/js/translated/part.js:2138
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:2136
+#: templates/js/translated/part.js:2160
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2150
+#: templates/js/translated/part.js:2174
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2175
-#, python-brace-format
-msgid "No ${human_name} information found"
-msgstr ""
-
-#: templates/js/translated/part.js:2232
-#, python-brace-format
-msgid "Edit ${human_name}"
-msgstr ""
-
-#: templates/js/translated/part.js:2233
-#, python-brace-format
-msgid "Delete ${human_name}"
-msgstr ""
-
-#: templates/js/translated/part.js:2398 templates/js/translated/part.js:2399
+#: templates/js/translated/part.js:2255 templates/js/translated/part.js:2256
msgid "No date specified"
msgstr ""
-#: templates/js/translated/part.js:2401
+#: templates/js/translated/part.js:2258
msgid "Specified date is in the past"
msgstr ""
-#: templates/js/translated/part.js:2407
+#: templates/js/translated/part.js:2264
msgid "Speculative"
msgstr ""
-#: templates/js/translated/part.js:2457
+#: templates/js/translated/part.js:2314
msgid "No scheduling information available for this part"
msgstr ""
-#: templates/js/translated/part.js:2463
+#: templates/js/translated/part.js:2320
msgid "Error fetching scheduling information for this part"
msgstr ""
-#: templates/js/translated/part.js:2559
+#: templates/js/translated/part.js:2416
msgid "Scheduled Stock Quantities"
msgstr ""
-#: templates/js/translated/part.js:2575
+#: templates/js/translated/part.js:2432
msgid "Maximum Quantity"
msgstr ""
-#: templates/js/translated/part.js:2620
+#: templates/js/translated/part.js:2477
msgid "Minimum Stock Level"
msgstr ""
-#: templates/js/translated/part.js:2721
-msgid "Single Price"
-msgstr ""
-
-#: templates/js/translated/part.js:2740
-msgid "Single Price Difference"
-msgstr ""
-
#: templates/js/translated/plugin.js:23
msgid "The Plugin was installed"
msgstr ""
+#: templates/js/translated/pricing.js:54
+msgid "No BOM data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:196
+msgid "No supplier pricing data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:305
+msgid "No price break data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:361
+#, python-brace-format
+msgid "Edit ${human_name}"
+msgstr ""
+
+#: templates/js/translated/pricing.js:362
+#, python-brace-format
+msgid "Delete ${human_name}"
+msgstr ""
+
+#: templates/js/translated/pricing.js:480
+msgid "No purchase history data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:502
+msgid "Purchase Price History"
+msgstr ""
+
+#: templates/js/translated/pricing.js:602
+msgid "No sales history data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:624
+msgid "Sale Price History"
+msgstr ""
+
+#: templates/js/translated/pricing.js:708
+msgid "No variant data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:748
+msgid "Variant Part"
+msgstr ""
+
#: templates/js/translated/report.js:67
msgid "items selected"
msgstr ""
@@ -9855,364 +10177,364 @@ msgstr ""
msgid "Are you sure you want to delete this stock location?"
msgstr ""
-#: templates/js/translated/stock.js:175
-msgid "Any child locations will be moved to the parent of this location"
+#: templates/js/translated/stock.js:180
+msgid "Move to parent stock location"
msgstr ""
-#: templates/js/translated/stock.js:176
-msgid "Any stock items in this location will be moved to the parent of this location"
-msgstr ""
-
-#: templates/js/translated/stock.js:182
+#: templates/js/translated/stock.js:189
msgid "Delete Stock Location"
msgstr "Verwijder Voorraadlocatie"
-#: templates/js/translated/stock.js:227
+#: templates/js/translated/stock.js:193
+msgid "Action for stock items in this stock location"
+msgstr ""
+
+#: templates/js/translated/stock.js:198
+msgid "Action for sub-locations"
+msgstr ""
+
+#: templates/js/translated/stock.js:246
msgid "This part cannot be serialized"
msgstr ""
-#: templates/js/translated/stock.js:266
+#: templates/js/translated/stock.js:285
msgid "Enter initial quantity for this stock item"
msgstr ""
-#: templates/js/translated/stock.js:272
+#: templates/js/translated/stock.js:291
msgid "Enter serial numbers for new stock (or leave blank)"
msgstr ""
-#: templates/js/translated/stock.js:337
+#: templates/js/translated/stock.js:356
msgid "Stock item duplicated"
msgstr ""
-#: templates/js/translated/stock.js:357
+#: templates/js/translated/stock.js:376
msgid "Duplicate Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:373
+#: templates/js/translated/stock.js:392
msgid "Are you sure you want to delete this stock item?"
msgstr ""
-#: templates/js/translated/stock.js:378
+#: templates/js/translated/stock.js:397
msgid "Delete Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:399
+#: templates/js/translated/stock.js:418
msgid "Edit Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:449
+#: templates/js/translated/stock.js:468
msgid "Created new stock item"
msgstr ""
-#: templates/js/translated/stock.js:462
+#: templates/js/translated/stock.js:481
msgid "Created multiple stock items"
msgstr ""
-#: templates/js/translated/stock.js:487
+#: templates/js/translated/stock.js:506
msgid "Find Serial Number"
msgstr ""
-#: templates/js/translated/stock.js:491 templates/js/translated/stock.js:492
+#: templates/js/translated/stock.js:510 templates/js/translated/stock.js:511
msgid "Enter serial number"
msgstr ""
-#: templates/js/translated/stock.js:508
+#: templates/js/translated/stock.js:527
msgid "Enter a serial number"
msgstr ""
-#: templates/js/translated/stock.js:528
+#: templates/js/translated/stock.js:547
msgid "No matching serial number"
msgstr ""
-#: templates/js/translated/stock.js:537
+#: templates/js/translated/stock.js:556
msgid "More than one matching result found"
msgstr ""
-#: templates/js/translated/stock.js:660
+#: templates/js/translated/stock.js:679
msgid "Confirm stock assignment"
msgstr ""
-#: templates/js/translated/stock.js:661
+#: templates/js/translated/stock.js:680
msgid "Assign Stock to Customer"
msgstr ""
-#: templates/js/translated/stock.js:738
+#: templates/js/translated/stock.js:757
msgid "Warning: Merge operation cannot be reversed"
msgstr ""
-#: templates/js/translated/stock.js:739
+#: templates/js/translated/stock.js:758
msgid "Some information will be lost when merging stock items"
msgstr ""
-#: templates/js/translated/stock.js:741
+#: templates/js/translated/stock.js:760
msgid "Stock transaction history will be deleted for merged items"
msgstr ""
-#: templates/js/translated/stock.js:742
+#: templates/js/translated/stock.js:761
msgid "Supplier part information will be deleted for merged items"
msgstr ""
-#: templates/js/translated/stock.js:828
+#: templates/js/translated/stock.js:847
msgid "Confirm stock item merge"
msgstr ""
-#: templates/js/translated/stock.js:829
+#: templates/js/translated/stock.js:848
msgid "Merge Stock Items"
msgstr ""
-#: templates/js/translated/stock.js:924
+#: templates/js/translated/stock.js:943
msgid "Transfer Stock"
msgstr ""
-#: templates/js/translated/stock.js:925
+#: templates/js/translated/stock.js:944
msgid "Move"
msgstr ""
-#: templates/js/translated/stock.js:931
+#: templates/js/translated/stock.js:950
msgid "Count Stock"
msgstr ""
-#: templates/js/translated/stock.js:932
+#: templates/js/translated/stock.js:951
msgid "Count"
msgstr ""
-#: templates/js/translated/stock.js:936
+#: templates/js/translated/stock.js:955
msgid "Remove Stock"
msgstr ""
-#: templates/js/translated/stock.js:937
+#: templates/js/translated/stock.js:956
msgid "Take"
msgstr ""
-#: templates/js/translated/stock.js:941
+#: templates/js/translated/stock.js:960
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:942 users/models.py:218
+#: templates/js/translated/stock.js:961 users/models.py:220
msgid "Add"
msgstr ""
-#: templates/js/translated/stock.js:946
+#: templates/js/translated/stock.js:965
msgid "Delete Stock"
msgstr ""
-#: templates/js/translated/stock.js:1039
+#: templates/js/translated/stock.js:1058
msgid "Quantity cannot be adjusted for serialized stock"
msgstr ""
-#: templates/js/translated/stock.js:1039
+#: templates/js/translated/stock.js:1058
msgid "Specify stock quantity"
msgstr ""
-#: templates/js/translated/stock.js:1079
+#: templates/js/translated/stock.js:1098
msgid "You must select at least one available stock item"
msgstr ""
-#: templates/js/translated/stock.js:1102
+#: templates/js/translated/stock.js:1121
msgid "Confirm stock adjustment"
msgstr ""
-#: templates/js/translated/stock.js:1238
+#: templates/js/translated/stock.js:1257
msgid "PASS"
msgstr ""
-#: templates/js/translated/stock.js:1240
+#: templates/js/translated/stock.js:1259
msgid "FAIL"
msgstr ""
-#: templates/js/translated/stock.js:1245
+#: templates/js/translated/stock.js:1264
msgid "NO RESULT"
msgstr ""
-#: templates/js/translated/stock.js:1292
+#: templates/js/translated/stock.js:1311
msgid "Pass test"
msgstr ""
-#: templates/js/translated/stock.js:1295
+#: templates/js/translated/stock.js:1314
msgid "Add test result"
msgstr ""
-#: templates/js/translated/stock.js:1321
+#: templates/js/translated/stock.js:1340
msgid "No test results found"
msgstr ""
-#: templates/js/translated/stock.js:1378
+#: templates/js/translated/stock.js:1397
msgid "Test Date"
msgstr ""
-#: templates/js/translated/stock.js:1543
+#: templates/js/translated/stock.js:1562
msgid "Edit Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1565
+#: templates/js/translated/stock.js:1584
msgid "Delete Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1594
+#: templates/js/translated/stock.js:1613
msgid "In production"
msgstr ""
-#: templates/js/translated/stock.js:1598
+#: templates/js/translated/stock.js:1617
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:1606
+#: templates/js/translated/stock.js:1625
msgid "Assigned to Sales Order"
msgstr "Toegewezen aan Verkooporder"
-#: templates/js/translated/stock.js:1612
+#: templates/js/translated/stock.js:1631
msgid "No stock location set"
msgstr "Geen voorraadlocatie ingesteld"
-#: templates/js/translated/stock.js:1781
+#: templates/js/translated/stock.js:1800
msgid "Stock item is in production"
msgstr ""
-#: templates/js/translated/stock.js:1786
+#: templates/js/translated/stock.js:1805
msgid "Stock item assigned to sales order"
msgstr "Voorraadartikel toegewezen aan verkooporder"
-#: templates/js/translated/stock.js:1789
+#: templates/js/translated/stock.js:1808
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/translated/stock.js:1792
+#: templates/js/translated/stock.js:1811
msgid "Serialized stock item has been allocated"
msgstr ""
-#: templates/js/translated/stock.js:1794
+#: templates/js/translated/stock.js:1813
msgid "Stock item has been fully allocated"
msgstr ""
-#: templates/js/translated/stock.js:1796
+#: templates/js/translated/stock.js:1815
msgid "Stock item has been partially allocated"
msgstr ""
-#: templates/js/translated/stock.js:1799
+#: templates/js/translated/stock.js:1818
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:1803
+#: templates/js/translated/stock.js:1822
msgid "Stock item has expired"
msgstr ""
-#: templates/js/translated/stock.js:1805
+#: templates/js/translated/stock.js:1824
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/translated/stock.js:1812
+#: templates/js/translated/stock.js:1831
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/translated/stock.js:1814
+#: templates/js/translated/stock.js:1833
msgid "Stock item is lost"
msgstr ""
-#: templates/js/translated/stock.js:1816
+#: templates/js/translated/stock.js:1835
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/translated/stock.js:1820
-#: templates/js/translated/table_filters.js:204
+#: templates/js/translated/stock.js:1839
+#: templates/js/translated/table_filters.js:208
msgid "Depleted"
msgstr ""
-#: templates/js/translated/stock.js:1871
-msgid "Stocktake"
-msgstr ""
-
-#: templates/js/translated/stock.js:1950
+#: templates/js/translated/stock.js:1969
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/translated/stock.js:1988
+#: templates/js/translated/stock.js:2006
msgid "No stock items matching query"
msgstr ""
-#: templates/js/translated/stock.js:2161
+#: templates/js/translated/stock.js:2179
msgid "Set Stock Status"
msgstr ""
-#: templates/js/translated/stock.js:2175
+#: templates/js/translated/stock.js:2193
msgid "Select Status Code"
msgstr ""
-#: templates/js/translated/stock.js:2176
+#: templates/js/translated/stock.js:2194
msgid "Status code must be selected"
msgstr ""
-#: templates/js/translated/stock.js:2408
+#: templates/js/translated/stock.js:2426
msgid "Load Subloactions"
msgstr ""
-#: templates/js/translated/stock.js:2503
+#: templates/js/translated/stock.js:2521
msgid "Details"
msgstr ""
-#: templates/js/translated/stock.js:2519
+#: templates/js/translated/stock.js:2537
msgid "Part information unavailable"
msgstr ""
-#: templates/js/translated/stock.js:2541
+#: templates/js/translated/stock.js:2559
msgid "Location no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2560
+#: templates/js/translated/stock.js:2578
msgid "Purchase order no longer exists"
msgstr "Inkooporder bestaat niet meer"
-#: templates/js/translated/stock.js:2579
+#: templates/js/translated/stock.js:2597
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2597
+#: templates/js/translated/stock.js:2615
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2620
+#: templates/js/translated/stock.js:2638
msgid "Added"
msgstr ""
-#: templates/js/translated/stock.js:2628
+#: templates/js/translated/stock.js:2646
msgid "Removed"
msgstr ""
-#: templates/js/translated/stock.js:2704
+#: templates/js/translated/stock.js:2722
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:2755 templates/js/translated/stock.js:2791
+#: templates/js/translated/stock.js:2773 templates/js/translated/stock.js:2809
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2804
+#: templates/js/translated/stock.js:2822
msgid "Select stock item to uninstall"
msgstr ""
-#: templates/js/translated/stock.js:2825
+#: templates/js/translated/stock.js:2843
msgid "Install another stock item into this item"
msgstr ""
-#: templates/js/translated/stock.js:2826
+#: templates/js/translated/stock.js:2844
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: templates/js/translated/stock.js:2828
+#: templates/js/translated/stock.js:2846
msgid "The Stock Item links to a Part which is the BOM for this Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2829
+#: templates/js/translated/stock.js:2847
msgid "The Stock Item is currently available in stock"
msgstr ""
-#: templates/js/translated/stock.js:2830
+#: templates/js/translated/stock.js:2848
msgid "The Stock Item is not already installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:2831
+#: templates/js/translated/stock.js:2849
msgid "The Stock Item is tracked by either a batch code or serial number"
msgstr ""
-#: templates/js/translated/stock.js:2844
+#: templates/js/translated/stock.js:2862
msgid "Select part to install"
msgstr ""
@@ -10236,215 +10558,220 @@ msgstr ""
msgid "Allow Variant Stock"
msgstr ""
-#: templates/js/translated/table_filters.js:126
-#: templates/js/translated/table_filters.js:199
+#: templates/js/translated/table_filters.js:92
+#: templates/js/translated/table_filters.js:508
+msgid "Has Pricing"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:130
+#: templates/js/translated/table_filters.js:203
msgid "Include sublocations"
msgstr ""
-#: templates/js/translated/table_filters.js:127
+#: templates/js/translated/table_filters.js:131
msgid "Include locations"
msgstr ""
-#: templates/js/translated/table_filters.js:137
-#: templates/js/translated/table_filters.js:138
-#: templates/js/translated/table_filters.js:445
+#: templates/js/translated/table_filters.js:141
+#: templates/js/translated/table_filters.js:142
+#: templates/js/translated/table_filters.js:449
msgid "Include subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:142
-#: templates/js/translated/table_filters.js:488
+#: templates/js/translated/table_filters.js:146
+#: templates/js/translated/table_filters.js:492
msgid "Subscribed"
msgstr ""
-#: templates/js/translated/table_filters.js:152
-#: templates/js/translated/table_filters.js:234
-msgid "Is Serialized"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:155
-#: templates/js/translated/table_filters.js:241
-msgid "Serial number GTE"
-msgstr ""
-
#: templates/js/translated/table_filters.js:156
-#: templates/js/translated/table_filters.js:242
-msgid "Serial number greater than or equal to"
+#: templates/js/translated/table_filters.js:238
+msgid "Is Serialized"
msgstr ""
#: templates/js/translated/table_filters.js:159
#: templates/js/translated/table_filters.js:245
-msgid "Serial number LTE"
+msgid "Serial number GTE"
msgstr ""
#: templates/js/translated/table_filters.js:160
#: templates/js/translated/table_filters.js:246
-msgid "Serial number less than or equal to"
+msgid "Serial number greater than or equal to"
msgstr ""
#: templates/js/translated/table_filters.js:163
+#: templates/js/translated/table_filters.js:249
+msgid "Serial number LTE"
+msgstr ""
+
#: templates/js/translated/table_filters.js:164
-#: templates/js/translated/table_filters.js:237
-#: templates/js/translated/table_filters.js:238
+#: templates/js/translated/table_filters.js:250
+msgid "Serial number less than or equal to"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:167
+#: templates/js/translated/table_filters.js:168
+#: templates/js/translated/table_filters.js:241
+#: templates/js/translated/table_filters.js:242
msgid "Serial number"
msgstr ""
-#: templates/js/translated/table_filters.js:168
-#: templates/js/translated/table_filters.js:259
+#: templates/js/translated/table_filters.js:172
+#: templates/js/translated/table_filters.js:263
msgid "Batch code"
msgstr ""
-#: templates/js/translated/table_filters.js:179
-#: templates/js/translated/table_filters.js:417
+#: templates/js/translated/table_filters.js:183
+#: templates/js/translated/table_filters.js:421
msgid "Active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:180
+#: templates/js/translated/table_filters.js:184
msgid "Show stock for active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:185
+#: templates/js/translated/table_filters.js:189
msgid "Part is an assembly"
msgstr "Onderdeel is een assemblage"
-#: templates/js/translated/table_filters.js:189
+#: templates/js/translated/table_filters.js:193
msgid "Is allocated"
msgstr ""
-#: templates/js/translated/table_filters.js:190
+#: templates/js/translated/table_filters.js:194
msgid "Item has been allocated"
msgstr ""
-#: templates/js/translated/table_filters.js:195
+#: templates/js/translated/table_filters.js:199
msgid "Stock is available for use"
msgstr ""
-#: templates/js/translated/table_filters.js:200
+#: templates/js/translated/table_filters.js:204
msgid "Include stock in sublocations"
msgstr ""
-#: templates/js/translated/table_filters.js:205
+#: templates/js/translated/table_filters.js:209
msgid "Show stock items which are depleted"
msgstr ""
-#: templates/js/translated/table_filters.js:210
+#: templates/js/translated/table_filters.js:214
msgid "Show items which are in stock"
msgstr ""
-#: templates/js/translated/table_filters.js:214
+#: templates/js/translated/table_filters.js:218
msgid "In Production"
msgstr ""
-#: templates/js/translated/table_filters.js:215
+#: templates/js/translated/table_filters.js:219
msgid "Show items which are in production"
msgstr ""
-#: templates/js/translated/table_filters.js:219
+#: templates/js/translated/table_filters.js:223
msgid "Include Variants"
msgstr ""
-#: templates/js/translated/table_filters.js:220
+#: templates/js/translated/table_filters.js:224
msgid "Include stock items for variant parts"
msgstr ""
-#: templates/js/translated/table_filters.js:224
+#: templates/js/translated/table_filters.js:228
msgid "Installed"
msgstr ""
-#: templates/js/translated/table_filters.js:225
+#: templates/js/translated/table_filters.js:229
msgid "Show stock items which are installed in another item"
msgstr ""
-#: templates/js/translated/table_filters.js:230
+#: templates/js/translated/table_filters.js:234
msgid "Show items which have been assigned to a customer"
msgstr ""
-#: templates/js/translated/table_filters.js:250
-#: templates/js/translated/table_filters.js:251
+#: templates/js/translated/table_filters.js:254
+#: templates/js/translated/table_filters.js:255
msgid "Stock status"
msgstr ""
-#: templates/js/translated/table_filters.js:254
+#: templates/js/translated/table_filters.js:258
msgid "Has batch code"
msgstr ""
-#: templates/js/translated/table_filters.js:262
+#: templates/js/translated/table_filters.js:266
msgid "Tracked"
msgstr ""
-#: templates/js/translated/table_filters.js:263
+#: templates/js/translated/table_filters.js:267
msgid "Stock item is tracked by either batch code or serial number"
msgstr ""
-#: templates/js/translated/table_filters.js:268
+#: templates/js/translated/table_filters.js:272
msgid "Has purchase price"
msgstr ""
-#: templates/js/translated/table_filters.js:269
+#: templates/js/translated/table_filters.js:273
msgid "Show stock items which have a purchase price set"
msgstr ""
-#: templates/js/translated/table_filters.js:278
+#: templates/js/translated/table_filters.js:282
msgid "Show stock items which have expired"
msgstr ""
-#: templates/js/translated/table_filters.js:284
+#: templates/js/translated/table_filters.js:288
msgid "Show stock which is close to expiring"
msgstr ""
-#: templates/js/translated/table_filters.js:296
+#: templates/js/translated/table_filters.js:300
msgid "Test Passed"
msgstr ""
-#: templates/js/translated/table_filters.js:300
+#: templates/js/translated/table_filters.js:304
msgid "Include Installed Items"
msgstr ""
-#: templates/js/translated/table_filters.js:319
+#: templates/js/translated/table_filters.js:323
msgid "Build status"
msgstr ""
-#: templates/js/translated/table_filters.js:332
-#: templates/js/translated/table_filters.js:373
+#: templates/js/translated/table_filters.js:336
+#: templates/js/translated/table_filters.js:377
msgid "Assigned to me"
msgstr ""
-#: templates/js/translated/table_filters.js:349
-#: templates/js/translated/table_filters.js:360
-#: templates/js/translated/table_filters.js:390
+#: templates/js/translated/table_filters.js:353
+#: templates/js/translated/table_filters.js:364
+#: templates/js/translated/table_filters.js:394
msgid "Order status"
msgstr "Order status"
-#: templates/js/translated/table_filters.js:365
-#: templates/js/translated/table_filters.js:382
-#: templates/js/translated/table_filters.js:395
+#: templates/js/translated/table_filters.js:369
+#: templates/js/translated/table_filters.js:386
+#: templates/js/translated/table_filters.js:399
msgid "Outstanding"
msgstr ""
-#: templates/js/translated/table_filters.js:446
+#: templates/js/translated/table_filters.js:450
msgid "Include parts in subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:451
+#: templates/js/translated/table_filters.js:455
msgid "Show active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:459
+#: templates/js/translated/table_filters.js:463
msgid "Available stock"
msgstr ""
-#: templates/js/translated/table_filters.js:467
+#: templates/js/translated/table_filters.js:471
msgid "Has IPN"
msgstr ""
-#: templates/js/translated/table_filters.js:468
+#: templates/js/translated/table_filters.js:472
msgid "Part has internal part number"
msgstr ""
-#: templates/js/translated/table_filters.js:472
+#: templates/js/translated/table_filters.js:476
msgid "In stock"
msgstr ""
-#: templates/js/translated/table_filters.js:480
+#: templates/js/translated/table_filters.js:484
msgid "Purchasable"
msgstr ""
@@ -10554,6 +10881,10 @@ msgstr ""
msgid "Show all notifications and history"
msgstr ""
+#: templates/price_data.html:7
+msgid "No data"
+msgstr ""
+
#: templates/qr_code.html:11
msgid "QR data not provided"
msgstr ""
@@ -10738,35 +11069,35 @@ msgstr ""
msgid "Important dates"
msgstr ""
-#: users/models.py:205
+#: users/models.py:207
msgid "Permission set"
msgstr ""
-#: users/models.py:213
+#: users/models.py:215
msgid "Group"
msgstr ""
-#: users/models.py:216
+#: users/models.py:218
msgid "View"
msgstr ""
-#: users/models.py:216
+#: users/models.py:218
msgid "Permission to view items"
msgstr ""
-#: users/models.py:218
+#: users/models.py:220
msgid "Permission to add items"
msgstr ""
-#: users/models.py:220
+#: users/models.py:222
msgid "Change"
msgstr ""
-#: users/models.py:220
+#: users/models.py:222
msgid "Permissions to edit items"
msgstr ""
-#: users/models.py:222
+#: users/models.py:224
msgid "Permission to delete items"
msgstr ""
diff --git a/InvenTree/locale/no/LC_MESSAGES/django.po b/InvenTree/locale/no/LC_MESSAGES/django.po
index 48748bf28b..af0d9c0708 100644
--- a/InvenTree/locale/no/LC_MESSAGES/django.po
+++ b/InvenTree/locale/no/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-11-04 14:07+0000\n"
-"PO-Revision-Date: 2022-11-04 19:02\n"
+"POT-Creation-Date: 2022-11-14 04:59+0000\n"
+"PO-Revision-Date: 2022-11-14 14:51\n"
"Last-Translator: \n"
"Language-Team: Norwegian\n"
"Language: no_NO\n"
@@ -17,7 +17,7 @@ msgstr ""
"X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n"
"X-Crowdin-File-ID: 154\n"
-#: InvenTree/api.py:54
+#: InvenTree/api.py:61
msgid "API endpoint not found"
msgstr "API endepunkt ikke funnet"
@@ -25,27 +25,27 @@ msgstr "API endepunkt ikke funnet"
msgid "Error details can be found in the admin panel"
msgstr "Feildetaljer kan ikke finnes i admin-panelet"
-#: InvenTree/fields.py:120
+#: InvenTree/fields.py:129
msgid "Enter date"
msgstr "Oppgi dato"
-#: InvenTree/fields.py:195 build/serializers.py:387
-#: build/templates/build/sidebar.html:21 company/models.py:525
-#: company/templates/company/sidebar.html:25 order/models.py:920
+#: InvenTree/fields.py:204 build/serializers.py:387
+#: build/templates/build/sidebar.html:21 company/models.py:529
+#: company/templates/company/sidebar.html:25 order/models.py:943
#: order/templates/order/po_sidebar.html:11
-#: order/templates/order/so_sidebar.html:17
-#: part/templates/part/part_sidebar.html:59
+#: order/templates/order/so_sidebar.html:17 part/admin.py:27
+#: part/templates/part/part_sidebar.html:57
#: report/templates/report/inventree_build_order_base.html:172
-#: stock/models.py:2002 stock/models.py:2110 stock/serializers.py:327
-#: stock/serializers.py:460 stock/serializers.py:541 stock/serializers.py:827
-#: stock/serializers.py:926 stock/serializers.py:1058
+#: stock/admin.py:103 stock/models.py:2018 stock/models.py:2126
+#: stock/serializers.py:321 stock/serializers.py:454 stock/serializers.py:535
+#: stock/serializers.py:826 stock/serializers.py:925 stock/serializers.py:1057
#: stock/templates/stock/stock_sidebar.html:25
-#: templates/js/translated/barcode.js:108 templates/js/translated/bom.js:1146
-#: templates/js/translated/company.js:1022
-#: templates/js/translated/order.js:2404 templates/js/translated/order.js:2552
-#: templates/js/translated/order.js:3048 templates/js/translated/order.js:3999
-#: templates/js/translated/order.js:4394 templates/js/translated/stock.js:1374
-#: templates/js/translated/stock.js:1982
+#: templates/js/translated/barcode.js:108 templates/js/translated/bom.js:1211
+#: templates/js/translated/company.js:1023
+#: templates/js/translated/order.js:2427 templates/js/translated/order.js:2561
+#: templates/js/translated/order.js:3059 templates/js/translated/order.js:3996
+#: templates/js/translated/order.js:4377 templates/js/translated/stock.js:1393
+#: templates/js/translated/stock.js:2000
msgid "Notes"
msgstr "Notater"
@@ -122,43 +122,43 @@ msgstr "Ekstern server returnerte tomt svar"
msgid "Supplied URL is not a valid image file"
msgstr "Angitt URL er ikke en gyldig bildefil"
-#: InvenTree/helpers.py:602 order/models.py:325 order/models.py:477
+#: InvenTree/helpers.py:589 order/models.py:329 order/models.py:496
msgid "Invalid quantity provided"
msgstr "Ugyldig mengde oppgitt"
-#: InvenTree/helpers.py:610
+#: InvenTree/helpers.py:597
msgid "Empty serial number string"
msgstr "Tom serienummerstreng"
-#: InvenTree/helpers.py:640
+#: InvenTree/helpers.py:627
msgid "Duplicate serial"
msgstr ""
-#: InvenTree/helpers.py:673 InvenTree/helpers.py:708
+#: InvenTree/helpers.py:660 InvenTree/helpers.py:695
#, python-brace-format
msgid "Invalid group range: {g}"
msgstr "Ugyldig gruppeserie: {g}"
-#: InvenTree/helpers.py:702
+#: InvenTree/helpers.py:689
#, python-brace-format
msgid "Group range {g} exceeds allowed quantity ({q})"
msgstr ""
-#: InvenTree/helpers.py:726 InvenTree/helpers.py:733 InvenTree/helpers.py:748
+#: InvenTree/helpers.py:713 InvenTree/helpers.py:720 InvenTree/helpers.py:735
#, python-brace-format
msgid "Invalid group sequence: {g}"
msgstr "Ugyldig gruppesekvense: {g}"
-#: InvenTree/helpers.py:758
+#: InvenTree/helpers.py:745
msgid "No serial numbers found"
msgstr "Ingen serienummer funnet"
-#: InvenTree/helpers.py:761
+#: InvenTree/helpers.py:748
#, python-brace-format
msgid "Number of unique serial numbers ({s}) must match quantity ({q})"
msgstr "Antall unike serienumre ({s}) må samsvare med antall ({q})"
-#: InvenTree/helpers.py:960
+#: InvenTree/helpers.py:947
msgid "Remove HTML tags from this value"
msgstr ""
@@ -194,7 +194,7 @@ msgstr "Fil mangler"
msgid "Missing external link"
msgstr "Mangler eksternlenke"
-#: InvenTree/models.py:405 stock/models.py:2104
+#: InvenTree/models.py:405 stock/models.py:2120
#: templates/js/translated/attachment.js:103
#: templates/js/translated/attachment.js:241
msgid "Attachment"
@@ -204,18 +204,19 @@ msgstr "Vedlegg"
msgid "Select file to attach"
msgstr "Velg fil å legge ved"
-#: InvenTree/models.py:412 company/models.py:125 company/models.py:277
-#: company/models.py:512 order/models.py:84 order/models.py:1259
-#: part/models.py:816 part/templates/part/part_scheduling.html:11
+#: InvenTree/models.py:412 common/models.py:2313 company/models.py:129
+#: company/models.py:281 company/models.py:516 order/models.py:85
+#: order/models.py:1282 part/admin.py:25 part/models.py:835
+#: part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
-#: templates/js/translated/company.js:691
-#: templates/js/translated/company.js:1011
-#: templates/js/translated/order.js:3037 templates/js/translated/part.js:1569
+#: stock/admin.py:102 templates/js/translated/company.js:692
+#: templates/js/translated/company.js:1012
+#: templates/js/translated/order.js:3048 templates/js/translated/part.js:1593
msgid "Link"
msgstr "Lenke"
-#: InvenTree/models.py:413 build/models.py:290 part/models.py:817
-#: stock/models.py:660
+#: InvenTree/models.py:413 build/models.py:290 part/models.py:836
+#: stock/models.py:676
msgid "Link to external URL"
msgstr "Lenke til ekstern URL"
@@ -228,12 +229,12 @@ msgstr "Kommenter"
msgid "File comment"
msgstr "Kommentar til fil"
-#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1744
-#: common/models.py:1745 common/models.py:1968 common/models.py:1969
-#: common/models.py:2231 common/models.py:2232 part/models.py:2254
-#: part/models.py:2274 plugin/models.py:264 plugin/models.py:265
+#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1756
+#: common/models.py:1757 common/models.py:1980 common/models.py:1981
+#: common/models.py:2243 common/models.py:2244 part/models.py:2867
+#: part/models.py:2887 plugin/models.py:264 plugin/models.py:265
#: report/templates/report/inventree_test_report_base.html:96
-#: templates/js/translated/stock.js:2651
+#: templates/js/translated/stock.js:2669
msgid "User"
msgstr "Bruker"
@@ -270,44 +271,45 @@ msgstr "Feil ved endring av navn"
msgid "Invalid choice"
msgstr "Ugyldig valg"
-#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1954
-#: company/models.py:359 label/models.py:101 part/models.py:760
-#: part/models.py:2429 plugin/models.py:94 report/models.py:152
+#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1966
+#: company/models.py:363 label/models.py:101 part/models.py:779
+#: part/models.py:3042 plugin/models.py:94 report/models.py:152
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/plugin.html:60
#: templates/InvenTree/settings/plugin.html:104
#: templates/InvenTree/settings/plugin_settings.html:23
#: templates/InvenTree/settings/settings.html:344
-#: templates/js/translated/company.js:580
-#: templates/js/translated/company.js:793
+#: templates/js/translated/company.js:581
+#: templates/js/translated/company.js:794
#: templates/js/translated/notification.js:71
-#: templates/js/translated/part.js:686 templates/js/translated/part.js:838
-#: templates/js/translated/part.js:1964 templates/js/translated/stock.js:2396
+#: templates/js/translated/part.js:700 templates/js/translated/part.js:865
+#: templates/js/translated/part.js:1988 templates/js/translated/stock.js:2414
msgid "Name"
msgstr "Navn"
#: InvenTree/models.py:564 build/models.py:163
-#: build/templates/build/detail.html:24 company/models.py:283
-#: company/models.py:518 company/templates/company/company_base.html:71
+#: build/templates/build/detail.html:24 company/models.py:287
+#: company/models.py:522 company/templates/company/company_base.html:71
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:108 label/models.py:108
-#: order/models.py:82 part/models.py:783 part/models.py:2438
-#: part/templates/part/category.html:75 part/templates/part/part_base.html:172
+#: order/models.py:83 part/admin.py:141 part/admin.py:222 part/models.py:802
+#: part/models.py:3051 part/templates/part/category.html:75
+#: part/templates/part/part_base.html:172
#: part/templates/part/part_scheduling.html:12 report/models.py:165
#: report/models.py:507 report/models.py:551
#: report/templates/report/inventree_build_order_base.html:117
-#: stock/templates/stock/location.html:117
+#: stock/admin.py:25 stock/templates/stock/location.html:117
#: templates/InvenTree/settings/plugin_settings.html:28
#: templates/InvenTree/settings/settings.html:355
-#: templates/js/translated/bom.js:579 templates/js/translated/bom.js:887
-#: templates/js/translated/build.js:2580 templates/js/translated/company.js:444
-#: templates/js/translated/company.js:702
-#: templates/js/translated/company.js:986 templates/js/translated/order.js:1988
-#: templates/js/translated/order.js:2220 templates/js/translated/order.js:2826
-#: templates/js/translated/part.js:745 templates/js/translated/part.js:1187
-#: templates/js/translated/part.js:1464 templates/js/translated/part.js:2000
-#: templates/js/translated/part.js:2075 templates/js/translated/stock.js:1748
-#: templates/js/translated/stock.js:2428 templates/js/translated/stock.js:2488
+#: templates/js/translated/bom.js:592 templates/js/translated/bom.js:895
+#: templates/js/translated/build.js:2580 templates/js/translated/company.js:445
+#: templates/js/translated/company.js:703
+#: templates/js/translated/company.js:987 templates/js/translated/order.js:2022
+#: templates/js/translated/order.js:2259 templates/js/translated/order.js:2837
+#: templates/js/translated/part.js:759 templates/js/translated/part.js:1208
+#: templates/js/translated/part.js:1475 templates/js/translated/part.js:2024
+#: templates/js/translated/part.js:2099 templates/js/translated/stock.js:1767
+#: templates/js/translated/stock.js:2446 templates/js/translated/stock.js:2506
msgid "Description"
msgstr "Beskrivelse"
@@ -320,7 +322,7 @@ msgid "parent"
msgstr "overkategori"
#: InvenTree/models.py:580 InvenTree/models.py:581
-#: templates/js/translated/part.js:2009 templates/js/translated/stock.js:2437
+#: templates/js/translated/part.js:2033 templates/js/translated/stock.js:2455
msgid "Path"
msgstr ""
@@ -332,7 +334,7 @@ msgstr ""
msgid "Third party barcode data"
msgstr ""
-#: InvenTree/models.py:688 order/serializers.py:486
+#: InvenTree/models.py:688 order/serializers.py:477
msgid "Barcode Hash"
msgstr ""
@@ -352,187 +354,187 @@ msgstr ""
msgid "An error has been logged by the server."
msgstr ""
-#: InvenTree/serializers.py:58 part/models.py:2774
+#: InvenTree/serializers.py:58 part/models.py:3387
msgid "Must be a valid number"
msgstr "Nummer må være gyldig"
-#: InvenTree/serializers.py:265
+#: InvenTree/serializers.py:266
msgid "Filename"
msgstr "Filnavn"
-#: InvenTree/serializers.py:300
+#: InvenTree/serializers.py:301
msgid "Invalid value"
msgstr "Ugyldig verdi"
-#: InvenTree/serializers.py:322
+#: InvenTree/serializers.py:323
msgid "Data File"
msgstr "Data fil"
-#: InvenTree/serializers.py:323
+#: InvenTree/serializers.py:324
msgid "Select data file for upload"
msgstr "Velg datafil for opplasting"
-#: InvenTree/serializers.py:344
+#: InvenTree/serializers.py:345
msgid "Unsupported file type"
msgstr "Filtypen støttes ikke"
-#: InvenTree/serializers.py:350
+#: InvenTree/serializers.py:351
msgid "File is too large"
msgstr "Filen er for stor"
-#: InvenTree/serializers.py:371
+#: InvenTree/serializers.py:372
msgid "No columns found in file"
msgstr "Ingen kolonner funnet i filen"
-#: InvenTree/serializers.py:374
+#: InvenTree/serializers.py:375
msgid "No data rows found in file"
msgstr "Ingen datalader funnet i fil"
-#: InvenTree/serializers.py:497
+#: InvenTree/serializers.py:498
msgid "No data rows provided"
msgstr "Ingen datalader oppgitt"
-#: InvenTree/serializers.py:500
+#: InvenTree/serializers.py:501
msgid "No data columns supplied"
msgstr "Ingen datakolonner angitt"
-#: InvenTree/serializers.py:577
+#: InvenTree/serializers.py:578
#, python-brace-format
msgid "Missing required column: '{name}'"
msgstr "Mangler påkrevd kolonne: '{name}'"
-#: InvenTree/serializers.py:586
+#: InvenTree/serializers.py:587
#, python-brace-format
msgid "Duplicate column: '{col}'"
msgstr "Dupliser kolonne: '{col}'"
-#: InvenTree/serializers.py:605
+#: InvenTree/serializers.py:606
#: templates/InvenTree/settings/mixins/urls.html:14
msgid "URL"
msgstr ""
-#: InvenTree/serializers.py:606
+#: InvenTree/serializers.py:607
msgid "URL of remote image file"
msgstr ""
-#: InvenTree/serializers.py:620
+#: InvenTree/serializers.py:621
msgid "Downloading images from remote URL is not enabled"
msgstr ""
-#: InvenTree/settings.py:621
+#: InvenTree/settings.py:627
msgid "Czech"
msgstr "Tsjekkisk"
-#: InvenTree/settings.py:622
+#: InvenTree/settings.py:628
msgid "Danish"
-msgstr ""
+msgstr "Dansk"
-#: InvenTree/settings.py:623
+#: InvenTree/settings.py:629
msgid "German"
msgstr "Tysk"
-#: InvenTree/settings.py:624
+#: InvenTree/settings.py:630
msgid "Greek"
msgstr "Gresk"
-#: InvenTree/settings.py:625
+#: InvenTree/settings.py:631
msgid "English"
msgstr "Engelsk"
-#: InvenTree/settings.py:626
+#: InvenTree/settings.py:632
msgid "Spanish"
msgstr "Spansk"
-#: InvenTree/settings.py:627
+#: InvenTree/settings.py:633
msgid "Spanish (Mexican)"
msgstr "Spansk (Meksikansk)"
-#: InvenTree/settings.py:628
+#: InvenTree/settings.py:634
msgid "Farsi / Persian"
msgstr "Farsi / Persisk"
-#: InvenTree/settings.py:629
+#: InvenTree/settings.py:635
msgid "French"
msgstr "Fransk"
-#: InvenTree/settings.py:630
+#: InvenTree/settings.py:636
msgid "Hebrew"
msgstr "Hebraisk"
-#: InvenTree/settings.py:631
+#: InvenTree/settings.py:637
msgid "Hungarian"
msgstr "Ungarsk"
-#: InvenTree/settings.py:632
+#: InvenTree/settings.py:638
msgid "Italian"
msgstr "Italiensk"
-#: InvenTree/settings.py:633
+#: InvenTree/settings.py:639
msgid "Japanese"
msgstr "Japansk"
-#: InvenTree/settings.py:634
+#: InvenTree/settings.py:640
msgid "Korean"
msgstr "Koreansk"
-#: InvenTree/settings.py:635
+#: InvenTree/settings.py:641
msgid "Dutch"
msgstr "Nederlandsk"
-#: InvenTree/settings.py:636
+#: InvenTree/settings.py:642
msgid "Norwegian"
msgstr "Norsk"
-#: InvenTree/settings.py:637
+#: InvenTree/settings.py:643
msgid "Polish"
msgstr "Polsk"
-#: InvenTree/settings.py:638
+#: InvenTree/settings.py:644
msgid "Portuguese"
msgstr "Portugisisk"
-#: InvenTree/settings.py:639
+#: InvenTree/settings.py:645
msgid "Portuguese (Brazilian)"
msgstr "Portugisisk (Brasilian)"
-#: InvenTree/settings.py:640
+#: InvenTree/settings.py:646
msgid "Russian"
msgstr "Russisk"
-#: InvenTree/settings.py:641
+#: InvenTree/settings.py:647
msgid "Swedish"
msgstr "Svensk"
-#: InvenTree/settings.py:642
+#: InvenTree/settings.py:648
msgid "Thai"
msgstr "Thailandsk"
-#: InvenTree/settings.py:643
+#: InvenTree/settings.py:649
msgid "Turkish"
msgstr "Tyrkisk"
-#: InvenTree/settings.py:644
+#: InvenTree/settings.py:650
msgid "Vietnamese"
msgstr "Vietnamesisk"
-#: InvenTree/settings.py:645
+#: InvenTree/settings.py:651
msgid "Chinese"
msgstr "Kinesisk"
-#: InvenTree/status.py:99
+#: InvenTree/status.py:98
msgid "Background worker check failed"
msgstr "Bakgrunnsarbeiderkontroll mislyktes"
-#: InvenTree/status.py:103
+#: InvenTree/status.py:102
msgid "Email backend not configured"
msgstr "E-post backend ikke konfigurert"
-#: InvenTree/status.py:106
+#: InvenTree/status.py:105
msgid "InvenTree system health checks failed"
msgstr "Helsekontroll av IvenTree system mislyktes"
#: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140
-#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:342
+#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:346
msgid "Pending"
msgstr "Ventende"
@@ -561,14 +563,14 @@ msgstr "Tapt"
msgid "Returned"
msgstr "Returnert"
-#: InvenTree/status_codes.py:141 order/models.py:1142
-#: templates/js/translated/order.js:3625 templates/js/translated/order.js:3974
+#: InvenTree/status_codes.py:141 order/models.py:1165
+#: templates/js/translated/order.js:3636 templates/js/translated/order.js:3971
msgid "Shipped"
msgstr "Sendt"
#: InvenTree/status_codes.py:179
msgid "OK"
-msgstr ""
+msgstr "OK"
#: InvenTree/status_codes.py:180
msgid "Attention needed"
@@ -588,7 +590,7 @@ msgstr "Avvist"
#: InvenTree/status_codes.py:185
msgid "Quarantined"
-msgstr ""
+msgstr "Karantene"
#: InvenTree/status_codes.py:259
msgid "Legacy stock tracking entry"
@@ -646,7 +648,7 @@ msgstr "Delt fra overordnet element"
msgid "Split child item"
msgstr "Delt fra underelement"
-#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2086
+#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2104
msgid "Merged stock items"
msgstr "Sammenslått lagervare"
@@ -654,7 +656,7 @@ msgstr "Sammenslått lagervare"
msgid "Converted to variant"
msgstr "Konvertert til variant"
-#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:229
+#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:233
msgid "Sent to customer"
msgstr "Sendt til kunde"
@@ -725,7 +727,7 @@ msgstr "Systeminformasjon"
#: InvenTree/views.py:780 templates/navbar.html:163
msgid "About InvenTree"
-msgstr ""
+msgstr "Om InvenTree"
#: build/api.py:219
msgid "Build must be cancelled before it can be deleted"
@@ -746,7 +748,7 @@ msgstr "Build ordre"
#: build/models.py:111 build/templates/build/build_base.html:13
#: build/templates/build/index.html:8 build/templates/build/index.html:12
-#: order/templates/order/sales_order_detail.html:120
+#: order/templates/order/sales_order_detail.html:125
#: order/templates/order/so_sidebar.html:13
#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221
#: templates/InvenTree/search.html:141
@@ -759,15 +761,15 @@ msgstr "Build Ordre"
msgid "Build Order Reference"
msgstr "Bygg ordrereferanse"
-#: build/models.py:155 order/models.py:240 order/models.py:632
-#: order/models.py:918 part/models.py:2684
+#: build/models.py:155 order/models.py:241 order/models.py:651
+#: order/models.py:941 part/admin.py:224 part/models.py:3297
#: part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:92
-#: templates/js/translated/bom.js:716 templates/js/translated/bom.js:897
-#: templates/js/translated/build.js:1843 templates/js/translated/order.js:2251
-#: templates/js/translated/order.js:2481 templates/js/translated/order.js:3818
-#: templates/js/translated/order.js:4323
+#: templates/js/translated/bom.js:729 templates/js/translated/bom.js:905
+#: templates/js/translated/build.js:1843 templates/js/translated/order.js:2290
+#: templates/js/translated/order.js:2508 templates/js/translated/order.js:3833
+#: templates/js/translated/order.js:4324 templates/js/translated/pricing.js:119
msgid "Reference"
msgstr "Referanse"
@@ -785,39 +787,40 @@ msgid "BuildOrder to which this build is allocated"
msgstr "Build order som denne build er tildelt til"
#: build/models.py:180 build/templates/build/build_base.html:80
-#: build/templates/build/detail.html:29 company/models.py:680
-#: order/models.py:1015 order/models.py:1126 order/models.py:1127
-#: part/models.py:343 part/models.py:2200 part/models.py:2215
-#: part/models.py:2234 part/models.py:2252 part/models.py:2351
-#: part/models.py:2472 part/models.py:2564 part/models.py:2649
-#: part/models.py:2943 part/serializers.py:828
+#: build/templates/build/detail.html:29 company/models.py:684
+#: order/models.py:1038 order/models.py:1149 order/models.py:1150
+#: part/models.py:362 part/models.py:2700 part/models.py:2813
+#: part/models.py:2828 part/models.py:2847 part/models.py:2865
+#: part/models.py:2964 part/models.py:3085 part/models.py:3177
+#: part/models.py:3262 part/models.py:3578 part/serializers.py:852
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
#: report/templates/report/inventree_build_order_base.html:109
#: report/templates/report/inventree_po_report.html:89
-#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:86
-#: stock/serializers.py:494 templates/InvenTree/search.html:82
+#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:90
+#: stock/serializers.py:488 templates/InvenTree/search.html:82
#: templates/email/build_order_completed.html:17
#: templates/email/build_order_required_stock.html:17
#: templates/email/low_stock_notification.html:16
#: templates/email/overdue_build_order.html:16
-#: templates/js/translated/barcode.js:479 templates/js/translated/bom.js:578
-#: templates/js/translated/bom.js:715 templates/js/translated/bom.js:841
+#: templates/js/translated/barcode.js:479 templates/js/translated/bom.js:591
+#: templates/js/translated/bom.js:728 templates/js/translated/bom.js:849
#: templates/js/translated/build.js:1214 templates/js/translated/build.js:1711
#: templates/js/translated/build.js:2194 templates/js/translated/build.js:2585
-#: templates/js/translated/company.js:301
-#: templates/js/translated/company.js:531
-#: templates/js/translated/company.js:643
-#: templates/js/translated/company.js:904 templates/js/translated/order.js:106
-#: templates/js/translated/order.js:1134 templates/js/translated/order.js:1638
-#: templates/js/translated/order.js:2205 templates/js/translated/order.js:3180
-#: templates/js/translated/order.js:3576 templates/js/translated/order.js:3802
-#: templates/js/translated/part.js:1172 templates/js/translated/part.js:1244
-#: templates/js/translated/part.js:1442 templates/js/translated/stock.js:586
-#: templates/js/translated/stock.js:751 templates/js/translated/stock.js:958
-#: templates/js/translated/stock.js:1700 templates/js/translated/stock.js:2514
-#: templates/js/translated/stock.js:2709 templates/js/translated/stock.js:2843
+#: templates/js/translated/company.js:302
+#: templates/js/translated/company.js:532
+#: templates/js/translated/company.js:644
+#: templates/js/translated/company.js:905 templates/js/translated/order.js:106
+#: templates/js/translated/order.js:1168 templates/js/translated/order.js:1672
+#: templates/js/translated/order.js:2244 templates/js/translated/order.js:3191
+#: templates/js/translated/order.js:3587 templates/js/translated/order.js:3817
+#: templates/js/translated/part.js:1193 templates/js/translated/part.js:1265
+#: templates/js/translated/part.js:1452 templates/js/translated/pricing.js:102
+#: templates/js/translated/stock.js:605 templates/js/translated/stock.js:770
+#: templates/js/translated/stock.js:977 templates/js/translated/stock.js:1719
+#: templates/js/translated/stock.js:2532 templates/js/translated/stock.js:2727
+#: templates/js/translated/stock.js:2861
msgid "Part"
msgstr "Del"
@@ -834,7 +837,7 @@ msgid "SalesOrder to which this build is allocated"
msgstr "Salgorder som denne build er tildelt til"
#: build/models.py:202 build/serializers.py:822
-#: templates/js/translated/build.js:2182 templates/js/translated/order.js:3168
+#: templates/js/translated/build.js:2182 templates/js/translated/order.js:3179
msgid "Source Location"
msgstr "Kilde plassering"
@@ -874,8 +877,8 @@ msgstr "Byggstatus"
msgid "Build status code"
msgstr "Byggstatuskode"
-#: build/models.py:245 build/serializers.py:224 order/serializers.py:464
-#: stock/models.py:664 templates/js/translated/order.js:1496
+#: build/models.py:245 build/serializers.py:224 order/serializers.py:455
+#: stock/models.py:680 templates/js/translated/order.js:1530
msgid "Batch Code"
msgstr "Batch kode"
@@ -883,12 +886,12 @@ msgstr "Batch kode"
msgid "Batch code for this build output"
msgstr "Batch kode for denne build output"
-#: build/models.py:252 order/models.py:86 part/models.py:952
-#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2839
+#: build/models.py:252 order/models.py:87 part/models.py:971
+#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2850
msgid "Creation Date"
msgstr "Opprettelsesdato"
-#: build/models.py:256 order/models.py:662
+#: build/models.py:256 order/models.py:681
msgid "Target completion date"
msgstr "Forventet sluttdato"
@@ -896,7 +899,7 @@ msgstr "Forventet sluttdato"
msgid "Target date for build completion. Build will be overdue after this date."
msgstr "Forventet dato for ferdigstillelse. Build er forvalt etter denne datoen."
-#: build/models.py:260 order/models.py:291
+#: build/models.py:260 order/models.py:292
#: templates/js/translated/build.js:2662
msgid "Completion Date"
msgstr "Fullført dato"
@@ -914,11 +917,11 @@ msgid "User who issued this build order"
msgstr "Brukeren som utstede denne prosjekt order"
#: build/models.py:283 build/templates/build/build_base.html:193
-#: build/templates/build/detail.html:115 order/models.py:100
+#: build/templates/build/detail.html:115 order/models.py:101
#: order/templates/order/order_base.html:185
-#: order/templates/order/sales_order_base.html:183 part/models.py:956
+#: order/templates/order/sales_order_base.html:183 part/models.py:975
#: report/templates/report/inventree_build_order_base.html:158
-#: templates/js/translated/build.js:2642 templates/js/translated/order.js:2022
+#: templates/js/translated/build.js:2642 templates/js/translated/order.js:2056
msgid "Responsible"
msgstr "Ansvarlig"
@@ -929,7 +932,7 @@ msgstr "Bruker ansvarlig for denne prosjekt order"
#: build/models.py:289 build/templates/build/detail.html:101
#: company/templates/company/manufacturer_part.html:107
#: company/templates/company/supplier_part.html:188
-#: part/templates/part/part_base.html:361 stock/models.py:658
+#: part/templates/part/part_base.html:376 stock/models.py:674
#: stock/templates/stock/item_base.html:203
msgid "External Link"
msgstr "Ekstern link"
@@ -968,11 +971,11 @@ msgstr "Prosjektvare må spesifisere en prosjekt utdata, siden hovedvaren er mar
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr ""
-#: build/models.py:1191 order/models.py:1393
+#: build/models.py:1191 order/models.py:1416
msgid "Stock item is over-allocated"
msgstr "Lagervare er overtildelt"
-#: build/models.py:1197 order/models.py:1396
+#: build/models.py:1197 order/models.py:1419
msgid "Allocation quantity must be greater than zero"
msgstr "Tildeling antallet må være større enn null"
@@ -994,18 +997,18 @@ msgstr "Prosjekt"
msgid "Build to allocate parts"
msgstr "Bygge for å tildele deler"
-#: build/models.py:1346 build/serializers.py:663 order/serializers.py:1039
-#: order/serializers.py:1060 stock/serializers.py:398 stock/serializers.py:758
-#: stock/serializers.py:884 stock/templates/stock/item_base.html:10
+#: build/models.py:1346 build/serializers.py:663 order/serializers.py:1032
+#: order/serializers.py:1053 stock/serializers.py:392 stock/serializers.py:757
+#: stock/serializers.py:883 stock/templates/stock/item_base.html:10
#: stock/templates/stock/item_base.html:23
#: stock/templates/stock/item_base.html:197
#: templates/js/translated/build.js:790 templates/js/translated/build.js:795
#: templates/js/translated/build.js:2196 templates/js/translated/build.js:2747
-#: templates/js/translated/order.js:107 templates/js/translated/order.js:3181
-#: templates/js/translated/order.js:3483 templates/js/translated/order.js:3488
-#: templates/js/translated/order.js:3583 templates/js/translated/order.js:3675
-#: templates/js/translated/stock.js:587 templates/js/translated/stock.js:752
-#: templates/js/translated/stock.js:2587
+#: templates/js/translated/order.js:107 templates/js/translated/order.js:3192
+#: templates/js/translated/order.js:3494 templates/js/translated/order.js:3499
+#: templates/js/translated/order.js:3594 templates/js/translated/order.js:3686
+#: templates/js/translated/stock.js:606 templates/js/translated/stock.js:771
+#: templates/js/translated/stock.js:2605
msgid "Stock Item"
msgstr "Lagervare"
@@ -1015,12 +1018,10 @@ msgstr "Kilde lagervare"
#: build/models.py:1359 build/serializers.py:192
#: build/templates/build/build_base.html:85
-#: build/templates/build/detail.html:34 common/models.py:1776
-#: company/templates/company/supplier_part.html:341 order/models.py:911
-#: order/models.py:1437 order/serializers.py:1213
-#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:40
-#: part/models.py:2665 part/templates/part/detail.html:938
-#: part/templates/part/detail.html:1024
+#: build/templates/build/detail.html:34 common/models.py:1788
+#: order/models.py:934 order/models.py:1460 order/serializers.py:1206
+#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:223
+#: part/forms.py:40 part/models.py:3278
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_build_order_base.html:113
@@ -1028,25 +1029,29 @@ msgstr "Kilde lagervare"
#: report/templates/report/inventree_so_report.html:91
#: report/templates/report/inventree_test_report_base.html:81
#: report/templates/report/inventree_test_report_base.html:139
-#: stock/serializers.py:291 stock/templates/stock/item_base.html:290
+#: stock/admin.py:86 stock/serializers.py:285
+#: stock/templates/stock/item_base.html:290
#: stock/templates/stock/item_base.html:298
#: templates/email/build_order_completed.html:18
-#: templates/js/translated/barcode.js:481 templates/js/translated/bom.js:717
-#: templates/js/translated/bom.js:905 templates/js/translated/build.js:474
+#: templates/js/translated/barcode.js:481 templates/js/translated/bom.js:730
+#: templates/js/translated/bom.js:913 templates/js/translated/build.js:474
#: templates/js/translated/build.js:626 templates/js/translated/build.js:817
#: templates/js/translated/build.js:1236 templates/js/translated/build.js:1737
#: templates/js/translated/build.js:2197
+#: templates/js/translated/company.js:1159
#: templates/js/translated/model_renderers.js:120
-#: templates/js/translated/order.js:123 templates/js/translated/order.js:1137
-#: templates/js/translated/order.js:2257 templates/js/translated/order.js:2487
-#: templates/js/translated/order.js:3182 templates/js/translated/order.js:3502
-#: templates/js/translated/order.js:3589 templates/js/translated/order.js:3681
-#: templates/js/translated/order.js:3824 templates/js/translated/order.js:4329
-#: templates/js/translated/part.js:1036 templates/js/translated/part.js:2220
-#: templates/js/translated/part.js:2689 templates/js/translated/part.js:2730
-#: templates/js/translated/part.js:2808 templates/js/translated/stock.js:458
-#: templates/js/translated/stock.js:612 templates/js/translated/stock.js:782
-#: templates/js/translated/stock.js:2636 templates/js/translated/stock.js:2721
+#: templates/js/translated/order.js:123 templates/js/translated/order.js:1171
+#: templates/js/translated/order.js:2296 templates/js/translated/order.js:2514
+#: templates/js/translated/order.js:3193 templates/js/translated/order.js:3513
+#: templates/js/translated/order.js:3600 templates/js/translated/order.js:3692
+#: templates/js/translated/order.js:3839 templates/js/translated/order.js:4330
+#: templates/js/translated/part.js:1063 templates/js/translated/part.js:2546
+#: templates/js/translated/pricing.js:114
+#: templates/js/translated/pricing.js:207
+#: templates/js/translated/pricing.js:255
+#: templates/js/translated/pricing.js:349 templates/js/translated/stock.js:477
+#: templates/js/translated/stock.js:631 templates/js/translated/stock.js:801
+#: templates/js/translated/stock.js:2654 templates/js/translated/stock.js:2739
msgid "Quantity"
msgstr "Antall"
@@ -1087,10 +1092,10 @@ msgstr ""
msgid "Enter quantity for build output"
msgstr "Angi antall for build utgang"
-#: build/serializers.py:207 build/serializers.py:683 order/models.py:323
-#: order/serializers.py:304 order/serializers.py:459 part/serializers.py:558
-#: part/serializers.py:991 stock/models.py:518 stock/models.py:1253
-#: stock/serializers.py:300
+#: build/serializers.py:207 build/serializers.py:683 order/models.py:327
+#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:644
+#: part/serializers.py:1015 stock/models.py:534 stock/models.py:1269
+#: stock/serializers.py:294
msgid "Quantity must be greater than zero"
msgstr "Mengden må være større enn null"
@@ -1102,9 +1107,9 @@ msgstr ""
msgid "Integer quantity required, as the bill of materials contains trackable parts"
msgstr ""
-#: build/serializers.py:231 order/serializers.py:472 order/serializers.py:1217
-#: stock/serializers.py:309 templates/js/translated/order.js:1507
-#: templates/js/translated/stock.js:271 templates/js/translated/stock.js:459
+#: build/serializers.py:231 order/serializers.py:463 order/serializers.py:1210
+#: stock/serializers.py:303 templates/js/translated/order.js:1541
+#: templates/js/translated/stock.js:290 templates/js/translated/stock.js:478
msgid "Serial Numbers"
msgstr "Serienummer"
@@ -1114,13 +1119,13 @@ msgstr "Angi serienummer for bygge-utganger"
#: build/serializers.py:245
msgid "Auto Allocate Serial Numbers"
-msgstr ""
+msgstr "Automatisk tildeling av serienummere"
#: build/serializers.py:246
msgid "Automatically allocate required items with matching serial numbers"
-msgstr ""
+msgstr "Automatisk allokering av nødvendige elementer med tilsvarende serienummer"
-#: build/serializers.py:281 stock/api.py:589
+#: build/serializers.py:281 stock/api.py:599
msgid "The following serial numbers already exist or are invalid"
msgstr ""
@@ -1128,18 +1133,18 @@ msgstr ""
msgid "A list of build outputs must be provided"
msgstr ""
-#: build/serializers.py:369 order/serializers.py:445 order/serializers.py:556
-#: stock/serializers.py:320 stock/serializers.py:455 stock/serializers.py:536
-#: stock/serializers.py:919 stock/serializers.py:1152
+#: build/serializers.py:369 order/serializers.py:436 order/serializers.py:547
+#: stock/serializers.py:314 stock/serializers.py:449 stock/serializers.py:530
+#: stock/serializers.py:918 stock/serializers.py:1151
#: stock/templates/stock/item_base.html:388
#: templates/js/translated/barcode.js:480
#: templates/js/translated/barcode.js:724 templates/js/translated/build.js:802
-#: templates/js/translated/build.js:1749 templates/js/translated/order.js:1534
-#: templates/js/translated/order.js:3495 templates/js/translated/order.js:3600
-#: templates/js/translated/order.js:3608 templates/js/translated/order.js:3689
-#: templates/js/translated/part.js:181 templates/js/translated/stock.js:588
-#: templates/js/translated/stock.js:753 templates/js/translated/stock.js:960
-#: templates/js/translated/stock.js:1856 templates/js/translated/stock.js:2528
+#: templates/js/translated/build.js:1749 templates/js/translated/order.js:1568
+#: templates/js/translated/order.js:3506 templates/js/translated/order.js:3611
+#: templates/js/translated/order.js:3619 templates/js/translated/order.js:3700
+#: templates/js/translated/part.js:177 templates/js/translated/stock.js:607
+#: templates/js/translated/stock.js:772 templates/js/translated/stock.js:979
+#: templates/js/translated/stock.js:1875 templates/js/translated/stock.js:2546
msgid "Location"
msgstr "Beliggenhet"
@@ -1148,26 +1153,27 @@ msgid "Location for completed build outputs"
msgstr ""
#: build/serializers.py:376 build/templates/build/build_base.html:145
-#: build/templates/build/detail.html:62 order/models.py:651
-#: order/serializers.py:482 stock/templates/stock/item_base.html:421
+#: build/templates/build/detail.html:62 order/models.py:670
+#: order/serializers.py:473 stock/admin.py:89
+#: stock/templates/stock/item_base.html:421
#: templates/js/translated/barcode.js:214 templates/js/translated/build.js:2614
-#: templates/js/translated/order.js:1643 templates/js/translated/order.js:1992
-#: templates/js/translated/order.js:2831 templates/js/translated/stock.js:1831
-#: templates/js/translated/stock.js:2605 templates/js/translated/stock.js:2737
+#: templates/js/translated/order.js:1677 templates/js/translated/order.js:2026
+#: templates/js/translated/order.js:2842 templates/js/translated/stock.js:1850
+#: templates/js/translated/stock.js:2623 templates/js/translated/stock.js:2755
msgid "Status"
-msgstr ""
+msgstr "Status"
#: build/serializers.py:382
msgid "Accept Incomplete Allocation"
-msgstr ""
+msgstr "Godta ufullstendig tildeling"
#: build/serializers.py:383
msgid "Complete outputs if stock has not been fully allocated"
-msgstr ""
+msgstr "Fullstendig produkt dersom lagerbeholdning ikke er fullt tildelt"
#: build/serializers.py:452
msgid "Remove Allocated Stock"
-msgstr ""
+msgstr "Fjern tildelt lagerbeholdning"
#: build/serializers.py:453
msgid "Subtract any stock which has already been allocated to this build"
@@ -1213,7 +1219,7 @@ msgstr ""
msgid "Required stock has not been fully allocated"
msgstr "Påkrevd varer er ikke fullt tildelt"
-#: build/serializers.py:545 order/serializers.py:208 order/serializers.py:1107
+#: build/serializers.py:545 order/serializers.py:202 order/serializers.py:1100
msgid "Accept Incomplete"
msgstr ""
@@ -1229,8 +1235,8 @@ msgstr ""
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:595 build/serializers.py:640 part/models.py:2801
-#: part/models.py:2935
+#: build/serializers.py:595 build/serializers.py:640 part/models.py:3414
+#: part/models.py:3570
msgid "BOM Item"
msgstr "BOM varer"
@@ -1246,11 +1252,11 @@ msgstr ""
msgid "bom_item.part must point to the same part as the build order"
msgstr ""
-#: build/serializers.py:669 stock/serializers.py:771
+#: build/serializers.py:669 stock/serializers.py:770
msgid "Item must be in stock"
msgstr "Varen må være på lager"
-#: build/serializers.py:727 order/serializers.py:1097
+#: build/serializers.py:727 order/serializers.py:1090
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr "Tilgjengelig mengde ({q}) overskredet"
@@ -1267,7 +1273,7 @@ msgstr ""
msgid "This stock item has already been allocated to this build output"
msgstr ""
-#: build/serializers.py:768 order/serializers.py:1381
+#: build/serializers.py:768 order/serializers.py:1374
msgid "Allocation items must be provided"
msgstr ""
@@ -1324,7 +1330,7 @@ msgstr ""
#: build/templates/build/build_base.html:50
msgid "Build actions"
-msgstr ""
+msgstr "Bygg handlinger"
#: build/templates/build/build_base.html:54
msgid "Edit Build"
@@ -1382,13 +1388,13 @@ msgid "Stock has not been fully allocated to this Build Order"
msgstr ""
#: build/templates/build/build_base.html:154
-#: build/templates/build/detail.html:131 order/models.py:924
+#: build/templates/build/detail.html:131 order/models.py:947
#: order/templates/order/order_base.html:171
#: order/templates/order/sales_order_base.html:164
#: report/templates/report/inventree_build_order_base.html:125
-#: templates/js/translated/build.js:2654 templates/js/translated/order.js:2009
-#: templates/js/translated/order.js:2351 templates/js/translated/order.js:2847
-#: templates/js/translated/order.js:3887 templates/js/translated/part.js:1051
+#: templates/js/translated/build.js:2654 templates/js/translated/order.js:2043
+#: templates/js/translated/order.js:2374 templates/js/translated/order.js:2858
+#: templates/js/translated/order.js:3884 templates/js/translated/part.js:1078
msgid "Target Date"
msgstr "Måldato"
@@ -1401,29 +1407,29 @@ msgstr ""
#: build/templates/build/build_base.html:204
#: order/templates/order/order_base.html:107
#: order/templates/order/sales_order_base.html:94
-#: templates/js/translated/table_filters.js:328
-#: templates/js/translated/table_filters.js:369
-#: templates/js/translated/table_filters.js:399
+#: templates/js/translated/table_filters.js:332
+#: templates/js/translated/table_filters.js:373
+#: templates/js/translated/table_filters.js:403
msgid "Overdue"
msgstr ""
#: build/templates/build/build_base.html:166
#: build/templates/build/detail.html:67 build/templates/build/detail.html:142
#: order/templates/order/sales_order_base.html:171
-#: templates/js/translated/table_filters.js:408
+#: templates/js/translated/table_filters.js:412
msgid "Completed"
msgstr "Fullført"
#: build/templates/build/build_base.html:179
-#: build/templates/build/detail.html:94 order/models.py:1119
-#: order/models.py:1213 order/models.py:1344
+#: build/templates/build/detail.html:94 order/models.py:1142
+#: order/models.py:1236 order/models.py:1367
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
#: report/templates/report/inventree_build_order_base.html:135
#: report/templates/report/inventree_so_report.html:77
#: stock/templates/stock/item_base.html:368
#: templates/email/overdue_sales_order.html:15
-#: templates/js/translated/order.js:2793
+#: templates/js/translated/order.js:2804 templates/js/translated/pricing.js:637
msgid "Sales Order"
msgstr "Salgsorder"
@@ -1449,8 +1455,8 @@ msgstr "Lager kilde"
msgid "Stock can be taken from any available location."
msgstr "Lagervare kan hentes fra alle tilgengelige steder."
-#: build/templates/build/detail.html:49 order/models.py:1037
-#: templates/js/translated/order.js:1644 templates/js/translated/order.js:2393
+#: build/templates/build/detail.html:49 order/models.py:1060
+#: templates/js/translated/order.js:1678 templates/js/translated/order.js:2416
msgid "Destination"
msgstr "Destinasjon"
@@ -1462,14 +1468,14 @@ msgstr "Målplassering er ikke spesifisert"
msgid "Allocated Parts"
msgstr "Tildelte deler"
-#: build/templates/build/detail.html:80
+#: build/templates/build/detail.html:80 stock/admin.py:88
#: stock/templates/stock/item_base.html:168
#: templates/js/translated/build.js:1240
#: templates/js/translated/model_renderers.js:124
-#: templates/js/translated/stock.js:1026 templates/js/translated/stock.js:1845
-#: templates/js/translated/stock.js:2744
-#: templates/js/translated/table_filters.js:167
-#: templates/js/translated/table_filters.js:258
+#: templates/js/translated/stock.js:1045 templates/js/translated/stock.js:1864
+#: templates/js/translated/stock.js:2762
+#: templates/js/translated/table_filters.js:171
+#: templates/js/translated/table_filters.js:262
msgid "Batch"
msgstr ""
@@ -1510,7 +1516,7 @@ msgstr ""
#: build/templates/build/detail.html:180
msgid "Auto Allocate"
-msgstr ""
+msgstr "Automatisk tildeling"
#: build/templates/build/detail.html:182
msgid "Manually allocate stock to build"
@@ -1527,7 +1533,7 @@ msgstr "Bestill nødvendige deler"
#: build/templates/build/detail.html:187
#: company/templates/company/detail.html:37
#: company/templates/company/detail.html:85
-#: part/templates/part/category.html:178 templates/js/translated/order.js:1177
+#: part/templates/part/category.html:178 templates/js/translated/order.js:1211
msgid "Order Parts"
msgstr "Bestill deler"
@@ -1597,10 +1603,10 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:151
#: company/templates/company/manufacturer_part_sidebar.html:9
#: order/templates/order/po_sidebar.html:9
-#: order/templates/order/purchase_order_detail.html:82
-#: order/templates/order/sales_order_detail.html:135
-#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:212
-#: part/templates/part/part_sidebar.html:57 stock/templates/stock/item.html:117
+#: order/templates/order/purchase_order_detail.html:86
+#: order/templates/order/sales_order_detail.html:140
+#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:210
+#: part/templates/part/part_sidebar.html:55 stock/templates/stock/item.html:117
#: stock/templates/stock/stock_sidebar.html:23
msgid "Attachments"
msgstr "Vedlegg"
@@ -1617,7 +1623,7 @@ msgstr "Tildeling fullført"
msgid "All untracked stock items have been allocated"
msgstr "Alle usporbar lagervarer har tildelt"
-#: build/templates/build/index.html:18 part/templates/part/detail.html:318
+#: build/templates/build/index.html:18 part/templates/part/detail.html:316
msgid "New Build Order"
msgstr ""
@@ -1734,7 +1740,7 @@ msgstr ""
msgid "Show the `about` modal only to superusers"
msgstr ""
-#: common/models.py:833 company/models.py:94 company/models.py:95
+#: common/models.py:833 company/models.py:98 company/models.py:99
msgid "Company name"
msgstr "Firmanavn"
@@ -1902,9 +1908,9 @@ msgstr ""
msgid "Copy category parameter templates when creating a part"
msgstr "Kopier kategori parametermaler ved oppretting av en del"
-#: common/models.py:1002 part/models.py:2474 report/models.py:158
-#: templates/js/translated/table_filters.js:38
-#: templates/js/translated/table_filters.js:492
+#: common/models.py:1002 part/admin.py:41 part/models.py:3087
+#: report/models.py:158 templates/js/translated/table_filters.js:38
+#: templates/js/translated/table_filters.js:496
msgid "Template"
msgstr "Mal"
@@ -1912,9 +1918,10 @@ msgstr "Mal"
msgid "Parts are templates by default"
msgstr "Deler er maler som standard"
-#: common/models.py:1009 part/models.py:908 templates/js/translated/bom.js:1531
-#: templates/js/translated/table_filters.js:184
-#: templates/js/translated/table_filters.js:455
+#: common/models.py:1009 part/admin.py:37 part/admin.py:229 part/models.py:927
+#: templates/js/translated/bom.js:1594
+#: templates/js/translated/table_filters.js:188
+#: templates/js/translated/table_filters.js:459
msgid "Assembly"
msgstr "Montering"
@@ -1922,8 +1929,8 @@ msgstr "Montering"
msgid "Parts can be assembled from other components by default"
msgstr "Deler kan settes sammen fra andre komponenter som standard"
-#: common/models.py:1016 part/models.py:914
-#: templates/js/translated/table_filters.js:463
+#: common/models.py:1016 part/admin.py:38 part/models.py:933
+#: templates/js/translated/table_filters.js:467
msgid "Component"
msgstr "Komponent"
@@ -1931,7 +1938,7 @@ msgstr "Komponent"
msgid "Parts can be used as sub-components by default"
msgstr "Deler kan bli brukt som underkomponenter som standard"
-#: common/models.py:1023 part/models.py:925
+#: common/models.py:1023 part/admin.py:39 part/models.py:944
msgid "Purchaseable"
msgstr "Kjøpbar"
@@ -1939,8 +1946,8 @@ msgstr "Kjøpbar"
msgid "Parts are purchaseable by default"
msgstr "Deler er kjøpbare som standard"
-#: common/models.py:1030 part/models.py:930
-#: templates/js/translated/table_filters.js:484
+#: common/models.py:1030 part/admin.py:40 part/models.py:949
+#: templates/js/translated/table_filters.js:488
msgid "Salable"
msgstr "Salgbar"
@@ -1948,10 +1955,10 @@ msgstr "Salgbar"
msgid "Parts are salable by default"
msgstr "Deler er salgbare som standard"
-#: common/models.py:1037 part/models.py:920
+#: common/models.py:1037 part/admin.py:42 part/models.py:939
#: templates/js/translated/table_filters.js:46
-#: templates/js/translated/table_filters.js:116
-#: templates/js/translated/table_filters.js:496
+#: templates/js/translated/table_filters.js:120
+#: templates/js/translated/table_filters.js:500
msgid "Trackable"
msgstr "Sporbar"
@@ -1959,10 +1966,10 @@ msgstr "Sporbar"
msgid "Parts are trackable by default"
msgstr "Deler er sporbare som standard"
-#: common/models.py:1044 part/models.py:940
+#: common/models.py:1044 part/admin.py:43 part/models.py:959
#: part/templates/part/part_base.html:156
#: templates/js/translated/table_filters.js:42
-#: templates/js/translated/table_filters.js:500
+#: templates/js/translated/table_filters.js:504
msgid "Virtual"
msgstr "Virtuelle"
@@ -1979,791 +1986,837 @@ msgid "Display the import wizard in some part views"
msgstr "Vis importveiviseren i noen deler visninger"
#: common/models.py:1058
-msgid "Show Price in Forms"
-msgstr "Vis pris i skjemaer"
-
-#: common/models.py:1059
-msgid "Display part price in some forms"
-msgstr "Vis delpris i noen skjemaer"
-
-#: common/models.py:1070
-msgid "Show Price in BOM"
-msgstr ""
-
-#: common/models.py:1071
-msgid "Include pricing information in BOM tables"
-msgstr ""
-
-#: common/models.py:1082
-msgid "Show Price History"
-msgstr ""
-
-#: common/models.py:1083
-msgid "Display historical pricing for Part"
-msgstr ""
-
-#: common/models.py:1089
msgid "Show related parts"
msgstr ""
-#: common/models.py:1090
+#: common/models.py:1059
msgid "Display related parts for a part"
msgstr ""
-#: common/models.py:1096
+#: common/models.py:1065
msgid "Create initial stock"
msgstr ""
-#: common/models.py:1097
+#: common/models.py:1066
msgid "Create initial stock on part creation"
msgstr ""
-#: common/models.py:1103
-msgid "Internal Prices"
-msgstr ""
-
-#: common/models.py:1104
-msgid "Enable internal prices for parts"
-msgstr ""
-
-#: common/models.py:1110
-msgid "Internal Price as BOM-Price"
-msgstr ""
-
-#: common/models.py:1111
-msgid "Use the internal price (if set) in BOM-price calculations"
-msgstr ""
-
-#: common/models.py:1117
+#: common/models.py:1072
msgid "Part Name Display Format"
msgstr ""
-#: common/models.py:1118
+#: common/models.py:1073
msgid "Format to display the part name"
msgstr ""
-#: common/models.py:1125
+#: common/models.py:1080
msgid "Part Category Default Icon"
msgstr ""
-#: common/models.py:1126
+#: common/models.py:1081
msgid "Part category default icon (empty means no icon)"
msgstr ""
-#: common/models.py:1131
-msgid "Enable label printing"
+#: common/models.py:1086
+msgid "Pricing Decimal Places"
msgstr ""
-#: common/models.py:1132
-msgid "Enable label printing from the web interface"
+#: common/models.py:1087
+msgid "Number of decimal places to display when rendering pricing data"
msgstr ""
-#: common/models.py:1138
-msgid "Label Image DPI"
+#: common/models.py:1097
+msgid "Pricing Rebuild Time"
msgstr ""
-#: common/models.py:1139
-msgid "DPI resolution when generating image files to supply to label printing plugins"
+#: common/models.py:1098
+msgid "Number of days before part pricing is automatically updated"
msgstr ""
-#: common/models.py:1148
-msgid "Enable Reports"
-msgstr ""
-
-#: common/models.py:1149
-msgid "Enable generation of reports"
-msgstr ""
-
-#: common/models.py:1155 templates/stats.html:25
-msgid "Debug Mode"
-msgstr ""
-
-#: common/models.py:1156
-msgid "Generate reports in debug mode (HTML output)"
-msgstr ""
-
-#: common/models.py:1162
-msgid "Page Size"
-msgstr ""
-
-#: common/models.py:1163
-msgid "Default page size for PDF reports"
-msgstr ""
-
-#: common/models.py:1173
-msgid "Enable Test Reports"
-msgstr ""
-
-#: common/models.py:1174
-msgid "Enable generation of test reports"
-msgstr ""
-
-#: common/models.py:1180
-msgid "Attach Test Reports"
-msgstr ""
-
-#: common/models.py:1181
-msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item"
-msgstr ""
-
-#: common/models.py:1187
-msgid "Globally Unique Serials"
-msgstr ""
-
-#: common/models.py:1188
-msgid "Serial numbers for stock items must be globally unique"
-msgstr ""
-
-#: common/models.py:1194
-msgid "Batch Code Template"
-msgstr ""
-
-#: common/models.py:1195
-msgid "Template for generating default batch codes for stock items"
-msgstr ""
-
-#: common/models.py:1200
-msgid "Stock Expiry"
-msgstr ""
-
-#: common/models.py:1201
-msgid "Enable stock expiry functionality"
-msgstr ""
-
-#: common/models.py:1207
-msgid "Sell Expired Stock"
-msgstr ""
-
-#: common/models.py:1208
-msgid "Allow sale of expired stock"
-msgstr ""
-
-#: common/models.py:1214
-msgid "Stock Stale Time"
-msgstr ""
-
-#: common/models.py:1215
-msgid "Number of days stock items are considered stale before expiring"
-msgstr ""
-
-#: common/models.py:1217
+#: common/models.py:1099 common/models.py:1208
msgid "days"
msgstr ""
-#: common/models.py:1222
+#: common/models.py:1108
+msgid "Internal Prices"
+msgstr ""
+
+#: common/models.py:1109
+msgid "Enable internal prices for parts"
+msgstr ""
+
+#: common/models.py:1115
+msgid "Internal Price Override"
+msgstr ""
+
+#: common/models.py:1116
+msgid "If available, internal prices override price range calculations"
+msgstr ""
+
+#: common/models.py:1122
+msgid "Enable label printing"
+msgstr ""
+
+#: common/models.py:1123
+msgid "Enable label printing from the web interface"
+msgstr ""
+
+#: common/models.py:1129
+msgid "Label Image DPI"
+msgstr ""
+
+#: common/models.py:1130
+msgid "DPI resolution when generating image files to supply to label printing plugins"
+msgstr ""
+
+#: common/models.py:1139
+msgid "Enable Reports"
+msgstr ""
+
+#: common/models.py:1140
+msgid "Enable generation of reports"
+msgstr ""
+
+#: common/models.py:1146 templates/stats.html:25
+msgid "Debug Mode"
+msgstr ""
+
+#: common/models.py:1147
+msgid "Generate reports in debug mode (HTML output)"
+msgstr ""
+
+#: common/models.py:1153
+msgid "Page Size"
+msgstr ""
+
+#: common/models.py:1154
+msgid "Default page size for PDF reports"
+msgstr ""
+
+#: common/models.py:1164
+msgid "Enable Test Reports"
+msgstr ""
+
+#: common/models.py:1165
+msgid "Enable generation of test reports"
+msgstr ""
+
+#: common/models.py:1171
+msgid "Attach Test Reports"
+msgstr ""
+
+#: common/models.py:1172
+msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item"
+msgstr ""
+
+#: common/models.py:1178
+msgid "Globally Unique Serials"
+msgstr ""
+
+#: common/models.py:1179
+msgid "Serial numbers for stock items must be globally unique"
+msgstr ""
+
+#: common/models.py:1185
+msgid "Batch Code Template"
+msgstr ""
+
+#: common/models.py:1186
+msgid "Template for generating default batch codes for stock items"
+msgstr ""
+
+#: common/models.py:1191
+msgid "Stock Expiry"
+msgstr ""
+
+#: common/models.py:1192
+msgid "Enable stock expiry functionality"
+msgstr ""
+
+#: common/models.py:1198
+msgid "Sell Expired Stock"
+msgstr ""
+
+#: common/models.py:1199
+msgid "Allow sale of expired stock"
+msgstr ""
+
+#: common/models.py:1205
+msgid "Stock Stale Time"
+msgstr ""
+
+#: common/models.py:1206
+msgid "Number of days stock items are considered stale before expiring"
+msgstr ""
+
+#: common/models.py:1213
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:1223
+#: common/models.py:1214
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:1229
+#: common/models.py:1220
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:1230
+#: common/models.py:1221
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:1236
+#: common/models.py:1227
msgid "Stock Location Default Icon"
msgstr ""
-#: common/models.py:1237
+#: common/models.py:1228
msgid "Stock location default icon (empty means no icon)"
msgstr ""
-#: common/models.py:1242
+#: common/models.py:1233
msgid "Build Order Reference Pattern"
msgstr ""
-#: common/models.py:1243
+#: common/models.py:1234
msgid "Required pattern for generating Build Order reference field"
msgstr ""
-#: common/models.py:1249
+#: common/models.py:1240
msgid "Sales Order Reference Pattern"
msgstr ""
-#: common/models.py:1250
+#: common/models.py:1241
msgid "Required pattern for generating Sales Order reference field"
msgstr ""
-#: common/models.py:1256
+#: common/models.py:1247
msgid "Sales Order Default Shipment"
msgstr ""
-#: common/models.py:1257
+#: common/models.py:1248
msgid "Enable creation of default shipment with sales orders"
msgstr ""
-#: common/models.py:1263
+#: common/models.py:1254
+msgid "Edit Completed Sales Orders"
+msgstr ""
+
+#: common/models.py:1255
+msgid "Allow editing of sales orders after they have been shipped or completed"
+msgstr ""
+
+#: common/models.py:1261
msgid "Purchase Order Reference Pattern"
msgstr ""
-#: common/models.py:1264
+#: common/models.py:1262
msgid "Required pattern for generating Purchase Order reference field"
msgstr ""
-#: common/models.py:1271
+#: common/models.py:1268
+msgid "Edit Completed Purchase Orders"
+msgstr ""
+
+#: common/models.py:1269
+msgid "Allow editing of purchase orders after they have been shipped or completed"
+msgstr ""
+
+#: common/models.py:1276
msgid "Enable password forgot"
msgstr "Aktiver passord glemt"
-#: common/models.py:1272
+#: common/models.py:1277
msgid "Enable password forgot function on the login pages"
msgstr "Ativer funskjon for glemt passord på innloggingssidene"
-#: common/models.py:1278
+#: common/models.py:1283
msgid "Enable registration"
msgstr "Aktiver registrering"
-#: common/models.py:1279
+#: common/models.py:1284
msgid "Enable self-registration for users on the login pages"
msgstr "Aktiver egenregistrerting for brukerer på påloggingssidene"
-#: common/models.py:1285
+#: common/models.py:1290
msgid "Enable SSO"
msgstr "Aktiver SSO"
-#: common/models.py:1286
+#: common/models.py:1291
msgid "Enable SSO on the login pages"
msgstr "Aktiver SSO på innloggingssidene"
-#: common/models.py:1292
+#: common/models.py:1297
msgid "Email required"
msgstr "E-postadresse kreves"
-#: common/models.py:1293
+#: common/models.py:1298
msgid "Require user to supply mail on signup"
msgstr "Krevt at brukeren angi e-post ved registrering"
-#: common/models.py:1299
+#: common/models.py:1304
msgid "Auto-fill SSO users"
msgstr "Auto-utfyll SSO brukere"
-#: common/models.py:1300
+#: common/models.py:1305
msgid "Automatically fill out user-details from SSO account-data"
msgstr "Fyll automatisk ut brukeropplysninger fra SSO kontodata"
-#: common/models.py:1306
+#: common/models.py:1311
msgid "Mail twice"
msgstr "E-post to ganger"
-#: common/models.py:1307
+#: common/models.py:1312
msgid "On signup ask users twice for their mail"
msgstr "Ved registrering spør brukere to ganger for e-posten"
-#: common/models.py:1313
+#: common/models.py:1318
msgid "Password twice"
msgstr "Passord to ganger"
-#: common/models.py:1314
+#: common/models.py:1319
msgid "On signup ask users twice for their password"
msgstr "Ved registrerting, spør brukere to ganger for passord"
-#: common/models.py:1320
+#: common/models.py:1325
msgid "Group on signup"
msgstr ""
-#: common/models.py:1321
+#: common/models.py:1326
msgid "Group to which new users are assigned on registration"
msgstr "Gruppe for hvilke nye brukere som er tilknyttet registrering"
-#: common/models.py:1327
+#: common/models.py:1332
msgid "Enforce MFA"
msgstr ""
-#: common/models.py:1328
+#: common/models.py:1333
msgid "Users must use multifactor security."
msgstr "Brukere må bruke flerfaktorsikkerhet."
-#: common/models.py:1334
+#: common/models.py:1339
msgid "Check plugins on startup"
msgstr ""
-#: common/models.py:1335
+#: common/models.py:1340
msgid "Check that all plugins are installed on startup - enable in container environments"
msgstr ""
-#: common/models.py:1342
+#: common/models.py:1347
msgid "Check plugin signatures"
msgstr ""
-#: common/models.py:1343
+#: common/models.py:1348
msgid "Check and show signatures for plugins"
msgstr ""
-#: common/models.py:1350
+#: common/models.py:1355
msgid "Enable URL integration"
msgstr "Aktiver URL integrering"
-#: common/models.py:1351
+#: common/models.py:1356
msgid "Enable plugins to add URL routes"
msgstr ""
-#: common/models.py:1358
+#: common/models.py:1363
msgid "Enable navigation integration"
msgstr "Aktiver navigasjonsintegrering"
-#: common/models.py:1359
+#: common/models.py:1364
msgid "Enable plugins to integrate into navigation"
msgstr ""
-#: common/models.py:1366
+#: common/models.py:1371
msgid "Enable app integration"
msgstr "Aktiver app integrasjon"
-#: common/models.py:1367
+#: common/models.py:1372
msgid "Enable plugins to add apps"
msgstr ""
-#: common/models.py:1374
+#: common/models.py:1379
msgid "Enable schedule integration"
msgstr ""
-#: common/models.py:1375
+#: common/models.py:1380
msgid "Enable plugins to run scheduled tasks"
msgstr ""
-#: common/models.py:1382
+#: common/models.py:1387
msgid "Enable event integration"
msgstr ""
-#: common/models.py:1383
+#: common/models.py:1388
msgid "Enable plugins to respond to internal events"
msgstr ""
-#: common/models.py:1402 common/models.py:1737
+#: common/models.py:1407 common/models.py:1749
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:1424
+#: common/models.py:1429
msgid "Show subscribed parts"
msgstr "Vis abbonerte deler"
-#: common/models.py:1425
+#: common/models.py:1430
msgid "Show subscribed parts on the homepage"
msgstr "Vis abbonerte deler på hjemmesiden"
-#: common/models.py:1431
+#: common/models.py:1436
msgid "Show subscribed categories"
msgstr "Vis abbonerte kategorier"
-#: common/models.py:1432
+#: common/models.py:1437
msgid "Show subscribed part categories on the homepage"
msgstr "Vis abbonerte delkatekorier på hjemmesiden"
-#: common/models.py:1438
+#: common/models.py:1443
msgid "Show latest parts"
msgstr "Vis nyeste deler"
-#: common/models.py:1439
+#: common/models.py:1444
msgid "Show latest parts on the homepage"
msgstr "Vis nyeste deler på hjemmesiden"
-#: common/models.py:1445
+#: common/models.py:1450
msgid "Recent Part Count"
msgstr "Antall nylig deler"
-#: common/models.py:1446
+#: common/models.py:1451
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:1452
+#: common/models.py:1457
msgid "Show unvalidated BOMs"
msgstr "Vis uvaliderte BOMs"
-#: common/models.py:1453
+#: common/models.py:1458
msgid "Show BOMs that await validation on the homepage"
msgstr "Vis BOMs som venter validering på hjemmesiden"
-#: common/models.py:1459
+#: common/models.py:1464
msgid "Show recent stock changes"
msgstr "Vis nylige lagerendringer"
-#: common/models.py:1460
+#: common/models.py:1465
msgid "Show recently changed stock items on the homepage"
msgstr "Vis nylig endret lagervarer på hjemmesiden"
-#: common/models.py:1466
+#: common/models.py:1471
msgid "Recent Stock Count"
msgstr "Siste lagertelling"
-#: common/models.py:1467
+#: common/models.py:1472
msgid "Number of recent stock items to display on index page"
msgstr "Antall nylige lagervarer som skal vises på indeksside"
-#: common/models.py:1473
+#: common/models.py:1478
msgid "Show low stock"
msgstr "Vis lav lager"
-#: common/models.py:1474
+#: common/models.py:1479
msgid "Show low stock items on the homepage"
msgstr "Vis lav lagervarer på hjemmesiden"
-#: common/models.py:1480
+#: common/models.py:1485
msgid "Show depleted stock"
msgstr "Vis tom lagervarer"
-#: common/models.py:1481
+#: common/models.py:1486
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:1487
+#: common/models.py:1492
msgid "Show needed stock"
msgstr ""
-#: common/models.py:1488
+#: common/models.py:1493
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:1494
+#: common/models.py:1499
msgid "Show expired stock"
msgstr ""
-#: common/models.py:1495
+#: common/models.py:1500
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:1501
+#: common/models.py:1506
msgid "Show stale stock"
msgstr ""
-#: common/models.py:1502
+#: common/models.py:1507
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:1508
+#: common/models.py:1513
msgid "Show pending builds"
msgstr ""
-#: common/models.py:1509
+#: common/models.py:1514
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:1515
+#: common/models.py:1520
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:1516
+#: common/models.py:1521
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:1522
+#: common/models.py:1527
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:1523
+#: common/models.py:1528
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:1529
+#: common/models.py:1534
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:1530
+#: common/models.py:1535
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:1536
+#: common/models.py:1541
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:1537
+#: common/models.py:1542
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:1543
+#: common/models.py:1548
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:1544
+#: common/models.py:1549
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:1550
+#: common/models.py:1555
+msgid "Show News"
+msgstr ""
+
+#: common/models.py:1556
+msgid "Show news on the homepage"
+msgstr ""
+
+#: common/models.py:1562
msgid "Inline label display"
msgstr ""
-#: common/models.py:1551
+#: common/models.py:1563
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1557
+#: common/models.py:1569
msgid "Inline report display"
msgstr ""
-#: common/models.py:1558
+#: common/models.py:1570
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1564
+#: common/models.py:1576
msgid "Search Parts"
msgstr ""
-#: common/models.py:1565
+#: common/models.py:1577
msgid "Display parts in search preview window"
msgstr ""
-#: common/models.py:1571
+#: common/models.py:1583
msgid "Seach Supplier Parts"
msgstr ""
-#: common/models.py:1572
+#: common/models.py:1584
msgid "Display supplier parts in search preview window"
msgstr ""
-#: common/models.py:1578
+#: common/models.py:1590
msgid "Search Manufacturer Parts"
msgstr ""
-#: common/models.py:1579
+#: common/models.py:1591
msgid "Display manufacturer parts in search preview window"
msgstr ""
-#: common/models.py:1585
+#: common/models.py:1597
msgid "Hide Inactive Parts"
msgstr ""
-#: common/models.py:1586
+#: common/models.py:1598
msgid "Excluded inactive parts from search preview window"
msgstr ""
-#: common/models.py:1592
+#: common/models.py:1604
msgid "Search Categories"
msgstr ""
-#: common/models.py:1593
+#: common/models.py:1605
msgid "Display part categories in search preview window"
msgstr ""
-#: common/models.py:1599
+#: common/models.py:1611
msgid "Search Stock"
msgstr ""
-#: common/models.py:1600
+#: common/models.py:1612
msgid "Display stock items in search preview window"
msgstr ""
-#: common/models.py:1606
+#: common/models.py:1618
msgid "Hide Unavailable Stock Items"
msgstr ""
-#: common/models.py:1607
+#: common/models.py:1619
msgid "Exclude stock items which are not available from the search preview window"
msgstr ""
-#: common/models.py:1613
+#: common/models.py:1625
msgid "Search Locations"
msgstr ""
-#: common/models.py:1614
+#: common/models.py:1626
msgid "Display stock locations in search preview window"
msgstr ""
-#: common/models.py:1620
+#: common/models.py:1632
msgid "Search Companies"
msgstr ""
-#: common/models.py:1621
+#: common/models.py:1633
msgid "Display companies in search preview window"
msgstr ""
-#: common/models.py:1627
+#: common/models.py:1639
msgid "Search Build Orders"
msgstr ""
-#: common/models.py:1628
+#: common/models.py:1640
msgid "Display build orders in search preview window"
msgstr ""
-#: common/models.py:1634
+#: common/models.py:1646
msgid "Search Purchase Orders"
msgstr ""
-#: common/models.py:1635
+#: common/models.py:1647
msgid "Display purchase orders in search preview window"
msgstr ""
-#: common/models.py:1641
+#: common/models.py:1653
msgid "Exclude Inactive Purchase Orders"
msgstr ""
-#: common/models.py:1642
+#: common/models.py:1654
msgid "Exclude inactive purchase orders from search preview window"
msgstr ""
-#: common/models.py:1648
+#: common/models.py:1660
msgid "Search Sales Orders"
msgstr ""
-#: common/models.py:1649
+#: common/models.py:1661
msgid "Display sales orders in search preview window"
msgstr ""
-#: common/models.py:1655
+#: common/models.py:1667
msgid "Exclude Inactive Sales Orders"
msgstr ""
-#: common/models.py:1656
+#: common/models.py:1668
msgid "Exclude inactive sales orders from search preview window"
msgstr ""
-#: common/models.py:1662
+#: common/models.py:1674
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:1663
+#: common/models.py:1675
msgid "Number of results to show in each section of the search preview window"
msgstr ""
-#: common/models.py:1669
+#: common/models.py:1681
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:1670
+#: common/models.py:1682
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:1676
+#: common/models.py:1688
msgid "Escape Key Closes Forms"
msgstr ""
-#: common/models.py:1677
+#: common/models.py:1689
msgid "Use the escape key to close modal forms"
msgstr ""
-#: common/models.py:1683
+#: common/models.py:1695
msgid "Fixed Navbar"
msgstr ""
-#: common/models.py:1684
+#: common/models.py:1696
msgid "The navbar position is fixed to the top of the screen"
msgstr ""
-#: common/models.py:1690
+#: common/models.py:1702
msgid "Date Format"
msgstr ""
-#: common/models.py:1691
+#: common/models.py:1703
msgid "Preferred format for displaying dates"
msgstr ""
-#: common/models.py:1705 part/templates/part/detail.html:41
+#: common/models.py:1717 part/templates/part/detail.html:41
msgid "Part Scheduling"
-msgstr ""
+msgstr "Del planlegging"
-#: common/models.py:1706
+#: common/models.py:1718
msgid "Display part scheduling information"
msgstr ""
-#: common/models.py:1712
+#: common/models.py:1724
msgid "Table String Length"
msgstr ""
-#: common/models.py:1713
+#: common/models.py:1725
msgid "Maximimum length limit for strings displayed in table views"
msgstr ""
-#: common/models.py:1777
+#: common/models.py:1789
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1784 company/serializers.py:372
-#: company/templates/company/supplier_part.html:346 order/models.py:952
-#: templates/js/translated/part.js:1103 templates/js/translated/part.js:2225
+#: common/models.py:1796 company/serializers.py:393 order/models.py:975
+#: templates/js/translated/company.js:1164 templates/js/translated/part.js:1130
+#: templates/js/translated/pricing.js:354
msgid "Price"
msgstr ""
-#: common/models.py:1785
+#: common/models.py:1797
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1945 common/models.py:2123
+#: common/models.py:1957 common/models.py:2135
msgid "Endpoint"
msgstr ""
-#: common/models.py:1946
+#: common/models.py:1958
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:1955
+#: common/models.py:1967
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:1960 part/models.py:935 plugin/models.py:100
-#: templates/js/translated/table_filters.js:34
-#: templates/js/translated/table_filters.js:112
-#: templates/js/translated/table_filters.js:324
-#: templates/js/translated/table_filters.js:450
+#: common/models.py:1972 part/admin.py:36 part/models.py:954
+#: plugin/models.py:100 templates/js/translated/table_filters.js:34
+#: templates/js/translated/table_filters.js:116
+#: templates/js/translated/table_filters.js:328
+#: templates/js/translated/table_filters.js:454
msgid "Active"
msgstr "Aktiv"
-#: common/models.py:1961
+#: common/models.py:1973
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:1975
+#: common/models.py:1987
msgid "Token"
msgstr "Sjetong"
-#: common/models.py:1976
+#: common/models.py:1988
msgid "Token for access"
msgstr "Nøkkel for tilgang"
-#: common/models.py:1983
+#: common/models.py:1995
msgid "Secret"
msgstr "Hemmelig"
-#: common/models.py:1984
+#: common/models.py:1996
msgid "Shared secret for HMAC"
msgstr "Delt hemmlighet for HMAC"
-#: common/models.py:2090
+#: common/models.py:2102
msgid "Message ID"
msgstr "Melding ID"
-#: common/models.py:2091
+#: common/models.py:2103
msgid "Unique identifier for this message"
msgstr "Unik Id for denne meldingen"
-#: common/models.py:2099
+#: common/models.py:2111
msgid "Host"
msgstr "Vert"
-#: common/models.py:2100
+#: common/models.py:2112
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:2107
+#: common/models.py:2119
msgid "Header"
msgstr "Tittel"
-#: common/models.py:2108
+#: common/models.py:2120
msgid "Header of this message"
msgstr "Overskrift for denne meldingen"
-#: common/models.py:2114
+#: common/models.py:2126
msgid "Body"
msgstr "Brødtekst"
-#: common/models.py:2115
+#: common/models.py:2127
msgid "Body of this message"
msgstr ""
-#: common/models.py:2124
+#: common/models.py:2136
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:2129
+#: common/models.py:2141
msgid "Worked on"
msgstr "Arbeidet med"
-#: common/models.py:2130
+#: common/models.py:2142
msgid "Was the work on this message finished?"
msgstr "Var arbeidet med denne meldingen ferdig?"
+#: common/models.py:2302
+msgid "Id"
+msgstr ""
+
+#: common/models.py:2308 templates/js/translated/news.js:34
+msgid "Title"
+msgstr ""
+
+#: common/models.py:2318 templates/js/translated/news.js:50
+msgid "Published"
+msgstr ""
+
+#: common/models.py:2323 templates/InvenTree/settings/plugin.html:62
+#: templates/InvenTree/settings/plugin_settings.html:33
+#: templates/js/translated/news.js:46
+msgid "Author"
+msgstr ""
+
+#: common/models.py:2328 templates/js/translated/news.js:42
+msgid "Summary"
+msgstr ""
+
+#: common/models.py:2333
+msgid "Read"
+msgstr ""
+
+#: common/models.py:2334
+msgid "Was this news item read?"
+msgstr ""
+
#: common/notifications.py:293
#, python-brace-format
msgid "New {verbose_name}"
@@ -2785,15 +2838,15 @@ msgstr ""
msgid "Error raised by plugin"
msgstr ""
-#: common/views.py:85 order/templates/order/purchase_order_detail.html:23
-#: order/views.py:102 part/views.py:112
+#: common/views.py:85 order/templates/order/purchase_order_detail.html:25
+#: order/views.py:102 part/views.py:107
#: templates/patterns/wizard/upload.html:37
msgid "Upload File"
msgstr "Last opp fil"
#: common/views.py:86 order/views.py:103
#: part/templates/part/import_wizard/ajax_match_fields.html:45
-#: part/views.py:113 templates/patterns/wizard/match_fields.html:51
+#: part/views.py:108 templates/patterns/wizard/match_fields.html:51
msgid "Match Fields"
msgstr "Sammelign felter"
@@ -2816,298 +2869,301 @@ msgstr "Deler importert"
msgid "Previous Step"
msgstr "Forrige trinn"
-#: company/models.py:99
+#: company/models.py:103
msgid "Company description"
msgstr "Beskrivelse av firma"
-#: company/models.py:100
+#: company/models.py:104
msgid "Description of the company"
msgstr "Beskrivelse av firmaet"
-#: company/models.py:106 company/templates/company/company_base.html:100
+#: company/models.py:110 company/templates/company/company_base.html:100
#: templates/InvenTree/settings/plugin_settings.html:55
-#: templates/js/translated/company.js:448
+#: templates/js/translated/company.js:449
msgid "Website"
msgstr "Nettside"
-#: company/models.py:107
+#: company/models.py:111
msgid "Company website URL"
msgstr "Bedriftens nettside URL"
-#: company/models.py:111 company/templates/company/company_base.html:118
+#: company/models.py:115 company/templates/company/company_base.html:118
msgid "Address"
msgstr "Adresse"
-#: company/models.py:112
+#: company/models.py:116
msgid "Company address"
msgstr "Firmaet adresse"
-#: company/models.py:115
+#: company/models.py:119
msgid "Phone number"
msgstr "Telefonnummer"
-#: company/models.py:116
+#: company/models.py:120
msgid "Contact phone number"
msgstr "Kontakt-telefonnummer"
-#: company/models.py:119 company/templates/company/company_base.html:132
+#: company/models.py:123 company/templates/company/company_base.html:132
#: templates/InvenTree/settings/user.html:48
msgid "Email"
msgstr "E-post"
-#: company/models.py:119
+#: company/models.py:123
msgid "Contact email address"
msgstr "Kontakt e-post"
-#: company/models.py:122 company/templates/company/company_base.html:139
+#: company/models.py:126 company/templates/company/company_base.html:139
msgid "Contact"
msgstr "Kontakt"
-#: company/models.py:123
+#: company/models.py:127
msgid "Point of contact"
msgstr ""
-#: company/models.py:125
+#: company/models.py:129
msgid "Link to external company information"
msgstr "Link til ekstern bedriftsinformasjon"
-#: company/models.py:136 part/models.py:829
+#: company/models.py:140 part/models.py:848
msgid "Image"
msgstr "Bilde"
-#: company/models.py:139 company/templates/company/detail.html:185
+#: company/models.py:143 company/templates/company/detail.html:185
msgid "Company Notes"
msgstr "Notater til firma"
-#: company/models.py:141
+#: company/models.py:145
msgid "is customer"
msgstr ""
-#: company/models.py:141
+#: company/models.py:145
msgid "Do you sell items to this company?"
msgstr "Selger du varer til dette firmaet?"
-#: company/models.py:143
+#: company/models.py:147
msgid "is supplier"
msgstr ""
-#: company/models.py:143
+#: company/models.py:147
msgid "Do you purchase items from this company?"
msgstr "Kjøper du varer fra dette firmaet?"
-#: company/models.py:145
+#: company/models.py:149
msgid "is manufacturer"
msgstr ""
-#: company/models.py:145
+#: company/models.py:149
msgid "Does this company manufacture parts?"
msgstr "Produserer dette firmaet deler?"
-#: company/models.py:149 company/serializers.py:378
-#: company/templates/company/company_base.html:106 part/serializers.py:153
-#: part/serializers.py:184 stock/serializers.py:178
+#: company/models.py:153 company/serializers.py:399
+#: company/templates/company/company_base.html:106 part/models.py:2681
+#: part/serializers.py:153 part/serializers.py:181 stock/serializers.py:182
+#: templates/InvenTree/settings/pricing.html:59
msgid "Currency"
msgstr "Valuta"
-#: company/models.py:152
+#: company/models.py:156
msgid "Default currency used for this company"
msgstr "Standardvaluta brukt for dette firmaet"
-#: company/models.py:249 company/models.py:483 stock/models.py:600
-#: stock/serializers.py:85 stock/templates/stock/item_base.html:143
-#: templates/js/translated/bom.js:568
+#: company/models.py:253 company/models.py:487 stock/models.py:616
+#: stock/serializers.py:89 stock/templates/stock/item_base.html:143
+#: templates/js/translated/bom.js:581
msgid "Base Part"
msgstr ""
-#: company/models.py:253 company/models.py:487
+#: company/models.py:257 company/models.py:491
msgid "Select part"
msgstr ""
-#: company/models.py:264 company/templates/company/company_base.html:76
+#: company/models.py:268 company/templates/company/company_base.html:76
#: company/templates/company/manufacturer_part.html:90
#: company/templates/company/supplier_part.html:152
#: stock/templates/stock/item_base.html:210
-#: templates/js/translated/company.js:432
-#: templates/js/translated/company.js:533
-#: templates/js/translated/company.js:668
-#: templates/js/translated/company.js:956 templates/js/translated/part.js:236
-#: templates/js/translated/table_filters.js:427
+#: templates/js/translated/company.js:433
+#: templates/js/translated/company.js:534
+#: templates/js/translated/company.js:669
+#: templates/js/translated/company.js:957 templates/js/translated/part.js:232
+#: templates/js/translated/table_filters.js:431
msgid "Manufacturer"
msgstr ""
-#: company/models.py:265 templates/js/translated/part.js:237
+#: company/models.py:269 templates/js/translated/part.js:233
msgid "Select manufacturer"
msgstr ""
-#: company/models.py:271 company/templates/company/manufacturer_part.html:101
+#: company/models.py:275 company/templates/company/manufacturer_part.html:101
#: company/templates/company/supplier_part.html:160
-#: templates/js/translated/company.js:304
-#: templates/js/translated/company.js:532
-#: templates/js/translated/company.js:684
-#: templates/js/translated/company.js:975 templates/js/translated/order.js:2239
-#: templates/js/translated/part.js:247 templates/js/translated/part.js:1025
+#: templates/js/translated/company.js:305
+#: templates/js/translated/company.js:533
+#: templates/js/translated/company.js:685
+#: templates/js/translated/company.js:976 templates/js/translated/order.js:2278
+#: templates/js/translated/part.js:243 templates/js/translated/part.js:1052
msgid "MPN"
msgstr ""
-#: company/models.py:272 templates/js/translated/part.js:248
+#: company/models.py:276 templates/js/translated/part.js:244
msgid "Manufacturer Part Number"
-msgstr ""
+msgstr "Produsentens varenummer"
-#: company/models.py:278
+#: company/models.py:282
msgid "URL for external manufacturer part link"
msgstr ""
-#: company/models.py:284
+#: company/models.py:288
msgid "Manufacturer part description"
msgstr ""
-#: company/models.py:329 company/models.py:353 company/models.py:506
+#: company/models.py:333 company/models.py:357 company/models.py:510
#: company/templates/company/manufacturer_part.html:7
#: company/templates/company/manufacturer_part.html:24
#: stock/templates/stock/item_base.html:220
msgid "Manufacturer Part"
-msgstr ""
+msgstr "Produsentdeler"
-#: company/models.py:360
+#: company/models.py:364
msgid "Parameter name"
msgstr ""
-#: company/models.py:366
+#: company/models.py:370
#: report/templates/report/inventree_test_report_base.html:95
-#: stock/models.py:2097 templates/js/translated/company.js:581
-#: templates/js/translated/company.js:799 templates/js/translated/part.js:847
-#: templates/js/translated/stock.js:1360
+#: stock/models.py:2113 templates/js/translated/company.js:582
+#: templates/js/translated/company.js:800 templates/js/translated/part.js:874
+#: templates/js/translated/stock.js:1379
msgid "Value"
msgstr ""
-#: company/models.py:367
+#: company/models.py:371
msgid "Parameter value"
msgstr ""
-#: company/models.py:373 part/models.py:902 part/models.py:2434
-#: part/templates/part/part_base.html:286
+#: company/models.py:377 part/admin.py:26 part/models.py:921
+#: part/models.py:3047 part/templates/part/part_base.html:286
#: templates/InvenTree/settings/settings.html:349
-#: templates/js/translated/company.js:805 templates/js/translated/part.js:853
+#: templates/js/translated/company.js:806 templates/js/translated/part.js:880
msgid "Units"
msgstr ""
-#: company/models.py:374
+#: company/models.py:378
msgid "Parameter units"
msgstr ""
-#: company/models.py:451
+#: company/models.py:455
msgid "Linked manufacturer part must reference the same base part"
msgstr ""
-#: company/models.py:493 company/templates/company/company_base.html:81
-#: company/templates/company/supplier_part.html:136 order/models.py:263
-#: order/templates/order/order_base.html:121 part/bom.py:237 part/bom.py:265
+#: company/models.py:497 company/templates/company/company_base.html:81
+#: company/templates/company/supplier_part.html:136 order/models.py:264
+#: order/templates/order/order_base.html:121 part/bom.py:252 part/bom.py:280
#: stock/templates/stock/item_base.html:227
#: templates/email/overdue_purchase_order.html:16
-#: templates/js/translated/company.js:303
-#: templates/js/translated/company.js:436
-#: templates/js/translated/company.js:929 templates/js/translated/order.js:1975
-#: templates/js/translated/part.js:217 templates/js/translated/part.js:993
-#: templates/js/translated/table_filters.js:431
+#: templates/js/translated/company.js:304
+#: templates/js/translated/company.js:437
+#: templates/js/translated/company.js:930 templates/js/translated/order.js:2009
+#: templates/js/translated/part.js:213 templates/js/translated/part.js:1020
+#: templates/js/translated/pricing.js:231
+#: templates/js/translated/table_filters.js:435
msgid "Supplier"
msgstr ""
-#: company/models.py:494 templates/js/translated/part.js:218
+#: company/models.py:498 templates/js/translated/part.js:214
msgid "Select supplier"
msgstr ""
-#: company/models.py:499 company/templates/company/supplier_part.html:146
-#: part/bom.py:238 part/bom.py:266 templates/js/translated/company.js:302
-#: templates/js/translated/order.js:2226 templates/js/translated/part.js:228
-#: templates/js/translated/part.js:1011
+#: company/models.py:503 company/templates/company/supplier_part.html:146
+#: part/bom.py:253 part/bom.py:281 templates/js/translated/company.js:303
+#: templates/js/translated/order.js:2265 templates/js/translated/part.js:224
+#: templates/js/translated/part.js:1038 templates/js/translated/pricing.js:243
msgid "SKU"
msgstr ""
-#: company/models.py:500 templates/js/translated/part.js:229
+#: company/models.py:504 templates/js/translated/part.js:225
msgid "Supplier stock keeping unit"
msgstr ""
-#: company/models.py:507
+#: company/models.py:511
msgid "Select manufacturer part"
msgstr ""
-#: company/models.py:513
+#: company/models.py:517
msgid "URL for external supplier part link"
msgstr ""
-#: company/models.py:519
+#: company/models.py:523
msgid "Supplier part description"
msgstr ""
-#: company/models.py:524 company/templates/company/supplier_part.html:181
-#: part/models.py:2687 part/templates/part/upload_bom.html:59
+#: company/models.py:528 company/templates/company/supplier_part.html:181
+#: part/admin.py:225 part/models.py:3300 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_po_report.html:92
-#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:403
+#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:397
msgid "Note"
msgstr ""
-#: company/models.py:528 part/models.py:1788
+#: company/models.py:532 part/models.py:1817
msgid "base cost"
msgstr ""
-#: company/models.py:528 part/models.py:1788
+#: company/models.py:532 part/models.py:1817
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
-#: company/models.py:530 company/templates/company/supplier_part.html:167
-#: stock/models.py:626 stock/templates/stock/item_base.html:243
-#: templates/js/translated/company.js:991 templates/js/translated/stock.js:1978
+#: company/models.py:534 company/templates/company/supplier_part.html:167
+#: stock/admin.py:101 stock/models.py:642
+#: stock/templates/stock/item_base.html:243
+#: templates/js/translated/company.js:992 templates/js/translated/stock.js:1996
msgid "Packaging"
msgstr ""
-#: company/models.py:530
+#: company/models.py:534
msgid "Part packaging"
msgstr ""
-#: company/models.py:533 company/serializers.py:242
+#: company/models.py:537 company/serializers.py:242
#: company/templates/company/supplier_part.html:174
-#: templates/js/translated/company.js:996 templates/js/translated/order.js:820
-#: templates/js/translated/order.js:1215 templates/js/translated/order.js:1470
-#: templates/js/translated/order.js:2270 templates/js/translated/order.js:2287
-#: templates/js/translated/part.js:1043 templates/js/translated/part.js:1095
+#: templates/js/translated/company.js:997 templates/js/translated/order.js:826
+#: templates/js/translated/order.js:1249 templates/js/translated/order.js:1504
+#: templates/js/translated/order.js:2309 templates/js/translated/order.js:2326
+#: templates/js/translated/part.js:1070 templates/js/translated/part.js:1122
msgid "Pack Quantity"
msgstr ""
-#: company/models.py:534
+#: company/models.py:538
msgid "Unit quantity supplied in a single pack"
msgstr ""
-#: company/models.py:540 part/models.py:1790
+#: company/models.py:544 part/models.py:1819
msgid "multiple"
msgstr ""
-#: company/models.py:540
+#: company/models.py:544
msgid "Order multiple"
msgstr ""
-#: company/models.py:548 company/templates/company/supplier_part.html:115
+#: company/models.py:552 company/templates/company/supplier_part.html:115
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:18
-#: templates/js/translated/bom.js:963 templates/js/translated/build.js:1873
-#: templates/js/translated/build.js:2754 templates/js/translated/part.js:598
-#: templates/js/translated/part.js:601
-#: templates/js/translated/table_filters.js:194
+#: templates/js/translated/bom.js:1117 templates/js/translated/build.js:1873
+#: templates/js/translated/build.js:2754 templates/js/translated/part.js:612
+#: templates/js/translated/part.js:615
+#: templates/js/translated/table_filters.js:198
msgid "Available"
msgstr ""
-#: company/models.py:549
+#: company/models.py:553
msgid "Quantity available from supplier"
msgstr ""
-#: company/models.py:553
+#: company/models.py:557
msgid "Availability Updated"
msgstr ""
-#: company/models.py:554
+#: company/models.py:558
msgid "Date of last update of availability data"
msgstr ""
-#: company/models.py:682
+#: company/models.py:686
msgid "last updated"
msgstr ""
@@ -3121,7 +3177,7 @@ msgstr ""
#: company/templates/company/company_base.html:8
#: company/templates/company/company_base.html:12
-#: templates/InvenTree/search.html:179 templates/js/translated/company.js:421
+#: templates/InvenTree/search.html:179 templates/js/translated/company.js:422
msgid "Company"
msgstr ""
@@ -3139,7 +3195,7 @@ msgid "Edit company information"
msgstr ""
#: company/templates/company/company_base.html:34
-#: templates/js/translated/company.js:364
+#: templates/js/translated/company.js:365
msgid "Edit Company"
msgstr ""
@@ -3162,14 +3218,14 @@ msgstr ""
msgid "Download image from URL"
msgstr "Last ned bilde fra URL"
-#: company/templates/company/company_base.html:86 order/models.py:646
-#: order/templates/order/sales_order_base.html:116 stock/models.py:645
-#: stock/models.py:646 stock/serializers.py:813
+#: company/templates/company/company_base.html:86 order/models.py:665
+#: order/templates/order/sales_order_base.html:116 stock/models.py:661
+#: stock/models.py:662 stock/serializers.py:812
#: stock/templates/stock/item_base.html:399
#: templates/email/overdue_sales_order.html:16
-#: templates/js/translated/company.js:428 templates/js/translated/order.js:2808
-#: templates/js/translated/stock.js:2569
-#: templates/js/translated/table_filters.js:435
+#: templates/js/translated/company.js:429 templates/js/translated/order.js:2819
+#: templates/js/translated/stock.js:2587
+#: templates/js/translated/table_filters.js:439
msgid "Customer"
msgstr "Kunde"
@@ -3182,12 +3238,12 @@ msgid "Phone"
msgstr "Telefon"
#: company/templates/company/company_base.html:208
-#: part/templates/part/part_base.html:499
+#: part/templates/part/part_base.html:514
msgid "Upload Image"
msgstr "Last opp bilde"
#: company/templates/company/company_base.html:223
-#: part/templates/part/part_base.html:554
+#: part/templates/part/part_base.html:569
msgid "Download Image"
msgstr ""
@@ -3203,7 +3259,7 @@ msgstr "Oprett ny leverandørdel"
#: company/templates/company/detail.html:19
#: company/templates/company/manufacturer_part.html:123
-#: part/templates/part/detail.html:359
+#: part/templates/part/detail.html:357
msgid "New Supplier Part"
msgstr "Ny leverandørdel"
@@ -3232,7 +3288,7 @@ msgstr "Produsentdeler"
msgid "Create new manufacturer part"
msgstr "Opprett ny produsentdeler"
-#: company/templates/company/detail.html:66 part/templates/part/detail.html:389
+#: company/templates/company/detail.html:66 part/templates/part/detail.html:387
msgid "New Manufacturer Part"
msgstr "Ny produsentdel"
@@ -3246,7 +3302,7 @@ msgstr "Leverandør lager"
#: order/templates/order/order_base.html:13
#: order/templates/order/purchase_orders.html:8
#: order/templates/order/purchase_orders.html:12
-#: part/templates/part/detail.html:84 part/templates/part/part_sidebar.html:37
+#: part/templates/part/detail.html:84 part/templates/part/part_sidebar.html:35
#: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200
#: templates/InvenTree/settings/sidebar.html:49
#: templates/js/translated/search.js:293 templates/navbar.html:50
@@ -3269,7 +3325,7 @@ msgstr "Ny bestillingsorder"
#: order/templates/order/sales_order_base.html:13
#: order/templates/order/sales_orders.html:8
#: order/templates/order/sales_orders.html:15
-#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:41
+#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:39
#: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220
#: templates/InvenTree/settings/sidebar.html:51
#: templates/js/translated/search.js:317 templates/navbar.html:61
@@ -3297,8 +3353,7 @@ msgid "Supplier List"
msgstr "Leverandørliste"
#: company/templates/company/manufacturer_part.html:15 company/views.py:38
-#: part/templates/part/prices.html:172 templates/InvenTree/search.html:181
-#: templates/navbar.html:49
+#: templates/InvenTree/search.html:181 templates/navbar.html:49
msgid "Manufacturers"
msgstr "Produsenter"
@@ -3309,12 +3364,12 @@ msgid "Order part"
msgstr "Bestill del"
#: company/templates/company/manufacturer_part.html:39
-#: templates/js/translated/company.js:716
+#: templates/js/translated/company.js:717
msgid "Edit manufacturer part"
msgstr "Endre produsent del"
#: company/templates/company/manufacturer_part.html:43
-#: templates/js/translated/company.js:717
+#: templates/js/translated/company.js:718
msgid "Delete manufacturer part"
msgstr "Slett produsentdel"
@@ -3329,35 +3384,36 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:119
#: company/templates/company/supplier_part.html:15 company/views.py:32
-#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:168
+#: part/admin.py:46 part/templates/part/part_sidebar.html:33
#: templates/InvenTree/search.html:191 templates/navbar.html:48
msgid "Suppliers"
msgstr "Leverandører"
#: company/templates/company/manufacturer_part.html:136
-#: part/templates/part/detail.html:370
+#: part/templates/part/detail.html:368
msgid "Delete supplier parts"
msgstr "Slett leverandørdeler"
#: company/templates/company/manufacturer_part.html:136
#: company/templates/company/manufacturer_part.html:183
-#: part/templates/part/detail.html:371 part/templates/part/detail.html:401
-#: templates/js/translated/forms.js:455 templates/js/translated/helpers.js:36
-#: users/models.py:222
+#: part/templates/part/detail.html:369 part/templates/part/detail.html:399
+#: templates/js/translated/forms.js:455 templates/js/translated/helpers.js:38
+#: templates/js/translated/part.js:340 templates/js/translated/stock.js:184
+#: users/models.py:224
msgid "Delete"
msgstr "Slett"
#: company/templates/company/manufacturer_part.html:166
#: company/templates/company/manufacturer_part_sidebar.html:5
#: part/templates/part/category_sidebar.html:19
-#: part/templates/part/detail.html:186 part/templates/part/part_sidebar.html:8
+#: part/templates/part/detail.html:184 part/templates/part/part_sidebar.html:8
msgid "Parameters"
msgstr ""
#: company/templates/company/manufacturer_part.html:170
-#: part/templates/part/detail.html:191
+#: part/templates/part/detail.html:189
#: templates/InvenTree/settings/category.html:12
-#: templates/InvenTree/settings/part.html:68
+#: templates/InvenTree/settings/part.html:62
msgid "New Parameter"
msgstr ""
@@ -3366,7 +3422,7 @@ msgid "Delete parameters"
msgstr ""
#: company/templates/company/manufacturer_part.html:245
-#: part/templates/part/detail.html:827
+#: part/templates/part/detail.html:825
msgid "Add Parameter"
msgstr ""
@@ -3387,12 +3443,12 @@ msgid "Assigned Stock Items"
msgstr "Tildelt lagervarer"
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:609
+#: company/templates/company/supplier_part.html:24 stock/models.py:625
#: stock/templates/stock/item_base.html:236
-#: templates/js/translated/company.js:945 templates/js/translated/order.js:1135
-#: templates/js/translated/stock.js:1935
+#: templates/js/translated/company.js:946 templates/js/translated/order.js:1169
+#: templates/js/translated/stock.js:1954
msgid "Supplier Part"
-msgstr ""
+msgstr "Leverandør deler"
#: company/templates/company/supplier_part.html:36
#: part/templates/part/part_base.html:43
@@ -3425,14 +3481,14 @@ msgstr ""
#: company/templates/company/supplier_part.html:51
msgid "Supplier part actions"
-msgstr ""
+msgstr "Handlinger for leverandørdeler"
#: company/templates/company/supplier_part.html:56
#: company/templates/company/supplier_part.html:57
#: company/templates/company/supplier_part.html:222
#: part/templates/part/detail.html:88
msgid "Order Part"
-msgstr ""
+msgstr "Bestill del"
#: company/templates/company/supplier_part.html:61
#: company/templates/company/supplier_part.html:62
@@ -3441,23 +3497,23 @@ msgstr ""
#: company/templates/company/supplier_part.html:64
#: company/templates/company/supplier_part.html:65
-#: templates/js/translated/company.js:247
+#: templates/js/translated/company.js:248
msgid "Edit Supplier Part"
-msgstr ""
+msgstr "Rediger Leverandørdel"
#: company/templates/company/supplier_part.html:69
#: company/templates/company/supplier_part.html:70
-#: templates/js/translated/company.js:222
+#: templates/js/translated/company.js:223
msgid "Duplicate Supplier Part"
-msgstr ""
+msgstr "Dupliser leverandørdelen"
#: company/templates/company/supplier_part.html:74
msgid "Delete Supplier Part"
-msgstr ""
+msgstr "Slett Leverandørdel"
#: company/templates/company/supplier_part.html:75
msgid "Delete Supplier Part"
-msgstr ""
+msgstr "Slett Leverandørdel"
#: company/templates/company/supplier_part.html:122
#: part/templates/part/part_base.html:307
@@ -3473,7 +3529,7 @@ msgstr ""
#: company/templates/company/supplier_part.html:200
#: company/templates/company/supplier_part_navbar.html:12
msgid "Supplier Part Stock"
-msgstr ""
+msgstr "Leverandør lager"
#: company/templates/company/supplier_part.html:203
#: part/templates/part/detail.html:24 stock/templates/stock/location.html:197
@@ -3482,59 +3538,32 @@ msgstr ""
#: company/templates/company/supplier_part.html:204
#: part/templates/part/detail.html:25 stock/templates/stock/location.html:198
-#: templates/js/translated/stock.js:435
+#: templates/js/translated/stock.js:454
msgid "New Stock Item"
msgstr ""
#: company/templates/company/supplier_part.html:217
#: company/templates/company/supplier_part_navbar.html:19
msgid "Supplier Part Orders"
-msgstr ""
+msgstr "Leverandørordre"
#: company/templates/company/supplier_part.html:242
-#: part/templates/part/prices.html:10
msgid "Pricing Information"
msgstr ""
#: company/templates/company/supplier_part.html:247
-#: company/templates/company/supplier_part.html:388
-#: part/templates/part/prices.html:276 templates/js/translated/part.js:2297
+#: company/templates/company/supplier_part.html:317
+#: templates/js/translated/pricing.js:413
msgid "Add Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:282
+#: company/templates/company/supplier_part.html:285
msgid "Link Barcode to Supplier Part"
-msgstr ""
+msgstr "Koble strekkode til leverandørdelen"
-#: company/templates/company/supplier_part.html:300
-msgid "No price break information found"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:314
-#: templates/js/translated/part.js:2307
-msgid "Delete Price Break"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:328
-#: templates/js/translated/part.js:2321
-msgid "Edit Price Break"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:353
-msgid "Edit price break"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:354
-msgid "Delete price break"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:363
-msgid "Last updated"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:444
+#: company/templates/company/supplier_part.html:375
msgid "Update Part Availability"
-msgstr ""
+msgstr "Oppdater tilgjengelighet"
#: company/templates/company/supplier_part_navbar.html:15
#: part/templates/part/part_sidebar.html:14
@@ -3542,9 +3571,9 @@ msgstr ""
#: stock/templates/stock/stock_app_base.html:10
#: templates/InvenTree/search.html:153
#: templates/InvenTree/settings/sidebar.html:45
-#: templates/js/translated/part.js:749 templates/js/translated/part.js:1335
-#: templates/js/translated/part.js:1501 templates/js/translated/stock.js:959
-#: templates/js/translated/stock.js:1760 templates/navbar.html:31
+#: templates/js/translated/part.js:763 templates/js/translated/part.js:1356
+#: templates/js/translated/part.js:1512 templates/js/translated/stock.js:978
+#: templates/js/translated/stock.js:1779 templates/navbar.html:31
msgid "Stock"
msgstr ""
@@ -3558,19 +3587,20 @@ msgid "Supplier Part Pricing"
msgstr ""
#: company/templates/company/supplier_part_navbar.html:29
-#: part/templates/part/part_sidebar.html:31
+#: part/templates/part/part_sidebar.html:30
+#: templates/InvenTree/settings/sidebar.html:35
msgid "Pricing"
msgstr ""
#: company/templates/company/supplier_part_sidebar.html:5
#: part/templates/part/category.html:198
-#: part/templates/part/category_sidebar.html:17
+#: part/templates/part/category_sidebar.html:17 stock/admin.py:31
#: stock/templates/stock/location.html:168
#: stock/templates/stock/location.html:182
#: stock/templates/stock/location.html:194
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:155 templates/js/translated/search.js:225
-#: templates/js/translated/stock.js:2446 users/models.py:40
+#: templates/js/translated/stock.js:2464 users/models.py:40
msgid "Stock Items"
msgstr ""
@@ -3672,438 +3702,439 @@ msgstr ""
msgid "No matching purchase order found"
msgstr ""
-#: order/models.py:82
+#: order/models.py:83
msgid "Order description"
msgstr ""
-#: order/models.py:84 order/models.py:1260
+#: order/models.py:85 order/models.py:1283
msgid "Link to external page"
msgstr ""
-#: order/models.py:92
+#: order/models.py:93
msgid "Created By"
msgstr ""
-#: order/models.py:99
+#: order/models.py:100
msgid "User or group responsible for this order"
msgstr ""
-#: order/models.py:104
+#: order/models.py:105
msgid "Order notes"
msgstr ""
-#: order/models.py:241 order/models.py:633
+#: order/models.py:242 order/models.py:652
msgid "Order reference"
msgstr ""
-#: order/models.py:249 order/models.py:651
+#: order/models.py:250 order/models.py:670
msgid "Purchase order status"
msgstr ""
-#: order/models.py:264
+#: order/models.py:265
msgid "Company from which the items are being ordered"
msgstr ""
-#: order/models.py:267 order/templates/order/order_base.html:133
-#: templates/js/translated/order.js:1984
+#: order/models.py:268 order/templates/order/order_base.html:133
+#: templates/js/translated/order.js:2018
msgid "Supplier Reference"
msgstr ""
-#: order/models.py:267
+#: order/models.py:268
msgid "Supplier order reference code"
msgstr ""
-#: order/models.py:274
+#: order/models.py:275
msgid "received by"
msgstr ""
-#: order/models.py:279
+#: order/models.py:280
msgid "Issue Date"
msgstr ""
-#: order/models.py:280
+#: order/models.py:281
msgid "Date order was issued"
msgstr ""
-#: order/models.py:285
+#: order/models.py:286
msgid "Target Delivery Date"
msgstr ""
-#: order/models.py:286
+#: order/models.py:287
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr ""
-#: order/models.py:292
+#: order/models.py:293
msgid "Date order was completed"
msgstr ""
-#: order/models.py:328
+#: order/models.py:332
msgid "Part supplier must match PO supplier"
msgstr ""
-#: order/models.py:472
+#: order/models.py:491
msgid "Quantity must be a positive number"
msgstr ""
-#: order/models.py:647
+#: order/models.py:666
msgid "Company to which the items are being sold"
msgstr ""
-#: order/models.py:658
+#: order/models.py:677
msgid "Customer Reference "
msgstr ""
-#: order/models.py:658
+#: order/models.py:677
msgid "Customer order reference code"
msgstr ""
-#: order/models.py:663
+#: order/models.py:682
msgid "Target date for order completion. Order will be overdue after this date."
msgstr ""
-#: order/models.py:666 order/models.py:1218
-#: templates/js/translated/order.js:2855 templates/js/translated/order.js:3017
+#: order/models.py:685 order/models.py:1241
+#: templates/js/translated/order.js:2866 templates/js/translated/order.js:3028
msgid "Shipment Date"
msgstr ""
-#: order/models.py:673
+#: order/models.py:692
msgid "shipped by"
msgstr ""
-#: order/models.py:728
+#: order/models.py:747
msgid "Order cannot be completed as no parts have been assigned"
msgstr ""
-#: order/models.py:732
+#: order/models.py:751
msgid "Only a pending order can be marked as complete"
msgstr ""
-#: order/models.py:735 templates/js/translated/order.js:419
+#: order/models.py:754 templates/js/translated/order.js:419
msgid "Order cannot be completed as there are incomplete shipments"
msgstr ""
-#: order/models.py:738
+#: order/models.py:757
msgid "Order cannot be completed as there are incomplete line items"
msgstr ""
-#: order/models.py:912
+#: order/models.py:935
msgid "Item quantity"
msgstr ""
-#: order/models.py:918
+#: order/models.py:941
msgid "Line item reference"
msgstr ""
-#: order/models.py:920
+#: order/models.py:943
msgid "Line item notes"
msgstr ""
-#: order/models.py:925
+#: order/models.py:948
msgid "Target shipping date for this line item"
msgstr ""
-#: order/models.py:943
+#: order/models.py:966
msgid "Context"
msgstr ""
-#: order/models.py:944
+#: order/models.py:967
msgid "Additional context for this line"
msgstr ""
-#: order/models.py:953
+#: order/models.py:976
msgid "Unit price"
msgstr ""
-#: order/models.py:983
+#: order/models.py:1006
msgid "Supplier part must match supplier"
msgstr ""
-#: order/models.py:991
+#: order/models.py:1014
msgid "deleted"
msgstr ""
-#: order/models.py:997 order/models.py:1077 order/models.py:1118
-#: order/models.py:1212 order/models.py:1344
-#: templates/js/translated/order.js:3473
+#: order/models.py:1020 order/models.py:1100 order/models.py:1141
+#: order/models.py:1235 order/models.py:1367
+#: templates/js/translated/order.js:3484
msgid "Order"
msgstr ""
-#: order/models.py:998 order/models.py:1077
+#: order/models.py:1021 order/models.py:1100
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report.html:76
#: stock/templates/stock/item_base.html:182
#: templates/email/overdue_purchase_order.html:15
-#: templates/js/translated/order.js:619 templates/js/translated/order.js:1136
-#: templates/js/translated/order.js:1959 templates/js/translated/part.js:970
-#: templates/js/translated/stock.js:1915 templates/js/translated/stock.js:2550
+#: templates/js/translated/order.js:619 templates/js/translated/order.js:1170
+#: templates/js/translated/order.js:1993 templates/js/translated/part.js:997
+#: templates/js/translated/pricing.js:515 templates/js/translated/stock.js:1934
+#: templates/js/translated/stock.js:2568
msgid "Purchase Order"
msgstr ""
-#: order/models.py:1016
+#: order/models.py:1039
msgid "Supplier part"
msgstr ""
-#: order/models.py:1023 order/templates/order/order_base.html:178
-#: templates/js/translated/order.js:1641 templates/js/translated/order.js:2373
-#: templates/js/translated/part.js:1087 templates/js/translated/part.js:1125
-#: templates/js/translated/table_filters.js:346
+#: order/models.py:1046 order/templates/order/order_base.html:178
+#: templates/js/translated/order.js:1675 templates/js/translated/order.js:2396
+#: templates/js/translated/part.js:1114 templates/js/translated/part.js:1146
+#: templates/js/translated/table_filters.js:350
msgid "Received"
msgstr ""
-#: order/models.py:1024
+#: order/models.py:1047
msgid "Number of items received"
msgstr ""
-#: order/models.py:1031 part/templates/part/prices.html:181 stock/models.py:741
-#: stock/serializers.py:169 stock/templates/stock/item_base.html:189
-#: templates/js/translated/stock.js:1966
+#: order/models.py:1054 stock/models.py:757 stock/serializers.py:173
+#: stock/templates/stock/item_base.html:189
+#: templates/js/translated/stock.js:1985
msgid "Purchase Price"
msgstr ""
-#: order/models.py:1032
+#: order/models.py:1055
msgid "Unit purchase price"
msgstr ""
-#: order/models.py:1040
+#: order/models.py:1063
msgid "Where does the Purchaser want this item to be stored?"
msgstr ""
-#: order/models.py:1106
+#: order/models.py:1129
msgid "Virtual part cannot be assigned to a sales order"
msgstr ""
-#: order/models.py:1111
+#: order/models.py:1134
msgid "Only salable parts can be assigned to a sales order"
msgstr ""
-#: order/models.py:1137 part/templates/part/part_pricing.html:115
-#: part/templates/part/prices.html:121 part/templates/part/prices.html:290
+#: order/models.py:1160 part/templates/part/part_pricing.html:107
+#: part/templates/part/prices.html:139 templates/js/translated/pricing.js:665
msgid "Sale Price"
msgstr ""
-#: order/models.py:1138
+#: order/models.py:1161
msgid "Unit sale price"
msgstr ""
-#: order/models.py:1143
+#: order/models.py:1166
msgid "Shipped quantity"
msgstr ""
-#: order/models.py:1219
+#: order/models.py:1242
msgid "Date of shipment"
msgstr ""
-#: order/models.py:1226
+#: order/models.py:1249
msgid "Checked By"
msgstr ""
-#: order/models.py:1227
+#: order/models.py:1250
msgid "User who checked this shipment"
msgstr ""
-#: order/models.py:1234 order/models.py:1419 order/serializers.py:1228
-#: order/serializers.py:1356 templates/js/translated/model_renderers.js:314
+#: order/models.py:1257 order/models.py:1442 order/serializers.py:1221
+#: order/serializers.py:1349 templates/js/translated/model_renderers.js:314
msgid "Shipment"
msgstr ""
-#: order/models.py:1235
+#: order/models.py:1258
msgid "Shipment number"
msgstr ""
-#: order/models.py:1239
+#: order/models.py:1262
msgid "Shipment notes"
msgstr ""
-#: order/models.py:1245
+#: order/models.py:1268
msgid "Tracking Number"
msgstr ""
-#: order/models.py:1246
+#: order/models.py:1269
msgid "Shipment tracking information"
msgstr ""
-#: order/models.py:1253
+#: order/models.py:1276
msgid "Invoice Number"
msgstr ""
-#: order/models.py:1254
+#: order/models.py:1277
msgid "Reference number for associated invoice"
msgstr ""
-#: order/models.py:1272
+#: order/models.py:1295
msgid "Shipment has already been sent"
msgstr ""
-#: order/models.py:1275
+#: order/models.py:1298
msgid "Shipment has no allocated stock items"
msgstr ""
-#: order/models.py:1378 order/models.py:1380
+#: order/models.py:1401 order/models.py:1403
msgid "Stock item has not been assigned"
msgstr ""
-#: order/models.py:1384
+#: order/models.py:1407
msgid "Cannot allocate stock item to a line with a different part"
msgstr ""
-#: order/models.py:1386
+#: order/models.py:1409
msgid "Cannot allocate stock to a line without a part"
msgstr ""
-#: order/models.py:1389
+#: order/models.py:1412
msgid "Allocation quantity cannot exceed stock quantity"
msgstr ""
-#: order/models.py:1399 order/serializers.py:1090
+#: order/models.py:1422 order/serializers.py:1083
msgid "Quantity must be 1 for serialized stock item"
msgstr ""
-#: order/models.py:1402
+#: order/models.py:1425
msgid "Sales order does not match shipment"
msgstr ""
-#: order/models.py:1403
+#: order/models.py:1426
msgid "Shipment does not match sales order"
msgstr ""
-#: order/models.py:1411
+#: order/models.py:1434
msgid "Line"
msgstr ""
-#: order/models.py:1420
+#: order/models.py:1443
msgid "Sales order shipment reference"
msgstr ""
-#: order/models.py:1433 templates/js/translated/notification.js:55
+#: order/models.py:1456 templates/js/translated/notification.js:55
msgid "Item"
msgstr ""
-#: order/models.py:1434
+#: order/models.py:1457
msgid "Select stock item to allocate"
msgstr ""
-#: order/models.py:1437
+#: order/models.py:1460
msgid "Enter stock allocation quantity"
msgstr ""
-#: order/serializers.py:67
+#: order/serializers.py:63
msgid "Price currency"
msgstr ""
-#: order/serializers.py:199
+#: order/serializers.py:193
msgid "Order cannot be cancelled"
msgstr ""
-#: order/serializers.py:209 order/serializers.py:1108
+#: order/serializers.py:203 order/serializers.py:1101
msgid "Allow order to be closed with incomplete line items"
msgstr ""
-#: order/serializers.py:220 order/serializers.py:1119
+#: order/serializers.py:214 order/serializers.py:1112
msgid "Order has incomplete line items"
msgstr ""
-#: order/serializers.py:311
+#: order/serializers.py:305
msgid "Order is not open"
msgstr ""
-#: order/serializers.py:335
+#: order/serializers.py:327
msgid "Purchase price currency"
msgstr ""
-#: order/serializers.py:354
+#: order/serializers.py:346
msgid "Supplier part must be specified"
msgstr ""
-#: order/serializers.py:359
+#: order/serializers.py:351
msgid "Purchase order must be specified"
msgstr ""
-#: order/serializers.py:365
+#: order/serializers.py:357
msgid "Supplier must match purchase order"
msgstr ""
-#: order/serializers.py:366
+#: order/serializers.py:358
msgid "Purchase order must match supplier"
msgstr ""
-#: order/serializers.py:430 order/serializers.py:1196
+#: order/serializers.py:421 order/serializers.py:1189
msgid "Line Item"
msgstr ""
-#: order/serializers.py:436
+#: order/serializers.py:427
msgid "Line item does not match purchase order"
msgstr ""
-#: order/serializers.py:446 order/serializers.py:557
+#: order/serializers.py:437 order/serializers.py:548
msgid "Select destination location for received items"
msgstr ""
-#: order/serializers.py:465 templates/js/translated/order.js:1497
+#: order/serializers.py:456 templates/js/translated/order.js:1531
msgid "Enter batch code for incoming stock items"
msgstr ""
-#: order/serializers.py:473 templates/js/translated/order.js:1508
+#: order/serializers.py:464 templates/js/translated/order.js:1542
msgid "Enter serial numbers for incoming stock items"
msgstr ""
-#: order/serializers.py:487
+#: order/serializers.py:478
msgid "Unique identifier field"
msgstr ""
-#: order/serializers.py:501
+#: order/serializers.py:492
msgid "Barcode is already in use"
msgstr ""
-#: order/serializers.py:527
+#: order/serializers.py:518
msgid "An integer quantity must be provided for trackable parts"
msgstr ""
-#: order/serializers.py:573
+#: order/serializers.py:564
msgid "Line items must be provided"
msgstr ""
-#: order/serializers.py:590
+#: order/serializers.py:581
msgid "Destination location must be specified"
msgstr ""
-#: order/serializers.py:601
+#: order/serializers.py:592
msgid "Supplied barcode values must be unique"
msgstr ""
-#: order/serializers.py:907
+#: order/serializers.py:900
msgid "Sale price currency"
msgstr ""
-#: order/serializers.py:988
+#: order/serializers.py:981
msgid "No shipment details provided"
msgstr ""
-#: order/serializers.py:1051 order/serializers.py:1205
+#: order/serializers.py:1044 order/serializers.py:1198
msgid "Line item is not associated with this order"
msgstr ""
-#: order/serializers.py:1073
+#: order/serializers.py:1066
msgid "Quantity must be positive"
msgstr ""
-#: order/serializers.py:1218
+#: order/serializers.py:1211
msgid "Enter serial numbers to allocate"
msgstr ""
-#: order/serializers.py:1240 order/serializers.py:1364
+#: order/serializers.py:1233 order/serializers.py:1357
msgid "Shipment has already been shipped"
msgstr ""
-#: order/serializers.py:1243 order/serializers.py:1367
+#: order/serializers.py:1236 order/serializers.py:1360
msgid "Shipment is not associated with this order"
msgstr ""
-#: order/serializers.py:1297
+#: order/serializers.py:1290
msgid "No match found for the following serial numbers"
msgstr ""
-#: order/serializers.py:1307
+#: order/serializers.py:1300
msgid "The following serial numbers are already allocated"
msgstr ""
@@ -4154,7 +4185,8 @@ msgid "Duplicate order"
msgstr ""
#: order/templates/order/order_base.html:61
-msgid "Place order"
+#: order/templates/order/order_base.html:62
+msgid "Submit Order"
msgstr ""
#: order/templates/order/order_base.html:65
@@ -4162,7 +4194,7 @@ msgid "Receive items"
msgstr ""
#: order/templates/order/order_base.html:67
-#: order/templates/order/purchase_order_detail.html:30
+#: order/templates/order/purchase_order_detail.html:32
msgid "Receive Items"
msgstr ""
@@ -4248,9 +4280,9 @@ msgstr ""
#: part/templates/part/import_wizard/match_references.html:49
#: templates/js/translated/bom.js:102 templates/js/translated/build.js:479
#: templates/js/translated/build.js:631 templates/js/translated/build.js:2078
-#: templates/js/translated/order.js:1084 templates/js/translated/order.js:1586
-#: templates/js/translated/order.js:3092 templates/js/translated/stock.js:625
-#: templates/js/translated/stock.js:793
+#: templates/js/translated/order.js:1118 templates/js/translated/order.js:1620
+#: templates/js/translated/order.js:3103 templates/js/translated/stock.js:644
+#: templates/js/translated/stock.js:812
#: templates/patterns/wizard/match_fields.html:70
msgid "Remove row"
msgstr ""
@@ -4278,42 +4310,42 @@ msgstr ""
msgid "Received Stock"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:17
+#: order/templates/order/purchase_order_detail.html:19
msgid "Purchase Order Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:26
-#: order/templates/order/sales_order_detail.html:22
-#: order/templates/order/sales_order_detail.html:255
+#: order/templates/order/purchase_order_detail.html:28
+#: order/templates/order/sales_order_detail.html:24
+#: order/templates/order/sales_order_detail.html:260
#: templates/js/translated/order.js:728
msgid "Add Line Item"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:29
+#: order/templates/order/purchase_order_detail.html:31
msgid "Receive selected items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:48
-#: order/templates/order/sales_order_detail.html:42
+#: order/templates/order/purchase_order_detail.html:50
+#: order/templates/order/sales_order_detail.html:45
msgid "Extra Lines"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:53
-#: order/templates/order/sales_order_detail.html:47
-#: order/templates/order/sales_order_detail.html:280
+#: order/templates/order/purchase_order_detail.html:56
+#: order/templates/order/sales_order_detail.html:51
+#: order/templates/order/sales_order_detail.html:291
msgid "Add Extra Line"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:72
+#: order/templates/order/purchase_order_detail.html:76
msgid "Received Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:97
-#: order/templates/order/sales_order_detail.html:150
+#: order/templates/order/purchase_order_detail.html:101
+#: order/templates/order/sales_order_detail.html:155
msgid "Order Notes"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:232
+#: order/templates/order/purchase_order_detail.html:239
msgid "Add Order Line"
msgstr ""
@@ -4345,12 +4377,12 @@ msgid "This Sales Order has not been fully allocated"
msgstr ""
#: order/templates/order/sales_order_base.html:123
-#: templates/js/translated/order.js:2821
+#: templates/js/translated/order.js:2832
msgid "Customer Reference"
msgstr ""
#: order/templates/order/sales_order_base.html:141
-#: order/templates/order/sales_order_detail.html:104
+#: order/templates/order/sales_order_detail.html:109
#: order/templates/order/so_sidebar.html:11
msgid "Completed Shipments"
msgstr ""
@@ -4359,22 +4391,22 @@ msgstr ""
msgid "Edit Sales Order"
msgstr ""
-#: order/templates/order/sales_order_detail.html:17
+#: order/templates/order/sales_order_detail.html:18
msgid "Sales Order Items"
msgstr ""
-#: order/templates/order/sales_order_detail.html:68
+#: order/templates/order/sales_order_detail.html:73
#: order/templates/order/so_sidebar.html:8
msgid "Pending Shipments"
msgstr ""
-#: order/templates/order/sales_order_detail.html:72
-#: templates/attachment_table.html:6 templates/js/translated/bom.js:1158
+#: order/templates/order/sales_order_detail.html:77
+#: templates/attachment_table.html:6 templates/js/translated/bom.js:1223
#: templates/js/translated/build.js:1979
msgid "Actions"
msgstr ""
-#: order/templates/order/sales_order_detail.html:81
+#: order/templates/order/sales_order_detail.html:86
msgid "New Shipment"
msgstr ""
@@ -4400,617 +4432,844 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/api.py:516
+#: part/admin.py:19 part/admin.py:219 part/models.py:3181 stock/admin.py:84
+#: templates/js/translated/model_renderers.js:212
+msgid "Part ID"
+msgstr ""
+
+#: part/admin.py:20 part/admin.py:221 part/models.py:3185 stock/admin.py:85
+msgid "Part Name"
+msgstr ""
+
+#: part/admin.py:21
+msgid "Part Description"
+msgstr ""
+
+#: part/admin.py:22 part/models.py:822 part/templates/part/part_base.html:272
+#: templates/js/translated/part.js:751 templates/js/translated/part.js:1469
+#: templates/js/translated/stock.js:1745
+msgid "IPN"
+msgstr ""
+
+#: part/admin.py:23 part/models.py:830 part/templates/part/part_base.html:279
+#: report/models.py:171 templates/js/translated/part.js:755
+msgid "Revision"
+msgstr ""
+
+#: part/admin.py:24 part/admin.py:145 part/models.py:808
+#: part/templates/part/category.html:87 part/templates/part/part_base.html:300
+msgid "Keywords"
+msgstr ""
+
+#: part/admin.py:28 part/admin.py:139
+#: templates/js/translated/model_renderers.js:338
+msgid "Category ID"
+msgstr ""
+
+#: part/admin.py:29 part/admin.py:140
+msgid "Category Name"
+msgstr ""
+
+#: part/admin.py:30 part/admin.py:144
+msgid "Default Location ID"
+msgstr ""
+
+#: part/admin.py:31
+msgid "Default Supplier ID"
+msgstr ""
+
+#: part/admin.py:33 part/models.py:914 part/templates/part/part_base.html:206
+msgid "Minimum Stock"
+msgstr ""
+
+#: part/admin.py:47 part/templates/part/part_base.html:200
+#: templates/js/translated/company.js:1028
+#: templates/js/translated/table_filters.js:213
+msgid "In Stock"
+msgstr ""
+
+#: part/admin.py:48 part/bom.py:145 part/templates/part/part_base.html:213
+#: templates/js/translated/bom.js:1155 templates/js/translated/build.js:1925
+#: templates/js/translated/part.js:602 templates/js/translated/part.js:622
+#: templates/js/translated/part.js:1359 templates/js/translated/part.js:1537
+#: templates/js/translated/table_filters.js:68
+msgid "On Order"
+msgstr ""
+
+#: part/admin.py:49 part/templates/part/part_sidebar.html:27
+msgid "Used In"
+msgstr ""
+
+#: part/admin.py:50 templates/js/translated/build.js:1937
+#: templates/js/translated/build.js:2195 templates/js/translated/build.js:2761
+#: templates/js/translated/order.js:3943
+msgid "Allocated"
+msgstr ""
+
+#: part/admin.py:51 part/templates/part/part_base.html:244
+#: templates/js/translated/part.js:605 templates/js/translated/part.js:625
+#: templates/js/translated/part.js:1363 templates/js/translated/part.js:1544
+msgid "Building"
+msgstr ""
+
+#: part/admin.py:52 part/models.py:2765
+msgid "Minimum Cost"
+msgstr ""
+
+#: part/admin.py:53 part/models.py:2771
+msgid "Maximum Cost"
+msgstr ""
+
+#: part/admin.py:142 part/admin.py:216 stock/admin.py:26 stock/admin.py:98
+msgid "Parent ID"
+msgstr ""
+
+#: part/admin.py:143 part/admin.py:218 stock/admin.py:27
+msgid "Parent Name"
+msgstr ""
+
+#: part/admin.py:146 part/templates/part/category.html:81
+#: part/templates/part/category.html:94
+msgid "Category Path"
+msgstr ""
+
+#: part/admin.py:149 part/models.py:363 part/templates/part/cat_link.html:3
+#: part/templates/part/category.html:23 part/templates/part/category.html:134
+#: part/templates/part/category.html:154
+#: part/templates/part/category_sidebar.html:9
+#: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84
+#: templates/InvenTree/settings/sidebar.html:41
+#: templates/js/translated/part.js:2043 templates/js/translated/search.js:146
+#: templates/navbar.html:24 users/models.py:38
+msgid "Parts"
+msgstr ""
+
+#: part/admin.py:211
+msgid "BOM Level"
+msgstr ""
+
+#: part/admin.py:213
+msgid "BOM Item ID"
+msgstr ""
+
+#: part/admin.py:217
+msgid "Parent IPN"
+msgstr ""
+
+#: part/admin.py:220 part/models.py:3189
+msgid "Part IPN"
+msgstr ""
+
+#: part/admin.py:226 templates/js/translated/pricing.js:91
+#: templates/js/translated/pricing.js:727
+msgid "Minimum Price"
+msgstr ""
+
+#: part/admin.py:227 templates/js/translated/pricing.js:86
+#: templates/js/translated/pricing.js:735
+msgid "Maximum Price"
+msgstr ""
+
+#: part/api.py:532
msgid "Incoming Purchase Order"
msgstr ""
-#: part/api.py:536
+#: part/api.py:552
msgid "Outgoing Sales Order"
msgstr ""
-#: part/api.py:554
+#: part/api.py:570
msgid "Stock produced by Build Order"
msgstr ""
-#: part/api.py:640
+#: part/api.py:656
msgid "Stock required for Build Order"
msgstr ""
-#: part/api.py:777
+#: part/api.py:814
msgid "Valid"
msgstr ""
-#: part/api.py:778
+#: part/api.py:815
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/api.py:784
+#: part/api.py:821
msgid "This option must be selected"
msgstr ""
-#: part/api.py:1207
+#: part/api.py:1261
msgid "Must be greater than zero"
msgstr ""
-#: part/api.py:1211
+#: part/api.py:1265
msgid "Must be a valid quantity"
msgstr ""
-#: part/api.py:1226
+#: part/api.py:1280
msgid "Specify location for initial part stock"
msgstr ""
-#: part/api.py:1257 part/api.py:1261 part/api.py:1276 part/api.py:1280
+#: part/api.py:1311 part/api.py:1315 part/api.py:1330 part/api.py:1334
msgid "This field is required"
msgstr ""
-#: part/bom.py:127 part/models.py:98 part/models.py:838
-#: part/templates/part/category.html:109 part/templates/part/part_base.html:345
+#: part/bom.py:142 part/models.py:116 part/models.py:857
+#: part/templates/part/category.html:109 part/templates/part/part_base.html:360
msgid "Default Location"
msgstr ""
-#: part/bom.py:128 templates/email/low_stock_notification.html:17
+#: part/bom.py:143 templates/email/low_stock_notification.html:17
msgid "Total Stock"
msgstr ""
-#: part/bom.py:129 part/templates/part/part_base.html:195
-#: templates/js/translated/order.js:3913
+#: part/bom.py:144 part/templates/part/part_base.html:195
+#: templates/js/translated/order.js:3910
msgid "Available Stock"
msgstr ""
-#: part/bom.py:130 part/templates/part/part_base.html:213
-#: templates/js/translated/bom.js:1001 templates/js/translated/build.js:1925
-#: templates/js/translated/part.js:588 templates/js/translated/part.js:608
-#: templates/js/translated/part.js:1338 templates/js/translated/part.js:1526
-#: templates/js/translated/table_filters.js:68
-msgid "On Order"
-msgstr ""
-
#: part/forms.py:41
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:99
+#: part/models.py:117
msgid "Default location for parts in this category"
msgstr ""
-#: part/models.py:102
+#: part/models.py:120
msgid "Default keywords"
msgstr ""
-#: part/models.py:102
+#: part/models.py:120
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:107 stock/models.py:85
+#: part/models.py:125 stock/models.py:101
msgid "Icon"
msgstr ""
-#: part/models.py:108 stock/models.py:86
+#: part/models.py:126 stock/models.py:102
msgid "Icon (optional)"
msgstr ""
-#: part/models.py:122 part/models.py:2517 part/templates/part/category.html:16
+#: part/models.py:140 part/models.py:3130 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
-#: part/models.py:123 part/templates/part/category.html:129
+#: part/models.py:141 part/templates/part/category.html:129
#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200
#: users/models.py:37
msgid "Part Categories"
msgstr ""
-#: part/models.py:344 part/templates/part/cat_link.html:3
-#: part/templates/part/category.html:23 part/templates/part/category.html:134
-#: part/templates/part/category.html:154
-#: part/templates/part/category_sidebar.html:9
-#: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84
-#: templates/InvenTree/settings/sidebar.html:41
-#: templates/js/translated/part.js:2019 templates/js/translated/search.js:146
-#: templates/navbar.html:24 users/models.py:38
-msgid "Parts"
-msgstr ""
-
-#: part/models.py:429
+#: part/models.py:448
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:499 part/models.py:511
+#: part/models.py:518 part/models.py:530
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:601
+#: part/models.py:620
msgid "Stock item with this serial number already exists"
msgstr ""
-#: part/models.py:732
+#: part/models.py:751
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:759 part/models.py:2573
+#: part/models.py:778 part/models.py:3186
msgid "Part name"
msgstr ""
-#: part/models.py:766
+#: part/models.py:785
msgid "Is Template"
msgstr ""
-#: part/models.py:767
+#: part/models.py:786
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:777
+#: part/models.py:796
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:778
+#: part/models.py:797
msgid "Variant Of"
msgstr ""
-#: part/models.py:784
+#: part/models.py:803
msgid "Part description"
msgstr ""
-#: part/models.py:789 part/templates/part/category.html:87
-#: part/templates/part/part_base.html:300
-msgid "Keywords"
-msgstr ""
-
-#: part/models.py:790
+#: part/models.py:809
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:797 part/models.py:2272 part/models.py:2516
+#: part/models.py:816 part/models.py:2885 part/models.py:3129
#: part/templates/part/part_base.html:263
#: templates/InvenTree/settings/settings.html:229
#: templates/js/translated/notification.js:50
-#: templates/js/translated/part.js:1480 templates/js/translated/part.js:1724
+#: templates/js/translated/part.js:1491 templates/js/translated/part.js:1748
msgid "Category"
msgstr ""
-#: part/models.py:798
+#: part/models.py:817
msgid "Part category"
msgstr ""
-#: part/models.py:803 part/templates/part/part_base.html:272
-#: templates/js/translated/part.js:737 templates/js/translated/part.js:1431
-#: templates/js/translated/stock.js:1726
-msgid "IPN"
-msgstr ""
-
-#: part/models.py:804
+#: part/models.py:823
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:810
+#: part/models.py:829
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:811 part/templates/part/part_base.html:279
-#: report/models.py:171 templates/js/translated/part.js:741
-msgid "Revision"
-msgstr ""
-
-#: part/models.py:836
+#: part/models.py:855
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:881 part/templates/part/part_base.html:354
+#: part/models.py:900 part/templates/part/part_base.html:369
msgid "Default Supplier"
msgstr ""
-#: part/models.py:882
+#: part/models.py:901
msgid "Default supplier part"
msgstr ""
-#: part/models.py:889
+#: part/models.py:908
msgid "Default Expiry"
msgstr ""
-#: part/models.py:890
+#: part/models.py:909
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:895 part/templates/part/part_base.html:206
-msgid "Minimum Stock"
-msgstr ""
-
-#: part/models.py:896
+#: part/models.py:915
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:903
+#: part/models.py:922
msgid "Stock keeping units for this part"
msgstr ""
-#: part/models.py:909
+#: part/models.py:928
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:915
+#: part/models.py:934
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:921
+#: part/models.py:940
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:926
+#: part/models.py:945
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:931
+#: part/models.py:950
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:936
+#: part/models.py:955
msgid "Is this part active?"
msgstr ""
-#: part/models.py:941
+#: part/models.py:960
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:943
+#: part/models.py:962
msgid "Part notes"
msgstr ""
-#: part/models.py:945
+#: part/models.py:964
msgid "BOM checksum"
msgstr ""
-#: part/models.py:945
+#: part/models.py:964
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:948
+#: part/models.py:967
msgid "BOM checked by"
msgstr ""
-#: part/models.py:950
+#: part/models.py:969
msgid "BOM checked date"
msgstr ""
-#: part/models.py:954
+#: part/models.py:973
msgid "Creation User"
msgstr ""
-#: part/models.py:1790
+#: part/models.py:1819
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2319
+#: part/models.py:2682
+msgid "Currency used to cache pricing calculations"
+msgstr ""
+
+#: part/models.py:2687
+msgid "Updated"
+msgstr ""
+
+#: part/models.py:2688
+msgid "Timestamp of last pricing update"
+msgstr ""
+
+#: part/models.py:2705
+msgid "Minimum BOM Cost"
+msgstr ""
+
+#: part/models.py:2706
+msgid "Minimum cost of component parts"
+msgstr ""
+
+#: part/models.py:2711
+msgid "Maximum BOM Cost"
+msgstr ""
+
+#: part/models.py:2712
+msgid "Maximum cost of component parts"
+msgstr ""
+
+#: part/models.py:2717
+msgid "Minimum Purchase Cost"
+msgstr ""
+
+#: part/models.py:2718
+msgid "Minimum historical purchase cost"
+msgstr ""
+
+#: part/models.py:2723
+msgid "Maximum Purchase Cost"
+msgstr ""
+
+#: part/models.py:2724
+msgid "Maximum historical purchase cost"
+msgstr ""
+
+#: part/models.py:2729
+msgid "Minimum Internal Price"
+msgstr ""
+
+#: part/models.py:2730
+msgid "Minimum cost based on internal price breaks"
+msgstr ""
+
+#: part/models.py:2735
+msgid "Maximum Internal Price"
+msgstr ""
+
+#: part/models.py:2736
+msgid "Maximum cost based on internal price breaks"
+msgstr ""
+
+#: part/models.py:2741
+msgid "Minimum Supplier Price"
+msgstr ""
+
+#: part/models.py:2742
+msgid "Minimum price of part from external suppliers"
+msgstr ""
+
+#: part/models.py:2747
+msgid "Maximum Supplier Price"
+msgstr ""
+
+#: part/models.py:2748
+msgid "Maximum price of part from external suppliers"
+msgstr ""
+
+#: part/models.py:2753
+msgid "Minimum Variant Cost"
+msgstr ""
+
+#: part/models.py:2754
+msgid "Calculated minimum cost of variant parts"
+msgstr ""
+
+#: part/models.py:2759
+msgid "Maximum Variant Cost"
+msgstr ""
+
+#: part/models.py:2760
+msgid "Calculated maximum cost of variant parts"
+msgstr ""
+
+#: part/models.py:2766
+msgid "Calculated overall minimum cost"
+msgstr ""
+
+#: part/models.py:2772
+msgid "Calculated overall maximum cost"
+msgstr ""
+
+#: part/models.py:2777
+msgid "Minimum Sale Price"
+msgstr ""
+
+#: part/models.py:2778
+msgid "Minimum sale price based on price breaks"
+msgstr ""
+
+#: part/models.py:2783
+msgid "Maximum Sale Price"
+msgstr ""
+
+#: part/models.py:2784
+msgid "Maximum sale price based on price breaks"
+msgstr ""
+
+#: part/models.py:2789
+msgid "Minimum Sale Cost"
+msgstr ""
+
+#: part/models.py:2790
+msgid "Minimum historical sale price"
+msgstr ""
+
+#: part/models.py:2795
+msgid "Maximum Sale Cost"
+msgstr ""
+
+#: part/models.py:2796
+msgid "Maximum historical sale price"
+msgstr ""
+
+#: part/models.py:2932
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:2336
+#: part/models.py:2949
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2356 templates/js/translated/part.js:2070
-#: templates/js/translated/stock.js:1340
+#: part/models.py:2969 templates/js/translated/part.js:2094
+#: templates/js/translated/stock.js:1359
msgid "Test Name"
msgstr ""
-#: part/models.py:2357
+#: part/models.py:2970
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2362
+#: part/models.py:2975
msgid "Test Description"
msgstr ""
-#: part/models.py:2363
+#: part/models.py:2976
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2368 templates/js/translated/part.js:2079
-#: templates/js/translated/table_filters.js:310
+#: part/models.py:2981 templates/js/translated/part.js:2103
+#: templates/js/translated/table_filters.js:314
msgid "Required"
msgstr ""
-#: part/models.py:2369
+#: part/models.py:2982
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2374 templates/js/translated/part.js:2087
+#: part/models.py:2987 templates/js/translated/part.js:2111
msgid "Requires Value"
msgstr ""
-#: part/models.py:2375
+#: part/models.py:2988
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2380 templates/js/translated/part.js:2094
+#: part/models.py:2993 templates/js/translated/part.js:2118
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2381
+#: part/models.py:2994
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:2422
+#: part/models.py:3035
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:2430
+#: part/models.py:3043
msgid "Parameter Name"
msgstr ""
-#: part/models.py:2434
+#: part/models.py:3047
msgid "Parameter Units"
msgstr ""
-#: part/models.py:2439
+#: part/models.py:3052
msgid "Parameter description"
msgstr ""
-#: part/models.py:2472
+#: part/models.py:3085
msgid "Parent Part"
msgstr ""
-#: part/models.py:2474 part/models.py:2522 part/models.py:2523
+#: part/models.py:3087 part/models.py:3135 part/models.py:3136
#: templates/InvenTree/settings/settings.html:224
msgid "Parameter Template"
msgstr ""
-#: part/models.py:2476
+#: part/models.py:3089
msgid "Data"
msgstr ""
-#: part/models.py:2476
+#: part/models.py:3089
msgid "Parameter Value"
msgstr ""
-#: part/models.py:2527 templates/InvenTree/settings/settings.html:233
+#: part/models.py:3140 templates/InvenTree/settings/settings.html:233
msgid "Default Value"
msgstr ""
-#: part/models.py:2528
+#: part/models.py:3141
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:2565
+#: part/models.py:3178
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:2568 templates/js/translated/model_renderers.js:212
-msgid "Part ID"
-msgstr ""
-
-#: part/models.py:2569
+#: part/models.py:3182
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:2572
-msgid "Part Name"
-msgstr ""
-
-#: part/models.py:2576
-msgid "Part IPN"
-msgstr ""
-
-#: part/models.py:2577
+#: part/models.py:3190
msgid "Part IPN value"
msgstr ""
-#: part/models.py:2580
+#: part/models.py:3193
msgid "Level"
msgstr ""
-#: part/models.py:2581
+#: part/models.py:3194
msgid "BOM level"
msgstr ""
-#: part/models.py:2650
+#: part/models.py:3263
msgid "Select parent part"
msgstr ""
-#: part/models.py:2658
+#: part/models.py:3271
msgid "Sub part"
msgstr ""
-#: part/models.py:2659
+#: part/models.py:3272
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:2665
+#: part/models.py:3278
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:2669 part/templates/part/upload_bom.html:58
-#: templates/js/translated/bom.js:924 templates/js/translated/bom.js:1024
+#: part/models.py:3282 part/templates/part/upload_bom.html:58
+#: templates/js/translated/bom.js:933 templates/js/translated/bom.js:986
#: templates/js/translated/build.js:1858
#: templates/js/translated/table_filters.js:84
-#: templates/js/translated/table_filters.js:108
+#: templates/js/translated/table_filters.js:112
msgid "Optional"
msgstr ""
-#: part/models.py:2670
+#: part/models.py:3283
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:2675 templates/js/translated/bom.js:920
-#: templates/js/translated/bom.js:1033 templates/js/translated/build.js:1849
+#: part/models.py:3288 templates/js/translated/bom.js:929
+#: templates/js/translated/bom.js:995 templates/js/translated/build.js:1849
#: templates/js/translated/table_filters.js:88
msgid "Consumable"
msgstr ""
-#: part/models.py:2676
+#: part/models.py:3289
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:2680 part/templates/part/upload_bom.html:55
+#: part/models.py:3293 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:2681
+#: part/models.py:3294
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:2684
+#: part/models.py:3297
msgid "BOM item reference"
msgstr ""
-#: part/models.py:2687
+#: part/models.py:3300
msgid "BOM item notes"
msgstr ""
-#: part/models.py:2689
+#: part/models.py:3302
msgid "Checksum"
msgstr ""
-#: part/models.py:2689
+#: part/models.py:3302
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:2693 part/templates/part/upload_bom.html:57
-#: templates/js/translated/bom.js:1050
+#: part/models.py:3306 part/templates/part/upload_bom.html:57
+#: templates/js/translated/bom.js:1012
#: templates/js/translated/table_filters.js:76
-#: templates/js/translated/table_filters.js:104
+#: templates/js/translated/table_filters.js:108
msgid "Inherited"
msgstr ""
-#: part/models.py:2694
+#: part/models.py:3307
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:2699 part/templates/part/upload_bom.html:56
-#: templates/js/translated/bom.js:1042
+#: part/models.py:3312 part/templates/part/upload_bom.html:56
+#: templates/js/translated/bom.js:1004
msgid "Allow Variants"
msgstr ""
-#: part/models.py:2700
+#: part/models.py:3313
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:2786 stock/models.py:502
+#: part/models.py:3399 stock/models.py:518
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:2795 part/models.py:2797
+#: part/models.py:3408 part/models.py:3410
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:2902
+#: part/models.py:3537
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:2923
+#: part/models.py:3558
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:2936
+#: part/models.py:3571
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:2944
+#: part/models.py:3579
msgid "Substitute part"
msgstr ""
-#: part/models.py:2959
+#: part/models.py:3594
msgid "Part 1"
msgstr ""
-#: part/models.py:2963
+#: part/models.py:3598
msgid "Part 2"
msgstr ""
-#: part/models.py:2963
+#: part/models.py:3598
msgid "Select Related Part"
msgstr ""
-#: part/models.py:2981
+#: part/models.py:3616
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:2985
+#: part/models.py:3620
msgid "Duplicate relationship already exists"
msgstr ""
-#: part/serializers.py:154 part/serializers.py:185 stock/serializers.py:179
+#: part/serializers.py:154 part/serializers.py:182 stock/serializers.py:183
msgid "Purchase currency of this stock item"
msgstr ""
-#: part/serializers.py:829
+#: part/serializers.py:542
+msgid "Update"
+msgstr ""
+
+#: part/serializers.py:543
+msgid "Update pricing for this part"
+msgstr ""
+
+#: part/serializers.py:853
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:837
+#: part/serializers.py:861
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:838
+#: part/serializers.py:862
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:843
+#: part/serializers.py:867
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:844
+#: part/serializers.py:868
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:849
+#: part/serializers.py:873
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:850
+#: part/serializers.py:874
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:855
+#: part/serializers.py:879
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:856
+#: part/serializers.py:880
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/serializers.py:896
+#: part/serializers.py:920
msgid "Clear Existing BOM"
msgstr ""
-#: part/serializers.py:897
+#: part/serializers.py:921
msgid "Delete existing BOM items before uploading"
msgstr ""
-#: part/serializers.py:927
+#: part/serializers.py:951
msgid "No part column specified"
msgstr ""
-#: part/serializers.py:970
+#: part/serializers.py:994
msgid "Multiple matching parts found"
msgstr ""
-#: part/serializers.py:973
+#: part/serializers.py:997
msgid "No matching part found"
msgstr ""
-#: part/serializers.py:976
+#: part/serializers.py:1000
msgid "Part is not designated as a component"
msgstr ""
-#: part/serializers.py:985
+#: part/serializers.py:1009
msgid "Quantity not provided"
msgstr ""
-#: part/serializers.py:993
+#: part/serializers.py:1017
msgid "Invalid quantity"
msgstr ""
-#: part/serializers.py:1014
+#: part/serializers.py:1038
msgid "At least one BOM item is required"
msgstr ""
-#: part/tasks.py:21
+#: part/tasks.py:25
msgid "Low stock notification"
msgstr ""
-#: part/tasks.py:22
+#: part/tasks.py:26
#, python-brace-format
msgid "The available stock for {part.name} has fallen below the configured minimum level"
msgstr ""
@@ -5034,7 +5293,7 @@ msgstr ""
msgid "The BOM for %(part)s has not been validated."
msgstr ""
-#: part/templates/part/bom.html:30 part/templates/part/detail.html:269
+#: part/templates/part/bom.html:30 part/templates/part/detail.html:267
msgid "BOM actions"
msgstr ""
@@ -5070,10 +5329,6 @@ msgstr ""
msgid "Delete Category"
msgstr ""
-#: part/templates/part/category.html:81 part/templates/part/category.html:94
-msgid "Category Path"
-msgstr ""
-
#: part/templates/part/category.html:95
msgid "Top level part category"
msgstr ""
@@ -5091,12 +5346,12 @@ msgstr ""
msgid "Create new part"
msgstr ""
-#: part/templates/part/category.html:159 templates/js/translated/bom.js:392
+#: part/templates/part/category.html:159 templates/js/translated/bom.js:405
msgid "New Part"
msgstr ""
-#: part/templates/part/category.html:169 part/templates/part/detail.html:368
-#: part/templates/part/detail.html:399
+#: part/templates/part/category.html:169 part/templates/part/detail.html:366
+#: part/templates/part/detail.html:397
msgid "Options"
msgstr "Valgmuligheter"
@@ -5144,7 +5399,7 @@ msgstr ""
msgid "Import Parts"
msgstr ""
-#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:379
+#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:393
msgid "Duplicate Part"
msgstr ""
@@ -5176,7 +5431,8 @@ msgstr ""
msgid "Refresh scheduling data"
msgstr ""
-#: part/templates/part/detail.html:45 templates/js/translated/tables.js:524
+#: part/templates/part/detail.html:45 part/templates/part/prices.html:15
+#: templates/js/translated/tables.js:524
msgid "Refresh"
msgstr ""
@@ -5192,123 +5448,103 @@ msgstr ""
msgid "Sales Order Allocations"
msgstr ""
-#: part/templates/part/detail.html:143
+#: part/templates/part/detail.html:141
msgid "Part Notes"
msgstr ""
-#: part/templates/part/detail.html:158
+#: part/templates/part/detail.html:156
msgid "Part Variants"
msgstr ""
-#: part/templates/part/detail.html:162
+#: part/templates/part/detail.html:160
msgid "Create new variant"
msgstr ""
-#: part/templates/part/detail.html:163
+#: part/templates/part/detail.html:161
msgid "New Variant"
msgstr ""
-#: part/templates/part/detail.html:190
+#: part/templates/part/detail.html:188
msgid "Add new parameter"
msgstr ""
-#: part/templates/part/detail.html:227 part/templates/part/part_sidebar.html:54
+#: part/templates/part/detail.html:225 part/templates/part/part_sidebar.html:52
msgid "Related Parts"
msgstr ""
-#: part/templates/part/detail.html:231 part/templates/part/detail.html:232
+#: part/templates/part/detail.html:229 part/templates/part/detail.html:230
msgid "Add Related"
msgstr ""
-#: part/templates/part/detail.html:252 part/templates/part/part_sidebar.html:17
+#: part/templates/part/detail.html:250 part/templates/part/part_sidebar.html:17
msgid "Bill of Materials"
msgstr ""
-#: part/templates/part/detail.html:257
+#: part/templates/part/detail.html:255
msgid "Export actions"
msgstr ""
-#: part/templates/part/detail.html:261 templates/js/translated/bom.js:309
+#: part/templates/part/detail.html:259 templates/js/translated/bom.js:309
msgid "Export BOM"
msgstr ""
-#: part/templates/part/detail.html:263
+#: part/templates/part/detail.html:261
msgid "Print BOM Report"
msgstr ""
-#: part/templates/part/detail.html:273
+#: part/templates/part/detail.html:271
msgid "Upload BOM"
msgstr ""
-#: part/templates/part/detail.html:274 templates/js/translated/part.js:274
+#: part/templates/part/detail.html:272 templates/js/translated/part.js:270
msgid "Copy BOM"
msgstr ""
-#: part/templates/part/detail.html:275
+#: part/templates/part/detail.html:273
msgid "Validate BOM"
msgstr ""
-#: part/templates/part/detail.html:280 part/templates/part/detail.html:281
-#: templates/js/translated/bom.js:1202 templates/js/translated/bom.js:1203
+#: part/templates/part/detail.html:278 part/templates/part/detail.html:279
+#: templates/js/translated/bom.js:1267 templates/js/translated/bom.js:1268
msgid "Add BOM Item"
msgstr ""
-#: part/templates/part/detail.html:294
+#: part/templates/part/detail.html:292
msgid "Assemblies"
msgstr ""
-#: part/templates/part/detail.html:312
+#: part/templates/part/detail.html:310
msgid "Part Builds"
msgstr ""
-#: part/templates/part/detail.html:339 stock/templates/stock/item.html:38
+#: part/templates/part/detail.html:337 stock/templates/stock/item.html:38
msgid "Build Order Allocations"
msgstr ""
-#: part/templates/part/detail.html:355
+#: part/templates/part/detail.html:353
msgid "Part Suppliers"
msgstr ""
-#: part/templates/part/detail.html:385
+#: part/templates/part/detail.html:383
msgid "Part Manufacturers"
msgstr ""
-#: part/templates/part/detail.html:401
+#: part/templates/part/detail.html:399
msgid "Delete manufacturer parts"
msgstr ""
-#: part/templates/part/detail.html:658
+#: part/templates/part/detail.html:656
msgid "Related Part"
msgstr ""
-#: part/templates/part/detail.html:666
+#: part/templates/part/detail.html:664
msgid "Add Related Part"
msgstr ""
-#: part/templates/part/detail.html:758
+#: part/templates/part/detail.html:756
msgid "Add Test Result Template"
msgstr ""
-#: part/templates/part/detail.html:901
-#, python-format
-msgid "Purchase Unit Price - %(currency)s"
-msgstr ""
-
-#: part/templates/part/detail.html:913
-#, python-format
-msgid "Unit Price-Cost Difference - %(currency)s"
-msgstr ""
-
-#: part/templates/part/detail.html:925
-#, python-format
-msgid "Supplier Unit Cost - %(currency)s"
-msgstr ""
-
-#: part/templates/part/detail.html:1014
-#, python-format
-msgid "Unit Price - %(currency)s"
-msgstr ""
-
#: part/templates/part/import_wizard/ajax_match_fields.html:9
#: templates/patterns/wizard/match_fields.html:8
msgid "Missing selections for the following required columns"
@@ -5439,15 +5675,15 @@ msgid "Part is virtual (not a physical part)"
msgstr ""
#: part/templates/part/part_base.html:148
-#: templates/js/translated/company.js:659
-#: templates/js/translated/company.js:920
+#: templates/js/translated/company.js:660
+#: templates/js/translated/company.js:921
#: templates/js/translated/model_renderers.js:204
-#: templates/js/translated/part.js:652 templates/js/translated/part.js:729
+#: templates/js/translated/part.js:666 templates/js/translated/part.js:743
msgid "Inactive"
msgstr ""
#: part/templates/part/part_base.html:165
-#: part/templates/part/part_base.html:620
+#: part/templates/part/part_base.html:635
msgid "Show Part Details"
msgstr ""
@@ -5456,12 +5692,6 @@ msgstr ""
msgid "This part is a variant of %(link)s"
msgstr ""
-#: part/templates/part/part_base.html:200
-#: templates/js/translated/company.js:1027
-#: templates/js/translated/table_filters.js:209
-msgid "In Stock"
-msgstr ""
-
#: part/templates/part/part_base.html:221
#: stock/templates/stock/item_base.html:382
msgid "Allocated to Build Orders"
@@ -5472,100 +5702,91 @@ msgstr ""
msgid "Allocated to Sales Orders"
msgstr ""
-#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1100
+#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1165
msgid "Can Build"
msgstr ""
-#: part/templates/part/part_base.html:244 templates/js/translated/part.js:591
-#: templates/js/translated/part.js:611 templates/js/translated/part.js:1342
-#: templates/js/translated/part.js:1533
-msgid "Building"
-msgstr ""
-
#: part/templates/part/part_base.html:293
msgid "Minimum stock level"
msgstr ""
-#: part/templates/part/part_base.html:330
+#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1032
+#: templates/js/translated/part.js:783 templates/js/translated/part.js:1582
+#: templates/js/translated/pricing.js:124
+#: templates/js/translated/pricing.js:757
+msgid "Price Range"
+msgstr ""
+
+#: part/templates/part/part_base.html:345
msgid "Latest Serial Number"
msgstr ""
-#: part/templates/part/part_base.html:334
+#: part/templates/part/part_base.html:349
#: stock/templates/stock/item_base.html:331
msgid "Search for serial number"
msgstr ""
-#: part/templates/part/part_base.html:431
+#: part/templates/part/part_base.html:446
msgid "Link Barcode to Part"
msgstr ""
-#: part/templates/part/part_base.html:477 part/templates/part/prices.html:149
+#: part/templates/part/part_base.html:492
msgid "Calculate"
msgstr ""
-#: part/templates/part/part_base.html:520
+#: part/templates/part/part_base.html:535
msgid "No matching images found"
msgstr ""
-#: part/templates/part/part_base.html:614
+#: part/templates/part/part_base.html:629
msgid "Hide Part Details"
msgstr ""
-#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:24
+#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:78
+#: part/templates/part/prices.html:238 templates/js/translated/pricing.js:218
msgid "Supplier Pricing"
msgstr ""
#: part/templates/part/part_pricing.html:26
#: part/templates/part/part_pricing.html:52
-#: part/templates/part/part_pricing.html:103
-#: part/templates/part/part_pricing.html:118 part/templates/part/prices.html:28
-#: part/templates/part/prices.html:55 part/templates/part/prices.html:108
-#: part/templates/part/prices.html:125
+#: part/templates/part/part_pricing.html:95
+#: part/templates/part/part_pricing.html:110
msgid "Unit Cost"
msgstr ""
#: part/templates/part/part_pricing.html:32
#: part/templates/part/part_pricing.html:58
-#: part/templates/part/part_pricing.html:107
-#: part/templates/part/part_pricing.html:122 part/templates/part/prices.html:35
-#: part/templates/part/prices.html:62 part/templates/part/prices.html:113
-#: part/templates/part/prices.html:130
+#: part/templates/part/part_pricing.html:99
+#: part/templates/part/part_pricing.html:114
msgid "Total Cost"
msgstr ""
-#: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:43
-#: templates/js/translated/bom.js:1091
+#: part/templates/part/part_pricing.html:40
msgid "No supplier pricing available"
msgstr ""
-#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:52
-#: part/templates/part/prices.html:248
+#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:94
+#: part/templates/part/prices.html:262
msgid "BOM Pricing"
msgstr ""
-#: part/templates/part/part_pricing.html:66 part/templates/part/prices.html:72
+#: part/templates/part/part_pricing.html:66
msgid "Unit Purchase Price"
msgstr ""
-#: part/templates/part/part_pricing.html:72 part/templates/part/prices.html:79
+#: part/templates/part/part_pricing.html:72
msgid "Total Purchase Price"
msgstr ""
-#: part/templates/part/part_pricing.html:82 part/templates/part/prices.html:89
-msgid "Note: BOM pricing is incomplete for this part"
-msgstr ""
-
-#: part/templates/part/part_pricing.html:91 part/templates/part/prices.html:98
+#: part/templates/part/part_pricing.html:83
msgid "No BOM pricing available"
msgstr ""
-#: part/templates/part/part_pricing.html:100
-#: part/templates/part/prices.html:107
+#: part/templates/part/part_pricing.html:92
msgid "Internal Price"
msgstr ""
-#: part/templates/part/part_pricing.html:131
-#: part/templates/part/prices.html:139
+#: part/templates/part/part_pricing.html:123
msgid "No pricing information is available for this part."
msgstr ""
@@ -5573,7 +5794,8 @@ msgstr ""
#: report/templates/report/inventree_test_report_base.html:97
#: templates/InvenTree/settings/plugin.html:63
#: templates/InvenTree/settings/plugin_settings.html:38
-#: templates/js/translated/order.js:2001 templates/js/translated/stock.js:2478
+#: templates/js/translated/order.js:2035 templates/js/translated/pricing.js:537
+#: templates/js/translated/pricing.js:658 templates/js/translated/stock.js:2496
msgid "Date"
msgstr ""
@@ -5585,15 +5807,11 @@ msgstr ""
msgid "Variants"
msgstr ""
-#: part/templates/part/part_sidebar.html:27
-msgid "Used In"
-msgstr ""
-
-#: part/templates/part/part_sidebar.html:46
+#: part/templates/part/part_sidebar.html:44
msgid "Scheduling"
msgstr ""
-#: part/templates/part/part_sidebar.html:50
+#: part/templates/part/part_sidebar.html:48
msgid "Test Templates"
msgstr ""
@@ -5601,74 +5819,82 @@ msgstr ""
msgid "Select from existing images"
msgstr ""
-#: part/templates/part/prices.html:19
-msgid "Pricing ranges"
+#: part/templates/part/prices.html:11
+msgid "Pricing Overview"
msgstr ""
-#: part/templates/part/prices.html:25
-msgid "Show supplier cost"
+#: part/templates/part/prices.html:14
+msgid "Refresh Part Pricing"
msgstr ""
-#: part/templates/part/prices.html:26
-msgid "Show purchase price"
+#: part/templates/part/prices.html:25 stock/admin.py:106
+#: stock/templates/stock/item_base.html:440
+#: templates/js/translated/company.js:1039
+#: templates/js/translated/stock.js:1920
+msgid "Last Updated"
msgstr ""
-#: part/templates/part/prices.html:53
-msgid "Show BOM cost"
+#: part/templates/part/prices.html:34 part/templates/part/prices.html:126
+msgid "Price Category"
msgstr ""
-#: part/templates/part/prices.html:122
-msgid "Show sale cost"
+#: part/templates/part/prices.html:35 part/templates/part/prices.html:127
+msgid "Minimum"
msgstr ""
-#: part/templates/part/prices.html:123
-msgid "Show sale price"
+#: part/templates/part/prices.html:36 part/templates/part/prices.html:128
+msgid "Maximum"
msgstr ""
-#: part/templates/part/prices.html:145
-msgid "Calculation parameters"
+#: part/templates/part/prices.html:49 part/templates/part/prices.html:185
+msgid "Internal Pricing"
msgstr ""
-#: part/templates/part/prices.html:160 templates/js/translated/bom.js:1085
-msgid "Supplier Cost"
+#: part/templates/part/prices.html:64 part/templates/part/prices.html:217
+msgid "Purchase History"
msgstr ""
-#: part/templates/part/prices.html:161 part/templates/part/prices.html:182
-#: part/templates/part/prices.html:206 part/templates/part/prices.html:236
-#: part/templates/part/prices.html:262 part/templates/part/prices.html:291
+#: part/templates/part/prices.html:103 part/templates/part/prices.html:286
+msgid "Variant Pricing"
+msgstr ""
+
+#: part/templates/part/prices.html:111
+msgid "Overall Pricing"
+msgstr ""
+
+#: part/templates/part/prices.html:155 part/templates/part/prices.html:338
+msgid "Sale History"
+msgstr ""
+
+#: part/templates/part/prices.html:168
+msgid "Sale price data is not available for this part"
+msgstr ""
+
+#: part/templates/part/prices.html:175
+msgid "Price range data is not available for this part."
+msgstr ""
+
+#: part/templates/part/prices.html:186 part/templates/part/prices.html:218
+#: part/templates/part/prices.html:239 part/templates/part/prices.html:263
+#: part/templates/part/prices.html:287 part/templates/part/prices.html:310
+#: part/templates/part/prices.html:339
msgid "Jump to overview"
msgstr ""
-#: part/templates/part/prices.html:186
-msgid "Stock Pricing"
-msgstr ""
-
-#: part/templates/part/prices.html:195
-msgid "No stock pricing history is available for this part."
-msgstr ""
-
-#: part/templates/part/prices.html:205
-msgid "Internal Cost"
-msgstr ""
-
-#: part/templates/part/prices.html:220
+#: part/templates/part/prices.html:191
msgid "Add Internal Price Break"
msgstr ""
-#: part/templates/part/prices.html:235
-msgid "BOM Cost"
+#: part/templates/part/prices.html:309
+msgid "Sale Pricing"
msgstr ""
-#: part/templates/part/prices.html:261
-msgid "Sale Cost"
+#: part/templates/part/prices.html:315
+msgid "Add Sell Price Break"
msgstr ""
-#: part/templates/part/prices.html:302
-msgid "No sale pice history available for this part."
-msgstr ""
-
-#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:614
-#: templates/js/translated/part.js:1330 templates/js/translated/part.js:1332
+#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:628
+#: templates/js/translated/part.js:1351 templates/js/translated/part.js:1353
msgid "No Stock"
msgstr ""
@@ -5722,40 +5948,36 @@ msgstr ""
msgid "Create a new variant of template '%(full_name)s'."
msgstr ""
-#: part/templatetags/inventree_extras.py:177
+#: part/templatetags/inventree_extras.py:210
msgid "Unknown database"
msgstr ""
-#: part/templatetags/inventree_extras.py:229
+#: part/templatetags/inventree_extras.py:262
#, python-brace-format
msgid "{title} v{version}"
msgstr ""
-#: part/views.py:114
+#: part/views.py:109
msgid "Match References"
msgstr ""
-#: part/views.py:415
-msgid "None"
-msgstr ""
-
-#: part/views.py:477
+#: part/views.py:354
msgid "Part QR Code"
msgstr ""
-#: part/views.py:495
+#: part/views.py:372
msgid "Select Part Image"
msgstr ""
-#: part/views.py:521
+#: part/views.py:398
msgid "Updated part image"
msgstr ""
-#: part/views.py:524
+#: part/views.py:401
msgid "Part image not found"
msgstr ""
-#: part/views.py:613
+#: part/views.py:493
msgid "Part Pricing"
msgstr ""
@@ -6070,12 +6292,12 @@ msgid "Stock Item Test Report"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:79
-#: stock/models.py:650 stock/templates/stock/item_base.html:320
+#: stock/models.py:666 stock/templates/stock/item_base.html:320
#: templates/js/translated/build.js:472 templates/js/translated/build.js:624
#: templates/js/translated/build.js:1234 templates/js/translated/build.js:1735
#: templates/js/translated/model_renderers.js:118
-#: templates/js/translated/order.js:121 templates/js/translated/order.js:3592
-#: templates/js/translated/order.js:3679 templates/js/translated/stock.js:490
+#: templates/js/translated/order.js:121 templates/js/translated/order.js:3603
+#: templates/js/translated/order.js:3690 templates/js/translated/stock.js:509
msgid "Serial Number"
msgstr ""
@@ -6084,12 +6306,12 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:93
-#: stock/models.py:2085
+#: stock/models.py:2101
msgid "Test"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:94
-#: stock/models.py:2091
+#: stock/models.py:2107
msgid "Result"
msgstr ""
@@ -6107,383 +6329,435 @@ msgid "Installed Items"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:137
-#: templates/js/translated/stock.js:610 templates/js/translated/stock.js:780
-#: templates/js/translated/stock.js:2727
+#: stock/admin.py:87 templates/js/translated/stock.js:629
+#: templates/js/translated/stock.js:799 templates/js/translated/stock.js:2745
msgid "Serial"
msgstr ""
-#: stock/api.py:529
+#: stock/admin.py:23 stock/admin.py:90
+#: templates/js/translated/model_renderers.js:159
+msgid "Location ID"
+msgstr ""
+
+#: stock/admin.py:24 stock/admin.py:91
+msgid "Location Name"
+msgstr ""
+
+#: stock/admin.py:28 stock/templates/stock/location.html:123
+#: stock/templates/stock/location.html:129
+msgid "Location Path"
+msgstr ""
+
+#: stock/admin.py:83
+msgid "Stock Item ID"
+msgstr ""
+
+#: stock/admin.py:92 templates/js/translated/model_renderers.js:418
+msgid "Supplier Part ID"
+msgstr ""
+
+#: stock/admin.py:93
+msgid "Supplier ID"
+msgstr ""
+
+#: stock/admin.py:94
+msgid "Supplier Name"
+msgstr ""
+
+#: stock/admin.py:95
+msgid "Customer ID"
+msgstr ""
+
+#: stock/admin.py:96 stock/models.py:649
+#: stock/templates/stock/item_base.html:359
+msgid "Installed In"
+msgstr ""
+
+#: stock/admin.py:97 templates/js/translated/model_renderers.js:177
+msgid "Build ID"
+msgstr ""
+
+#: stock/admin.py:99
+msgid "Sales Order ID"
+msgstr ""
+
+#: stock/admin.py:100
+msgid "Purchase Order ID"
+msgstr ""
+
+#: stock/admin.py:107 templates/js/translated/stock.js:1890
+msgid "Stocktake"
+msgstr ""
+
+#: stock/admin.py:108 stock/models.py:724
+#: stock/templates/stock/item_base.html:427
+#: templates/js/translated/stock.js:1904
+msgid "Expiry Date"
+msgstr ""
+
+#: stock/api.py:539
msgid "Quantity is required"
msgstr ""
-#: stock/api.py:536
+#: stock/api.py:546
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:561
+#: stock/api.py:571
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/models.py:90 stock/models.py:746
+#: stock/models.py:106 stock/models.py:762
#: stock/templates/stock/item_base.html:250
msgid "Owner"
msgstr ""
-#: stock/models.py:91 stock/models.py:747
+#: stock/models.py:107 stock/models.py:763
msgid "Select Owner"
msgstr ""
-#: stock/models.py:508 stock/serializers.py:93
+#: stock/models.py:524 stock/serializers.py:97
msgid "Stock item cannot be created for virtual parts"
msgstr ""
-#: stock/models.py:525
+#: stock/models.py:541
#, python-brace-format
msgid "Part type ('{pf}') must be {pe}"
msgstr ""
-#: stock/models.py:535 stock/models.py:544
+#: stock/models.py:551 stock/models.py:560
msgid "Quantity must be 1 for item with a serial number"
msgstr ""
-#: stock/models.py:536
+#: stock/models.py:552
msgid "Serial number cannot be set if quantity greater than 1"
msgstr ""
-#: stock/models.py:558
+#: stock/models.py:574
msgid "Item cannot belong to itself"
msgstr ""
-#: stock/models.py:564
+#: stock/models.py:580
msgid "Item must have a build reference if is_building=True"
msgstr ""
-#: stock/models.py:578
+#: stock/models.py:594
msgid "Build reference does not point to the same part object"
msgstr ""
-#: stock/models.py:592
+#: stock/models.py:608
msgid "Parent Stock Item"
msgstr ""
-#: stock/models.py:602
+#: stock/models.py:618
msgid "Base part"
msgstr ""
-#: stock/models.py:610
+#: stock/models.py:626
msgid "Select a matching supplier part for this stock item"
msgstr ""
-#: stock/models.py:617 stock/templates/stock/location.html:17
+#: stock/models.py:633 stock/templates/stock/location.html:17
#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
msgstr ""
-#: stock/models.py:620
+#: stock/models.py:636
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:627
+#: stock/models.py:643
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:633 stock/templates/stock/item_base.html:359
-msgid "Installed In"
-msgstr ""
-
-#: stock/models.py:636
+#: stock/models.py:652
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:652
+#: stock/models.py:668
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:666
+#: stock/models.py:682
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:671
+#: stock/models.py:687
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:680
+#: stock/models.py:696
msgid "Source Build"
msgstr ""
-#: stock/models.py:682
+#: stock/models.py:698
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:693
+#: stock/models.py:709
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:696
+#: stock/models.py:712
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:702
+#: stock/models.py:718
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:708 stock/templates/stock/item_base.html:427
-#: templates/js/translated/stock.js:1885
-msgid "Expiry Date"
-msgstr ""
-
-#: stock/models.py:709
+#: stock/models.py:725
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:722
+#: stock/models.py:738
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:722
+#: stock/models.py:738
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:734 stock/templates/stock/item.html:132
+#: stock/models.py:750 stock/templates/stock/item.html:132
msgid "Stock Item Notes"
msgstr ""
-#: stock/models.py:742
+#: stock/models.py:758
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:770
+#: stock/models.py:786
msgid "Converted to part"
msgstr ""
-#: stock/models.py:1244
+#: stock/models.py:1260
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1250
+#: stock/models.py:1266
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1256
+#: stock/models.py:1272
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr ""
-#: stock/models.py:1259
+#: stock/models.py:1275
msgid "Serial numbers must be a list of integers"
msgstr ""
-#: stock/models.py:1262
+#: stock/models.py:1278
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1269
+#: stock/models.py:1285
#, python-brace-format
msgid "Serial numbers already exist: {exists}"
msgstr ""
-#: stock/models.py:1339
+#: stock/models.py:1355
msgid "Stock item has been assigned to a sales order"
msgstr ""
-#: stock/models.py:1342
+#: stock/models.py:1358
msgid "Stock item is installed in another item"
msgstr ""
-#: stock/models.py:1345
+#: stock/models.py:1361
msgid "Stock item contains other items"
msgstr ""
-#: stock/models.py:1348
+#: stock/models.py:1364
msgid "Stock item has been assigned to a customer"
msgstr ""
-#: stock/models.py:1351
+#: stock/models.py:1367
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:1354
+#: stock/models.py:1370
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1361 stock/serializers.py:963
+#: stock/models.py:1377 stock/serializers.py:962
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:1365
+#: stock/models.py:1381
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:1369
+#: stock/models.py:1385
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:1373
+#: stock/models.py:1389
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:1542
+#: stock/models.py:1558
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:2003
+#: stock/models.py:2019
msgid "Entry notes"
msgstr ""
-#: stock/models.py:2061
+#: stock/models.py:2077
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:2067
+#: stock/models.py:2083
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:2086
+#: stock/models.py:2102
msgid "Test name"
msgstr ""
-#: stock/models.py:2092
+#: stock/models.py:2108
msgid "Test result"
msgstr ""
-#: stock/models.py:2098
+#: stock/models.py:2114
msgid "Test output value"
msgstr ""
-#: stock/models.py:2105
+#: stock/models.py:2121
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2111
+#: stock/models.py:2127
msgid "Test notes"
msgstr ""
-#: stock/serializers.py:71
+#: stock/serializers.py:75
msgid "Serial number is too large"
msgstr ""
-#: stock/serializers.py:172
+#: stock/serializers.py:176
msgid "Purchase price of this stock item"
msgstr ""
-#: stock/serializers.py:292
+#: stock/serializers.py:286
msgid "Enter number of stock items to serialize"
msgstr ""
-#: stock/serializers.py:304
+#: stock/serializers.py:298
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({q})"
msgstr ""
-#: stock/serializers.py:310
+#: stock/serializers.py:304
msgid "Enter serial numbers for new items"
msgstr ""
-#: stock/serializers.py:321 stock/serializers.py:920 stock/serializers.py:1153
+#: stock/serializers.py:315 stock/serializers.py:919 stock/serializers.py:1152
msgid "Destination stock location"
msgstr ""
-#: stock/serializers.py:328
+#: stock/serializers.py:322
msgid "Optional note field"
msgstr ""
-#: stock/serializers.py:338
+#: stock/serializers.py:332
msgid "Serial numbers cannot be assigned to this part"
msgstr ""
-#: stock/serializers.py:359
+#: stock/serializers.py:353
msgid "Serial numbers already exist"
msgstr "Seriernummer eksisterer allerede"
-#: stock/serializers.py:399
+#: stock/serializers.py:393
msgid "Select stock item to install"
msgstr ""
-#: stock/serializers.py:412
+#: stock/serializers.py:406
msgid "Stock item is unavailable"
msgstr ""
-#: stock/serializers.py:419
+#: stock/serializers.py:413
msgid "Selected part is not in the Bill of Materials"
msgstr ""
-#: stock/serializers.py:456
+#: stock/serializers.py:450
msgid "Destination location for uninstalled item"
msgstr ""
-#: stock/serializers.py:461 stock/serializers.py:542
+#: stock/serializers.py:455 stock/serializers.py:536
msgid "Add transaction note (optional)"
msgstr ""
-#: stock/serializers.py:495
+#: stock/serializers.py:489
msgid "Select part to convert stock item into"
msgstr ""
-#: stock/serializers.py:506
+#: stock/serializers.py:500
msgid "Selected part is not a valid option for conversion"
msgstr ""
-#: stock/serializers.py:537
+#: stock/serializers.py:531
msgid "Destination location for returned item"
msgstr ""
-#: stock/serializers.py:775
+#: stock/serializers.py:774
msgid "Part must be salable"
msgstr ""
-#: stock/serializers.py:779
+#: stock/serializers.py:778
msgid "Item is allocated to a sales order"
msgstr ""
-#: stock/serializers.py:783
+#: stock/serializers.py:782
msgid "Item is allocated to a build order"
msgstr ""
-#: stock/serializers.py:814
+#: stock/serializers.py:813
msgid "Customer to assign stock items"
msgstr ""
-#: stock/serializers.py:820
+#: stock/serializers.py:819
msgid "Selected company is not a customer"
msgstr ""
-#: stock/serializers.py:828
+#: stock/serializers.py:827
msgid "Stock assignment notes"
msgstr ""
-#: stock/serializers.py:838 stock/serializers.py:1069
+#: stock/serializers.py:837 stock/serializers.py:1068
msgid "A list of stock items must be provided"
msgstr ""
-#: stock/serializers.py:927
+#: stock/serializers.py:926
msgid "Stock merging notes"
msgstr ""
-#: stock/serializers.py:932
+#: stock/serializers.py:931
msgid "Allow mismatched suppliers"
msgstr ""
-#: stock/serializers.py:933
+#: stock/serializers.py:932
msgid "Allow stock items with different supplier parts to be merged"
msgstr ""
-#: stock/serializers.py:938
+#: stock/serializers.py:937
msgid "Allow mismatched status"
msgstr ""
-#: stock/serializers.py:939
+#: stock/serializers.py:938
msgid "Allow stock items with different status codes to be merged"
msgstr ""
-#: stock/serializers.py:949
+#: stock/serializers.py:948
msgid "At least two stock items must be provided"
msgstr ""
-#: stock/serializers.py:1031
+#: stock/serializers.py:1030
msgid "StockItem primary key value"
msgstr ""
-#: stock/serializers.py:1059
+#: stock/serializers.py:1058
msgid "Stock transaction notes"
msgstr ""
@@ -6520,7 +6794,7 @@ msgstr ""
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2871
+#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2889
msgid "Install Stock Item"
msgstr ""
@@ -6528,7 +6802,7 @@ msgstr ""
msgid "Delete all test results for this stock item"
msgstr ""
-#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1522
+#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1541
msgid "Add Test Result"
msgstr ""
@@ -6687,7 +6961,7 @@ msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:431
-#: templates/js/translated/table_filters.js:277
+#: templates/js/translated/table_filters.js:281
msgid "Expired"
msgstr ""
@@ -6697,16 +6971,10 @@ msgid "This StockItem expires on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/table_filters.js:283
+#: templates/js/translated/table_filters.js:287
msgid "Stale"
msgstr ""
-#: stock/templates/stock/item_base.html:440
-#: templates/js/translated/company.js:1038
-#: templates/js/translated/stock.js:1901
-msgid "Last Updated"
-msgstr ""
-
#: stock/templates/stock/item_base.html:445
msgid "Last Stocktake"
msgstr ""
@@ -6783,11 +7051,6 @@ msgstr ""
msgid "Delete location"
msgstr ""
-#: stock/templates/stock/location.html:123
-#: stock/templates/stock/location.html:129
-msgid "Location Path"
-msgstr ""
-
#: stock/templates/stock/location.html:130
msgid "Top level stock location"
msgstr ""
@@ -6960,6 +7223,14 @@ msgstr ""
msgid "Overdue Sales Orders"
msgstr ""
+#: templates/InvenTree/index.html:312
+msgid "InvenTree News"
+msgstr ""
+
+#: templates/InvenTree/index.html:314
+msgid "Current News"
+msgstr ""
+
#: templates/InvenTree/notifications/history.html:9
msgid "Notification History"
msgstr ""
@@ -7026,30 +7297,6 @@ msgstr ""
msgid "Category Settings"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:8
-msgid "Currency Settings"
-msgstr ""
-
-#: templates/InvenTree/settings/currencies.html:19
-msgid "Base Currency"
-msgstr ""
-
-#: templates/InvenTree/settings/currencies.html:24
-msgid "Exchange Rates"
-msgstr ""
-
-#: templates/InvenTree/settings/currencies.html:38
-msgid "Last Update"
-msgstr ""
-
-#: templates/InvenTree/settings/currencies.html:44
-msgid "Never"
-msgstr ""
-
-#: templates/InvenTree/settings/currencies.html:49
-msgid "Update Now"
-msgstr ""
-
#: templates/InvenTree/settings/global.html:9
msgid "Server Settings"
msgstr ""
@@ -7090,15 +7337,15 @@ msgstr ""
msgid "Part Settings"
msgstr ""
-#: templates/InvenTree/settings/part.html:46
+#: templates/InvenTree/settings/part.html:40
msgid "Part Import"
msgstr ""
-#: templates/InvenTree/settings/part.html:50
+#: templates/InvenTree/settings/part.html:44
msgid "Import Part"
msgstr ""
-#: templates/InvenTree/settings/part.html:64
+#: templates/InvenTree/settings/part.html:58
msgid "Part Parameter Templates"
msgstr ""
@@ -7125,11 +7372,6 @@ msgstr ""
msgid "External plugins are not enabled for this InvenTree installation"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:62
-#: templates/InvenTree/settings/plugin_settings.html:33
-msgid "Author"
-msgstr ""
-
#: templates/InvenTree/settings/plugin.html:64
#: templates/InvenTree/settings/plugin_settings.html:43
msgid "Version"
@@ -7239,6 +7481,39 @@ msgstr ""
msgid "Purchase Order Settings"
msgstr ""
+#: templates/InvenTree/settings/pricing.html:7
+msgid "Pricing Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:24
+msgid "Currency Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:30
+msgid "Update Now"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:39
+#: templates/InvenTree/settings/pricing.html:43
+msgid "Last Update"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:43
+msgid "Never"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:53
+msgid "Base Currency"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:58
+msgid "Exchange Rates"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:60
+msgid "Rate"
+msgstr ""
+
#: templates/InvenTree/settings/report.html:8
#: templates/InvenTree/settings/user_reports.html:9
msgid "Report Settings"
@@ -7295,6 +7570,7 @@ msgid "No part parameter templates found"
msgstr ""
#: templates/InvenTree/settings/settings.html:338
+#: templates/js/translated/news.js:28
#: templates/js/translated/notification.js:36
msgid "ID"
msgstr ""
@@ -7357,10 +7633,6 @@ msgstr ""
msgid "Server Configuration"
msgstr ""
-#: templates/InvenTree/settings/sidebar.html:35
-msgid "Currencies"
-msgstr ""
-
#: templates/InvenTree/settings/sidebar.html:43
msgid "Categories"
msgstr ""
@@ -7380,7 +7652,7 @@ msgid "Change Password"
msgstr ""
#: templates/InvenTree/settings/user.html:23
-#: templates/js/translated/helpers.js:31 templates/notes_buttons.html:3
+#: templates/js/translated/helpers.js:33 templates/notes_buttons.html:3
#: templates/notes_buttons.html:4
msgid "Edit"
msgstr ""
@@ -7890,7 +8162,7 @@ msgid "The following parts are low on required stock"
msgstr ""
#: templates/email/build_order_required_stock.html:18
-#: templates/js/translated/bom.js:1566
+#: templates/js/translated/bom.js:1629
msgid "Required Quantity"
msgstr ""
@@ -7904,7 +8176,7 @@ msgid "Click on the following link to view this part"
msgstr ""
#: templates/email/low_stock_notification.html:19
-#: templates/js/translated/part.js:2566
+#: templates/js/translated/part.js:2423
msgid "Minimum Quantity"
msgstr ""
@@ -8057,7 +8329,7 @@ msgstr ""
msgid "Unlink"
msgstr ""
-#: templates/js/translated/barcode.js:500 templates/js/translated/stock.js:1054
+#: templates/js/translated/barcode.js:500 templates/js/translated/stock.js:1073
msgid "Remove stock item"
msgstr ""
@@ -8127,10 +8399,10 @@ msgstr ""
msgid "Row Data"
msgstr ""
-#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:646
+#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:659
#: templates/js/translated/modals.js:56 templates/js/translated/modals.js:601
#: templates/js/translated/modals.js:695 templates/js/translated/modals.js:1003
-#: templates/js/translated/order.js:1179 templates/modals.html:15
+#: templates/js/translated/order.js:1213 templates/modals.html:15
#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50
msgid "Close"
msgstr ""
@@ -8140,12 +8412,12 @@ msgid "Download BOM Template"
msgstr ""
#: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312
-#: templates/js/translated/order.js:960 templates/js/translated/tables.js:145
+#: templates/js/translated/order.js:994 templates/js/translated/tables.js:145
msgid "Format"
msgstr ""
#: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313
-#: templates/js/translated/order.js:961
+#: templates/js/translated/order.js:995
msgid "Select file format"
msgstr ""
@@ -8197,118 +8469,130 @@ msgstr ""
msgid "Include part supplier data in exported BOM"
msgstr ""
-#: templates/js/translated/bom.js:537
+#: templates/js/translated/bom.js:358
+msgid "Include Pricing Data"
+msgstr ""
+
+#: templates/js/translated/bom.js:359
+msgid "Include part pricing data in exported BOM"
+msgstr ""
+
+#: templates/js/translated/bom.js:550
msgid "Remove substitute part"
msgstr ""
-#: templates/js/translated/bom.js:591
+#: templates/js/translated/bom.js:604
msgid "Select and add a new substitute part using the input below"
msgstr ""
-#: templates/js/translated/bom.js:602
+#: templates/js/translated/bom.js:615
msgid "Are you sure you wish to remove this substitute part link?"
msgstr ""
-#: templates/js/translated/bom.js:608
+#: templates/js/translated/bom.js:621
msgid "Remove Substitute Part"
msgstr ""
-#: templates/js/translated/bom.js:647
+#: templates/js/translated/bom.js:660
msgid "Add Substitute"
msgstr ""
-#: templates/js/translated/bom.js:648
+#: templates/js/translated/bom.js:661
msgid "Edit BOM Item Substitutes"
msgstr ""
-#: templates/js/translated/bom.js:710
+#: templates/js/translated/bom.js:723
msgid "All selected BOM items will be deleted"
msgstr ""
-#: templates/js/translated/bom.js:726
+#: templates/js/translated/bom.js:739
msgid "Delete selected BOM items?"
msgstr ""
-#: templates/js/translated/bom.js:860
+#: templates/js/translated/bom.js:868
msgid "Load BOM for subassembly"
msgstr ""
-#: templates/js/translated/bom.js:870
+#: templates/js/translated/bom.js:878
msgid "Substitutes Available"
msgstr ""
-#: templates/js/translated/bom.js:874 templates/js/translated/build.js:1835
+#: templates/js/translated/bom.js:882 templates/js/translated/build.js:1835
msgid "Variant stock allowed"
msgstr ""
-#: templates/js/translated/bom.js:983 templates/js/translated/build.js:1907
-#: templates/js/translated/order.js:3927
-msgid "No Stock Available"
-msgstr ""
-
-#: templates/js/translated/bom.js:988 templates/js/translated/build.js:1911
-msgid "Includes variant and substitute stock"
-msgstr ""
-
-#: templates/js/translated/bom.js:990 templates/js/translated/build.js:1913
-#: templates/js/translated/part.js:761 templates/js/translated/part.js:1539
-msgid "Includes variant stock"
-msgstr ""
-
-#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1915
-msgid "Includes substitute stock"
-msgstr ""
-
-#: templates/js/translated/bom.js:1010
+#: templates/js/translated/bom.js:972
msgid "Substitutes"
msgstr ""
-#: templates/js/translated/bom.js:1061 templates/js/translated/bom.js:1195
+#: templates/js/translated/bom.js:1023 templates/js/translated/bom.js:1260
msgid "View BOM"
msgstr ""
-#: templates/js/translated/bom.js:1071
-msgid "Purchase Price Range"
+#: templates/js/translated/bom.js:1094
+msgid "BOM pricing is complete"
msgstr ""
-#: templates/js/translated/bom.js:1078
-msgid "Purchase Price Average"
+#: templates/js/translated/bom.js:1099
+msgid "BOM pricing is incomplete"
msgstr ""
-#: templates/js/translated/bom.js:1106 templates/js/translated/build.js:1898
+#: templates/js/translated/bom.js:1106
+msgid "No pricing available"
+msgstr ""
+
+#: templates/js/translated/bom.js:1137 templates/js/translated/build.js:1907
+#: templates/js/translated/order.js:3924
+msgid "No Stock Available"
+msgstr ""
+
+#: templates/js/translated/bom.js:1142 templates/js/translated/build.js:1911
+msgid "Includes variant and substitute stock"
+msgstr ""
+
+#: templates/js/translated/bom.js:1144 templates/js/translated/build.js:1913
+#: templates/js/translated/part.js:775 templates/js/translated/part.js:1550
+msgid "Includes variant stock"
+msgstr ""
+
+#: templates/js/translated/bom.js:1146 templates/js/translated/build.js:1915
+msgid "Includes substitute stock"
+msgstr ""
+
+#: templates/js/translated/bom.js:1171 templates/js/translated/build.js:1898
#: templates/js/translated/build.js:1985
msgid "Consumable item"
msgstr ""
-#: templates/js/translated/bom.js:1166
+#: templates/js/translated/bom.js:1231
msgid "Validate BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1168
+#: templates/js/translated/bom.js:1233
msgid "This line has been validated"
msgstr ""
-#: templates/js/translated/bom.js:1170
+#: templates/js/translated/bom.js:1235
msgid "Edit substitute parts"
msgstr ""
-#: templates/js/translated/bom.js:1172 templates/js/translated/bom.js:1369
+#: templates/js/translated/bom.js:1237 templates/js/translated/bom.js:1433
msgid "Edit BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1174
+#: templates/js/translated/bom.js:1239
msgid "Delete BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1280 templates/js/translated/build.js:1679
+#: templates/js/translated/bom.js:1344 templates/js/translated/build.js:1679
msgid "No BOM items found"
msgstr ""
-#: templates/js/translated/bom.js:1549 templates/js/translated/build.js:1818
+#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1818
msgid "Required Part"
msgstr ""
-#: templates/js/translated/bom.js:1575
+#: templates/js/translated/bom.js:1638
msgid "Inherited from parent BOM"
msgstr ""
@@ -8353,12 +8637,12 @@ msgid "Complete Build Order"
msgstr ""
#: templates/js/translated/build.js:311 templates/js/translated/stock.js:92
-#: templates/js/translated/stock.js:214
+#: templates/js/translated/stock.js:233
msgid "Next available serial number"
msgstr ""
#: templates/js/translated/build.js:313 templates/js/translated/stock.js:94
-#: templates/js/translated/stock.js:216
+#: templates/js/translated/stock.js:235
msgid "Latest serial number"
msgstr ""
@@ -8455,12 +8739,12 @@ msgid "No required tests for this build"
msgstr ""
#: templates/js/translated/build.js:1775 templates/js/translated/build.js:2765
-#: templates/js/translated/order.js:3627
+#: templates/js/translated/order.js:3638
msgid "Edit stock allocation"
msgstr ""
#: templates/js/translated/build.js:1777 templates/js/translated/build.js:2766
-#: templates/js/translated/order.js:3628
+#: templates/js/translated/order.js:3639
msgid "Delete stock allocation"
msgstr ""
@@ -8480,20 +8764,15 @@ msgstr ""
msgid "Quantity Per"
msgstr ""
-#: templates/js/translated/build.js:1901 templates/js/translated/order.js:3934
+#: templates/js/translated/build.js:1901 templates/js/translated/order.js:3931
msgid "Insufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3932
+#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3929
msgid "Sufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1937 templates/js/translated/build.js:2195
-#: templates/js/translated/build.js:2761 templates/js/translated/order.js:3946
-msgid "Allocated"
-msgstr ""
-
-#: templates/js/translated/build.js:1993 templates/js/translated/order.js:4026
+#: templates/js/translated/build.js:1993 templates/js/translated/order.js:4023
msgid "Build stock"
msgstr ""
@@ -8501,21 +8780,21 @@ msgstr ""
msgid "Order stock"
msgstr ""
-#: templates/js/translated/build.js:2000 templates/js/translated/order.js:4019
+#: templates/js/translated/build.js:2000 templates/js/translated/order.js:4016
msgid "Allocate stock"
msgstr ""
#: templates/js/translated/build.js:2039 templates/js/translated/label.js:172
-#: templates/js/translated/order.js:1007 templates/js/translated/order.js:3154
+#: templates/js/translated/order.js:1041 templates/js/translated/order.js:3165
#: templates/js/translated/report.js:225
msgid "Select Parts"
msgstr ""
-#: templates/js/translated/build.js:2040 templates/js/translated/order.js:3155
+#: templates/js/translated/build.js:2040 templates/js/translated/order.js:3166
msgid "You must select at least one part to allocate"
msgstr ""
-#: templates/js/translated/build.js:2089 templates/js/translated/order.js:3103
+#: templates/js/translated/build.js:2089 templates/js/translated/order.js:3114
msgid "Specify stock allocation quantity"
msgstr ""
@@ -8527,7 +8806,7 @@ msgstr ""
msgid "All selected parts have been fully allocated"
msgstr ""
-#: templates/js/translated/build.js:2183 templates/js/translated/order.js:3169
+#: templates/js/translated/build.js:2183 templates/js/translated/order.js:3180
msgid "Select source location (leave blank to take from all locations)"
msgstr ""
@@ -8535,11 +8814,11 @@ msgstr ""
msgid "Allocate Stock Items to Build Order"
msgstr ""
-#: templates/js/translated/build.js:2222 templates/js/translated/order.js:3266
+#: templates/js/translated/build.js:2222 templates/js/translated/order.js:3277
msgid "No matching stock locations"
msgstr ""
-#: templates/js/translated/build.js:2294 templates/js/translated/order.js:3343
+#: templates/js/translated/build.js:2294 templates/js/translated/order.js:3354
msgid "No matching stock items"
msgstr ""
@@ -8571,9 +8850,9 @@ msgstr ""
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:2558 templates/js/translated/part.js:1423
-#: templates/js/translated/part.js:1957 templates/js/translated/stock.js:1686
-#: templates/js/translated/stock.js:2390
+#: templates/js/translated/build.js:2558 templates/js/translated/part.js:1444
+#: templates/js/translated/part.js:1981 templates/js/translated/stock.js:1705
+#: templates/js/translated/stock.js:2408
msgid "Select"
msgstr ""
@@ -8585,7 +8864,7 @@ msgstr ""
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2636 templates/js/translated/stock.js:2657
+#: templates/js/translated/build.js:2636 templates/js/translated/stock.js:2675
msgid "No user information"
msgstr ""
@@ -8593,118 +8872,144 @@ msgstr ""
msgid "No parts allocated for"
msgstr ""
-#: templates/js/translated/company.js:66
+#: templates/js/translated/company.js:67
msgid "Add Manufacturer"
msgstr ""
-#: templates/js/translated/company.js:79 templates/js/translated/company.js:181
+#: templates/js/translated/company.js:80 templates/js/translated/company.js:182
msgid "Add Manufacturer Part"
msgstr ""
-#: templates/js/translated/company.js:100
+#: templates/js/translated/company.js:101
msgid "Edit Manufacturer Part"
msgstr ""
-#: templates/js/translated/company.js:169 templates/js/translated/order.js:576
+#: templates/js/translated/company.js:170 templates/js/translated/order.js:576
msgid "Add Supplier"
msgstr ""
-#: templates/js/translated/company.js:197 templates/js/translated/order.js:828
+#: templates/js/translated/company.js:198 templates/js/translated/order.js:862
msgid "Add Supplier Part"
msgstr ""
-#: templates/js/translated/company.js:297
+#: templates/js/translated/company.js:298
msgid "All selected supplier parts will be deleted"
msgstr "Alle valgte leverandørdeler vil slettes"
-#: templates/js/translated/company.js:313
+#: templates/js/translated/company.js:314
msgid "Delete Supplier Parts"
msgstr ""
-#: templates/js/translated/company.js:385
+#: templates/js/translated/company.js:386
msgid "Add new Company"
msgstr ""
-#: templates/js/translated/company.js:462
+#: templates/js/translated/company.js:463
msgid "Parts Supplied"
msgstr ""
-#: templates/js/translated/company.js:471
+#: templates/js/translated/company.js:472
msgid "Parts Manufactured"
msgstr ""
-#: templates/js/translated/company.js:486
+#: templates/js/translated/company.js:487
msgid "No company information found"
msgstr ""
-#: templates/js/translated/company.js:527
+#: templates/js/translated/company.js:528
msgid "All selected manufacturer parts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:542
+#: templates/js/translated/company.js:543
msgid "Delete Manufacturer Parts"
msgstr ""
-#: templates/js/translated/company.js:576
+#: templates/js/translated/company.js:577
msgid "All selected parameters will be deleted"
msgstr ""
-#: templates/js/translated/company.js:590
+#: templates/js/translated/company.js:591
msgid "Delete Parameters"
msgstr ""
-#: templates/js/translated/company.js:631
+#: templates/js/translated/company.js:632
msgid "No manufacturer parts found"
msgstr ""
-#: templates/js/translated/company.js:651
-#: templates/js/translated/company.js:912 templates/js/translated/part.js:636
-#: templates/js/translated/part.js:721
+#: templates/js/translated/company.js:652
+#: templates/js/translated/company.js:913 templates/js/translated/part.js:650
+#: templates/js/translated/part.js:735
msgid "Template part"
msgstr ""
-#: templates/js/translated/company.js:655
-#: templates/js/translated/company.js:916 templates/js/translated/part.js:640
-#: templates/js/translated/part.js:725
+#: templates/js/translated/company.js:656
+#: templates/js/translated/company.js:917 templates/js/translated/part.js:654
+#: templates/js/translated/part.js:739
msgid "Assembled part"
msgstr ""
-#: templates/js/translated/company.js:783 templates/js/translated/part.js:828
+#: templates/js/translated/company.js:784 templates/js/translated/part.js:855
msgid "No parameters found"
msgstr ""
-#: templates/js/translated/company.js:820 templates/js/translated/part.js:870
+#: templates/js/translated/company.js:821 templates/js/translated/part.js:897
msgid "Edit parameter"
msgstr ""
-#: templates/js/translated/company.js:821 templates/js/translated/part.js:871
+#: templates/js/translated/company.js:822 templates/js/translated/part.js:898
msgid "Delete parameter"
msgstr ""
-#: templates/js/translated/company.js:840 templates/js/translated/part.js:888
+#: templates/js/translated/company.js:841 templates/js/translated/part.js:915
msgid "Edit Parameter"
msgstr ""
-#: templates/js/translated/company.js:851 templates/js/translated/part.js:900
+#: templates/js/translated/company.js:852 templates/js/translated/part.js:927
msgid "Delete Parameter"
msgstr ""
-#: templates/js/translated/company.js:891
+#: templates/js/translated/company.js:892
msgid "No supplier parts found"
msgstr ""
-#: templates/js/translated/company.js:1032
+#: templates/js/translated/company.js:1033
msgid "Availability"
msgstr ""
-#: templates/js/translated/company.js:1055
+#: templates/js/translated/company.js:1056
msgid "Edit supplier part"
msgstr ""
-#: templates/js/translated/company.js:1056
+#: templates/js/translated/company.js:1057
msgid "Delete supplier part"
msgstr ""
+#: templates/js/translated/company.js:1112
+#: templates/js/translated/pricing.js:423
+msgid "Delete Price Break"
+msgstr ""
+
+#: templates/js/translated/company.js:1128
+#: templates/js/translated/pricing.js:437
+msgid "Edit Price Break"
+msgstr ""
+
+#: templates/js/translated/company.js:1145
+msgid "No price break information found"
+msgstr ""
+
+#: templates/js/translated/company.js:1174
+msgid "Last updated"
+msgstr ""
+
+#: templates/js/translated/company.js:1180
+msgid "Edit price break"
+msgstr ""
+
+#: templates/js/translated/company.js:1181
+msgid "Delete price break"
+msgstr ""
+
#: templates/js/translated/filters.js:178
#: templates/js/translated/filters.js:441
msgid "true"
@@ -8785,27 +9090,27 @@ msgstr ""
msgid "Clear input"
msgstr ""
-#: templates/js/translated/forms.js:2638
+#: templates/js/translated/forms.js:2628
msgid "File Column"
msgstr ""
-#: templates/js/translated/forms.js:2638
+#: templates/js/translated/forms.js:2628
msgid "Field Name"
msgstr ""
-#: templates/js/translated/forms.js:2650
+#: templates/js/translated/forms.js:2640
msgid "Select Columns"
msgstr ""
-#: templates/js/translated/helpers.js:24
+#: templates/js/translated/helpers.js:26
msgid "YES"
msgstr ""
-#: templates/js/translated/helpers.js:26
+#: templates/js/translated/helpers.js:28
msgid "NO"
msgstr ""
-#: templates/js/translated/helpers.js:363
+#: templates/js/translated/helpers.js:434
msgid "Notes updated"
msgstr ""
@@ -8814,7 +9119,7 @@ msgid "Labels sent to printer"
msgstr ""
#: templates/js/translated/label.js:60 templates/js/translated/report.js:118
-#: templates/js/translated/stock.js:1078
+#: templates/js/translated/stock.js:1097
msgid "Select Stock Items"
msgstr ""
@@ -8934,14 +9239,6 @@ msgstr ""
msgid "Stock ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:159
-msgid "Location ID"
-msgstr ""
-
-#: templates/js/translated/model_renderers.js:177
-msgid "Build ID"
-msgstr ""
-
#: templates/js/translated/model_renderers.js:278
#: templates/js/translated/model_renderers.js:303
msgid "Order ID"
@@ -8952,16 +9249,12 @@ msgstr ""
msgid "Shipment ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:338
-msgid "Category ID"
-msgstr ""
-
#: templates/js/translated/model_renderers.js:381
msgid "Manufacturer Part ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:418
-msgid "Supplier Part ID"
+#: templates/js/translated/news.js:23
+msgid "No news found"
msgstr ""
#: templates/js/translated/notification.js:42
@@ -9104,659 +9397,688 @@ msgstr ""
msgid "Duplication Options"
msgstr ""
-#: templates/js/translated/order.js:957
+#: templates/js/translated/order.js:991
msgid "Export Order"
msgstr ""
-#: templates/js/translated/order.js:1008
+#: templates/js/translated/order.js:1042
msgid "At least one purchaseable part must be selected"
msgstr ""
-#: templates/js/translated/order.js:1033
+#: templates/js/translated/order.js:1067
msgid "Quantity to order"
msgstr ""
-#: templates/js/translated/order.js:1042
+#: templates/js/translated/order.js:1076
msgid "New supplier part"
msgstr ""
-#: templates/js/translated/order.js:1060
+#: templates/js/translated/order.js:1094
msgid "New purchase order"
msgstr ""
-#: templates/js/translated/order.js:1093
+#: templates/js/translated/order.js:1127
msgid "Add to purchase order"
msgstr ""
-#: templates/js/translated/order.js:1233
+#: templates/js/translated/order.js:1267
msgid "No matching supplier parts"
msgstr ""
-#: templates/js/translated/order.js:1252
+#: templates/js/translated/order.js:1286
msgid "No matching purchase orders"
msgstr ""
-#: templates/js/translated/order.js:1429
+#: templates/js/translated/order.js:1463
msgid "Select Line Items"
msgstr ""
-#: templates/js/translated/order.js:1430
+#: templates/js/translated/order.js:1464
msgid "At least one line item must be selected"
msgstr ""
-#: templates/js/translated/order.js:1450 templates/js/translated/order.js:1563
+#: templates/js/translated/order.js:1484 templates/js/translated/order.js:1597
msgid "Add batch code"
msgstr ""
-#: templates/js/translated/order.js:1456 templates/js/translated/order.js:1574
+#: templates/js/translated/order.js:1490 templates/js/translated/order.js:1608
msgid "Add serial numbers"
msgstr ""
-#: templates/js/translated/order.js:1471
+#: templates/js/translated/order.js:1505
msgid "Received Quantity"
msgstr ""
-#: templates/js/translated/order.js:1482
+#: templates/js/translated/order.js:1516
msgid "Quantity to receive"
msgstr ""
-#: templates/js/translated/order.js:1546 templates/js/translated/stock.js:2146
+#: templates/js/translated/order.js:1580 templates/js/translated/stock.js:2164
msgid "Stock Status"
msgstr ""
-#: templates/js/translated/order.js:1639
+#: templates/js/translated/order.js:1673
msgid "Order Code"
msgstr ""
-#: templates/js/translated/order.js:1640
+#: templates/js/translated/order.js:1674
msgid "Ordered"
msgstr ""
-#: templates/js/translated/order.js:1642
+#: templates/js/translated/order.js:1676
msgid "Quantity to Receive"
msgstr ""
-#: templates/js/translated/order.js:1661
+#: templates/js/translated/order.js:1695
msgid "Confirm receipt of items"
msgstr ""
-#: templates/js/translated/order.js:1662
+#: templates/js/translated/order.js:1696
msgid "Receive Purchase Order Items"
msgstr ""
-#: templates/js/translated/order.js:1940 templates/js/translated/part.js:941
+#: templates/js/translated/order.js:1974 templates/js/translated/part.js:968
msgid "No purchase orders found"
msgstr ""
-#: templates/js/translated/order.js:1967 templates/js/translated/order.js:2798
+#: templates/js/translated/order.js:2001 templates/js/translated/order.js:2809
msgid "Order is overdue"
msgstr ""
-#: templates/js/translated/order.js:2017 templates/js/translated/order.js:2863
-#: templates/js/translated/order.js:3004
+#: templates/js/translated/order.js:2051 templates/js/translated/order.js:2874
+#: templates/js/translated/order.js:3015
msgid "Items"
msgstr ""
-#: templates/js/translated/order.js:2115 templates/js/translated/order.js:4078
+#: templates/js/translated/order.js:2154 templates/js/translated/order.js:4075
msgid "Duplicate Line Item"
msgstr ""
-#: templates/js/translated/order.js:2132 templates/js/translated/order.js:4100
+#: templates/js/translated/order.js:2171 templates/js/translated/order.js:4097
msgid "Edit Line Item"
msgstr ""
-#: templates/js/translated/order.js:2145 templates/js/translated/order.js:4111
+#: templates/js/translated/order.js:2184 templates/js/translated/order.js:4108
msgid "Delete Line Item"
msgstr ""
-#: templates/js/translated/order.js:2188
+#: templates/js/translated/order.js:2227
msgid "No line items found"
msgstr ""
-#: templates/js/translated/order.js:2215 templates/js/translated/order.js:3812
+#: templates/js/translated/order.js:2254 templates/js/translated/order.js:3827
msgid "Total"
msgstr ""
-#: templates/js/translated/order.js:2270 templates/js/translated/part.js:1043
-#: templates/js/translated/part.js:1095
+#: templates/js/translated/order.js:2309 templates/js/translated/part.js:1070
+#: templates/js/translated/part.js:1122
msgid "Total Quantity"
msgstr ""
-#: templates/js/translated/order.js:2301 templates/js/translated/order.js:2500
-#: templates/js/translated/order.js:3837 templates/js/translated/order.js:4342
-#: templates/js/translated/part.js:2199 templates/js/translated/part.js:2797
+#: templates/js/translated/order.js:2340 templates/js/translated/order.js:2527
+#: templates/js/translated/order.js:3852 templates/js/translated/order.js:4343
+#: templates/js/translated/pricing.js:260
+#: templates/js/translated/pricing.js:329
+#: templates/js/translated/pricing.js:545
msgid "Unit Price"
msgstr ""
-#: templates/js/translated/order.js:2316 templates/js/translated/order.js:2516
-#: templates/js/translated/order.js:3853 templates/js/translated/order.js:4358
+#: templates/js/translated/order.js:2350 templates/js/translated/order.js:2537
+#: templates/js/translated/order.js:3862 templates/js/translated/order.js:4353
msgid "Total Price"
msgstr ""
-#: templates/js/translated/order.js:2357 templates/js/translated/order.js:3895
-#: templates/js/translated/part.js:1079
+#: templates/js/translated/order.js:2380 templates/js/translated/order.js:3892
+#: templates/js/translated/part.js:1106
msgid "This line item is overdue"
msgstr ""
-#: templates/js/translated/order.js:2416 templates/js/translated/part.js:1130
+#: templates/js/translated/order.js:2439 templates/js/translated/part.js:1151
msgid "Receive line item"
msgstr ""
-#: templates/js/translated/order.js:2420 templates/js/translated/order.js:4032
+#: templates/js/translated/order.js:2443 templates/js/translated/order.js:4029
msgid "Duplicate line item"
msgstr ""
-#: templates/js/translated/order.js:2421 templates/js/translated/order.js:4033
+#: templates/js/translated/order.js:2444 templates/js/translated/order.js:4030
msgid "Edit line item"
msgstr ""
-#: templates/js/translated/order.js:2422 templates/js/translated/order.js:4037
+#: templates/js/translated/order.js:2445 templates/js/translated/order.js:4034
msgid "Delete line item"
msgstr ""
-#: templates/js/translated/order.js:2564 templates/js/translated/order.js:4406
+#: templates/js/translated/order.js:2574 templates/js/translated/order.js:4389
msgid "Duplicate line"
msgstr ""
-#: templates/js/translated/order.js:2565 templates/js/translated/order.js:4407
+#: templates/js/translated/order.js:2575 templates/js/translated/order.js:4390
msgid "Edit line"
msgstr ""
-#: templates/js/translated/order.js:2566 templates/js/translated/order.js:4408
+#: templates/js/translated/order.js:2576 templates/js/translated/order.js:4391
msgid "Delete line"
msgstr ""
-#: templates/js/translated/order.js:2595 templates/js/translated/order.js:4437
+#: templates/js/translated/order.js:2606 templates/js/translated/order.js:4420
msgid "Duplicate Line"
msgstr ""
-#: templates/js/translated/order.js:2616 templates/js/translated/order.js:4458
+#: templates/js/translated/order.js:2627 templates/js/translated/order.js:4441
msgid "Edit Line"
msgstr ""
-#: templates/js/translated/order.js:2627 templates/js/translated/order.js:4469
+#: templates/js/translated/order.js:2638 templates/js/translated/order.js:4452
msgid "Delete Line"
msgstr ""
-#: templates/js/translated/order.js:2638
+#: templates/js/translated/order.js:2649
msgid "No matching line"
msgstr ""
-#: templates/js/translated/order.js:2749
+#: templates/js/translated/order.js:2760
msgid "No sales orders found"
msgstr ""
-#: templates/js/translated/order.js:2812
+#: templates/js/translated/order.js:2823
msgid "Invalid Customer"
msgstr ""
-#: templates/js/translated/order.js:2910
+#: templates/js/translated/order.js:2921
msgid "Edit shipment"
msgstr ""
-#: templates/js/translated/order.js:2913
+#: templates/js/translated/order.js:2924
msgid "Complete shipment"
msgstr ""
-#: templates/js/translated/order.js:2918
+#: templates/js/translated/order.js:2929
msgid "Delete shipment"
msgstr ""
-#: templates/js/translated/order.js:2938
+#: templates/js/translated/order.js:2949
msgid "Edit Shipment"
msgstr ""
-#: templates/js/translated/order.js:2955
+#: templates/js/translated/order.js:2966
msgid "Delete Shipment"
msgstr ""
-#: templates/js/translated/order.js:2989
+#: templates/js/translated/order.js:3000
msgid "No matching shipments found"
msgstr ""
-#: templates/js/translated/order.js:2999
+#: templates/js/translated/order.js:3010
msgid "Shipment Reference"
msgstr ""
-#: templates/js/translated/order.js:3023
+#: templates/js/translated/order.js:3034
msgid "Not shipped"
msgstr ""
-#: templates/js/translated/order.js:3029
+#: templates/js/translated/order.js:3040
msgid "Tracking"
msgstr ""
-#: templates/js/translated/order.js:3033
+#: templates/js/translated/order.js:3044
msgid "Invoice"
msgstr ""
-#: templates/js/translated/order.js:3202
+#: templates/js/translated/order.js:3213
msgid "Add Shipment"
msgstr ""
-#: templates/js/translated/order.js:3253
+#: templates/js/translated/order.js:3264
msgid "Confirm stock allocation"
msgstr ""
-#: templates/js/translated/order.js:3254
+#: templates/js/translated/order.js:3265
msgid "Allocate Stock Items to Sales Order"
msgstr ""
-#: templates/js/translated/order.js:3462
+#: templates/js/translated/order.js:3473
msgid "No sales order allocations found"
msgstr ""
-#: templates/js/translated/order.js:3541
+#: templates/js/translated/order.js:3552
msgid "Edit Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:3558
+#: templates/js/translated/order.js:3569
msgid "Confirm Delete Operation"
msgstr ""
-#: templates/js/translated/order.js:3559
+#: templates/js/translated/order.js:3570
msgid "Delete Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:3604 templates/js/translated/order.js:3693
-#: templates/js/translated/stock.js:1602
+#: templates/js/translated/order.js:3615 templates/js/translated/order.js:3704
+#: templates/js/translated/stock.js:1621
msgid "Shipped to customer"
msgstr ""
-#: templates/js/translated/order.js:3612 templates/js/translated/order.js:3702
+#: templates/js/translated/order.js:3623 templates/js/translated/order.js:3713
msgid "Stock location not specified"
msgstr ""
-#: templates/js/translated/order.js:4016
+#: templates/js/translated/order.js:4013
msgid "Allocate serial numbers"
msgstr ""
-#: templates/js/translated/order.js:4022
+#: templates/js/translated/order.js:4019
msgid "Purchase stock"
msgstr ""
-#: templates/js/translated/order.js:4029 templates/js/translated/order.js:4227
+#: templates/js/translated/order.js:4026 templates/js/translated/order.js:4224
msgid "Calculate price"
msgstr ""
-#: templates/js/translated/order.js:4041
+#: templates/js/translated/order.js:4038
msgid "Cannot be deleted as items have been shipped"
msgstr ""
-#: templates/js/translated/order.js:4044
+#: templates/js/translated/order.js:4041
msgid "Cannot be deleted as items have been allocated"
msgstr ""
-#: templates/js/translated/order.js:4126
+#: templates/js/translated/order.js:4123
msgid "Allocate Serial Numbers"
msgstr ""
-#: templates/js/translated/order.js:4235
+#: templates/js/translated/order.js:4232
msgid "Update Unit Price"
msgstr ""
-#: templates/js/translated/order.js:4249
+#: templates/js/translated/order.js:4246
msgid "No matching line items"
msgstr ""
-#: templates/js/translated/order.js:4480
+#: templates/js/translated/order.js:4463
msgid "No matching lines"
msgstr ""
-#: templates/js/translated/part.js:56
+#: templates/js/translated/part.js:52
msgid "Part Attributes"
msgstr ""
-#: templates/js/translated/part.js:60
+#: templates/js/translated/part.js:56
msgid "Part Creation Options"
msgstr ""
-#: templates/js/translated/part.js:64
+#: templates/js/translated/part.js:60
msgid "Part Duplication Options"
msgstr ""
-#: templates/js/translated/part.js:68
+#: templates/js/translated/part.js:64
msgid "Supplier Options"
msgstr ""
-#: templates/js/translated/part.js:82
+#: templates/js/translated/part.js:78
msgid "Add Part Category"
msgstr ""
-#: templates/js/translated/part.js:166
+#: templates/js/translated/part.js:162
msgid "Create Initial Stock"
msgstr ""
-#: templates/js/translated/part.js:167
+#: templates/js/translated/part.js:163
msgid "Create an initial stock item for this part"
msgstr ""
-#: templates/js/translated/part.js:174
+#: templates/js/translated/part.js:170
msgid "Initial Stock Quantity"
msgstr ""
-#: templates/js/translated/part.js:175
+#: templates/js/translated/part.js:171
msgid "Specify initial stock quantity for this part"
msgstr ""
-#: templates/js/translated/part.js:182
+#: templates/js/translated/part.js:178
msgid "Select destination stock location"
msgstr ""
-#: templates/js/translated/part.js:200
+#: templates/js/translated/part.js:196
msgid "Copy Category Parameters"
msgstr ""
-#: templates/js/translated/part.js:201
+#: templates/js/translated/part.js:197
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: templates/js/translated/part.js:209
+#: templates/js/translated/part.js:205
msgid "Add Supplier Data"
msgstr ""
-#: templates/js/translated/part.js:210
+#: templates/js/translated/part.js:206
msgid "Create initial supplier data for this part"
msgstr ""
-#: templates/js/translated/part.js:266
+#: templates/js/translated/part.js:262
msgid "Copy Image"
msgstr ""
-#: templates/js/translated/part.js:267
+#: templates/js/translated/part.js:263
msgid "Copy image from original part"
msgstr ""
-#: templates/js/translated/part.js:275
+#: templates/js/translated/part.js:271
msgid "Copy bill of materials from original part"
msgstr ""
-#: templates/js/translated/part.js:282
+#: templates/js/translated/part.js:278
msgid "Copy Parameters"
msgstr ""
-#: templates/js/translated/part.js:283
+#: templates/js/translated/part.js:279
msgid "Copy parameter data from original part"
msgstr ""
-#: templates/js/translated/part.js:296
+#: templates/js/translated/part.js:292
msgid "Parent part category"
msgstr ""
-#: templates/js/translated/part.js:306 templates/js/translated/stock.js:118
+#: templates/js/translated/part.js:302 templates/js/translated/stock.js:118
msgid "Icon (optional) - Explore all available icons on"
msgstr ""
-#: templates/js/translated/part.js:322
+#: templates/js/translated/part.js:318
msgid "Edit Part Category"
msgstr ""
-#: templates/js/translated/part.js:335
+#: templates/js/translated/part.js:331
msgid "Are you sure you want to delete this part category?"
msgstr ""
-#: templates/js/translated/part.js:337
-msgid "Any child categories will be moved to the parent of this category"
+#: templates/js/translated/part.js:336
+msgid "Move to parent category"
msgstr ""
-#: templates/js/translated/part.js:338
-msgid "Any parts in this category will be moved to the parent of this category"
-msgstr ""
-
-#: templates/js/translated/part.js:343
+#: templates/js/translated/part.js:345
msgid "Delete Part Category"
msgstr ""
-#: templates/js/translated/part.js:369
+#: templates/js/translated/part.js:349
+msgid "Action for parts in this category"
+msgstr ""
+
+#: templates/js/translated/part.js:354
+msgid "Action for child categories"
+msgstr ""
+
+#: templates/js/translated/part.js:383
msgid "Edit Part"
msgstr ""
-#: templates/js/translated/part.js:371
+#: templates/js/translated/part.js:385
msgid "Part edited"
msgstr ""
-#: templates/js/translated/part.js:382
+#: templates/js/translated/part.js:396
msgid "Create Part Variant"
msgstr ""
-#: templates/js/translated/part.js:434
+#: templates/js/translated/part.js:448
msgid "Active Part"
msgstr ""
-#: templates/js/translated/part.js:435
+#: templates/js/translated/part.js:449
msgid "Part cannot be deleted as it is currently active"
msgstr ""
-#: templates/js/translated/part.js:449
+#: templates/js/translated/part.js:463
msgid "Deleting this part cannot be reversed"
msgstr ""
-#: templates/js/translated/part.js:451
+#: templates/js/translated/part.js:465
msgid "Any stock items for this part will be deleted"
msgstr ""
-#: templates/js/translated/part.js:452
+#: templates/js/translated/part.js:466
msgid "This part will be removed from any Bills of Material"
msgstr ""
-#: templates/js/translated/part.js:453
+#: templates/js/translated/part.js:467
msgid "All manufacturer and supplier information for this part will be deleted"
msgstr ""
-#: templates/js/translated/part.js:460
+#: templates/js/translated/part.js:474
msgid "Delete Part"
msgstr ""
-#: templates/js/translated/part.js:496
+#: templates/js/translated/part.js:510
msgid "You are subscribed to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:498
+#: templates/js/translated/part.js:512
msgid "You have subscribed to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:503
+#: templates/js/translated/part.js:517
msgid "Subscribe to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:505
+#: templates/js/translated/part.js:519
msgid "You have unsubscribed to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:522
+#: templates/js/translated/part.js:536
msgid "Validating the BOM will mark each line item as valid"
msgstr ""
-#: templates/js/translated/part.js:532
+#: templates/js/translated/part.js:546
msgid "Validate Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:535
+#: templates/js/translated/part.js:549
msgid "Validated Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:560
+#: templates/js/translated/part.js:574
msgid "Copy Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:584 templates/js/translated/part.js:1521
-#: templates/js/translated/table_filters.js:476
+#: templates/js/translated/part.js:598 templates/js/translated/part.js:1532
+#: templates/js/translated/table_filters.js:480
msgid "Low stock"
msgstr ""
-#: templates/js/translated/part.js:594
+#: templates/js/translated/part.js:608
msgid "No stock available"
msgstr ""
-#: templates/js/translated/part.js:628 templates/js/translated/part.js:713
+#: templates/js/translated/part.js:642 templates/js/translated/part.js:727
msgid "Trackable part"
msgstr ""
-#: templates/js/translated/part.js:632 templates/js/translated/part.js:717
+#: templates/js/translated/part.js:646 templates/js/translated/part.js:731
msgid "Virtual part"
msgstr ""
-#: templates/js/translated/part.js:644
+#: templates/js/translated/part.js:658
msgid "Subscribed part"
msgstr ""
-#: templates/js/translated/part.js:648
+#: templates/js/translated/part.js:662
msgid "Salable part"
msgstr ""
-#: templates/js/translated/part.js:776
+#: templates/js/translated/part.js:800
msgid "No variants found"
msgstr ""
-#: templates/js/translated/part.js:1200
+#: templates/js/translated/part.js:1221
msgid "Delete part relationship"
msgstr ""
-#: templates/js/translated/part.js:1224
+#: templates/js/translated/part.js:1245
msgid "Delete Part Relationship"
msgstr ""
-#: templates/js/translated/part.js:1291 templates/js/translated/part.js:1609
+#: templates/js/translated/part.js:1312 templates/js/translated/part.js:1633
msgid "No parts found"
msgstr ""
-#: templates/js/translated/part.js:1488
+#: templates/js/translated/part.js:1499
msgid "No category"
msgstr ""
-#: templates/js/translated/part.js:1519
+#: templates/js/translated/part.js:1530
msgid "No stock"
msgstr ""
-#: templates/js/translated/part.js:1543
+#: templates/js/translated/part.js:1554
msgid "Allocated to build orders"
msgstr ""
-#: templates/js/translated/part.js:1547
+#: templates/js/translated/part.js:1558
msgid "Allocated to sales orders"
msgstr ""
-#: templates/js/translated/part.js:1633 templates/js/translated/part.js:1876
-#: templates/js/translated/stock.js:2349
+#: templates/js/translated/part.js:1657 templates/js/translated/part.js:1900
+#: templates/js/translated/stock.js:2367
msgid "Display as list"
msgstr ""
-#: templates/js/translated/part.js:1649
+#: templates/js/translated/part.js:1673
msgid "Display as grid"
msgstr ""
-#: templates/js/translated/part.js:1715
+#: templates/js/translated/part.js:1739
msgid "Set the part category for the selected parts"
msgstr ""
-#: templates/js/translated/part.js:1720
+#: templates/js/translated/part.js:1744
msgid "Set Part Category"
msgstr ""
-#: templates/js/translated/part.js:1725
+#: templates/js/translated/part.js:1749
msgid "Select Part Category"
msgstr ""
-#: templates/js/translated/part.js:1738
+#: templates/js/translated/part.js:1762
msgid "Category is required"
msgstr ""
-#: templates/js/translated/part.js:1896 templates/js/translated/stock.js:2369
+#: templates/js/translated/part.js:1920 templates/js/translated/stock.js:2387
msgid "Display as tree"
msgstr ""
-#: templates/js/translated/part.js:1976
+#: templates/js/translated/part.js:2000
msgid "Load Subcategories"
msgstr ""
-#: templates/js/translated/part.js:1992
+#: templates/js/translated/part.js:2016
msgid "Subscribed category"
msgstr ""
-#: templates/js/translated/part.js:2056
+#: templates/js/translated/part.js:2080
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:2107 templates/js/translated/stock.js:1299
+#: templates/js/translated/part.js:2131 templates/js/translated/stock.js:1318
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:2108 templates/js/translated/stock.js:1300
-#: templates/js/translated/stock.js:1560
+#: templates/js/translated/part.js:2132 templates/js/translated/stock.js:1319
+#: templates/js/translated/stock.js:1579
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:2114
+#: templates/js/translated/part.js:2138
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:2136
+#: templates/js/translated/part.js:2160
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2150
+#: templates/js/translated/part.js:2174
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2175
-#, python-brace-format
-msgid "No ${human_name} information found"
-msgstr ""
-
-#: templates/js/translated/part.js:2232
-#, python-brace-format
-msgid "Edit ${human_name}"
-msgstr ""
-
-#: templates/js/translated/part.js:2233
-#, python-brace-format
-msgid "Delete ${human_name}"
-msgstr ""
-
-#: templates/js/translated/part.js:2398 templates/js/translated/part.js:2399
+#: templates/js/translated/part.js:2255 templates/js/translated/part.js:2256
msgid "No date specified"
msgstr ""
-#: templates/js/translated/part.js:2401
+#: templates/js/translated/part.js:2258
msgid "Specified date is in the past"
msgstr ""
-#: templates/js/translated/part.js:2407
+#: templates/js/translated/part.js:2264
msgid "Speculative"
msgstr ""
-#: templates/js/translated/part.js:2457
+#: templates/js/translated/part.js:2314
msgid "No scheduling information available for this part"
msgstr ""
-#: templates/js/translated/part.js:2463
+#: templates/js/translated/part.js:2320
msgid "Error fetching scheduling information for this part"
msgstr ""
-#: templates/js/translated/part.js:2559
+#: templates/js/translated/part.js:2416
msgid "Scheduled Stock Quantities"
msgstr ""
-#: templates/js/translated/part.js:2575
+#: templates/js/translated/part.js:2432
msgid "Maximum Quantity"
msgstr ""
-#: templates/js/translated/part.js:2620
+#: templates/js/translated/part.js:2477
msgid "Minimum Stock Level"
msgstr ""
-#: templates/js/translated/part.js:2721
-msgid "Single Price"
-msgstr ""
-
-#: templates/js/translated/part.js:2740
-msgid "Single Price Difference"
-msgstr ""
-
#: templates/js/translated/plugin.js:23
msgid "The Plugin was installed"
msgstr ""
+#: templates/js/translated/pricing.js:54
+msgid "No BOM data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:196
+msgid "No supplier pricing data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:305
+msgid "No price break data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:361
+#, python-brace-format
+msgid "Edit ${human_name}"
+msgstr ""
+
+#: templates/js/translated/pricing.js:362
+#, python-brace-format
+msgid "Delete ${human_name}"
+msgstr ""
+
+#: templates/js/translated/pricing.js:480
+msgid "No purchase history data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:502
+msgid "Purchase Price History"
+msgstr ""
+
+#: templates/js/translated/pricing.js:602
+msgid "No sales history data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:624
+msgid "Sale Price History"
+msgstr ""
+
+#: templates/js/translated/pricing.js:708
+msgid "No variant data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:748
+msgid "Variant Part"
+msgstr ""
+
#: templates/js/translated/report.js:67
msgid "items selected"
msgstr ""
@@ -9855,364 +10177,364 @@ msgstr ""
msgid "Are you sure you want to delete this stock location?"
msgstr ""
-#: templates/js/translated/stock.js:175
-msgid "Any child locations will be moved to the parent of this location"
+#: templates/js/translated/stock.js:180
+msgid "Move to parent stock location"
msgstr ""
-#: templates/js/translated/stock.js:176
-msgid "Any stock items in this location will be moved to the parent of this location"
-msgstr ""
-
-#: templates/js/translated/stock.js:182
+#: templates/js/translated/stock.js:189
msgid "Delete Stock Location"
msgstr ""
-#: templates/js/translated/stock.js:227
+#: templates/js/translated/stock.js:193
+msgid "Action for stock items in this stock location"
+msgstr ""
+
+#: templates/js/translated/stock.js:198
+msgid "Action for sub-locations"
+msgstr ""
+
+#: templates/js/translated/stock.js:246
msgid "This part cannot be serialized"
msgstr ""
-#: templates/js/translated/stock.js:266
+#: templates/js/translated/stock.js:285
msgid "Enter initial quantity for this stock item"
msgstr ""
-#: templates/js/translated/stock.js:272
+#: templates/js/translated/stock.js:291
msgid "Enter serial numbers for new stock (or leave blank)"
msgstr ""
-#: templates/js/translated/stock.js:337
+#: templates/js/translated/stock.js:356
msgid "Stock item duplicated"
msgstr ""
-#: templates/js/translated/stock.js:357
+#: templates/js/translated/stock.js:376
msgid "Duplicate Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:373
+#: templates/js/translated/stock.js:392
msgid "Are you sure you want to delete this stock item?"
msgstr ""
-#: templates/js/translated/stock.js:378
+#: templates/js/translated/stock.js:397
msgid "Delete Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:399
+#: templates/js/translated/stock.js:418
msgid "Edit Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:449
+#: templates/js/translated/stock.js:468
msgid "Created new stock item"
msgstr ""
-#: templates/js/translated/stock.js:462
+#: templates/js/translated/stock.js:481
msgid "Created multiple stock items"
msgstr ""
-#: templates/js/translated/stock.js:487
+#: templates/js/translated/stock.js:506
msgid "Find Serial Number"
msgstr ""
-#: templates/js/translated/stock.js:491 templates/js/translated/stock.js:492
+#: templates/js/translated/stock.js:510 templates/js/translated/stock.js:511
msgid "Enter serial number"
msgstr ""
-#: templates/js/translated/stock.js:508
+#: templates/js/translated/stock.js:527
msgid "Enter a serial number"
msgstr ""
-#: templates/js/translated/stock.js:528
+#: templates/js/translated/stock.js:547
msgid "No matching serial number"
msgstr ""
-#: templates/js/translated/stock.js:537
+#: templates/js/translated/stock.js:556
msgid "More than one matching result found"
msgstr ""
-#: templates/js/translated/stock.js:660
+#: templates/js/translated/stock.js:679
msgid "Confirm stock assignment"
msgstr ""
-#: templates/js/translated/stock.js:661
+#: templates/js/translated/stock.js:680
msgid "Assign Stock to Customer"
msgstr ""
-#: templates/js/translated/stock.js:738
+#: templates/js/translated/stock.js:757
msgid "Warning: Merge operation cannot be reversed"
msgstr ""
-#: templates/js/translated/stock.js:739
+#: templates/js/translated/stock.js:758
msgid "Some information will be lost when merging stock items"
msgstr ""
-#: templates/js/translated/stock.js:741
+#: templates/js/translated/stock.js:760
msgid "Stock transaction history will be deleted for merged items"
msgstr ""
-#: templates/js/translated/stock.js:742
+#: templates/js/translated/stock.js:761
msgid "Supplier part information will be deleted for merged items"
msgstr ""
-#: templates/js/translated/stock.js:828
+#: templates/js/translated/stock.js:847
msgid "Confirm stock item merge"
msgstr ""
-#: templates/js/translated/stock.js:829
+#: templates/js/translated/stock.js:848
msgid "Merge Stock Items"
msgstr ""
-#: templates/js/translated/stock.js:924
+#: templates/js/translated/stock.js:943
msgid "Transfer Stock"
msgstr ""
-#: templates/js/translated/stock.js:925
+#: templates/js/translated/stock.js:944
msgid "Move"
msgstr ""
-#: templates/js/translated/stock.js:931
+#: templates/js/translated/stock.js:950
msgid "Count Stock"
msgstr ""
-#: templates/js/translated/stock.js:932
+#: templates/js/translated/stock.js:951
msgid "Count"
msgstr ""
-#: templates/js/translated/stock.js:936
+#: templates/js/translated/stock.js:955
msgid "Remove Stock"
msgstr ""
-#: templates/js/translated/stock.js:937
+#: templates/js/translated/stock.js:956
msgid "Take"
msgstr ""
-#: templates/js/translated/stock.js:941
+#: templates/js/translated/stock.js:960
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:942 users/models.py:218
+#: templates/js/translated/stock.js:961 users/models.py:220
msgid "Add"
msgstr ""
-#: templates/js/translated/stock.js:946
+#: templates/js/translated/stock.js:965
msgid "Delete Stock"
msgstr ""
-#: templates/js/translated/stock.js:1039
+#: templates/js/translated/stock.js:1058
msgid "Quantity cannot be adjusted for serialized stock"
msgstr ""
-#: templates/js/translated/stock.js:1039
+#: templates/js/translated/stock.js:1058
msgid "Specify stock quantity"
msgstr ""
-#: templates/js/translated/stock.js:1079
+#: templates/js/translated/stock.js:1098
msgid "You must select at least one available stock item"
msgstr ""
-#: templates/js/translated/stock.js:1102
+#: templates/js/translated/stock.js:1121
msgid "Confirm stock adjustment"
msgstr ""
-#: templates/js/translated/stock.js:1238
+#: templates/js/translated/stock.js:1257
msgid "PASS"
msgstr ""
-#: templates/js/translated/stock.js:1240
+#: templates/js/translated/stock.js:1259
msgid "FAIL"
msgstr ""
-#: templates/js/translated/stock.js:1245
+#: templates/js/translated/stock.js:1264
msgid "NO RESULT"
msgstr ""
-#: templates/js/translated/stock.js:1292
+#: templates/js/translated/stock.js:1311
msgid "Pass test"
msgstr ""
-#: templates/js/translated/stock.js:1295
+#: templates/js/translated/stock.js:1314
msgid "Add test result"
msgstr ""
-#: templates/js/translated/stock.js:1321
+#: templates/js/translated/stock.js:1340
msgid "No test results found"
msgstr ""
-#: templates/js/translated/stock.js:1378
+#: templates/js/translated/stock.js:1397
msgid "Test Date"
msgstr ""
-#: templates/js/translated/stock.js:1543
+#: templates/js/translated/stock.js:1562
msgid "Edit Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1565
+#: templates/js/translated/stock.js:1584
msgid "Delete Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1594
+#: templates/js/translated/stock.js:1613
msgid "In production"
msgstr ""
-#: templates/js/translated/stock.js:1598
+#: templates/js/translated/stock.js:1617
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:1606
+#: templates/js/translated/stock.js:1625
msgid "Assigned to Sales Order"
msgstr ""
-#: templates/js/translated/stock.js:1612
+#: templates/js/translated/stock.js:1631
msgid "No stock location set"
msgstr ""
-#: templates/js/translated/stock.js:1781
+#: templates/js/translated/stock.js:1800
msgid "Stock item is in production"
msgstr ""
-#: templates/js/translated/stock.js:1786
+#: templates/js/translated/stock.js:1805
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/translated/stock.js:1789
+#: templates/js/translated/stock.js:1808
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/translated/stock.js:1792
+#: templates/js/translated/stock.js:1811
msgid "Serialized stock item has been allocated"
msgstr ""
-#: templates/js/translated/stock.js:1794
+#: templates/js/translated/stock.js:1813
msgid "Stock item has been fully allocated"
msgstr ""
-#: templates/js/translated/stock.js:1796
+#: templates/js/translated/stock.js:1815
msgid "Stock item has been partially allocated"
msgstr ""
-#: templates/js/translated/stock.js:1799
+#: templates/js/translated/stock.js:1818
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:1803
+#: templates/js/translated/stock.js:1822
msgid "Stock item has expired"
msgstr ""
-#: templates/js/translated/stock.js:1805
+#: templates/js/translated/stock.js:1824
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/translated/stock.js:1812
+#: templates/js/translated/stock.js:1831
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/translated/stock.js:1814
+#: templates/js/translated/stock.js:1833
msgid "Stock item is lost"
msgstr ""
-#: templates/js/translated/stock.js:1816
+#: templates/js/translated/stock.js:1835
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/translated/stock.js:1820
-#: templates/js/translated/table_filters.js:204
+#: templates/js/translated/stock.js:1839
+#: templates/js/translated/table_filters.js:208
msgid "Depleted"
msgstr ""
-#: templates/js/translated/stock.js:1871
-msgid "Stocktake"
-msgstr ""
-
-#: templates/js/translated/stock.js:1950
+#: templates/js/translated/stock.js:1969
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/translated/stock.js:1988
+#: templates/js/translated/stock.js:2006
msgid "No stock items matching query"
msgstr ""
-#: templates/js/translated/stock.js:2161
+#: templates/js/translated/stock.js:2179
msgid "Set Stock Status"
msgstr ""
-#: templates/js/translated/stock.js:2175
+#: templates/js/translated/stock.js:2193
msgid "Select Status Code"
msgstr ""
-#: templates/js/translated/stock.js:2176
+#: templates/js/translated/stock.js:2194
msgid "Status code must be selected"
msgstr ""
-#: templates/js/translated/stock.js:2408
+#: templates/js/translated/stock.js:2426
msgid "Load Subloactions"
msgstr ""
-#: templates/js/translated/stock.js:2503
+#: templates/js/translated/stock.js:2521
msgid "Details"
msgstr ""
-#: templates/js/translated/stock.js:2519
+#: templates/js/translated/stock.js:2537
msgid "Part information unavailable"
msgstr ""
-#: templates/js/translated/stock.js:2541
+#: templates/js/translated/stock.js:2559
msgid "Location no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2560
+#: templates/js/translated/stock.js:2578
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2579
+#: templates/js/translated/stock.js:2597
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2597
+#: templates/js/translated/stock.js:2615
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2620
+#: templates/js/translated/stock.js:2638
msgid "Added"
msgstr ""
-#: templates/js/translated/stock.js:2628
+#: templates/js/translated/stock.js:2646
msgid "Removed"
msgstr ""
-#: templates/js/translated/stock.js:2704
+#: templates/js/translated/stock.js:2722
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:2755 templates/js/translated/stock.js:2791
+#: templates/js/translated/stock.js:2773 templates/js/translated/stock.js:2809
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2804
+#: templates/js/translated/stock.js:2822
msgid "Select stock item to uninstall"
msgstr ""
-#: templates/js/translated/stock.js:2825
+#: templates/js/translated/stock.js:2843
msgid "Install another stock item into this item"
msgstr ""
-#: templates/js/translated/stock.js:2826
+#: templates/js/translated/stock.js:2844
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: templates/js/translated/stock.js:2828
+#: templates/js/translated/stock.js:2846
msgid "The Stock Item links to a Part which is the BOM for this Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2829
+#: templates/js/translated/stock.js:2847
msgid "The Stock Item is currently available in stock"
msgstr ""
-#: templates/js/translated/stock.js:2830
+#: templates/js/translated/stock.js:2848
msgid "The Stock Item is not already installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:2831
+#: templates/js/translated/stock.js:2849
msgid "The Stock Item is tracked by either a batch code or serial number"
msgstr ""
-#: templates/js/translated/stock.js:2844
+#: templates/js/translated/stock.js:2862
msgid "Select part to install"
msgstr ""
@@ -10236,215 +10558,220 @@ msgstr ""
msgid "Allow Variant Stock"
msgstr ""
-#: templates/js/translated/table_filters.js:126
-#: templates/js/translated/table_filters.js:199
+#: templates/js/translated/table_filters.js:92
+#: templates/js/translated/table_filters.js:508
+msgid "Has Pricing"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:130
+#: templates/js/translated/table_filters.js:203
msgid "Include sublocations"
msgstr ""
-#: templates/js/translated/table_filters.js:127
+#: templates/js/translated/table_filters.js:131
msgid "Include locations"
msgstr ""
-#: templates/js/translated/table_filters.js:137
-#: templates/js/translated/table_filters.js:138
-#: templates/js/translated/table_filters.js:445
+#: templates/js/translated/table_filters.js:141
+#: templates/js/translated/table_filters.js:142
+#: templates/js/translated/table_filters.js:449
msgid "Include subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:142
-#: templates/js/translated/table_filters.js:488
+#: templates/js/translated/table_filters.js:146
+#: templates/js/translated/table_filters.js:492
msgid "Subscribed"
msgstr ""
-#: templates/js/translated/table_filters.js:152
-#: templates/js/translated/table_filters.js:234
-msgid "Is Serialized"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:155
-#: templates/js/translated/table_filters.js:241
-msgid "Serial number GTE"
-msgstr ""
-
#: templates/js/translated/table_filters.js:156
-#: templates/js/translated/table_filters.js:242
-msgid "Serial number greater than or equal to"
+#: templates/js/translated/table_filters.js:238
+msgid "Is Serialized"
msgstr ""
#: templates/js/translated/table_filters.js:159
#: templates/js/translated/table_filters.js:245
-msgid "Serial number LTE"
+msgid "Serial number GTE"
msgstr ""
#: templates/js/translated/table_filters.js:160
#: templates/js/translated/table_filters.js:246
-msgid "Serial number less than or equal to"
+msgid "Serial number greater than or equal to"
msgstr ""
#: templates/js/translated/table_filters.js:163
+#: templates/js/translated/table_filters.js:249
+msgid "Serial number LTE"
+msgstr ""
+
#: templates/js/translated/table_filters.js:164
-#: templates/js/translated/table_filters.js:237
-#: templates/js/translated/table_filters.js:238
+#: templates/js/translated/table_filters.js:250
+msgid "Serial number less than or equal to"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:167
+#: templates/js/translated/table_filters.js:168
+#: templates/js/translated/table_filters.js:241
+#: templates/js/translated/table_filters.js:242
msgid "Serial number"
msgstr ""
-#: templates/js/translated/table_filters.js:168
-#: templates/js/translated/table_filters.js:259
+#: templates/js/translated/table_filters.js:172
+#: templates/js/translated/table_filters.js:263
msgid "Batch code"
msgstr ""
-#: templates/js/translated/table_filters.js:179
-#: templates/js/translated/table_filters.js:417
+#: templates/js/translated/table_filters.js:183
+#: templates/js/translated/table_filters.js:421
msgid "Active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:180
+#: templates/js/translated/table_filters.js:184
msgid "Show stock for active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:185
+#: templates/js/translated/table_filters.js:189
msgid "Part is an assembly"
msgstr ""
-#: templates/js/translated/table_filters.js:189
+#: templates/js/translated/table_filters.js:193
msgid "Is allocated"
msgstr ""
-#: templates/js/translated/table_filters.js:190
+#: templates/js/translated/table_filters.js:194
msgid "Item has been allocated"
msgstr ""
-#: templates/js/translated/table_filters.js:195
+#: templates/js/translated/table_filters.js:199
msgid "Stock is available for use"
msgstr ""
-#: templates/js/translated/table_filters.js:200
+#: templates/js/translated/table_filters.js:204
msgid "Include stock in sublocations"
msgstr ""
-#: templates/js/translated/table_filters.js:205
+#: templates/js/translated/table_filters.js:209
msgid "Show stock items which are depleted"
msgstr ""
-#: templates/js/translated/table_filters.js:210
+#: templates/js/translated/table_filters.js:214
msgid "Show items which are in stock"
msgstr ""
-#: templates/js/translated/table_filters.js:214
+#: templates/js/translated/table_filters.js:218
msgid "In Production"
msgstr ""
-#: templates/js/translated/table_filters.js:215
+#: templates/js/translated/table_filters.js:219
msgid "Show items which are in production"
msgstr ""
-#: templates/js/translated/table_filters.js:219
+#: templates/js/translated/table_filters.js:223
msgid "Include Variants"
msgstr ""
-#: templates/js/translated/table_filters.js:220
+#: templates/js/translated/table_filters.js:224
msgid "Include stock items for variant parts"
msgstr ""
-#: templates/js/translated/table_filters.js:224
+#: templates/js/translated/table_filters.js:228
msgid "Installed"
msgstr ""
-#: templates/js/translated/table_filters.js:225
+#: templates/js/translated/table_filters.js:229
msgid "Show stock items which are installed in another item"
msgstr ""
-#: templates/js/translated/table_filters.js:230
+#: templates/js/translated/table_filters.js:234
msgid "Show items which have been assigned to a customer"
msgstr ""
-#: templates/js/translated/table_filters.js:250
-#: templates/js/translated/table_filters.js:251
+#: templates/js/translated/table_filters.js:254
+#: templates/js/translated/table_filters.js:255
msgid "Stock status"
msgstr ""
-#: templates/js/translated/table_filters.js:254
+#: templates/js/translated/table_filters.js:258
msgid "Has batch code"
msgstr ""
-#: templates/js/translated/table_filters.js:262
+#: templates/js/translated/table_filters.js:266
msgid "Tracked"
msgstr ""
-#: templates/js/translated/table_filters.js:263
+#: templates/js/translated/table_filters.js:267
msgid "Stock item is tracked by either batch code or serial number"
msgstr ""
-#: templates/js/translated/table_filters.js:268
+#: templates/js/translated/table_filters.js:272
msgid "Has purchase price"
msgstr ""
-#: templates/js/translated/table_filters.js:269
+#: templates/js/translated/table_filters.js:273
msgid "Show stock items which have a purchase price set"
msgstr ""
-#: templates/js/translated/table_filters.js:278
+#: templates/js/translated/table_filters.js:282
msgid "Show stock items which have expired"
msgstr ""
-#: templates/js/translated/table_filters.js:284
+#: templates/js/translated/table_filters.js:288
msgid "Show stock which is close to expiring"
msgstr ""
-#: templates/js/translated/table_filters.js:296
+#: templates/js/translated/table_filters.js:300
msgid "Test Passed"
msgstr ""
-#: templates/js/translated/table_filters.js:300
+#: templates/js/translated/table_filters.js:304
msgid "Include Installed Items"
msgstr ""
-#: templates/js/translated/table_filters.js:319
+#: templates/js/translated/table_filters.js:323
msgid "Build status"
msgstr ""
-#: templates/js/translated/table_filters.js:332
-#: templates/js/translated/table_filters.js:373
+#: templates/js/translated/table_filters.js:336
+#: templates/js/translated/table_filters.js:377
msgid "Assigned to me"
msgstr ""
-#: templates/js/translated/table_filters.js:349
-#: templates/js/translated/table_filters.js:360
-#: templates/js/translated/table_filters.js:390
+#: templates/js/translated/table_filters.js:353
+#: templates/js/translated/table_filters.js:364
+#: templates/js/translated/table_filters.js:394
msgid "Order status"
msgstr ""
-#: templates/js/translated/table_filters.js:365
-#: templates/js/translated/table_filters.js:382
-#: templates/js/translated/table_filters.js:395
+#: templates/js/translated/table_filters.js:369
+#: templates/js/translated/table_filters.js:386
+#: templates/js/translated/table_filters.js:399
msgid "Outstanding"
msgstr ""
-#: templates/js/translated/table_filters.js:446
+#: templates/js/translated/table_filters.js:450
msgid "Include parts in subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:451
+#: templates/js/translated/table_filters.js:455
msgid "Show active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:459
+#: templates/js/translated/table_filters.js:463
msgid "Available stock"
msgstr ""
-#: templates/js/translated/table_filters.js:467
+#: templates/js/translated/table_filters.js:471
msgid "Has IPN"
msgstr ""
-#: templates/js/translated/table_filters.js:468
+#: templates/js/translated/table_filters.js:472
msgid "Part has internal part number"
msgstr ""
-#: templates/js/translated/table_filters.js:472
+#: templates/js/translated/table_filters.js:476
msgid "In stock"
msgstr ""
-#: templates/js/translated/table_filters.js:480
+#: templates/js/translated/table_filters.js:484
msgid "Purchasable"
msgstr ""
@@ -10554,6 +10881,10 @@ msgstr ""
msgid "Show all notifications and history"
msgstr ""
+#: templates/price_data.html:7
+msgid "No data"
+msgstr ""
+
#: templates/qr_code.html:11
msgid "QR data not provided"
msgstr ""
@@ -10738,35 +11069,35 @@ msgstr ""
msgid "Important dates"
msgstr ""
-#: users/models.py:205
+#: users/models.py:207
msgid "Permission set"
msgstr ""
-#: users/models.py:213
+#: users/models.py:215
msgid "Group"
msgstr ""
-#: users/models.py:216
+#: users/models.py:218
msgid "View"
msgstr ""
-#: users/models.py:216
+#: users/models.py:218
msgid "Permission to view items"
msgstr ""
-#: users/models.py:218
+#: users/models.py:220
msgid "Permission to add items"
msgstr ""
-#: users/models.py:220
+#: users/models.py:222
msgid "Change"
msgstr ""
-#: users/models.py:220
+#: users/models.py:222
msgid "Permissions to edit items"
msgstr ""
-#: users/models.py:222
+#: users/models.py:224
msgid "Permission to delete items"
msgstr ""
diff --git a/InvenTree/locale/pl/LC_MESSAGES/django.po b/InvenTree/locale/pl/LC_MESSAGES/django.po
index 7dec54e2d6..52d0130ca4 100644
--- a/InvenTree/locale/pl/LC_MESSAGES/django.po
+++ b/InvenTree/locale/pl/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-11-04 14:07+0000\n"
-"PO-Revision-Date: 2022-11-04 19:02\n"
+"POT-Creation-Date: 2022-11-14 04:59+0000\n"
+"PO-Revision-Date: 2022-11-14 14:51\n"
"Last-Translator: \n"
"Language-Team: Polish\n"
"Language: pl_PL\n"
@@ -17,7 +17,7 @@ msgstr ""
"X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n"
"X-Crowdin-File-ID: 154\n"
-#: InvenTree/api.py:54
+#: InvenTree/api.py:61
msgid "API endpoint not found"
msgstr "Nie znaleziono punktu końcowego API"
@@ -25,27 +25,27 @@ msgstr "Nie znaleziono punktu końcowego API"
msgid "Error details can be found in the admin panel"
msgstr "Szczegóły błędu można znaleźć w panelu administracyjnym"
-#: InvenTree/fields.py:120
+#: InvenTree/fields.py:129
msgid "Enter date"
msgstr "Wprowadź dane"
-#: InvenTree/fields.py:195 build/serializers.py:387
-#: build/templates/build/sidebar.html:21 company/models.py:525
-#: company/templates/company/sidebar.html:25 order/models.py:920
+#: InvenTree/fields.py:204 build/serializers.py:387
+#: build/templates/build/sidebar.html:21 company/models.py:529
+#: company/templates/company/sidebar.html:25 order/models.py:943
#: order/templates/order/po_sidebar.html:11
-#: order/templates/order/so_sidebar.html:17
-#: part/templates/part/part_sidebar.html:59
+#: order/templates/order/so_sidebar.html:17 part/admin.py:27
+#: part/templates/part/part_sidebar.html:57
#: report/templates/report/inventree_build_order_base.html:172
-#: stock/models.py:2002 stock/models.py:2110 stock/serializers.py:327
-#: stock/serializers.py:460 stock/serializers.py:541 stock/serializers.py:827
-#: stock/serializers.py:926 stock/serializers.py:1058
+#: stock/admin.py:103 stock/models.py:2018 stock/models.py:2126
+#: stock/serializers.py:321 stock/serializers.py:454 stock/serializers.py:535
+#: stock/serializers.py:826 stock/serializers.py:925 stock/serializers.py:1057
#: stock/templates/stock/stock_sidebar.html:25
-#: templates/js/translated/barcode.js:108 templates/js/translated/bom.js:1146
-#: templates/js/translated/company.js:1022
-#: templates/js/translated/order.js:2404 templates/js/translated/order.js:2552
-#: templates/js/translated/order.js:3048 templates/js/translated/order.js:3999
-#: templates/js/translated/order.js:4394 templates/js/translated/stock.js:1374
-#: templates/js/translated/stock.js:1982
+#: templates/js/translated/barcode.js:108 templates/js/translated/bom.js:1211
+#: templates/js/translated/company.js:1023
+#: templates/js/translated/order.js:2427 templates/js/translated/order.js:2561
+#: templates/js/translated/order.js:3059 templates/js/translated/order.js:3996
+#: templates/js/translated/order.js:4377 templates/js/translated/stock.js:1393
+#: templates/js/translated/stock.js:2000
msgid "Notes"
msgstr "Uwagi"
@@ -122,43 +122,43 @@ msgstr ""
msgid "Supplied URL is not a valid image file"
msgstr ""
-#: InvenTree/helpers.py:602 order/models.py:325 order/models.py:477
+#: InvenTree/helpers.py:589 order/models.py:329 order/models.py:496
msgid "Invalid quantity provided"
msgstr "Podano nieprawidłową ilość"
-#: InvenTree/helpers.py:610
+#: InvenTree/helpers.py:597
msgid "Empty serial number string"
msgstr "Pusty ciąg numeru seryjnego"
-#: InvenTree/helpers.py:640
+#: InvenTree/helpers.py:627
msgid "Duplicate serial"
msgstr ""
-#: InvenTree/helpers.py:673 InvenTree/helpers.py:708
+#: InvenTree/helpers.py:660 InvenTree/helpers.py:695
#, python-brace-format
msgid "Invalid group range: {g}"
msgstr "Nieprawidłowy zakres grupy: {g}"
-#: InvenTree/helpers.py:702
+#: InvenTree/helpers.py:689
#, python-brace-format
msgid "Group range {g} exceeds allowed quantity ({q})"
msgstr ""
-#: InvenTree/helpers.py:726 InvenTree/helpers.py:733 InvenTree/helpers.py:748
+#: InvenTree/helpers.py:713 InvenTree/helpers.py:720 InvenTree/helpers.py:735
#, python-brace-format
msgid "Invalid group sequence: {g}"
msgstr "Nieprawidłowa sekwencja grupy: {g}"
-#: InvenTree/helpers.py:758
+#: InvenTree/helpers.py:745
msgid "No serial numbers found"
msgstr "Nie znaleziono numerów seryjnych"
-#: InvenTree/helpers.py:761
+#: InvenTree/helpers.py:748
#, python-brace-format
msgid "Number of unique serial numbers ({s}) must match quantity ({q})"
msgstr "Liczba unikalnych numerów seryjnych ({s}) musi odpowiadać ilości ({q})"
-#: InvenTree/helpers.py:960
+#: InvenTree/helpers.py:947
msgid "Remove HTML tags from this value"
msgstr ""
@@ -194,7 +194,7 @@ msgstr "Brak pliku"
msgid "Missing external link"
msgstr "Brak zewnętrznego odnośnika"
-#: InvenTree/models.py:405 stock/models.py:2104
+#: InvenTree/models.py:405 stock/models.py:2120
#: templates/js/translated/attachment.js:103
#: templates/js/translated/attachment.js:241
msgid "Attachment"
@@ -204,18 +204,19 @@ msgstr "Załącznik"
msgid "Select file to attach"
msgstr "Wybierz plik do załączenia"
-#: InvenTree/models.py:412 company/models.py:125 company/models.py:277
-#: company/models.py:512 order/models.py:84 order/models.py:1259
-#: part/models.py:816 part/templates/part/part_scheduling.html:11
+#: InvenTree/models.py:412 common/models.py:2313 company/models.py:129
+#: company/models.py:281 company/models.py:516 order/models.py:85
+#: order/models.py:1282 part/admin.py:25 part/models.py:835
+#: part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
-#: templates/js/translated/company.js:691
-#: templates/js/translated/company.js:1011
-#: templates/js/translated/order.js:3037 templates/js/translated/part.js:1569
+#: stock/admin.py:102 templates/js/translated/company.js:692
+#: templates/js/translated/company.js:1012
+#: templates/js/translated/order.js:3048 templates/js/translated/part.js:1593
msgid "Link"
msgstr "Łącze"
-#: InvenTree/models.py:413 build/models.py:290 part/models.py:817
-#: stock/models.py:660
+#: InvenTree/models.py:413 build/models.py:290 part/models.py:836
+#: stock/models.py:676
msgid "Link to external URL"
msgstr "Link do zewnętrznego adresu URL"
@@ -228,12 +229,12 @@ msgstr "Komentarz"
msgid "File comment"
msgstr "Komentarz pliku"
-#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1744
-#: common/models.py:1745 common/models.py:1968 common/models.py:1969
-#: common/models.py:2231 common/models.py:2232 part/models.py:2254
-#: part/models.py:2274 plugin/models.py:264 plugin/models.py:265
+#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1756
+#: common/models.py:1757 common/models.py:1980 common/models.py:1981
+#: common/models.py:2243 common/models.py:2244 part/models.py:2867
+#: part/models.py:2887 plugin/models.py:264 plugin/models.py:265
#: report/templates/report/inventree_test_report_base.html:96
-#: templates/js/translated/stock.js:2651
+#: templates/js/translated/stock.js:2669
msgid "User"
msgstr "Użytkownik"
@@ -270,44 +271,45 @@ msgstr "Błąd zmiany nazwy pliku"
msgid "Invalid choice"
msgstr "Błędny wybór"
-#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1954
-#: company/models.py:359 label/models.py:101 part/models.py:760
-#: part/models.py:2429 plugin/models.py:94 report/models.py:152
+#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1966
+#: company/models.py:363 label/models.py:101 part/models.py:779
+#: part/models.py:3042 plugin/models.py:94 report/models.py:152
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/plugin.html:60
#: templates/InvenTree/settings/plugin.html:104
#: templates/InvenTree/settings/plugin_settings.html:23
#: templates/InvenTree/settings/settings.html:344
-#: templates/js/translated/company.js:580
-#: templates/js/translated/company.js:793
+#: templates/js/translated/company.js:581
+#: templates/js/translated/company.js:794
#: templates/js/translated/notification.js:71
-#: templates/js/translated/part.js:686 templates/js/translated/part.js:838
-#: templates/js/translated/part.js:1964 templates/js/translated/stock.js:2396
+#: templates/js/translated/part.js:700 templates/js/translated/part.js:865
+#: templates/js/translated/part.js:1988 templates/js/translated/stock.js:2414
msgid "Name"
msgstr "Nazwa"
#: InvenTree/models.py:564 build/models.py:163
-#: build/templates/build/detail.html:24 company/models.py:283
-#: company/models.py:518 company/templates/company/company_base.html:71
+#: build/templates/build/detail.html:24 company/models.py:287
+#: company/models.py:522 company/templates/company/company_base.html:71
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:108 label/models.py:108
-#: order/models.py:82 part/models.py:783 part/models.py:2438
-#: part/templates/part/category.html:75 part/templates/part/part_base.html:172
+#: order/models.py:83 part/admin.py:141 part/admin.py:222 part/models.py:802
+#: part/models.py:3051 part/templates/part/category.html:75
+#: part/templates/part/part_base.html:172
#: part/templates/part/part_scheduling.html:12 report/models.py:165
#: report/models.py:507 report/models.py:551
#: report/templates/report/inventree_build_order_base.html:117
-#: stock/templates/stock/location.html:117
+#: stock/admin.py:25 stock/templates/stock/location.html:117
#: templates/InvenTree/settings/plugin_settings.html:28
#: templates/InvenTree/settings/settings.html:355
-#: templates/js/translated/bom.js:579 templates/js/translated/bom.js:887
-#: templates/js/translated/build.js:2580 templates/js/translated/company.js:444
-#: templates/js/translated/company.js:702
-#: templates/js/translated/company.js:986 templates/js/translated/order.js:1988
-#: templates/js/translated/order.js:2220 templates/js/translated/order.js:2826
-#: templates/js/translated/part.js:745 templates/js/translated/part.js:1187
-#: templates/js/translated/part.js:1464 templates/js/translated/part.js:2000
-#: templates/js/translated/part.js:2075 templates/js/translated/stock.js:1748
-#: templates/js/translated/stock.js:2428 templates/js/translated/stock.js:2488
+#: templates/js/translated/bom.js:592 templates/js/translated/bom.js:895
+#: templates/js/translated/build.js:2580 templates/js/translated/company.js:445
+#: templates/js/translated/company.js:703
+#: templates/js/translated/company.js:987 templates/js/translated/order.js:2022
+#: templates/js/translated/order.js:2259 templates/js/translated/order.js:2837
+#: templates/js/translated/part.js:759 templates/js/translated/part.js:1208
+#: templates/js/translated/part.js:1475 templates/js/translated/part.js:2024
+#: templates/js/translated/part.js:2099 templates/js/translated/stock.js:1767
+#: templates/js/translated/stock.js:2446 templates/js/translated/stock.js:2506
msgid "Description"
msgstr "Opis"
@@ -320,7 +322,7 @@ msgid "parent"
msgstr "nadrzędny"
#: InvenTree/models.py:580 InvenTree/models.py:581
-#: templates/js/translated/part.js:2009 templates/js/translated/stock.js:2437
+#: templates/js/translated/part.js:2033 templates/js/translated/stock.js:2455
msgid "Path"
msgstr "Ścieżka"
@@ -332,7 +334,7 @@ msgstr ""
msgid "Third party barcode data"
msgstr ""
-#: InvenTree/models.py:688 order/serializers.py:486
+#: InvenTree/models.py:688 order/serializers.py:477
msgid "Barcode Hash"
msgstr ""
@@ -352,187 +354,187 @@ msgstr "Błąd serwera"
msgid "An error has been logged by the server."
msgstr "Błąd został zapisany w logach serwera."
-#: InvenTree/serializers.py:58 part/models.py:2774
+#: InvenTree/serializers.py:58 part/models.py:3387
msgid "Must be a valid number"
msgstr "Numer musi być prawidłowy"
-#: InvenTree/serializers.py:265
+#: InvenTree/serializers.py:266
msgid "Filename"
msgstr "Nazwa pliku"
-#: InvenTree/serializers.py:300
+#: InvenTree/serializers.py:301
msgid "Invalid value"
msgstr "Nieprawidłowa wartość"
-#: InvenTree/serializers.py:322
+#: InvenTree/serializers.py:323
msgid "Data File"
msgstr "Plik danych"
-#: InvenTree/serializers.py:323
+#: InvenTree/serializers.py:324
msgid "Select data file for upload"
msgstr "Wybierz plik danych do przesłania"
-#: InvenTree/serializers.py:344
+#: InvenTree/serializers.py:345
msgid "Unsupported file type"
msgstr "Nieobsługiwany typ pliku"
-#: InvenTree/serializers.py:350
+#: InvenTree/serializers.py:351
msgid "File is too large"
msgstr "Plik jest zbyt duży"
-#: InvenTree/serializers.py:371
+#: InvenTree/serializers.py:372
msgid "No columns found in file"
msgstr "Nie znaleziono kolumn w pliku"
-#: InvenTree/serializers.py:374
+#: InvenTree/serializers.py:375
msgid "No data rows found in file"
msgstr "Nie znaleziono wierszy danych w pliku"
-#: InvenTree/serializers.py:497
+#: InvenTree/serializers.py:498
msgid "No data rows provided"
msgstr "Nie podano wierszy danych"
-#: InvenTree/serializers.py:500
+#: InvenTree/serializers.py:501
msgid "No data columns supplied"
msgstr "Nie podano kolumn danych"
-#: InvenTree/serializers.py:577
+#: InvenTree/serializers.py:578
#, python-brace-format
msgid "Missing required column: '{name}'"
msgstr "Brakuje wymaganej kolumny: '{name}'"
-#: InvenTree/serializers.py:586
+#: InvenTree/serializers.py:587
#, python-brace-format
msgid "Duplicate column: '{col}'"
msgstr "Zduplikowana kolumna: '{col}'"
-#: InvenTree/serializers.py:605
+#: InvenTree/serializers.py:606
#: templates/InvenTree/settings/mixins/urls.html:14
msgid "URL"
msgstr ""
-#: InvenTree/serializers.py:606
+#: InvenTree/serializers.py:607
msgid "URL of remote image file"
msgstr ""
-#: InvenTree/serializers.py:620
+#: InvenTree/serializers.py:621
msgid "Downloading images from remote URL is not enabled"
msgstr ""
-#: InvenTree/settings.py:621
+#: InvenTree/settings.py:627
msgid "Czech"
msgstr "Czeski"
-#: InvenTree/settings.py:622
+#: InvenTree/settings.py:628
msgid "Danish"
msgstr ""
-#: InvenTree/settings.py:623
+#: InvenTree/settings.py:629
msgid "German"
msgstr "Niemiecki"
-#: InvenTree/settings.py:624
+#: InvenTree/settings.py:630
msgid "Greek"
msgstr "Grecki"
-#: InvenTree/settings.py:625
+#: InvenTree/settings.py:631
msgid "English"
msgstr "Angielski"
-#: InvenTree/settings.py:626
+#: InvenTree/settings.py:632
msgid "Spanish"
msgstr "Hiszpański"
-#: InvenTree/settings.py:627
+#: InvenTree/settings.py:633
msgid "Spanish (Mexican)"
msgstr "Hiszpański (Meksyk)"
-#: InvenTree/settings.py:628
+#: InvenTree/settings.py:634
msgid "Farsi / Persian"
msgstr "Perski"
-#: InvenTree/settings.py:629
+#: InvenTree/settings.py:635
msgid "French"
msgstr "Francuski"
-#: InvenTree/settings.py:630
+#: InvenTree/settings.py:636
msgid "Hebrew"
msgstr "Hebrajski"
-#: InvenTree/settings.py:631
+#: InvenTree/settings.py:637
msgid "Hungarian"
msgstr "Węgierski"
-#: InvenTree/settings.py:632
+#: InvenTree/settings.py:638
msgid "Italian"
msgstr "Włoski"
-#: InvenTree/settings.py:633
+#: InvenTree/settings.py:639
msgid "Japanese"
msgstr "Japoński"
-#: InvenTree/settings.py:634
+#: InvenTree/settings.py:640
msgid "Korean"
msgstr "Koreański"
-#: InvenTree/settings.py:635
+#: InvenTree/settings.py:641
msgid "Dutch"
msgstr "Holenderski"
-#: InvenTree/settings.py:636
+#: InvenTree/settings.py:642
msgid "Norwegian"
msgstr "Norweski"
-#: InvenTree/settings.py:637
+#: InvenTree/settings.py:643
msgid "Polish"
msgstr "Polski"
-#: InvenTree/settings.py:638
+#: InvenTree/settings.py:644
msgid "Portuguese"
msgstr "Portugalski"
-#: InvenTree/settings.py:639
+#: InvenTree/settings.py:645
msgid "Portuguese (Brazilian)"
msgstr "Portugalski (Brazylijski)"
-#: InvenTree/settings.py:640
+#: InvenTree/settings.py:646
msgid "Russian"
msgstr "Rosyjski"
-#: InvenTree/settings.py:641
+#: InvenTree/settings.py:647
msgid "Swedish"
msgstr "Szwedzki"
-#: InvenTree/settings.py:642
+#: InvenTree/settings.py:648
msgid "Thai"
msgstr "Tajski"
-#: InvenTree/settings.py:643
+#: InvenTree/settings.py:649
msgid "Turkish"
msgstr "Turecki"
-#: InvenTree/settings.py:644
+#: InvenTree/settings.py:650
msgid "Vietnamese"
msgstr "Wietnamski"
-#: InvenTree/settings.py:645
+#: InvenTree/settings.py:651
msgid "Chinese"
msgstr "Chiński"
-#: InvenTree/status.py:99
+#: InvenTree/status.py:98
msgid "Background worker check failed"
msgstr ""
-#: InvenTree/status.py:103
+#: InvenTree/status.py:102
msgid "Email backend not configured"
msgstr "Nie skonfigurowano backendu e-mail"
-#: InvenTree/status.py:106
+#: InvenTree/status.py:105
msgid "InvenTree system health checks failed"
msgstr ""
#: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140
-#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:342
+#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:346
msgid "Pending"
msgstr "W toku"
@@ -561,8 +563,8 @@ msgstr "Zagubiono"
msgid "Returned"
msgstr "Zwrócone"
-#: InvenTree/status_codes.py:141 order/models.py:1142
-#: templates/js/translated/order.js:3625 templates/js/translated/order.js:3974
+#: InvenTree/status_codes.py:141 order/models.py:1165
+#: templates/js/translated/order.js:3636 templates/js/translated/order.js:3971
msgid "Shipped"
msgstr "Wysłane"
@@ -646,7 +648,7 @@ msgstr "Podziel z pozycji nadrzędnej"
msgid "Split child item"
msgstr "Podziel element podrzędny"
-#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2086
+#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2104
msgid "Merged stock items"
msgstr "Scalone przedmioty magazynowe"
@@ -654,7 +656,7 @@ msgstr "Scalone przedmioty magazynowe"
msgid "Converted to variant"
msgstr "Przekonwertowano na wariant"
-#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:229
+#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:233
msgid "Sent to customer"
msgstr "Wyślij do klienta"
@@ -746,7 +748,7 @@ msgstr "Zlecenie Budowy"
#: build/models.py:111 build/templates/build/build_base.html:13
#: build/templates/build/index.html:8 build/templates/build/index.html:12
-#: order/templates/order/sales_order_detail.html:120
+#: order/templates/order/sales_order_detail.html:125
#: order/templates/order/so_sidebar.html:13
#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221
#: templates/InvenTree/search.html:141
@@ -759,15 +761,15 @@ msgstr "Zlecenia budowy"
msgid "Build Order Reference"
msgstr "Odwołanie do zamówienia wykonania"
-#: build/models.py:155 order/models.py:240 order/models.py:632
-#: order/models.py:918 part/models.py:2684
+#: build/models.py:155 order/models.py:241 order/models.py:651
+#: order/models.py:941 part/admin.py:224 part/models.py:3297
#: part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:92
-#: templates/js/translated/bom.js:716 templates/js/translated/bom.js:897
-#: templates/js/translated/build.js:1843 templates/js/translated/order.js:2251
-#: templates/js/translated/order.js:2481 templates/js/translated/order.js:3818
-#: templates/js/translated/order.js:4323
+#: templates/js/translated/bom.js:729 templates/js/translated/bom.js:905
+#: templates/js/translated/build.js:1843 templates/js/translated/order.js:2290
+#: templates/js/translated/order.js:2508 templates/js/translated/order.js:3833
+#: templates/js/translated/order.js:4324 templates/js/translated/pricing.js:119
msgid "Reference"
msgstr "Referencja"
@@ -785,39 +787,40 @@ msgid "BuildOrder to which this build is allocated"
msgstr "Zamówienie budowy, do którego budowa jest przypisana"
#: build/models.py:180 build/templates/build/build_base.html:80
-#: build/templates/build/detail.html:29 company/models.py:680
-#: order/models.py:1015 order/models.py:1126 order/models.py:1127
-#: part/models.py:343 part/models.py:2200 part/models.py:2215
-#: part/models.py:2234 part/models.py:2252 part/models.py:2351
-#: part/models.py:2472 part/models.py:2564 part/models.py:2649
-#: part/models.py:2943 part/serializers.py:828
+#: build/templates/build/detail.html:29 company/models.py:684
+#: order/models.py:1038 order/models.py:1149 order/models.py:1150
+#: part/models.py:362 part/models.py:2700 part/models.py:2813
+#: part/models.py:2828 part/models.py:2847 part/models.py:2865
+#: part/models.py:2964 part/models.py:3085 part/models.py:3177
+#: part/models.py:3262 part/models.py:3578 part/serializers.py:852
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
#: report/templates/report/inventree_build_order_base.html:109
#: report/templates/report/inventree_po_report.html:89
-#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:86
-#: stock/serializers.py:494 templates/InvenTree/search.html:82
+#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:90
+#: stock/serializers.py:488 templates/InvenTree/search.html:82
#: templates/email/build_order_completed.html:17
#: templates/email/build_order_required_stock.html:17
#: templates/email/low_stock_notification.html:16
#: templates/email/overdue_build_order.html:16
-#: templates/js/translated/barcode.js:479 templates/js/translated/bom.js:578
-#: templates/js/translated/bom.js:715 templates/js/translated/bom.js:841
+#: templates/js/translated/barcode.js:479 templates/js/translated/bom.js:591
+#: templates/js/translated/bom.js:728 templates/js/translated/bom.js:849
#: templates/js/translated/build.js:1214 templates/js/translated/build.js:1711
#: templates/js/translated/build.js:2194 templates/js/translated/build.js:2585
-#: templates/js/translated/company.js:301
-#: templates/js/translated/company.js:531
-#: templates/js/translated/company.js:643
-#: templates/js/translated/company.js:904 templates/js/translated/order.js:106
-#: templates/js/translated/order.js:1134 templates/js/translated/order.js:1638
-#: templates/js/translated/order.js:2205 templates/js/translated/order.js:3180
-#: templates/js/translated/order.js:3576 templates/js/translated/order.js:3802
-#: templates/js/translated/part.js:1172 templates/js/translated/part.js:1244
-#: templates/js/translated/part.js:1442 templates/js/translated/stock.js:586
-#: templates/js/translated/stock.js:751 templates/js/translated/stock.js:958
-#: templates/js/translated/stock.js:1700 templates/js/translated/stock.js:2514
-#: templates/js/translated/stock.js:2709 templates/js/translated/stock.js:2843
+#: templates/js/translated/company.js:302
+#: templates/js/translated/company.js:532
+#: templates/js/translated/company.js:644
+#: templates/js/translated/company.js:905 templates/js/translated/order.js:106
+#: templates/js/translated/order.js:1168 templates/js/translated/order.js:1672
+#: templates/js/translated/order.js:2244 templates/js/translated/order.js:3191
+#: templates/js/translated/order.js:3587 templates/js/translated/order.js:3817
+#: templates/js/translated/part.js:1193 templates/js/translated/part.js:1265
+#: templates/js/translated/part.js:1452 templates/js/translated/pricing.js:102
+#: templates/js/translated/stock.js:605 templates/js/translated/stock.js:770
+#: templates/js/translated/stock.js:977 templates/js/translated/stock.js:1719
+#: templates/js/translated/stock.js:2532 templates/js/translated/stock.js:2727
+#: templates/js/translated/stock.js:2861
msgid "Part"
msgstr "Komponent"
@@ -834,7 +837,7 @@ msgid "SalesOrder to which this build is allocated"
msgstr "Zamówienie sprzedaży, do którego budowa jest przypisana"
#: build/models.py:202 build/serializers.py:822
-#: templates/js/translated/build.js:2182 templates/js/translated/order.js:3168
+#: templates/js/translated/build.js:2182 templates/js/translated/order.js:3179
msgid "Source Location"
msgstr "Lokalizacja źródła"
@@ -874,8 +877,8 @@ msgstr "Status budowania"
msgid "Build status code"
msgstr "Kod statusu budowania"
-#: build/models.py:245 build/serializers.py:224 order/serializers.py:464
-#: stock/models.py:664 templates/js/translated/order.js:1496
+#: build/models.py:245 build/serializers.py:224 order/serializers.py:455
+#: stock/models.py:680 templates/js/translated/order.js:1530
msgid "Batch Code"
msgstr "Kod partii"
@@ -883,12 +886,12 @@ msgstr "Kod partii"
msgid "Batch code for this build output"
msgstr "Kod partii dla wyjścia budowy"
-#: build/models.py:252 order/models.py:86 part/models.py:952
-#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2839
+#: build/models.py:252 order/models.py:87 part/models.py:971
+#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2850
msgid "Creation Date"
msgstr "Data utworzenia"
-#: build/models.py:256 order/models.py:662
+#: build/models.py:256 order/models.py:681
msgid "Target completion date"
msgstr "Docelowy termin zakończenia"
@@ -896,7 +899,7 @@ msgstr "Docelowy termin zakończenia"
msgid "Target date for build completion. Build will be overdue after this date."
msgstr ""
-#: build/models.py:260 order/models.py:291
+#: build/models.py:260 order/models.py:292
#: templates/js/translated/build.js:2662
msgid "Completion Date"
msgstr "Data zakończenia"
@@ -914,11 +917,11 @@ msgid "User who issued this build order"
msgstr "Użytkownik, który wydał to zamówienie"
#: build/models.py:283 build/templates/build/build_base.html:193
-#: build/templates/build/detail.html:115 order/models.py:100
+#: build/templates/build/detail.html:115 order/models.py:101
#: order/templates/order/order_base.html:185
-#: order/templates/order/sales_order_base.html:183 part/models.py:956
+#: order/templates/order/sales_order_base.html:183 part/models.py:975
#: report/templates/report/inventree_build_order_base.html:158
-#: templates/js/translated/build.js:2642 templates/js/translated/order.js:2022
+#: templates/js/translated/build.js:2642 templates/js/translated/order.js:2056
msgid "Responsible"
msgstr "Odpowiedzialny"
@@ -929,7 +932,7 @@ msgstr "Użytkownik odpowiedzialny za to zamówienie budowy"
#: build/models.py:289 build/templates/build/detail.html:101
#: company/templates/company/manufacturer_part.html:107
#: company/templates/company/supplier_part.html:188
-#: part/templates/part/part_base.html:361 stock/models.py:658
+#: part/templates/part/part_base.html:376 stock/models.py:674
#: stock/templates/stock/item_base.html:203
msgid "External Link"
msgstr "Link Zewnętrzny"
@@ -968,11 +971,11 @@ msgstr ""
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr ""
-#: build/models.py:1191 order/models.py:1393
+#: build/models.py:1191 order/models.py:1416
msgid "Stock item is over-allocated"
msgstr ""
-#: build/models.py:1197 order/models.py:1396
+#: build/models.py:1197 order/models.py:1419
msgid "Allocation quantity must be greater than zero"
msgstr "Alokowana ilość musi być większa niż zero"
@@ -994,18 +997,18 @@ msgstr "Budowa"
msgid "Build to allocate parts"
msgstr ""
-#: build/models.py:1346 build/serializers.py:663 order/serializers.py:1039
-#: order/serializers.py:1060 stock/serializers.py:398 stock/serializers.py:758
-#: stock/serializers.py:884 stock/templates/stock/item_base.html:10
+#: build/models.py:1346 build/serializers.py:663 order/serializers.py:1032
+#: order/serializers.py:1053 stock/serializers.py:392 stock/serializers.py:757
+#: stock/serializers.py:883 stock/templates/stock/item_base.html:10
#: stock/templates/stock/item_base.html:23
#: stock/templates/stock/item_base.html:197
#: templates/js/translated/build.js:790 templates/js/translated/build.js:795
#: templates/js/translated/build.js:2196 templates/js/translated/build.js:2747
-#: templates/js/translated/order.js:107 templates/js/translated/order.js:3181
-#: templates/js/translated/order.js:3483 templates/js/translated/order.js:3488
-#: templates/js/translated/order.js:3583 templates/js/translated/order.js:3675
-#: templates/js/translated/stock.js:587 templates/js/translated/stock.js:752
-#: templates/js/translated/stock.js:2587
+#: templates/js/translated/order.js:107 templates/js/translated/order.js:3192
+#: templates/js/translated/order.js:3494 templates/js/translated/order.js:3499
+#: templates/js/translated/order.js:3594 templates/js/translated/order.js:3686
+#: templates/js/translated/stock.js:606 templates/js/translated/stock.js:771
+#: templates/js/translated/stock.js:2605
msgid "Stock Item"
msgstr "Element magazynowy"
@@ -1015,12 +1018,10 @@ msgstr "Lokalizacja magazynowania przedmiotu"
#: build/models.py:1359 build/serializers.py:192
#: build/templates/build/build_base.html:85
-#: build/templates/build/detail.html:34 common/models.py:1776
-#: company/templates/company/supplier_part.html:341 order/models.py:911
-#: order/models.py:1437 order/serializers.py:1213
-#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:40
-#: part/models.py:2665 part/templates/part/detail.html:938
-#: part/templates/part/detail.html:1024
+#: build/templates/build/detail.html:34 common/models.py:1788
+#: order/models.py:934 order/models.py:1460 order/serializers.py:1206
+#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:223
+#: part/forms.py:40 part/models.py:3278
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_build_order_base.html:113
@@ -1028,25 +1029,29 @@ msgstr "Lokalizacja magazynowania przedmiotu"
#: report/templates/report/inventree_so_report.html:91
#: report/templates/report/inventree_test_report_base.html:81
#: report/templates/report/inventree_test_report_base.html:139
-#: stock/serializers.py:291 stock/templates/stock/item_base.html:290
+#: stock/admin.py:86 stock/serializers.py:285
+#: stock/templates/stock/item_base.html:290
#: stock/templates/stock/item_base.html:298
#: templates/email/build_order_completed.html:18
-#: templates/js/translated/barcode.js:481 templates/js/translated/bom.js:717
-#: templates/js/translated/bom.js:905 templates/js/translated/build.js:474
+#: templates/js/translated/barcode.js:481 templates/js/translated/bom.js:730
+#: templates/js/translated/bom.js:913 templates/js/translated/build.js:474
#: templates/js/translated/build.js:626 templates/js/translated/build.js:817
#: templates/js/translated/build.js:1236 templates/js/translated/build.js:1737
#: templates/js/translated/build.js:2197
+#: templates/js/translated/company.js:1159
#: templates/js/translated/model_renderers.js:120
-#: templates/js/translated/order.js:123 templates/js/translated/order.js:1137
-#: templates/js/translated/order.js:2257 templates/js/translated/order.js:2487
-#: templates/js/translated/order.js:3182 templates/js/translated/order.js:3502
-#: templates/js/translated/order.js:3589 templates/js/translated/order.js:3681
-#: templates/js/translated/order.js:3824 templates/js/translated/order.js:4329
-#: templates/js/translated/part.js:1036 templates/js/translated/part.js:2220
-#: templates/js/translated/part.js:2689 templates/js/translated/part.js:2730
-#: templates/js/translated/part.js:2808 templates/js/translated/stock.js:458
-#: templates/js/translated/stock.js:612 templates/js/translated/stock.js:782
-#: templates/js/translated/stock.js:2636 templates/js/translated/stock.js:2721
+#: templates/js/translated/order.js:123 templates/js/translated/order.js:1171
+#: templates/js/translated/order.js:2296 templates/js/translated/order.js:2514
+#: templates/js/translated/order.js:3193 templates/js/translated/order.js:3513
+#: templates/js/translated/order.js:3600 templates/js/translated/order.js:3692
+#: templates/js/translated/order.js:3839 templates/js/translated/order.js:4330
+#: templates/js/translated/part.js:1063 templates/js/translated/part.js:2546
+#: templates/js/translated/pricing.js:114
+#: templates/js/translated/pricing.js:207
+#: templates/js/translated/pricing.js:255
+#: templates/js/translated/pricing.js:349 templates/js/translated/stock.js:477
+#: templates/js/translated/stock.js:631 templates/js/translated/stock.js:801
+#: templates/js/translated/stock.js:2654 templates/js/translated/stock.js:2739
msgid "Quantity"
msgstr "Ilość"
@@ -1087,10 +1092,10 @@ msgstr ""
msgid "Enter quantity for build output"
msgstr ""
-#: build/serializers.py:207 build/serializers.py:683 order/models.py:323
-#: order/serializers.py:304 order/serializers.py:459 part/serializers.py:558
-#: part/serializers.py:991 stock/models.py:518 stock/models.py:1253
-#: stock/serializers.py:300
+#: build/serializers.py:207 build/serializers.py:683 order/models.py:327
+#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:644
+#: part/serializers.py:1015 stock/models.py:534 stock/models.py:1269
+#: stock/serializers.py:294
msgid "Quantity must be greater than zero"
msgstr "Ilość musi być większa niż zero"
@@ -1102,9 +1107,9 @@ msgstr ""
msgid "Integer quantity required, as the bill of materials contains trackable parts"
msgstr ""
-#: build/serializers.py:231 order/serializers.py:472 order/serializers.py:1217
-#: stock/serializers.py:309 templates/js/translated/order.js:1507
-#: templates/js/translated/stock.js:271 templates/js/translated/stock.js:459
+#: build/serializers.py:231 order/serializers.py:463 order/serializers.py:1210
+#: stock/serializers.py:303 templates/js/translated/order.js:1541
+#: templates/js/translated/stock.js:290 templates/js/translated/stock.js:478
msgid "Serial Numbers"
msgstr "Numer seryjny"
@@ -1120,7 +1125,7 @@ msgstr ""
msgid "Automatically allocate required items with matching serial numbers"
msgstr ""
-#: build/serializers.py:281 stock/api.py:589
+#: build/serializers.py:281 stock/api.py:599
msgid "The following serial numbers already exist or are invalid"
msgstr ""
@@ -1128,18 +1133,18 @@ msgstr ""
msgid "A list of build outputs must be provided"
msgstr ""
-#: build/serializers.py:369 order/serializers.py:445 order/serializers.py:556
-#: stock/serializers.py:320 stock/serializers.py:455 stock/serializers.py:536
-#: stock/serializers.py:919 stock/serializers.py:1152
+#: build/serializers.py:369 order/serializers.py:436 order/serializers.py:547
+#: stock/serializers.py:314 stock/serializers.py:449 stock/serializers.py:530
+#: stock/serializers.py:918 stock/serializers.py:1151
#: stock/templates/stock/item_base.html:388
#: templates/js/translated/barcode.js:480
#: templates/js/translated/barcode.js:724 templates/js/translated/build.js:802
-#: templates/js/translated/build.js:1749 templates/js/translated/order.js:1534
-#: templates/js/translated/order.js:3495 templates/js/translated/order.js:3600
-#: templates/js/translated/order.js:3608 templates/js/translated/order.js:3689
-#: templates/js/translated/part.js:181 templates/js/translated/stock.js:588
-#: templates/js/translated/stock.js:753 templates/js/translated/stock.js:960
-#: templates/js/translated/stock.js:1856 templates/js/translated/stock.js:2528
+#: templates/js/translated/build.js:1749 templates/js/translated/order.js:1568
+#: templates/js/translated/order.js:3506 templates/js/translated/order.js:3611
+#: templates/js/translated/order.js:3619 templates/js/translated/order.js:3700
+#: templates/js/translated/part.js:177 templates/js/translated/stock.js:607
+#: templates/js/translated/stock.js:772 templates/js/translated/stock.js:979
+#: templates/js/translated/stock.js:1875 templates/js/translated/stock.js:2546
msgid "Location"
msgstr "Lokalizacja"
@@ -1148,12 +1153,13 @@ msgid "Location for completed build outputs"
msgstr ""
#: build/serializers.py:376 build/templates/build/build_base.html:145
-#: build/templates/build/detail.html:62 order/models.py:651
-#: order/serializers.py:482 stock/templates/stock/item_base.html:421
+#: build/templates/build/detail.html:62 order/models.py:670
+#: order/serializers.py:473 stock/admin.py:89
+#: stock/templates/stock/item_base.html:421
#: templates/js/translated/barcode.js:214 templates/js/translated/build.js:2614
-#: templates/js/translated/order.js:1643 templates/js/translated/order.js:1992
-#: templates/js/translated/order.js:2831 templates/js/translated/stock.js:1831
-#: templates/js/translated/stock.js:2605 templates/js/translated/stock.js:2737
+#: templates/js/translated/order.js:1677 templates/js/translated/order.js:2026
+#: templates/js/translated/order.js:2842 templates/js/translated/stock.js:1850
+#: templates/js/translated/stock.js:2623 templates/js/translated/stock.js:2755
msgid "Status"
msgstr "Status"
@@ -1213,7 +1219,7 @@ msgstr ""
msgid "Required stock has not been fully allocated"
msgstr ""
-#: build/serializers.py:545 order/serializers.py:208 order/serializers.py:1107
+#: build/serializers.py:545 order/serializers.py:202 order/serializers.py:1100
msgid "Accept Incomplete"
msgstr "Akceptuj niekompletne"
@@ -1229,8 +1235,8 @@ msgstr ""
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:595 build/serializers.py:640 part/models.py:2801
-#: part/models.py:2935
+#: build/serializers.py:595 build/serializers.py:640 part/models.py:3414
+#: part/models.py:3570
msgid "BOM Item"
msgstr "Element BOM"
@@ -1246,11 +1252,11 @@ msgstr ""
msgid "bom_item.part must point to the same part as the build order"
msgstr ""
-#: build/serializers.py:669 stock/serializers.py:771
+#: build/serializers.py:669 stock/serializers.py:770
msgid "Item must be in stock"
msgstr "Towar musi znajdować się w magazynie"
-#: build/serializers.py:727 order/serializers.py:1097
+#: build/serializers.py:727 order/serializers.py:1090
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr ""
@@ -1267,7 +1273,7 @@ msgstr ""
msgid "This stock item has already been allocated to this build output"
msgstr ""
-#: build/serializers.py:768 order/serializers.py:1381
+#: build/serializers.py:768 order/serializers.py:1374
msgid "Allocation items must be provided"
msgstr ""
@@ -1382,13 +1388,13 @@ msgid "Stock has not been fully allocated to this Build Order"
msgstr ""
#: build/templates/build/build_base.html:154
-#: build/templates/build/detail.html:131 order/models.py:924
+#: build/templates/build/detail.html:131 order/models.py:947
#: order/templates/order/order_base.html:171
#: order/templates/order/sales_order_base.html:164
#: report/templates/report/inventree_build_order_base.html:125
-#: templates/js/translated/build.js:2654 templates/js/translated/order.js:2009
-#: templates/js/translated/order.js:2351 templates/js/translated/order.js:2847
-#: templates/js/translated/order.js:3887 templates/js/translated/part.js:1051
+#: templates/js/translated/build.js:2654 templates/js/translated/order.js:2043
+#: templates/js/translated/order.js:2374 templates/js/translated/order.js:2858
+#: templates/js/translated/order.js:3884 templates/js/translated/part.js:1078
msgid "Target Date"
msgstr "Data docelowa"
@@ -1401,29 +1407,29 @@ msgstr ""
#: build/templates/build/build_base.html:204
#: order/templates/order/order_base.html:107
#: order/templates/order/sales_order_base.html:94
-#: templates/js/translated/table_filters.js:328
-#: templates/js/translated/table_filters.js:369
-#: templates/js/translated/table_filters.js:399
+#: templates/js/translated/table_filters.js:332
+#: templates/js/translated/table_filters.js:373
+#: templates/js/translated/table_filters.js:403
msgid "Overdue"
msgstr "Zaległe"
#: build/templates/build/build_base.html:166
#: build/templates/build/detail.html:67 build/templates/build/detail.html:142
#: order/templates/order/sales_order_base.html:171
-#: templates/js/translated/table_filters.js:408
+#: templates/js/translated/table_filters.js:412
msgid "Completed"
msgstr "Zakończone"
#: build/templates/build/build_base.html:179
-#: build/templates/build/detail.html:94 order/models.py:1119
-#: order/models.py:1213 order/models.py:1344
+#: build/templates/build/detail.html:94 order/models.py:1142
+#: order/models.py:1236 order/models.py:1367
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
#: report/templates/report/inventree_build_order_base.html:135
#: report/templates/report/inventree_so_report.html:77
#: stock/templates/stock/item_base.html:368
#: templates/email/overdue_sales_order.html:15
-#: templates/js/translated/order.js:2793
+#: templates/js/translated/order.js:2804 templates/js/translated/pricing.js:637
msgid "Sales Order"
msgstr "Zamówienie zakupu"
@@ -1449,8 +1455,8 @@ msgstr "Źródło magazynu"
msgid "Stock can be taken from any available location."
msgstr ""
-#: build/templates/build/detail.html:49 order/models.py:1037
-#: templates/js/translated/order.js:1644 templates/js/translated/order.js:2393
+#: build/templates/build/detail.html:49 order/models.py:1060
+#: templates/js/translated/order.js:1678 templates/js/translated/order.js:2416
msgid "Destination"
msgstr "Przeznaczenie"
@@ -1462,14 +1468,14 @@ msgstr "Nie określono lokalizacji docelowej"
msgid "Allocated Parts"
msgstr ""
-#: build/templates/build/detail.html:80
+#: build/templates/build/detail.html:80 stock/admin.py:88
#: stock/templates/stock/item_base.html:168
#: templates/js/translated/build.js:1240
#: templates/js/translated/model_renderers.js:124
-#: templates/js/translated/stock.js:1026 templates/js/translated/stock.js:1845
-#: templates/js/translated/stock.js:2744
-#: templates/js/translated/table_filters.js:167
-#: templates/js/translated/table_filters.js:258
+#: templates/js/translated/stock.js:1045 templates/js/translated/stock.js:1864
+#: templates/js/translated/stock.js:2762
+#: templates/js/translated/table_filters.js:171
+#: templates/js/translated/table_filters.js:262
msgid "Batch"
msgstr "Partia"
@@ -1527,7 +1533,7 @@ msgstr "Zamów wymagane komponenty"
#: build/templates/build/detail.html:187
#: company/templates/company/detail.html:37
#: company/templates/company/detail.html:85
-#: part/templates/part/category.html:178 templates/js/translated/order.js:1177
+#: part/templates/part/category.html:178 templates/js/translated/order.js:1211
msgid "Order Parts"
msgstr "Zamów komponent"
@@ -1597,10 +1603,10 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:151
#: company/templates/company/manufacturer_part_sidebar.html:9
#: order/templates/order/po_sidebar.html:9
-#: order/templates/order/purchase_order_detail.html:82
-#: order/templates/order/sales_order_detail.html:135
-#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:212
-#: part/templates/part/part_sidebar.html:57 stock/templates/stock/item.html:117
+#: order/templates/order/purchase_order_detail.html:86
+#: order/templates/order/sales_order_detail.html:140
+#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:210
+#: part/templates/part/part_sidebar.html:55 stock/templates/stock/item.html:117
#: stock/templates/stock/stock_sidebar.html:23
msgid "Attachments"
msgstr "Załączniki"
@@ -1617,7 +1623,7 @@ msgstr ""
msgid "All untracked stock items have been allocated"
msgstr ""
-#: build/templates/build/index.html:18 part/templates/part/detail.html:318
+#: build/templates/build/index.html:18 part/templates/part/detail.html:316
msgid "New Build Order"
msgstr "Nowe zlecenie budowy"
@@ -1734,7 +1740,7 @@ msgstr ""
msgid "Show the `about` modal only to superusers"
msgstr ""
-#: common/models.py:833 company/models.py:94 company/models.py:95
+#: common/models.py:833 company/models.py:98 company/models.py:99
msgid "Company name"
msgstr "Nazwa firmy"
@@ -1902,9 +1908,9 @@ msgstr ""
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:1002 part/models.py:2474 report/models.py:158
-#: templates/js/translated/table_filters.js:38
-#: templates/js/translated/table_filters.js:492
+#: common/models.py:1002 part/admin.py:41 part/models.py:3087
+#: report/models.py:158 templates/js/translated/table_filters.js:38
+#: templates/js/translated/table_filters.js:496
msgid "Template"
msgstr "Szablon"
@@ -1912,9 +1918,10 @@ msgstr "Szablon"
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:1009 part/models.py:908 templates/js/translated/bom.js:1531
-#: templates/js/translated/table_filters.js:184
-#: templates/js/translated/table_filters.js:455
+#: common/models.py:1009 part/admin.py:37 part/admin.py:229 part/models.py:927
+#: templates/js/translated/bom.js:1594
+#: templates/js/translated/table_filters.js:188
+#: templates/js/translated/table_filters.js:459
msgid "Assembly"
msgstr "Złożenie"
@@ -1922,8 +1929,8 @@ msgstr "Złożenie"
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:1016 part/models.py:914
-#: templates/js/translated/table_filters.js:463
+#: common/models.py:1016 part/admin.py:38 part/models.py:933
+#: templates/js/translated/table_filters.js:467
msgid "Component"
msgstr "Komponent"
@@ -1931,7 +1938,7 @@ msgstr "Komponent"
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:1023 part/models.py:925
+#: common/models.py:1023 part/admin.py:39 part/models.py:944
msgid "Purchaseable"
msgstr "Możliwość zakupu"
@@ -1939,8 +1946,8 @@ msgstr "Możliwość zakupu"
msgid "Parts are purchaseable by default"
msgstr "Części są domyślnie z możliwością zakupu"
-#: common/models.py:1030 part/models.py:930
-#: templates/js/translated/table_filters.js:484
+#: common/models.py:1030 part/admin.py:40 part/models.py:949
+#: templates/js/translated/table_filters.js:488
msgid "Salable"
msgstr "Możliwość sprzedaży"
@@ -1948,10 +1955,10 @@ msgstr "Możliwość sprzedaży"
msgid "Parts are salable by default"
msgstr "Części są domyślnie z możliwością sprzedaży"
-#: common/models.py:1037 part/models.py:920
+#: common/models.py:1037 part/admin.py:42 part/models.py:939
#: templates/js/translated/table_filters.js:46
-#: templates/js/translated/table_filters.js:116
-#: templates/js/translated/table_filters.js:496
+#: templates/js/translated/table_filters.js:120
+#: templates/js/translated/table_filters.js:500
msgid "Trackable"
msgstr "Możliwość śledzenia"
@@ -1959,10 +1966,10 @@ msgstr "Możliwość śledzenia"
msgid "Parts are trackable by default"
msgstr "Części są domyślnie z możliwością śledzenia"
-#: common/models.py:1044 part/models.py:940
+#: common/models.py:1044 part/admin.py:43 part/models.py:959
#: part/templates/part/part_base.html:156
#: templates/js/translated/table_filters.js:42
-#: templates/js/translated/table_filters.js:500
+#: templates/js/translated/table_filters.js:504
msgid "Virtual"
msgstr "Wirtualny"
@@ -1979,791 +1986,837 @@ msgid "Display the import wizard in some part views"
msgstr ""
#: common/models.py:1058
-msgid "Show Price in Forms"
-msgstr ""
-
-#: common/models.py:1059
-msgid "Display part price in some forms"
-msgstr ""
-
-#: common/models.py:1070
-msgid "Show Price in BOM"
-msgstr "Pokaż cenę w BOM"
-
-#: common/models.py:1071
-msgid "Include pricing information in BOM tables"
-msgstr "Dołącz informacje cenowe w tabelach BOM"
-
-#: common/models.py:1082
-msgid "Show Price History"
-msgstr "Pokaż historię cen"
-
-#: common/models.py:1083
-msgid "Display historical pricing for Part"
-msgstr ""
-
-#: common/models.py:1089
msgid "Show related parts"
msgstr ""
-#: common/models.py:1090
+#: common/models.py:1059
msgid "Display related parts for a part"
msgstr ""
-#: common/models.py:1096
+#: common/models.py:1065
msgid "Create initial stock"
msgstr "Utwórz początkowy stan magazynowy"
-#: common/models.py:1097
+#: common/models.py:1066
msgid "Create initial stock on part creation"
msgstr ""
-#: common/models.py:1103
-msgid "Internal Prices"
-msgstr "Ceny wewnętrzne"
-
-#: common/models.py:1104
-msgid "Enable internal prices for parts"
-msgstr ""
-
-#: common/models.py:1110
-msgid "Internal Price as BOM-Price"
-msgstr ""
-
-#: common/models.py:1111
-msgid "Use the internal price (if set) in BOM-price calculations"
-msgstr ""
-
-#: common/models.py:1117
+#: common/models.py:1072
msgid "Part Name Display Format"
msgstr ""
-#: common/models.py:1118
+#: common/models.py:1073
msgid "Format to display the part name"
msgstr ""
-#: common/models.py:1125
+#: common/models.py:1080
msgid "Part Category Default Icon"
msgstr ""
-#: common/models.py:1126
+#: common/models.py:1081
msgid "Part category default icon (empty means no icon)"
msgstr ""
-#: common/models.py:1131
-msgid "Enable label printing"
-msgstr "Włącz drukowanie etykiet"
-
-#: common/models.py:1132
-msgid "Enable label printing from the web interface"
-msgstr "Włącz drukowanie etykiet z interfejsu WWW"
-
-#: common/models.py:1138
-msgid "Label Image DPI"
-msgstr "DPI etykiety"
-
-#: common/models.py:1139
-msgid "DPI resolution when generating image files to supply to label printing plugins"
+#: common/models.py:1086
+msgid "Pricing Decimal Places"
msgstr ""
-#: common/models.py:1148
-msgid "Enable Reports"
-msgstr "Włącz raporty"
-
-#: common/models.py:1149
-msgid "Enable generation of reports"
+#: common/models.py:1087
+msgid "Number of decimal places to display when rendering pricing data"
msgstr ""
-#: common/models.py:1155 templates/stats.html:25
-msgid "Debug Mode"
-msgstr "Tryb Debugowania"
-
-#: common/models.py:1156
-msgid "Generate reports in debug mode (HTML output)"
+#: common/models.py:1097
+msgid "Pricing Rebuild Time"
msgstr ""
-#: common/models.py:1162
-msgid "Page Size"
-msgstr "Rozmiar strony"
-
-#: common/models.py:1163
-msgid "Default page size for PDF reports"
-msgstr "Domyślna wielkość strony dla raportów PDF"
-
-#: common/models.py:1173
-msgid "Enable Test Reports"
+#: common/models.py:1098
+msgid "Number of days before part pricing is automatically updated"
msgstr ""
-#: common/models.py:1174
-msgid "Enable generation of test reports"
-msgstr "Włącz generowanie raportów testów"
-
-#: common/models.py:1180
-msgid "Attach Test Reports"
-msgstr ""
-
-#: common/models.py:1181
-msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item"
-msgstr ""
-
-#: common/models.py:1187
-msgid "Globally Unique Serials"
-msgstr ""
-
-#: common/models.py:1188
-msgid "Serial numbers for stock items must be globally unique"
-msgstr ""
-
-#: common/models.py:1194
-msgid "Batch Code Template"
-msgstr ""
-
-#: common/models.py:1195
-msgid "Template for generating default batch codes for stock items"
-msgstr ""
-
-#: common/models.py:1200
-msgid "Stock Expiry"
-msgstr ""
-
-#: common/models.py:1201
-msgid "Enable stock expiry functionality"
-msgstr ""
-
-#: common/models.py:1207
-msgid "Sell Expired Stock"
-msgstr ""
-
-#: common/models.py:1208
-msgid "Allow sale of expired stock"
-msgstr ""
-
-#: common/models.py:1214
-msgid "Stock Stale Time"
-msgstr ""
-
-#: common/models.py:1215
-msgid "Number of days stock items are considered stale before expiring"
-msgstr ""
-
-#: common/models.py:1217
+#: common/models.py:1099 common/models.py:1208
msgid "days"
msgstr "dni"
-#: common/models.py:1222
+#: common/models.py:1108
+msgid "Internal Prices"
+msgstr "Ceny wewnętrzne"
+
+#: common/models.py:1109
+msgid "Enable internal prices for parts"
+msgstr ""
+
+#: common/models.py:1115
+msgid "Internal Price Override"
+msgstr ""
+
+#: common/models.py:1116
+msgid "If available, internal prices override price range calculations"
+msgstr ""
+
+#: common/models.py:1122
+msgid "Enable label printing"
+msgstr "Włącz drukowanie etykiet"
+
+#: common/models.py:1123
+msgid "Enable label printing from the web interface"
+msgstr "Włącz drukowanie etykiet z interfejsu WWW"
+
+#: common/models.py:1129
+msgid "Label Image DPI"
+msgstr "DPI etykiety"
+
+#: common/models.py:1130
+msgid "DPI resolution when generating image files to supply to label printing plugins"
+msgstr ""
+
+#: common/models.py:1139
+msgid "Enable Reports"
+msgstr "Włącz raporty"
+
+#: common/models.py:1140
+msgid "Enable generation of reports"
+msgstr ""
+
+#: common/models.py:1146 templates/stats.html:25
+msgid "Debug Mode"
+msgstr "Tryb Debugowania"
+
+#: common/models.py:1147
+msgid "Generate reports in debug mode (HTML output)"
+msgstr ""
+
+#: common/models.py:1153
+msgid "Page Size"
+msgstr "Rozmiar strony"
+
+#: common/models.py:1154
+msgid "Default page size for PDF reports"
+msgstr "Domyślna wielkość strony dla raportów PDF"
+
+#: common/models.py:1164
+msgid "Enable Test Reports"
+msgstr ""
+
+#: common/models.py:1165
+msgid "Enable generation of test reports"
+msgstr "Włącz generowanie raportów testów"
+
+#: common/models.py:1171
+msgid "Attach Test Reports"
+msgstr ""
+
+#: common/models.py:1172
+msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item"
+msgstr ""
+
+#: common/models.py:1178
+msgid "Globally Unique Serials"
+msgstr ""
+
+#: common/models.py:1179
+msgid "Serial numbers for stock items must be globally unique"
+msgstr ""
+
+#: common/models.py:1185
+msgid "Batch Code Template"
+msgstr ""
+
+#: common/models.py:1186
+msgid "Template for generating default batch codes for stock items"
+msgstr ""
+
+#: common/models.py:1191
+msgid "Stock Expiry"
+msgstr ""
+
+#: common/models.py:1192
+msgid "Enable stock expiry functionality"
+msgstr ""
+
+#: common/models.py:1198
+msgid "Sell Expired Stock"
+msgstr ""
+
+#: common/models.py:1199
+msgid "Allow sale of expired stock"
+msgstr ""
+
+#: common/models.py:1205
+msgid "Stock Stale Time"
+msgstr ""
+
+#: common/models.py:1206
+msgid "Number of days stock items are considered stale before expiring"
+msgstr ""
+
+#: common/models.py:1213
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:1223
+#: common/models.py:1214
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:1229
+#: common/models.py:1220
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:1230
+#: common/models.py:1221
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:1236
+#: common/models.py:1227
msgid "Stock Location Default Icon"
msgstr ""
-#: common/models.py:1237
+#: common/models.py:1228
msgid "Stock location default icon (empty means no icon)"
msgstr ""
-#: common/models.py:1242
+#: common/models.py:1233
msgid "Build Order Reference Pattern"
msgstr ""
-#: common/models.py:1243
+#: common/models.py:1234
msgid "Required pattern for generating Build Order reference field"
msgstr ""
-#: common/models.py:1249
+#: common/models.py:1240
msgid "Sales Order Reference Pattern"
msgstr ""
-#: common/models.py:1250
+#: common/models.py:1241
msgid "Required pattern for generating Sales Order reference field"
msgstr ""
-#: common/models.py:1256
+#: common/models.py:1247
msgid "Sales Order Default Shipment"
msgstr ""
-#: common/models.py:1257
+#: common/models.py:1248
msgid "Enable creation of default shipment with sales orders"
msgstr ""
-#: common/models.py:1263
+#: common/models.py:1254
+msgid "Edit Completed Sales Orders"
+msgstr ""
+
+#: common/models.py:1255
+msgid "Allow editing of sales orders after they have been shipped or completed"
+msgstr ""
+
+#: common/models.py:1261
msgid "Purchase Order Reference Pattern"
msgstr ""
-#: common/models.py:1264
+#: common/models.py:1262
msgid "Required pattern for generating Purchase Order reference field"
msgstr ""
-#: common/models.py:1271
+#: common/models.py:1268
+msgid "Edit Completed Purchase Orders"
+msgstr ""
+
+#: common/models.py:1269
+msgid "Allow editing of purchase orders after they have been shipped or completed"
+msgstr ""
+
+#: common/models.py:1276
msgid "Enable password forgot"
msgstr "Włącz opcję zapomnianego hasła"
-#: common/models.py:1272
+#: common/models.py:1277
msgid "Enable password forgot function on the login pages"
msgstr "Włącz funkcję zapomnianego hasła na stronach logowania"
-#: common/models.py:1278
+#: common/models.py:1283
msgid "Enable registration"
msgstr "Włącz rejestrację"
-#: common/models.py:1279
+#: common/models.py:1284
msgid "Enable self-registration for users on the login pages"
msgstr "Włącz samodzielną rejestrację dla użytkowników na stronach logowania"
-#: common/models.py:1285
+#: common/models.py:1290
msgid "Enable SSO"
msgstr "Włącz SSO"
-#: common/models.py:1286
+#: common/models.py:1291
msgid "Enable SSO on the login pages"
msgstr "Włącz SSO na stronach logowania"
-#: common/models.py:1292
+#: common/models.py:1297
msgid "Email required"
msgstr "Adres e-mail jest wymagany"
-#: common/models.py:1293
+#: common/models.py:1298
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/models.py:1299
+#: common/models.py:1304
msgid "Auto-fill SSO users"
msgstr "Autouzupełnianie użytkowników SSO"
-#: common/models.py:1300
+#: common/models.py:1305
msgid "Automatically fill out user-details from SSO account-data"
msgstr "Automatycznie wypełnij dane użytkownika z danych konta SSO"
-#: common/models.py:1306
+#: common/models.py:1311
msgid "Mail twice"
msgstr "E-mail dwa razy"
-#: common/models.py:1307
+#: common/models.py:1312
msgid "On signup ask users twice for their mail"
msgstr "Przy rejestracji dwukrotnie zapytaj użytkowników o ich adres e-mail"
-#: common/models.py:1313
+#: common/models.py:1318
msgid "Password twice"
msgstr "Hasło dwukrotnie"
-#: common/models.py:1314
+#: common/models.py:1319
msgid "On signup ask users twice for their password"
msgstr "Przy rejestracji dwukrotnie zapytaj użytkowników o ich hasło"
-#: common/models.py:1320
+#: common/models.py:1325
msgid "Group on signup"
msgstr "Grupuj przy rejestracji"
-#: common/models.py:1321
+#: common/models.py:1326
msgid "Group to which new users are assigned on registration"
msgstr ""
-#: common/models.py:1327
+#: common/models.py:1332
msgid "Enforce MFA"
msgstr "Wymuś MFA"
-#: common/models.py:1328
+#: common/models.py:1333
msgid "Users must use multifactor security."
msgstr "Użytkownicy muszą używać zabezpieczeń wieloskładnikowych."
-#: common/models.py:1334
+#: common/models.py:1339
msgid "Check plugins on startup"
msgstr "Sprawdź wtyczki przy starcie"
-#: common/models.py:1335
+#: common/models.py:1340
msgid "Check that all plugins are installed on startup - enable in container environments"
msgstr ""
-#: common/models.py:1342
+#: common/models.py:1347
msgid "Check plugin signatures"
msgstr ""
-#: common/models.py:1343
+#: common/models.py:1348
msgid "Check and show signatures for plugins"
msgstr ""
-#: common/models.py:1350
+#: common/models.py:1355
msgid "Enable URL integration"
msgstr "Włącz integrację URL"
-#: common/models.py:1351
+#: common/models.py:1356
msgid "Enable plugins to add URL routes"
msgstr "Włącz wtyczki, aby dodać ścieżki URL"
-#: common/models.py:1358
+#: common/models.py:1363
msgid "Enable navigation integration"
msgstr ""
-#: common/models.py:1359
+#: common/models.py:1364
msgid "Enable plugins to integrate into navigation"
msgstr ""
-#: common/models.py:1366
+#: common/models.py:1371
msgid "Enable app integration"
msgstr "Włącz integrację z aplikacją"
-#: common/models.py:1367
+#: common/models.py:1372
msgid "Enable plugins to add apps"
msgstr "Włącz wtyczki, aby dodać aplikacje"
-#: common/models.py:1374
+#: common/models.py:1379
msgid "Enable schedule integration"
msgstr ""
-#: common/models.py:1375
+#: common/models.py:1380
msgid "Enable plugins to run scheduled tasks"
msgstr "Włącz wtyczki, aby uruchamiać zaplanowane zadania"
-#: common/models.py:1382
+#: common/models.py:1387
msgid "Enable event integration"
msgstr ""
-#: common/models.py:1383
+#: common/models.py:1388
msgid "Enable plugins to respond to internal events"
msgstr ""
-#: common/models.py:1402 common/models.py:1737
+#: common/models.py:1407 common/models.py:1749
msgid "Settings key (must be unique - case insensitive"
msgstr "Klucz ustawień (musi być unikalny - niewrażliwy na wielkość liter"
-#: common/models.py:1424
+#: common/models.py:1429
msgid "Show subscribed parts"
msgstr "Pokaż obserwowane części"
-#: common/models.py:1425
+#: common/models.py:1430
msgid "Show subscribed parts on the homepage"
msgstr "Pokaż obserwowane części na stronie głównej"
-#: common/models.py:1431
+#: common/models.py:1436
msgid "Show subscribed categories"
msgstr "Pokaż obserwowane kategorie"
-#: common/models.py:1432
+#: common/models.py:1437
msgid "Show subscribed part categories on the homepage"
msgstr "Pokaż obserwowane kategorie części na stronie głównej"
-#: common/models.py:1438
+#: common/models.py:1443
msgid "Show latest parts"
msgstr "Pokaż najnowsze części"
-#: common/models.py:1439
+#: common/models.py:1444
msgid "Show latest parts on the homepage"
msgstr "Pokaż najnowsze części na stronie głównej"
-#: common/models.py:1445
+#: common/models.py:1450
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:1446
+#: common/models.py:1451
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:1452
+#: common/models.py:1457
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:1453
+#: common/models.py:1458
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:1459
+#: common/models.py:1464
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:1460
+#: common/models.py:1465
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:1466
+#: common/models.py:1471
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:1467
+#: common/models.py:1472
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:1473
+#: common/models.py:1478
msgid "Show low stock"
msgstr "Pokaż niski stan magazynowy"
-#: common/models.py:1474
+#: common/models.py:1479
msgid "Show low stock items on the homepage"
msgstr "Pokaż elementy o niskim stanie na stronie głównej"
-#: common/models.py:1480
+#: common/models.py:1485
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:1481
+#: common/models.py:1486
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:1487
+#: common/models.py:1492
msgid "Show needed stock"
msgstr "Pokaż wymagany stan zapasów"
-#: common/models.py:1488
+#: common/models.py:1493
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:1494
+#: common/models.py:1499
msgid "Show expired stock"
msgstr ""
-#: common/models.py:1495
+#: common/models.py:1500
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:1501
+#: common/models.py:1506
msgid "Show stale stock"
msgstr ""
-#: common/models.py:1502
+#: common/models.py:1507
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:1508
+#: common/models.py:1513
msgid "Show pending builds"
msgstr ""
-#: common/models.py:1509
+#: common/models.py:1514
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:1515
+#: common/models.py:1520
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:1516
+#: common/models.py:1521
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:1522
+#: common/models.py:1527
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:1523
+#: common/models.py:1528
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:1529
+#: common/models.py:1534
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:1530
+#: common/models.py:1535
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:1536
+#: common/models.py:1541
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:1537
+#: common/models.py:1542
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:1543
+#: common/models.py:1548
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:1544
+#: common/models.py:1549
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:1550
+#: common/models.py:1555
+msgid "Show News"
+msgstr ""
+
+#: common/models.py:1556
+msgid "Show news on the homepage"
+msgstr ""
+
+#: common/models.py:1562
msgid "Inline label display"
msgstr ""
-#: common/models.py:1551
+#: common/models.py:1563
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1557
+#: common/models.py:1569
msgid "Inline report display"
msgstr ""
-#: common/models.py:1558
+#: common/models.py:1570
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1564
+#: common/models.py:1576
msgid "Search Parts"
msgstr "Szukaj części"
-#: common/models.py:1565
+#: common/models.py:1577
msgid "Display parts in search preview window"
msgstr ""
-#: common/models.py:1571
+#: common/models.py:1583
msgid "Seach Supplier Parts"
msgstr ""
-#: common/models.py:1572
+#: common/models.py:1584
msgid "Display supplier parts in search preview window"
msgstr ""
-#: common/models.py:1578
+#: common/models.py:1590
msgid "Search Manufacturer Parts"
msgstr ""
-#: common/models.py:1579
+#: common/models.py:1591
msgid "Display manufacturer parts in search preview window"
msgstr ""
-#: common/models.py:1585
+#: common/models.py:1597
msgid "Hide Inactive Parts"
msgstr "Ukryj nieaktywne części"
-#: common/models.py:1586
+#: common/models.py:1598
msgid "Excluded inactive parts from search preview window"
msgstr ""
-#: common/models.py:1592
+#: common/models.py:1604
msgid "Search Categories"
msgstr ""
-#: common/models.py:1593
+#: common/models.py:1605
msgid "Display part categories in search preview window"
msgstr ""
-#: common/models.py:1599
+#: common/models.py:1611
msgid "Search Stock"
msgstr ""
-#: common/models.py:1600
+#: common/models.py:1612
msgid "Display stock items in search preview window"
msgstr ""
-#: common/models.py:1606
+#: common/models.py:1618
msgid "Hide Unavailable Stock Items"
msgstr ""
-#: common/models.py:1607
+#: common/models.py:1619
msgid "Exclude stock items which are not available from the search preview window"
msgstr ""
-#: common/models.py:1613
+#: common/models.py:1625
msgid "Search Locations"
msgstr ""
-#: common/models.py:1614
+#: common/models.py:1626
msgid "Display stock locations in search preview window"
msgstr ""
-#: common/models.py:1620
+#: common/models.py:1632
msgid "Search Companies"
msgstr ""
-#: common/models.py:1621
+#: common/models.py:1633
msgid "Display companies in search preview window"
msgstr ""
-#: common/models.py:1627
+#: common/models.py:1639
msgid "Search Build Orders"
msgstr ""
-#: common/models.py:1628
+#: common/models.py:1640
msgid "Display build orders in search preview window"
msgstr ""
-#: common/models.py:1634
+#: common/models.py:1646
msgid "Search Purchase Orders"
msgstr ""
-#: common/models.py:1635
+#: common/models.py:1647
msgid "Display purchase orders in search preview window"
msgstr ""
-#: common/models.py:1641
+#: common/models.py:1653
msgid "Exclude Inactive Purchase Orders"
msgstr ""
-#: common/models.py:1642
+#: common/models.py:1654
msgid "Exclude inactive purchase orders from search preview window"
msgstr ""
-#: common/models.py:1648
+#: common/models.py:1660
msgid "Search Sales Orders"
msgstr ""
-#: common/models.py:1649
+#: common/models.py:1661
msgid "Display sales orders in search preview window"
msgstr ""
-#: common/models.py:1655
+#: common/models.py:1667
msgid "Exclude Inactive Sales Orders"
msgstr ""
-#: common/models.py:1656
+#: common/models.py:1668
msgid "Exclude inactive sales orders from search preview window"
msgstr ""
-#: common/models.py:1662
+#: common/models.py:1674
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:1663
+#: common/models.py:1675
msgid "Number of results to show in each section of the search preview window"
msgstr ""
-#: common/models.py:1669
+#: common/models.py:1681
msgid "Show Quantity in Forms"
msgstr "Pokaż ilość w formularzach"
-#: common/models.py:1670
+#: common/models.py:1682
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:1676
+#: common/models.py:1688
msgid "Escape Key Closes Forms"
msgstr ""
-#: common/models.py:1677
+#: common/models.py:1689
msgid "Use the escape key to close modal forms"
msgstr ""
-#: common/models.py:1683
+#: common/models.py:1695
msgid "Fixed Navbar"
msgstr "Stały pasek nawigacyjny"
-#: common/models.py:1684
+#: common/models.py:1696
msgid "The navbar position is fixed to the top of the screen"
msgstr ""
-#: common/models.py:1690
+#: common/models.py:1702
msgid "Date Format"
msgstr "Format daty"
-#: common/models.py:1691
+#: common/models.py:1703
msgid "Preferred format for displaying dates"
msgstr "Preferowany format wyświetlania dat"
-#: common/models.py:1705 part/templates/part/detail.html:41
+#: common/models.py:1717 part/templates/part/detail.html:41
msgid "Part Scheduling"
msgstr "Planowanie komponentów"
-#: common/models.py:1706
+#: common/models.py:1718
msgid "Display part scheduling information"
msgstr ""
-#: common/models.py:1712
+#: common/models.py:1724
msgid "Table String Length"
msgstr ""
-#: common/models.py:1713
+#: common/models.py:1725
msgid "Maximimum length limit for strings displayed in table views"
msgstr ""
-#: common/models.py:1777
+#: common/models.py:1789
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1784 company/serializers.py:372
-#: company/templates/company/supplier_part.html:346 order/models.py:952
-#: templates/js/translated/part.js:1103 templates/js/translated/part.js:2225
+#: common/models.py:1796 company/serializers.py:393 order/models.py:975
+#: templates/js/translated/company.js:1164 templates/js/translated/part.js:1130
+#: templates/js/translated/pricing.js:354
msgid "Price"
msgstr "Cena"
-#: common/models.py:1785
+#: common/models.py:1797
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1945 common/models.py:2123
+#: common/models.py:1957 common/models.py:2135
msgid "Endpoint"
msgstr "Punkt końcowy"
-#: common/models.py:1946
+#: common/models.py:1958
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:1955
+#: common/models.py:1967
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:1960 part/models.py:935 plugin/models.py:100
-#: templates/js/translated/table_filters.js:34
-#: templates/js/translated/table_filters.js:112
-#: templates/js/translated/table_filters.js:324
-#: templates/js/translated/table_filters.js:450
+#: common/models.py:1972 part/admin.py:36 part/models.py:954
+#: plugin/models.py:100 templates/js/translated/table_filters.js:34
+#: templates/js/translated/table_filters.js:116
+#: templates/js/translated/table_filters.js:328
+#: templates/js/translated/table_filters.js:454
msgid "Active"
msgstr "Aktywny"
-#: common/models.py:1961
+#: common/models.py:1973
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:1975
+#: common/models.py:1987
msgid "Token"
msgstr ""
-#: common/models.py:1976
+#: common/models.py:1988
msgid "Token for access"
msgstr ""
-#: common/models.py:1983
+#: common/models.py:1995
msgid "Secret"
msgstr "Sekret"
-#: common/models.py:1984
+#: common/models.py:1996
msgid "Shared secret for HMAC"
msgstr "Współdzielony sekret dla HMAC"
-#: common/models.py:2090
+#: common/models.py:2102
msgid "Message ID"
msgstr "Id wiadomości"
-#: common/models.py:2091
+#: common/models.py:2103
msgid "Unique identifier for this message"
msgstr "Unikalny identyfikator dla tej wiadomości"
-#: common/models.py:2099
+#: common/models.py:2111
msgid "Host"
msgstr ""
-#: common/models.py:2100
+#: common/models.py:2112
msgid "Host from which this message was received"
msgstr "Host, od którego otrzymano tę wiadomość"
-#: common/models.py:2107
+#: common/models.py:2119
msgid "Header"
msgstr "Nagłówek"
-#: common/models.py:2108
+#: common/models.py:2120
msgid "Header of this message"
msgstr "Nagłówek tej wiadomości"
-#: common/models.py:2114
+#: common/models.py:2126
msgid "Body"
msgstr "Zawartość"
-#: common/models.py:2115
+#: common/models.py:2127
msgid "Body of this message"
msgstr ""
-#: common/models.py:2124
+#: common/models.py:2136
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:2129
+#: common/models.py:2141
msgid "Worked on"
msgstr ""
-#: common/models.py:2130
+#: common/models.py:2142
msgid "Was the work on this message finished?"
msgstr ""
+#: common/models.py:2302
+msgid "Id"
+msgstr ""
+
+#: common/models.py:2308 templates/js/translated/news.js:34
+msgid "Title"
+msgstr ""
+
+#: common/models.py:2318 templates/js/translated/news.js:50
+msgid "Published"
+msgstr ""
+
+#: common/models.py:2323 templates/InvenTree/settings/plugin.html:62
+#: templates/InvenTree/settings/plugin_settings.html:33
+#: templates/js/translated/news.js:46
+msgid "Author"
+msgstr "Autor"
+
+#: common/models.py:2328 templates/js/translated/news.js:42
+msgid "Summary"
+msgstr ""
+
+#: common/models.py:2333
+msgid "Read"
+msgstr ""
+
+#: common/models.py:2334
+msgid "Was this news item read?"
+msgstr ""
+
#: common/notifications.py:293
#, python-brace-format
msgid "New {verbose_name}"
@@ -2785,15 +2838,15 @@ msgstr ""
msgid "Error raised by plugin"
msgstr ""
-#: common/views.py:85 order/templates/order/purchase_order_detail.html:23
-#: order/views.py:102 part/views.py:112
+#: common/views.py:85 order/templates/order/purchase_order_detail.html:25
+#: order/views.py:102 part/views.py:107
#: templates/patterns/wizard/upload.html:37
msgid "Upload File"
msgstr "Wyślij plik"
#: common/views.py:86 order/views.py:103
#: part/templates/part/import_wizard/ajax_match_fields.html:45
-#: part/views.py:113 templates/patterns/wizard/match_fields.html:51
+#: part/views.py:108 templates/patterns/wizard/match_fields.html:51
msgid "Match Fields"
msgstr ""
@@ -2816,298 +2869,301 @@ msgstr ""
msgid "Previous Step"
msgstr "Poprzedni krok"
-#: company/models.py:99
+#: company/models.py:103
msgid "Company description"
msgstr "Opis firmy"
-#: company/models.py:100
+#: company/models.py:104
msgid "Description of the company"
msgstr "Opis firmy"
-#: company/models.py:106 company/templates/company/company_base.html:100
+#: company/models.py:110 company/templates/company/company_base.html:100
#: templates/InvenTree/settings/plugin_settings.html:55
-#: templates/js/translated/company.js:448
+#: templates/js/translated/company.js:449
msgid "Website"
msgstr "Strona WWW"
-#: company/models.py:107
+#: company/models.py:111
msgid "Company website URL"
msgstr "Witryna internetowa firmy"
-#: company/models.py:111 company/templates/company/company_base.html:118
+#: company/models.py:115 company/templates/company/company_base.html:118
msgid "Address"
msgstr "Adres"
-#: company/models.py:112
+#: company/models.py:116
msgid "Company address"
msgstr "Adres firmy"
-#: company/models.py:115
+#: company/models.py:119
msgid "Phone number"
msgstr "Numer telefonu"
-#: company/models.py:116
+#: company/models.py:120
msgid "Contact phone number"
msgstr "Numer telefonu kontaktowego"
-#: company/models.py:119 company/templates/company/company_base.html:132
+#: company/models.py:123 company/templates/company/company_base.html:132
#: templates/InvenTree/settings/user.html:48
msgid "Email"
msgstr "Adres E-Mail"
-#: company/models.py:119
+#: company/models.py:123
msgid "Contact email address"
msgstr "Kontaktowy adres e-mail"
-#: company/models.py:122 company/templates/company/company_base.html:139
+#: company/models.py:126 company/templates/company/company_base.html:139
msgid "Contact"
msgstr "Kontakt"
-#: company/models.py:123
+#: company/models.py:127
msgid "Point of contact"
msgstr "Punkt kontaktowy"
-#: company/models.py:125
+#: company/models.py:129
msgid "Link to external company information"
msgstr "Link do informacji o zewnętrznym przedsiębiorstwie"
-#: company/models.py:136 part/models.py:829
+#: company/models.py:140 part/models.py:848
msgid "Image"
msgstr "Obraz"
-#: company/models.py:139 company/templates/company/detail.html:185
+#: company/models.py:143 company/templates/company/detail.html:185
msgid "Company Notes"
msgstr "Notatki firmy"
-#: company/models.py:141
+#: company/models.py:145
msgid "is customer"
msgstr "jest klientem"
-#: company/models.py:141
+#: company/models.py:145
msgid "Do you sell items to this company?"
msgstr "Czy sprzedajesz produkty tej firmie?"
-#: company/models.py:143
+#: company/models.py:147
msgid "is supplier"
msgstr "jest dostawcą"
-#: company/models.py:143
+#: company/models.py:147
msgid "Do you purchase items from this company?"
msgstr "Czy kupujesz przedmioty od tej firmy?"
-#: company/models.py:145
+#: company/models.py:149
msgid "is manufacturer"
msgstr "jest producentem"
-#: company/models.py:145
+#: company/models.py:149
msgid "Does this company manufacture parts?"
msgstr "Czy to przedsiębiorstwo produkuje części?"
-#: company/models.py:149 company/serializers.py:378
-#: company/templates/company/company_base.html:106 part/serializers.py:153
-#: part/serializers.py:184 stock/serializers.py:178
+#: company/models.py:153 company/serializers.py:399
+#: company/templates/company/company_base.html:106 part/models.py:2681
+#: part/serializers.py:153 part/serializers.py:181 stock/serializers.py:182
+#: templates/InvenTree/settings/pricing.html:59
msgid "Currency"
msgstr "Waluta"
-#: company/models.py:152
+#: company/models.py:156
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:249 company/models.py:483 stock/models.py:600
-#: stock/serializers.py:85 stock/templates/stock/item_base.html:143
-#: templates/js/translated/bom.js:568
+#: company/models.py:253 company/models.py:487 stock/models.py:616
+#: stock/serializers.py:89 stock/templates/stock/item_base.html:143
+#: templates/js/translated/bom.js:581
msgid "Base Part"
msgstr "Część bazowa"
-#: company/models.py:253 company/models.py:487
+#: company/models.py:257 company/models.py:491
msgid "Select part"
msgstr "Wybierz część"
-#: company/models.py:264 company/templates/company/company_base.html:76
+#: company/models.py:268 company/templates/company/company_base.html:76
#: company/templates/company/manufacturer_part.html:90
#: company/templates/company/supplier_part.html:152
#: stock/templates/stock/item_base.html:210
-#: templates/js/translated/company.js:432
-#: templates/js/translated/company.js:533
-#: templates/js/translated/company.js:668
-#: templates/js/translated/company.js:956 templates/js/translated/part.js:236
-#: templates/js/translated/table_filters.js:427
+#: templates/js/translated/company.js:433
+#: templates/js/translated/company.js:534
+#: templates/js/translated/company.js:669
+#: templates/js/translated/company.js:957 templates/js/translated/part.js:232
+#: templates/js/translated/table_filters.js:431
msgid "Manufacturer"
msgstr "Producent"
-#: company/models.py:265 templates/js/translated/part.js:237
+#: company/models.py:269 templates/js/translated/part.js:233
msgid "Select manufacturer"
msgstr "Wybierz producenta"
-#: company/models.py:271 company/templates/company/manufacturer_part.html:101
+#: company/models.py:275 company/templates/company/manufacturer_part.html:101
#: company/templates/company/supplier_part.html:160
-#: templates/js/translated/company.js:304
-#: templates/js/translated/company.js:532
-#: templates/js/translated/company.js:684
-#: templates/js/translated/company.js:975 templates/js/translated/order.js:2239
-#: templates/js/translated/part.js:247 templates/js/translated/part.js:1025
+#: templates/js/translated/company.js:305
+#: templates/js/translated/company.js:533
+#: templates/js/translated/company.js:685
+#: templates/js/translated/company.js:976 templates/js/translated/order.js:2278
+#: templates/js/translated/part.js:243 templates/js/translated/part.js:1052
msgid "MPN"
msgstr ""
-#: company/models.py:272 templates/js/translated/part.js:248
+#: company/models.py:276 templates/js/translated/part.js:244
msgid "Manufacturer Part Number"
msgstr "Numer producenta komponentu"
-#: company/models.py:278
+#: company/models.py:282
msgid "URL for external manufacturer part link"
msgstr ""
-#: company/models.py:284
+#: company/models.py:288
msgid "Manufacturer part description"
msgstr ""
-#: company/models.py:329 company/models.py:353 company/models.py:506
+#: company/models.py:333 company/models.py:357 company/models.py:510
#: company/templates/company/manufacturer_part.html:7
#: company/templates/company/manufacturer_part.html:24
#: stock/templates/stock/item_base.html:220
msgid "Manufacturer Part"
msgstr "Komponent producenta"
-#: company/models.py:360
+#: company/models.py:364
msgid "Parameter name"
msgstr ""
-#: company/models.py:366
+#: company/models.py:370
#: report/templates/report/inventree_test_report_base.html:95
-#: stock/models.py:2097 templates/js/translated/company.js:581
-#: templates/js/translated/company.js:799 templates/js/translated/part.js:847
-#: templates/js/translated/stock.js:1360
+#: stock/models.py:2113 templates/js/translated/company.js:582
+#: templates/js/translated/company.js:800 templates/js/translated/part.js:874
+#: templates/js/translated/stock.js:1379
msgid "Value"
msgstr "Wartość"
-#: company/models.py:367
+#: company/models.py:371
msgid "Parameter value"
msgstr ""
-#: company/models.py:373 part/models.py:902 part/models.py:2434
-#: part/templates/part/part_base.html:286
+#: company/models.py:377 part/admin.py:26 part/models.py:921
+#: part/models.py:3047 part/templates/part/part_base.html:286
#: templates/InvenTree/settings/settings.html:349
-#: templates/js/translated/company.js:805 templates/js/translated/part.js:853
+#: templates/js/translated/company.js:806 templates/js/translated/part.js:880
msgid "Units"
msgstr "Jednostki"
-#: company/models.py:374
+#: company/models.py:378
msgid "Parameter units"
msgstr "Jednostki parametru"
-#: company/models.py:451
+#: company/models.py:455
msgid "Linked manufacturer part must reference the same base part"
msgstr ""
-#: company/models.py:493 company/templates/company/company_base.html:81
-#: company/templates/company/supplier_part.html:136 order/models.py:263
-#: order/templates/order/order_base.html:121 part/bom.py:237 part/bom.py:265
+#: company/models.py:497 company/templates/company/company_base.html:81
+#: company/templates/company/supplier_part.html:136 order/models.py:264
+#: order/templates/order/order_base.html:121 part/bom.py:252 part/bom.py:280
#: stock/templates/stock/item_base.html:227
#: templates/email/overdue_purchase_order.html:16
-#: templates/js/translated/company.js:303
-#: templates/js/translated/company.js:436
-#: templates/js/translated/company.js:929 templates/js/translated/order.js:1975
-#: templates/js/translated/part.js:217 templates/js/translated/part.js:993
-#: templates/js/translated/table_filters.js:431
+#: templates/js/translated/company.js:304
+#: templates/js/translated/company.js:437
+#: templates/js/translated/company.js:930 templates/js/translated/order.js:2009
+#: templates/js/translated/part.js:213 templates/js/translated/part.js:1020
+#: templates/js/translated/pricing.js:231
+#: templates/js/translated/table_filters.js:435
msgid "Supplier"
msgstr "Dostawca"
-#: company/models.py:494 templates/js/translated/part.js:218
+#: company/models.py:498 templates/js/translated/part.js:214
msgid "Select supplier"
msgstr "Wybierz dostawcę"
-#: company/models.py:499 company/templates/company/supplier_part.html:146
-#: part/bom.py:238 part/bom.py:266 templates/js/translated/company.js:302
-#: templates/js/translated/order.js:2226 templates/js/translated/part.js:228
-#: templates/js/translated/part.js:1011
+#: company/models.py:503 company/templates/company/supplier_part.html:146
+#: part/bom.py:253 part/bom.py:281 templates/js/translated/company.js:303
+#: templates/js/translated/order.js:2265 templates/js/translated/part.js:224
+#: templates/js/translated/part.js:1038 templates/js/translated/pricing.js:243
msgid "SKU"
msgstr ""
-#: company/models.py:500 templates/js/translated/part.js:229
+#: company/models.py:504 templates/js/translated/part.js:225
msgid "Supplier stock keeping unit"
msgstr ""
-#: company/models.py:507
+#: company/models.py:511
msgid "Select manufacturer part"
msgstr ""
-#: company/models.py:513
+#: company/models.py:517
msgid "URL for external supplier part link"
msgstr ""
-#: company/models.py:519
+#: company/models.py:523
msgid "Supplier part description"
msgstr ""
-#: company/models.py:524 company/templates/company/supplier_part.html:181
-#: part/models.py:2687 part/templates/part/upload_bom.html:59
+#: company/models.py:528 company/templates/company/supplier_part.html:181
+#: part/admin.py:225 part/models.py:3300 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_po_report.html:92
-#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:403
+#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:397
msgid "Note"
msgstr "Uwaga"
-#: company/models.py:528 part/models.py:1788
+#: company/models.py:532 part/models.py:1817
msgid "base cost"
msgstr "koszt podstawowy"
-#: company/models.py:528 part/models.py:1788
+#: company/models.py:532 part/models.py:1817
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
-#: company/models.py:530 company/templates/company/supplier_part.html:167
-#: stock/models.py:626 stock/templates/stock/item_base.html:243
-#: templates/js/translated/company.js:991 templates/js/translated/stock.js:1978
+#: company/models.py:534 company/templates/company/supplier_part.html:167
+#: stock/admin.py:101 stock/models.py:642
+#: stock/templates/stock/item_base.html:243
+#: templates/js/translated/company.js:992 templates/js/translated/stock.js:1996
msgid "Packaging"
msgstr "Opakowanie"
-#: company/models.py:530
+#: company/models.py:534
msgid "Part packaging"
msgstr "Opakowanie części"
-#: company/models.py:533 company/serializers.py:242
+#: company/models.py:537 company/serializers.py:242
#: company/templates/company/supplier_part.html:174
-#: templates/js/translated/company.js:996 templates/js/translated/order.js:820
-#: templates/js/translated/order.js:1215 templates/js/translated/order.js:1470
-#: templates/js/translated/order.js:2270 templates/js/translated/order.js:2287
-#: templates/js/translated/part.js:1043 templates/js/translated/part.js:1095
+#: templates/js/translated/company.js:997 templates/js/translated/order.js:826
+#: templates/js/translated/order.js:1249 templates/js/translated/order.js:1504
+#: templates/js/translated/order.js:2309 templates/js/translated/order.js:2326
+#: templates/js/translated/part.js:1070 templates/js/translated/part.js:1122
msgid "Pack Quantity"
msgstr ""
-#: company/models.py:534
+#: company/models.py:538
msgid "Unit quantity supplied in a single pack"
msgstr ""
-#: company/models.py:540 part/models.py:1790
+#: company/models.py:544 part/models.py:1819
msgid "multiple"
msgstr "wielokrotność"
-#: company/models.py:540
+#: company/models.py:544
msgid "Order multiple"
msgstr ""
-#: company/models.py:548 company/templates/company/supplier_part.html:115
+#: company/models.py:552 company/templates/company/supplier_part.html:115
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:18
-#: templates/js/translated/bom.js:963 templates/js/translated/build.js:1873
-#: templates/js/translated/build.js:2754 templates/js/translated/part.js:598
-#: templates/js/translated/part.js:601
-#: templates/js/translated/table_filters.js:194
+#: templates/js/translated/bom.js:1117 templates/js/translated/build.js:1873
+#: templates/js/translated/build.js:2754 templates/js/translated/part.js:612
+#: templates/js/translated/part.js:615
+#: templates/js/translated/table_filters.js:198
msgid "Available"
msgstr "Dostępne"
-#: company/models.py:549
+#: company/models.py:553
msgid "Quantity available from supplier"
msgstr ""
-#: company/models.py:553
+#: company/models.py:557
msgid "Availability Updated"
msgstr ""
-#: company/models.py:554
+#: company/models.py:558
msgid "Date of last update of availability data"
msgstr ""
-#: company/models.py:682
+#: company/models.py:686
msgid "last updated"
msgstr "ostatnia aktualizacja"
@@ -3121,7 +3177,7 @@ msgstr "Kod Waluty"
#: company/templates/company/company_base.html:8
#: company/templates/company/company_base.html:12
-#: templates/InvenTree/search.html:179 templates/js/translated/company.js:421
+#: templates/InvenTree/search.html:179 templates/js/translated/company.js:422
msgid "Company"
msgstr "Firma"
@@ -3139,7 +3195,7 @@ msgid "Edit company information"
msgstr ""
#: company/templates/company/company_base.html:34
-#: templates/js/translated/company.js:364
+#: templates/js/translated/company.js:365
msgid "Edit Company"
msgstr "Edytuj firmę"
@@ -3162,14 +3218,14 @@ msgstr "Prześlij nowy obraz"
msgid "Download image from URL"
msgstr "Pobierz obraz z adresu URL"
-#: company/templates/company/company_base.html:86 order/models.py:646
-#: order/templates/order/sales_order_base.html:116 stock/models.py:645
-#: stock/models.py:646 stock/serializers.py:813
+#: company/templates/company/company_base.html:86 order/models.py:665
+#: order/templates/order/sales_order_base.html:116 stock/models.py:661
+#: stock/models.py:662 stock/serializers.py:812
#: stock/templates/stock/item_base.html:399
#: templates/email/overdue_sales_order.html:16
-#: templates/js/translated/company.js:428 templates/js/translated/order.js:2808
-#: templates/js/translated/stock.js:2569
-#: templates/js/translated/table_filters.js:435
+#: templates/js/translated/company.js:429 templates/js/translated/order.js:2819
+#: templates/js/translated/stock.js:2587
+#: templates/js/translated/table_filters.js:439
msgid "Customer"
msgstr "Klient"
@@ -3182,12 +3238,12 @@ msgid "Phone"
msgstr "Telefon"
#: company/templates/company/company_base.html:208
-#: part/templates/part/part_base.html:499
+#: part/templates/part/part_base.html:514
msgid "Upload Image"
msgstr "Załaduj obrazek"
#: company/templates/company/company_base.html:223
-#: part/templates/part/part_base.html:554
+#: part/templates/part/part_base.html:569
msgid "Download Image"
msgstr "Pobierz obraz"
@@ -3203,7 +3259,7 @@ msgstr "Utwórz nowego dostawcę części"
#: company/templates/company/detail.html:19
#: company/templates/company/manufacturer_part.html:123
-#: part/templates/part/detail.html:359
+#: part/templates/part/detail.html:357
msgid "New Supplier Part"
msgstr "Nowy dostawca części"
@@ -3232,7 +3288,7 @@ msgstr "Części producenta"
msgid "Create new manufacturer part"
msgstr "Utwórz nową część producenta"
-#: company/templates/company/detail.html:66 part/templates/part/detail.html:389
+#: company/templates/company/detail.html:66 part/templates/part/detail.html:387
msgid "New Manufacturer Part"
msgstr "Nowa część producenta"
@@ -3246,7 +3302,7 @@ msgstr "Zapasy dostawcy"
#: order/templates/order/order_base.html:13
#: order/templates/order/purchase_orders.html:8
#: order/templates/order/purchase_orders.html:12
-#: part/templates/part/detail.html:84 part/templates/part/part_sidebar.html:37
+#: part/templates/part/detail.html:84 part/templates/part/part_sidebar.html:35
#: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200
#: templates/InvenTree/settings/sidebar.html:49
#: templates/js/translated/search.js:293 templates/navbar.html:50
@@ -3269,7 +3325,7 @@ msgstr "Nowe zamówienie zakupu"
#: order/templates/order/sales_order_base.html:13
#: order/templates/order/sales_orders.html:8
#: order/templates/order/sales_orders.html:15
-#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:41
+#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:39
#: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220
#: templates/InvenTree/settings/sidebar.html:51
#: templates/js/translated/search.js:317 templates/navbar.html:61
@@ -3297,8 +3353,7 @@ msgid "Supplier List"
msgstr "Lista dostawców"
#: company/templates/company/manufacturer_part.html:15 company/views.py:38
-#: part/templates/part/prices.html:172 templates/InvenTree/search.html:181
-#: templates/navbar.html:49
+#: templates/InvenTree/search.html:181 templates/navbar.html:49
msgid "Manufacturers"
msgstr "Producenci"
@@ -3309,12 +3364,12 @@ msgid "Order part"
msgstr "Zamów komponent"
#: company/templates/company/manufacturer_part.html:39
-#: templates/js/translated/company.js:716
+#: templates/js/translated/company.js:717
msgid "Edit manufacturer part"
msgstr "Edytuj komponent producenta"
#: company/templates/company/manufacturer_part.html:43
-#: templates/js/translated/company.js:717
+#: templates/js/translated/company.js:718
msgid "Delete manufacturer part"
msgstr "Usuń komponent producenta"
@@ -3329,35 +3384,36 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:119
#: company/templates/company/supplier_part.html:15 company/views.py:32
-#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:168
+#: part/admin.py:46 part/templates/part/part_sidebar.html:33
#: templates/InvenTree/search.html:191 templates/navbar.html:48
msgid "Suppliers"
msgstr "Dostawcy"
#: company/templates/company/manufacturer_part.html:136
-#: part/templates/part/detail.html:370
+#: part/templates/part/detail.html:368
msgid "Delete supplier parts"
msgstr ""
#: company/templates/company/manufacturer_part.html:136
#: company/templates/company/manufacturer_part.html:183
-#: part/templates/part/detail.html:371 part/templates/part/detail.html:401
-#: templates/js/translated/forms.js:455 templates/js/translated/helpers.js:36
-#: users/models.py:222
+#: part/templates/part/detail.html:369 part/templates/part/detail.html:399
+#: templates/js/translated/forms.js:455 templates/js/translated/helpers.js:38
+#: templates/js/translated/part.js:340 templates/js/translated/stock.js:184
+#: users/models.py:224
msgid "Delete"
msgstr "Usuń"
#: company/templates/company/manufacturer_part.html:166
#: company/templates/company/manufacturer_part_sidebar.html:5
#: part/templates/part/category_sidebar.html:19
-#: part/templates/part/detail.html:186 part/templates/part/part_sidebar.html:8
+#: part/templates/part/detail.html:184 part/templates/part/part_sidebar.html:8
msgid "Parameters"
msgstr "Parametry"
#: company/templates/company/manufacturer_part.html:170
-#: part/templates/part/detail.html:191
+#: part/templates/part/detail.html:189
#: templates/InvenTree/settings/category.html:12
-#: templates/InvenTree/settings/part.html:68
+#: templates/InvenTree/settings/part.html:62
msgid "New Parameter"
msgstr "Nowy parametr"
@@ -3366,7 +3422,7 @@ msgid "Delete parameters"
msgstr "Usuń parametry"
#: company/templates/company/manufacturer_part.html:245
-#: part/templates/part/detail.html:827
+#: part/templates/part/detail.html:825
msgid "Add Parameter"
msgstr "Dodaj parametr"
@@ -3387,10 +3443,10 @@ msgid "Assigned Stock Items"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:609
+#: company/templates/company/supplier_part.html:24 stock/models.py:625
#: stock/templates/stock/item_base.html:236
-#: templates/js/translated/company.js:945 templates/js/translated/order.js:1135
-#: templates/js/translated/stock.js:1935
+#: templates/js/translated/company.js:946 templates/js/translated/order.js:1169
+#: templates/js/translated/stock.js:1954
msgid "Supplier Part"
msgstr ""
@@ -3441,13 +3497,13 @@ msgstr ""
#: company/templates/company/supplier_part.html:64
#: company/templates/company/supplier_part.html:65
-#: templates/js/translated/company.js:247
+#: templates/js/translated/company.js:248
msgid "Edit Supplier Part"
msgstr ""
#: company/templates/company/supplier_part.html:69
#: company/templates/company/supplier_part.html:70
-#: templates/js/translated/company.js:222
+#: templates/js/translated/company.js:223
msgid "Duplicate Supplier Part"
msgstr ""
@@ -3482,7 +3538,7 @@ msgstr "Utwórz nowy towar"
#: company/templates/company/supplier_part.html:204
#: part/templates/part/detail.html:25 stock/templates/stock/location.html:198
-#: templates/js/translated/stock.js:435
+#: templates/js/translated/stock.js:454
msgid "New Stock Item"
msgstr "Nowy towar"
@@ -3492,47 +3548,20 @@ msgid "Supplier Part Orders"
msgstr ""
#: company/templates/company/supplier_part.html:242
-#: part/templates/part/prices.html:10
msgid "Pricing Information"
msgstr "Informacja cenowa"
#: company/templates/company/supplier_part.html:247
-#: company/templates/company/supplier_part.html:388
-#: part/templates/part/prices.html:276 templates/js/translated/part.js:2297
+#: company/templates/company/supplier_part.html:317
+#: templates/js/translated/pricing.js:413
msgid "Add Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:282
+#: company/templates/company/supplier_part.html:285
msgid "Link Barcode to Supplier Part"
msgstr ""
-#: company/templates/company/supplier_part.html:300
-msgid "No price break information found"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:314
-#: templates/js/translated/part.js:2307
-msgid "Delete Price Break"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:328
-#: templates/js/translated/part.js:2321
-msgid "Edit Price Break"
-msgstr "Edytuj przedział cenowy"
-
-#: company/templates/company/supplier_part.html:353
-msgid "Edit price break"
-msgstr "Edytuj przedział cenowy"
-
-#: company/templates/company/supplier_part.html:354
-msgid "Delete price break"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:363
-msgid "Last updated"
-msgstr "Ostatnio aktualizowane"
-
-#: company/templates/company/supplier_part.html:444
+#: company/templates/company/supplier_part.html:375
msgid "Update Part Availability"
msgstr ""
@@ -3542,9 +3571,9 @@ msgstr ""
#: stock/templates/stock/stock_app_base.html:10
#: templates/InvenTree/search.html:153
#: templates/InvenTree/settings/sidebar.html:45
-#: templates/js/translated/part.js:749 templates/js/translated/part.js:1335
-#: templates/js/translated/part.js:1501 templates/js/translated/stock.js:959
-#: templates/js/translated/stock.js:1760 templates/navbar.html:31
+#: templates/js/translated/part.js:763 templates/js/translated/part.js:1356
+#: templates/js/translated/part.js:1512 templates/js/translated/stock.js:978
+#: templates/js/translated/stock.js:1779 templates/navbar.html:31
msgid "Stock"
msgstr "Stan"
@@ -3558,19 +3587,20 @@ msgid "Supplier Part Pricing"
msgstr ""
#: company/templates/company/supplier_part_navbar.html:29
-#: part/templates/part/part_sidebar.html:31
+#: part/templates/part/part_sidebar.html:30
+#: templates/InvenTree/settings/sidebar.html:35
msgid "Pricing"
msgstr "Cennik"
#: company/templates/company/supplier_part_sidebar.html:5
#: part/templates/part/category.html:198
-#: part/templates/part/category_sidebar.html:17
+#: part/templates/part/category_sidebar.html:17 stock/admin.py:31
#: stock/templates/stock/location.html:168
#: stock/templates/stock/location.html:182
#: stock/templates/stock/location.html:194
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:155 templates/js/translated/search.js:225
-#: templates/js/translated/stock.js:2446 users/models.py:40
+#: templates/js/translated/stock.js:2464 users/models.py:40
msgid "Stock Items"
msgstr "Towary"
@@ -3672,438 +3702,439 @@ msgstr ""
msgid "No matching purchase order found"
msgstr ""
-#: order/models.py:82
+#: order/models.py:83
msgid "Order description"
msgstr "Opis Zamówienia"
-#: order/models.py:84 order/models.py:1260
+#: order/models.py:85 order/models.py:1283
msgid "Link to external page"
msgstr "Link do zewnętrznej witryny"
-#: order/models.py:92
+#: order/models.py:93
msgid "Created By"
msgstr "Utworzony przez"
-#: order/models.py:99
+#: order/models.py:100
msgid "User or group responsible for this order"
msgstr "Użytkownik lub grupa odpowiedzialna za to zamówienie"
-#: order/models.py:104
+#: order/models.py:105
msgid "Order notes"
msgstr "Notatki do zamówienia"
-#: order/models.py:241 order/models.py:633
+#: order/models.py:242 order/models.py:652
msgid "Order reference"
msgstr "Odniesienie zamówienia"
-#: order/models.py:249 order/models.py:651
+#: order/models.py:250 order/models.py:670
msgid "Purchase order status"
msgstr "Status zamówienia zakupu"
-#: order/models.py:264
+#: order/models.py:265
msgid "Company from which the items are being ordered"
msgstr ""
-#: order/models.py:267 order/templates/order/order_base.html:133
-#: templates/js/translated/order.js:1984
+#: order/models.py:268 order/templates/order/order_base.html:133
+#: templates/js/translated/order.js:2018
msgid "Supplier Reference"
msgstr ""
-#: order/models.py:267
+#: order/models.py:268
msgid "Supplier order reference code"
msgstr ""
-#: order/models.py:274
+#: order/models.py:275
msgid "received by"
msgstr "odebrane przez"
-#: order/models.py:279
+#: order/models.py:280
msgid "Issue Date"
msgstr "Data wydania"
-#: order/models.py:280
+#: order/models.py:281
msgid "Date order was issued"
msgstr "Data wystawienia zamówienia"
-#: order/models.py:285
+#: order/models.py:286
msgid "Target Delivery Date"
msgstr "Data Dostawy Towaru"
-#: order/models.py:286
+#: order/models.py:287
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr ""
-#: order/models.py:292
+#: order/models.py:293
msgid "Date order was completed"
msgstr ""
-#: order/models.py:328
+#: order/models.py:332
msgid "Part supplier must match PO supplier"
msgstr ""
-#: order/models.py:472
+#: order/models.py:491
msgid "Quantity must be a positive number"
msgstr "Wartość musi być liczbą dodatnią"
-#: order/models.py:647
+#: order/models.py:666
msgid "Company to which the items are being sold"
msgstr ""
-#: order/models.py:658
+#: order/models.py:677
msgid "Customer Reference "
msgstr ""
-#: order/models.py:658
+#: order/models.py:677
msgid "Customer order reference code"
msgstr ""
-#: order/models.py:663
+#: order/models.py:682
msgid "Target date for order completion. Order will be overdue after this date."
msgstr ""
-#: order/models.py:666 order/models.py:1218
-#: templates/js/translated/order.js:2855 templates/js/translated/order.js:3017
+#: order/models.py:685 order/models.py:1241
+#: templates/js/translated/order.js:2866 templates/js/translated/order.js:3028
msgid "Shipment Date"
msgstr "Data wysyłki"
-#: order/models.py:673
+#: order/models.py:692
msgid "shipped by"
msgstr "wysłane przez"
-#: order/models.py:728
+#: order/models.py:747
msgid "Order cannot be completed as no parts have been assigned"
msgstr ""
-#: order/models.py:732
+#: order/models.py:751
msgid "Only a pending order can be marked as complete"
msgstr ""
-#: order/models.py:735 templates/js/translated/order.js:419
+#: order/models.py:754 templates/js/translated/order.js:419
msgid "Order cannot be completed as there are incomplete shipments"
msgstr ""
-#: order/models.py:738
+#: order/models.py:757
msgid "Order cannot be completed as there are incomplete line items"
msgstr ""
-#: order/models.py:912
+#: order/models.py:935
msgid "Item quantity"
msgstr "Ilość elementów"
-#: order/models.py:918
+#: order/models.py:941
msgid "Line item reference"
msgstr ""
-#: order/models.py:920
+#: order/models.py:943
msgid "Line item notes"
msgstr ""
-#: order/models.py:925
+#: order/models.py:948
msgid "Target shipping date for this line item"
msgstr ""
-#: order/models.py:943
+#: order/models.py:966
msgid "Context"
msgstr ""
-#: order/models.py:944
+#: order/models.py:967
msgid "Additional context for this line"
msgstr ""
-#: order/models.py:953
+#: order/models.py:976
msgid "Unit price"
msgstr ""
-#: order/models.py:983
+#: order/models.py:1006
msgid "Supplier part must match supplier"
msgstr ""
-#: order/models.py:991
+#: order/models.py:1014
msgid "deleted"
msgstr ""
-#: order/models.py:997 order/models.py:1077 order/models.py:1118
-#: order/models.py:1212 order/models.py:1344
-#: templates/js/translated/order.js:3473
+#: order/models.py:1020 order/models.py:1100 order/models.py:1141
+#: order/models.py:1235 order/models.py:1367
+#: templates/js/translated/order.js:3484
msgid "Order"
msgstr "Zamówienie"
-#: order/models.py:998 order/models.py:1077
+#: order/models.py:1021 order/models.py:1100
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report.html:76
#: stock/templates/stock/item_base.html:182
#: templates/email/overdue_purchase_order.html:15
-#: templates/js/translated/order.js:619 templates/js/translated/order.js:1136
-#: templates/js/translated/order.js:1959 templates/js/translated/part.js:970
-#: templates/js/translated/stock.js:1915 templates/js/translated/stock.js:2550
+#: templates/js/translated/order.js:619 templates/js/translated/order.js:1170
+#: templates/js/translated/order.js:1993 templates/js/translated/part.js:997
+#: templates/js/translated/pricing.js:515 templates/js/translated/stock.js:1934
+#: templates/js/translated/stock.js:2568
msgid "Purchase Order"
msgstr "Zlecenie zakupu"
-#: order/models.py:1016
+#: order/models.py:1039
msgid "Supplier part"
msgstr ""
-#: order/models.py:1023 order/templates/order/order_base.html:178
-#: templates/js/translated/order.js:1641 templates/js/translated/order.js:2373
-#: templates/js/translated/part.js:1087 templates/js/translated/part.js:1125
-#: templates/js/translated/table_filters.js:346
+#: order/models.py:1046 order/templates/order/order_base.html:178
+#: templates/js/translated/order.js:1675 templates/js/translated/order.js:2396
+#: templates/js/translated/part.js:1114 templates/js/translated/part.js:1146
+#: templates/js/translated/table_filters.js:350
msgid "Received"
msgstr "Odebrane"
-#: order/models.py:1024
+#: order/models.py:1047
msgid "Number of items received"
msgstr ""
-#: order/models.py:1031 part/templates/part/prices.html:181 stock/models.py:741
-#: stock/serializers.py:169 stock/templates/stock/item_base.html:189
-#: templates/js/translated/stock.js:1966
+#: order/models.py:1054 stock/models.py:757 stock/serializers.py:173
+#: stock/templates/stock/item_base.html:189
+#: templates/js/translated/stock.js:1985
msgid "Purchase Price"
msgstr "Cena zakupu"
-#: order/models.py:1032
+#: order/models.py:1055
msgid "Unit purchase price"
msgstr "Cena zakupu jednostkowego"
-#: order/models.py:1040
+#: order/models.py:1063
msgid "Where does the Purchaser want this item to be stored?"
msgstr "Gdzie kupujący chce przechowywać ten przedmiot?"
-#: order/models.py:1106
+#: order/models.py:1129
msgid "Virtual part cannot be assigned to a sales order"
msgstr ""
-#: order/models.py:1111
+#: order/models.py:1134
msgid "Only salable parts can be assigned to a sales order"
msgstr ""
-#: order/models.py:1137 part/templates/part/part_pricing.html:115
-#: part/templates/part/prices.html:121 part/templates/part/prices.html:290
+#: order/models.py:1160 part/templates/part/part_pricing.html:107
+#: part/templates/part/prices.html:139 templates/js/translated/pricing.js:665
msgid "Sale Price"
msgstr "Cena sprzedaży"
-#: order/models.py:1138
+#: order/models.py:1161
msgid "Unit sale price"
msgstr "Jednostkowa cena sprzedaży"
-#: order/models.py:1143
+#: order/models.py:1166
msgid "Shipped quantity"
msgstr "Wysłana ilość"
-#: order/models.py:1219
+#: order/models.py:1242
msgid "Date of shipment"
msgstr "Data wysyłki"
-#: order/models.py:1226
+#: order/models.py:1249
msgid "Checked By"
msgstr "Sprawdzone przez"
-#: order/models.py:1227
+#: order/models.py:1250
msgid "User who checked this shipment"
msgstr "Użytkownik, który sprawdził tę wysyłkę"
-#: order/models.py:1234 order/models.py:1419 order/serializers.py:1228
-#: order/serializers.py:1356 templates/js/translated/model_renderers.js:314
+#: order/models.py:1257 order/models.py:1442 order/serializers.py:1221
+#: order/serializers.py:1349 templates/js/translated/model_renderers.js:314
msgid "Shipment"
msgstr "Przesyłka"
-#: order/models.py:1235
+#: order/models.py:1258
msgid "Shipment number"
msgstr "Numer przesyłki"
-#: order/models.py:1239
+#: order/models.py:1262
msgid "Shipment notes"
msgstr "Notatki do przesyłki"
-#: order/models.py:1245
+#: order/models.py:1268
msgid "Tracking Number"
msgstr "Numer śledzenia"
-#: order/models.py:1246
+#: order/models.py:1269
msgid "Shipment tracking information"
msgstr "Informacje o śledzeniu przesyłki"
-#: order/models.py:1253
+#: order/models.py:1276
msgid "Invoice Number"
msgstr ""
-#: order/models.py:1254
+#: order/models.py:1277
msgid "Reference number for associated invoice"
msgstr ""
-#: order/models.py:1272
+#: order/models.py:1295
msgid "Shipment has already been sent"
msgstr "Przesyłka została już wysłana"
-#: order/models.py:1275
+#: order/models.py:1298
msgid "Shipment has no allocated stock items"
msgstr ""
-#: order/models.py:1378 order/models.py:1380
+#: order/models.py:1401 order/models.py:1403
msgid "Stock item has not been assigned"
msgstr ""
-#: order/models.py:1384
+#: order/models.py:1407
msgid "Cannot allocate stock item to a line with a different part"
msgstr ""
-#: order/models.py:1386
+#: order/models.py:1409
msgid "Cannot allocate stock to a line without a part"
msgstr ""
-#: order/models.py:1389
+#: order/models.py:1412
msgid "Allocation quantity cannot exceed stock quantity"
msgstr "Zarezerwowana ilość nie może przekraczać ilości na stanie"
-#: order/models.py:1399 order/serializers.py:1090
+#: order/models.py:1422 order/serializers.py:1083
msgid "Quantity must be 1 for serialized stock item"
msgstr ""
-#: order/models.py:1402
+#: order/models.py:1425
msgid "Sales order does not match shipment"
msgstr ""
-#: order/models.py:1403
+#: order/models.py:1426
msgid "Shipment does not match sales order"
msgstr ""
-#: order/models.py:1411
+#: order/models.py:1434
msgid "Line"
msgstr "Linia"
-#: order/models.py:1420
+#: order/models.py:1443
msgid "Sales order shipment reference"
msgstr ""
-#: order/models.py:1433 templates/js/translated/notification.js:55
+#: order/models.py:1456 templates/js/translated/notification.js:55
msgid "Item"
msgstr "Komponent"
-#: order/models.py:1434
+#: order/models.py:1457
msgid "Select stock item to allocate"
msgstr ""
-#: order/models.py:1437
+#: order/models.py:1460
msgid "Enter stock allocation quantity"
msgstr ""
-#: order/serializers.py:67
+#: order/serializers.py:63
msgid "Price currency"
msgstr ""
-#: order/serializers.py:199
+#: order/serializers.py:193
msgid "Order cannot be cancelled"
msgstr "Zamówienie nie może zostać anulowane"
-#: order/serializers.py:209 order/serializers.py:1108
+#: order/serializers.py:203 order/serializers.py:1101
msgid "Allow order to be closed with incomplete line items"
msgstr ""
-#: order/serializers.py:220 order/serializers.py:1119
+#: order/serializers.py:214 order/serializers.py:1112
msgid "Order has incomplete line items"
msgstr ""
-#: order/serializers.py:311
+#: order/serializers.py:305
msgid "Order is not open"
msgstr ""
-#: order/serializers.py:335
+#: order/serializers.py:327
msgid "Purchase price currency"
msgstr ""
-#: order/serializers.py:354
+#: order/serializers.py:346
msgid "Supplier part must be specified"
msgstr ""
-#: order/serializers.py:359
+#: order/serializers.py:351
msgid "Purchase order must be specified"
msgstr ""
-#: order/serializers.py:365
+#: order/serializers.py:357
msgid "Supplier must match purchase order"
msgstr ""
-#: order/serializers.py:366
+#: order/serializers.py:358
msgid "Purchase order must match supplier"
msgstr ""
-#: order/serializers.py:430 order/serializers.py:1196
+#: order/serializers.py:421 order/serializers.py:1189
msgid "Line Item"
msgstr ""
-#: order/serializers.py:436
+#: order/serializers.py:427
msgid "Line item does not match purchase order"
msgstr ""
-#: order/serializers.py:446 order/serializers.py:557
+#: order/serializers.py:437 order/serializers.py:548
msgid "Select destination location for received items"
msgstr ""
-#: order/serializers.py:465 templates/js/translated/order.js:1497
+#: order/serializers.py:456 templates/js/translated/order.js:1531
msgid "Enter batch code for incoming stock items"
msgstr ""
-#: order/serializers.py:473 templates/js/translated/order.js:1508
+#: order/serializers.py:464 templates/js/translated/order.js:1542
msgid "Enter serial numbers for incoming stock items"
msgstr ""
-#: order/serializers.py:487
+#: order/serializers.py:478
msgid "Unique identifier field"
msgstr ""
-#: order/serializers.py:501
+#: order/serializers.py:492
msgid "Barcode is already in use"
msgstr ""
-#: order/serializers.py:527
+#: order/serializers.py:518
msgid "An integer quantity must be provided for trackable parts"
msgstr ""
-#: order/serializers.py:573
+#: order/serializers.py:564
msgid "Line items must be provided"
msgstr ""
-#: order/serializers.py:590
+#: order/serializers.py:581
msgid "Destination location must be specified"
msgstr ""
-#: order/serializers.py:601
+#: order/serializers.py:592
msgid "Supplied barcode values must be unique"
msgstr ""
-#: order/serializers.py:907
+#: order/serializers.py:900
msgid "Sale price currency"
msgstr ""
-#: order/serializers.py:988
+#: order/serializers.py:981
msgid "No shipment details provided"
msgstr ""
-#: order/serializers.py:1051 order/serializers.py:1205
+#: order/serializers.py:1044 order/serializers.py:1198
msgid "Line item is not associated with this order"
msgstr ""
-#: order/serializers.py:1073
+#: order/serializers.py:1066
msgid "Quantity must be positive"
msgstr ""
-#: order/serializers.py:1218
+#: order/serializers.py:1211
msgid "Enter serial numbers to allocate"
msgstr ""
-#: order/serializers.py:1240 order/serializers.py:1364
+#: order/serializers.py:1233 order/serializers.py:1357
msgid "Shipment has already been shipped"
msgstr ""
-#: order/serializers.py:1243 order/serializers.py:1367
+#: order/serializers.py:1236 order/serializers.py:1360
msgid "Shipment is not associated with this order"
msgstr ""
-#: order/serializers.py:1297
+#: order/serializers.py:1290
msgid "No match found for the following serial numbers"
msgstr ""
-#: order/serializers.py:1307
+#: order/serializers.py:1300
msgid "The following serial numbers are already allocated"
msgstr ""
@@ -4154,15 +4185,16 @@ msgid "Duplicate order"
msgstr ""
#: order/templates/order/order_base.html:61
-msgid "Place order"
-msgstr "Złóż zamówienie"
+#: order/templates/order/order_base.html:62
+msgid "Submit Order"
+msgstr ""
#: order/templates/order/order_base.html:65
msgid "Receive items"
msgstr ""
#: order/templates/order/order_base.html:67
-#: order/templates/order/purchase_order_detail.html:30
+#: order/templates/order/purchase_order_detail.html:32
msgid "Receive Items"
msgstr ""
@@ -4248,9 +4280,9 @@ msgstr "Wybierz dostawcę części"
#: part/templates/part/import_wizard/match_references.html:49
#: templates/js/translated/bom.js:102 templates/js/translated/build.js:479
#: templates/js/translated/build.js:631 templates/js/translated/build.js:2078
-#: templates/js/translated/order.js:1084 templates/js/translated/order.js:1586
-#: templates/js/translated/order.js:3092 templates/js/translated/stock.js:625
-#: templates/js/translated/stock.js:793
+#: templates/js/translated/order.js:1118 templates/js/translated/order.js:1620
+#: templates/js/translated/order.js:3103 templates/js/translated/stock.js:644
+#: templates/js/translated/stock.js:812
#: templates/patterns/wizard/match_fields.html:70
msgid "Remove row"
msgstr "Usuń wiersz"
@@ -4278,42 +4310,42 @@ msgstr ""
msgid "Received Stock"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:17
+#: order/templates/order/purchase_order_detail.html:19
msgid "Purchase Order Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:26
-#: order/templates/order/sales_order_detail.html:22
-#: order/templates/order/sales_order_detail.html:255
+#: order/templates/order/purchase_order_detail.html:28
+#: order/templates/order/sales_order_detail.html:24
+#: order/templates/order/sales_order_detail.html:260
#: templates/js/translated/order.js:728
msgid "Add Line Item"
msgstr "Dodaj element zamówienia"
-#: order/templates/order/purchase_order_detail.html:29
+#: order/templates/order/purchase_order_detail.html:31
msgid "Receive selected items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:48
-#: order/templates/order/sales_order_detail.html:42
+#: order/templates/order/purchase_order_detail.html:50
+#: order/templates/order/sales_order_detail.html:45
msgid "Extra Lines"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:53
-#: order/templates/order/sales_order_detail.html:47
-#: order/templates/order/sales_order_detail.html:280
+#: order/templates/order/purchase_order_detail.html:56
+#: order/templates/order/sales_order_detail.html:51
+#: order/templates/order/sales_order_detail.html:291
msgid "Add Extra Line"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:72
+#: order/templates/order/purchase_order_detail.html:76
msgid "Received Items"
msgstr "Otrzymane elementy"
-#: order/templates/order/purchase_order_detail.html:97
-#: order/templates/order/sales_order_detail.html:150
+#: order/templates/order/purchase_order_detail.html:101
+#: order/templates/order/sales_order_detail.html:155
msgid "Order Notes"
msgstr "Notatki zamówień"
-#: order/templates/order/purchase_order_detail.html:232
+#: order/templates/order/purchase_order_detail.html:239
msgid "Add Order Line"
msgstr ""
@@ -4345,12 +4377,12 @@ msgid "This Sales Order has not been fully allocated"
msgstr ""
#: order/templates/order/sales_order_base.html:123
-#: templates/js/translated/order.js:2821
+#: templates/js/translated/order.js:2832
msgid "Customer Reference"
msgstr ""
#: order/templates/order/sales_order_base.html:141
-#: order/templates/order/sales_order_detail.html:104
+#: order/templates/order/sales_order_detail.html:109
#: order/templates/order/so_sidebar.html:11
msgid "Completed Shipments"
msgstr ""
@@ -4359,22 +4391,22 @@ msgstr ""
msgid "Edit Sales Order"
msgstr ""
-#: order/templates/order/sales_order_detail.html:17
+#: order/templates/order/sales_order_detail.html:18
msgid "Sales Order Items"
msgstr ""
-#: order/templates/order/sales_order_detail.html:68
+#: order/templates/order/sales_order_detail.html:73
#: order/templates/order/so_sidebar.html:8
msgid "Pending Shipments"
msgstr "Oczekujące przesyłki"
-#: order/templates/order/sales_order_detail.html:72
-#: templates/attachment_table.html:6 templates/js/translated/bom.js:1158
+#: order/templates/order/sales_order_detail.html:77
+#: templates/attachment_table.html:6 templates/js/translated/bom.js:1223
#: templates/js/translated/build.js:1979
msgid "Actions"
msgstr "Akcje"
-#: order/templates/order/sales_order_detail.html:81
+#: order/templates/order/sales_order_detail.html:86
msgid "New Shipment"
msgstr "Nowa wysyłka"
@@ -4400,617 +4432,844 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/api.py:516
-msgid "Incoming Purchase Order"
+#: part/admin.py:19 part/admin.py:219 part/models.py:3181 stock/admin.py:84
+#: templates/js/translated/model_renderers.js:212
+msgid "Part ID"
+msgstr "ID komponentu"
+
+#: part/admin.py:20 part/admin.py:221 part/models.py:3185 stock/admin.py:85
+msgid "Part Name"
+msgstr "Nazwa komponentu"
+
+#: part/admin.py:21
+msgid "Part Description"
msgstr ""
-#: part/api.py:536
-msgid "Outgoing Sales Order"
+#: part/admin.py:22 part/models.py:822 part/templates/part/part_base.html:272
+#: templates/js/translated/part.js:751 templates/js/translated/part.js:1469
+#: templates/js/translated/stock.js:1745
+msgid "IPN"
msgstr ""
-#: part/api.py:554
-msgid "Stock produced by Build Order"
+#: part/admin.py:23 part/models.py:830 part/templates/part/part_base.html:279
+#: report/models.py:171 templates/js/translated/part.js:755
+msgid "Revision"
+msgstr "Wersja"
+
+#: part/admin.py:24 part/admin.py:145 part/models.py:808
+#: part/templates/part/category.html:87 part/templates/part/part_base.html:300
+msgid "Keywords"
+msgstr "Słowa kluczowe"
+
+#: part/admin.py:28 part/admin.py:139
+#: templates/js/translated/model_renderers.js:338
+msgid "Category ID"
+msgstr "ID kategorii"
+
+#: part/admin.py:29 part/admin.py:140
+msgid "Category Name"
msgstr ""
-#: part/api.py:640
-msgid "Stock required for Build Order"
+#: part/admin.py:30 part/admin.py:144
+msgid "Default Location ID"
msgstr ""
-#: part/api.py:777
-msgid "Valid"
-msgstr "Ważny"
-
-#: part/api.py:778
-msgid "Validate entire Bill of Materials"
+#: part/admin.py:31
+msgid "Default Supplier ID"
msgstr ""
-#: part/api.py:784
-msgid "This option must be selected"
-msgstr "Ta opcja musi być zaznaczona"
+#: part/admin.py:33 part/models.py:914 part/templates/part/part_base.html:206
+msgid "Minimum Stock"
+msgstr "Minimalny stan magazynowy"
-#: part/api.py:1207
-msgid "Must be greater than zero"
-msgstr "Musi być większe niż zero"
+#: part/admin.py:47 part/templates/part/part_base.html:200
+#: templates/js/translated/company.js:1028
+#: templates/js/translated/table_filters.js:213
+msgid "In Stock"
+msgstr "Na stanie"
-#: part/api.py:1211
-msgid "Must be a valid quantity"
-msgstr "Musi być prawidłową ilością"
-
-#: part/api.py:1226
-msgid "Specify location for initial part stock"
-msgstr ""
-
-#: part/api.py:1257 part/api.py:1261 part/api.py:1276 part/api.py:1280
-msgid "This field is required"
-msgstr "To pole jest wymagane"
-
-#: part/bom.py:127 part/models.py:98 part/models.py:838
-#: part/templates/part/category.html:109 part/templates/part/part_base.html:345
-msgid "Default Location"
-msgstr "Domyślna lokalizacja"
-
-#: part/bom.py:128 templates/email/low_stock_notification.html:17
-msgid "Total Stock"
-msgstr ""
-
-#: part/bom.py:129 part/templates/part/part_base.html:195
-#: templates/js/translated/order.js:3913
-msgid "Available Stock"
-msgstr "Dostępna ilość"
-
-#: part/bom.py:130 part/templates/part/part_base.html:213
-#: templates/js/translated/bom.js:1001 templates/js/translated/build.js:1925
-#: templates/js/translated/part.js:588 templates/js/translated/part.js:608
-#: templates/js/translated/part.js:1338 templates/js/translated/part.js:1526
+#: part/admin.py:48 part/bom.py:145 part/templates/part/part_base.html:213
+#: templates/js/translated/bom.js:1155 templates/js/translated/build.js:1925
+#: templates/js/translated/part.js:602 templates/js/translated/part.js:622
+#: templates/js/translated/part.js:1359 templates/js/translated/part.js:1537
#: templates/js/translated/table_filters.js:68
msgid "On Order"
msgstr "W Zamówieniu"
-#: part/forms.py:41
-msgid "Input quantity for price calculation"
+#: part/admin.py:49 part/templates/part/part_sidebar.html:27
+msgid "Used In"
+msgstr "Użyte w"
+
+#: part/admin.py:50 templates/js/translated/build.js:1937
+#: templates/js/translated/build.js:2195 templates/js/translated/build.js:2761
+#: templates/js/translated/order.js:3943
+msgid "Allocated"
+msgstr "Przydzielono"
+
+#: part/admin.py:51 part/templates/part/part_base.html:244
+#: templates/js/translated/part.js:605 templates/js/translated/part.js:625
+#: templates/js/translated/part.js:1363 templates/js/translated/part.js:1544
+msgid "Building"
msgstr ""
-#: part/models.py:99
-msgid "Default location for parts in this category"
-msgstr "Domyślna lokalizacja dla komponentów w tej kategorii"
-
-#: part/models.py:102
-msgid "Default keywords"
-msgstr "Domyślne słowa kluczowe"
-
-#: part/models.py:102
-msgid "Default keywords for parts in this category"
+#: part/admin.py:52 part/models.py:2765
+msgid "Minimum Cost"
msgstr ""
-#: part/models.py:107 stock/models.py:85
-msgid "Icon"
+#: part/admin.py:53 part/models.py:2771
+msgid "Maximum Cost"
msgstr ""
-#: part/models.py:108 stock/models.py:86
-msgid "Icon (optional)"
+#: part/admin.py:142 part/admin.py:216 stock/admin.py:26 stock/admin.py:98
+msgid "Parent ID"
msgstr ""
-#: part/models.py:122 part/models.py:2517 part/templates/part/category.html:16
-#: part/templates/part/part_app_base.html:10
-msgid "Part Category"
-msgstr "Kategoria komponentu"
+#: part/admin.py:143 part/admin.py:218 stock/admin.py:27
+msgid "Parent Name"
+msgstr ""
-#: part/models.py:123 part/templates/part/category.html:129
-#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200
-#: users/models.py:37
-msgid "Part Categories"
-msgstr "Kategorie części"
+#: part/admin.py:146 part/templates/part/category.html:81
+#: part/templates/part/category.html:94
+msgid "Category Path"
+msgstr "Ścieżka kategorii"
-#: part/models.py:344 part/templates/part/cat_link.html:3
+#: part/admin.py:149 part/models.py:363 part/templates/part/cat_link.html:3
#: part/templates/part/category.html:23 part/templates/part/category.html:134
#: part/templates/part/category.html:154
#: part/templates/part/category_sidebar.html:9
#: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84
#: templates/InvenTree/settings/sidebar.html:41
-#: templates/js/translated/part.js:2019 templates/js/translated/search.js:146
+#: templates/js/translated/part.js:2043 templates/js/translated/search.js:146
#: templates/navbar.html:24 users/models.py:38
msgid "Parts"
msgstr "Części"
-#: part/models.py:429
+#: part/admin.py:211
+msgid "BOM Level"
+msgstr ""
+
+#: part/admin.py:213
+msgid "BOM Item ID"
+msgstr ""
+
+#: part/admin.py:217
+msgid "Parent IPN"
+msgstr ""
+
+#: part/admin.py:220 part/models.py:3189
+msgid "Part IPN"
+msgstr "IPN komponentu"
+
+#: part/admin.py:226 templates/js/translated/pricing.js:91
+#: templates/js/translated/pricing.js:727
+msgid "Minimum Price"
+msgstr ""
+
+#: part/admin.py:227 templates/js/translated/pricing.js:86
+#: templates/js/translated/pricing.js:735
+msgid "Maximum Price"
+msgstr ""
+
+#: part/api.py:532
+msgid "Incoming Purchase Order"
+msgstr ""
+
+#: part/api.py:552
+msgid "Outgoing Sales Order"
+msgstr ""
+
+#: part/api.py:570
+msgid "Stock produced by Build Order"
+msgstr ""
+
+#: part/api.py:656
+msgid "Stock required for Build Order"
+msgstr ""
+
+#: part/api.py:814
+msgid "Valid"
+msgstr "Ważny"
+
+#: part/api.py:815
+msgid "Validate entire Bill of Materials"
+msgstr ""
+
+#: part/api.py:821
+msgid "This option must be selected"
+msgstr "Ta opcja musi być zaznaczona"
+
+#: part/api.py:1261
+msgid "Must be greater than zero"
+msgstr "Musi być większe niż zero"
+
+#: part/api.py:1265
+msgid "Must be a valid quantity"
+msgstr "Musi być prawidłową ilością"
+
+#: part/api.py:1280
+msgid "Specify location for initial part stock"
+msgstr ""
+
+#: part/api.py:1311 part/api.py:1315 part/api.py:1330 part/api.py:1334
+msgid "This field is required"
+msgstr "To pole jest wymagane"
+
+#: part/bom.py:142 part/models.py:116 part/models.py:857
+#: part/templates/part/category.html:109 part/templates/part/part_base.html:360
+msgid "Default Location"
+msgstr "Domyślna lokalizacja"
+
+#: part/bom.py:143 templates/email/low_stock_notification.html:17
+msgid "Total Stock"
+msgstr ""
+
+#: part/bom.py:144 part/templates/part/part_base.html:195
+#: templates/js/translated/order.js:3910
+msgid "Available Stock"
+msgstr "Dostępna ilość"
+
+#: part/forms.py:41
+msgid "Input quantity for price calculation"
+msgstr ""
+
+#: part/models.py:117
+msgid "Default location for parts in this category"
+msgstr "Domyślna lokalizacja dla komponentów w tej kategorii"
+
+#: part/models.py:120
+msgid "Default keywords"
+msgstr "Domyślne słowa kluczowe"
+
+#: part/models.py:120
+msgid "Default keywords for parts in this category"
+msgstr ""
+
+#: part/models.py:125 stock/models.py:101
+msgid "Icon"
+msgstr ""
+
+#: part/models.py:126 stock/models.py:102
+msgid "Icon (optional)"
+msgstr ""
+
+#: part/models.py:140 part/models.py:3130 part/templates/part/category.html:16
+#: part/templates/part/part_app_base.html:10
+msgid "Part Category"
+msgstr "Kategoria komponentu"
+
+#: part/models.py:141 part/templates/part/category.html:129
+#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200
+#: users/models.py:37
+msgid "Part Categories"
+msgstr "Kategorie części"
+
+#: part/models.py:448
msgid "Invalid choice for parent part"
msgstr "Nieprawidłowy wybór dla części nadrzędnej"
-#: part/models.py:499 part/models.py:511
+#: part/models.py:518 part/models.py:530
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr "Część '{p1}' jest używana w BOM dla '{p2}' (rekursywne)"
-#: part/models.py:601
+#: part/models.py:620
msgid "Stock item with this serial number already exists"
msgstr ""
-#: part/models.py:732
+#: part/models.py:751
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:759 part/models.py:2573
+#: part/models.py:778 part/models.py:3186
msgid "Part name"
msgstr "Nazwa komponentu"
-#: part/models.py:766
+#: part/models.py:785
msgid "Is Template"
msgstr "Czy szablon"
-#: part/models.py:767
+#: part/models.py:786
msgid "Is this part a template part?"
msgstr "Czy ta część stanowi szablon części?"
-#: part/models.py:777
+#: part/models.py:796
msgid "Is this part a variant of another part?"
msgstr "Czy ta część jest wariantem innej części?"
-#: part/models.py:778
+#: part/models.py:797
msgid "Variant Of"
msgstr "Wariant"
-#: part/models.py:784
+#: part/models.py:803
msgid "Part description"
msgstr "Opis komponentu"
-#: part/models.py:789 part/templates/part/category.html:87
-#: part/templates/part/part_base.html:300
-msgid "Keywords"
-msgstr "Słowa kluczowe"
-
-#: part/models.py:790
+#: part/models.py:809
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:797 part/models.py:2272 part/models.py:2516
+#: part/models.py:816 part/models.py:2885 part/models.py:3129
#: part/templates/part/part_base.html:263
#: templates/InvenTree/settings/settings.html:229
#: templates/js/translated/notification.js:50
-#: templates/js/translated/part.js:1480 templates/js/translated/part.js:1724
+#: templates/js/translated/part.js:1491 templates/js/translated/part.js:1748
msgid "Category"
msgstr "Kategoria"
-#: part/models.py:798
+#: part/models.py:817
msgid "Part category"
msgstr ""
-#: part/models.py:803 part/templates/part/part_base.html:272
-#: templates/js/translated/part.js:737 templates/js/translated/part.js:1431
-#: templates/js/translated/stock.js:1726
-msgid "IPN"
-msgstr ""
-
-#: part/models.py:804
+#: part/models.py:823
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:810
+#: part/models.py:829
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:811 part/templates/part/part_base.html:279
-#: report/models.py:171 templates/js/translated/part.js:741
-msgid "Revision"
-msgstr "Wersja"
-
-#: part/models.py:836
+#: part/models.py:855
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:881 part/templates/part/part_base.html:354
+#: part/models.py:900 part/templates/part/part_base.html:369
msgid "Default Supplier"
msgstr ""
-#: part/models.py:882
+#: part/models.py:901
msgid "Default supplier part"
msgstr ""
-#: part/models.py:889
+#: part/models.py:908
msgid "Default Expiry"
msgstr "Domyślne wygasanie"
-#: part/models.py:890
+#: part/models.py:909
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:895 part/templates/part/part_base.html:206
-msgid "Minimum Stock"
-msgstr "Minimalny stan magazynowy"
-
-#: part/models.py:896
+#: part/models.py:915
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:903
+#: part/models.py:922
msgid "Stock keeping units for this part"
msgstr ""
-#: part/models.py:909
+#: part/models.py:928
msgid "Can this part be built from other parts?"
msgstr "Czy ten komponent może być zbudowany z innych komponentów?"
-#: part/models.py:915
+#: part/models.py:934
msgid "Can this part be used to build other parts?"
msgstr "Czy ta część może być użyta do budowy innych części?"
-#: part/models.py:921
+#: part/models.py:940
msgid "Does this part have tracking for unique items?"
msgstr "Czy ta część wymaga śledzenia każdego towaru z osobna?"
-#: part/models.py:926
+#: part/models.py:945
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:931
+#: part/models.py:950
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:936
+#: part/models.py:955
msgid "Is this part active?"
msgstr "Czy ta część jest aktywna?"
-#: part/models.py:941
+#: part/models.py:960
msgid "Is this a virtual part, such as a software product or license?"
msgstr "Czy to wirtualna część, taka jak oprogramowanie lub licencja?"
-#: part/models.py:943
+#: part/models.py:962
msgid "Part notes"
msgstr ""
-#: part/models.py:945
+#: part/models.py:964
msgid "BOM checksum"
msgstr ""
-#: part/models.py:945
+#: part/models.py:964
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:948
+#: part/models.py:967
msgid "BOM checked by"
msgstr ""
-#: part/models.py:950
+#: part/models.py:969
msgid "BOM checked date"
msgstr ""
-#: part/models.py:954
+#: part/models.py:973
msgid "Creation User"
msgstr "Tworzenie użytkownika"
-#: part/models.py:1790
+#: part/models.py:1819
msgid "Sell multiple"
msgstr "Sprzedaj wiele"
-#: part/models.py:2319
+#: part/models.py:2682
+msgid "Currency used to cache pricing calculations"
+msgstr ""
+
+#: part/models.py:2687
+msgid "Updated"
+msgstr ""
+
+#: part/models.py:2688
+msgid "Timestamp of last pricing update"
+msgstr ""
+
+#: part/models.py:2705
+msgid "Minimum BOM Cost"
+msgstr ""
+
+#: part/models.py:2706
+msgid "Minimum cost of component parts"
+msgstr ""
+
+#: part/models.py:2711
+msgid "Maximum BOM Cost"
+msgstr ""
+
+#: part/models.py:2712
+msgid "Maximum cost of component parts"
+msgstr ""
+
+#: part/models.py:2717
+msgid "Minimum Purchase Cost"
+msgstr ""
+
+#: part/models.py:2718
+msgid "Minimum historical purchase cost"
+msgstr ""
+
+#: part/models.py:2723
+msgid "Maximum Purchase Cost"
+msgstr ""
+
+#: part/models.py:2724
+msgid "Maximum historical purchase cost"
+msgstr ""
+
+#: part/models.py:2729
+msgid "Minimum Internal Price"
+msgstr ""
+
+#: part/models.py:2730
+msgid "Minimum cost based on internal price breaks"
+msgstr ""
+
+#: part/models.py:2735
+msgid "Maximum Internal Price"
+msgstr ""
+
+#: part/models.py:2736
+msgid "Maximum cost based on internal price breaks"
+msgstr ""
+
+#: part/models.py:2741
+msgid "Minimum Supplier Price"
+msgstr ""
+
+#: part/models.py:2742
+msgid "Minimum price of part from external suppliers"
+msgstr ""
+
+#: part/models.py:2747
+msgid "Maximum Supplier Price"
+msgstr ""
+
+#: part/models.py:2748
+msgid "Maximum price of part from external suppliers"
+msgstr ""
+
+#: part/models.py:2753
+msgid "Minimum Variant Cost"
+msgstr ""
+
+#: part/models.py:2754
+msgid "Calculated minimum cost of variant parts"
+msgstr ""
+
+#: part/models.py:2759
+msgid "Maximum Variant Cost"
+msgstr ""
+
+#: part/models.py:2760
+msgid "Calculated maximum cost of variant parts"
+msgstr ""
+
+#: part/models.py:2766
+msgid "Calculated overall minimum cost"
+msgstr ""
+
+#: part/models.py:2772
+msgid "Calculated overall maximum cost"
+msgstr ""
+
+#: part/models.py:2777
+msgid "Minimum Sale Price"
+msgstr ""
+
+#: part/models.py:2778
+msgid "Minimum sale price based on price breaks"
+msgstr ""
+
+#: part/models.py:2783
+msgid "Maximum Sale Price"
+msgstr ""
+
+#: part/models.py:2784
+msgid "Maximum sale price based on price breaks"
+msgstr ""
+
+#: part/models.py:2789
+msgid "Minimum Sale Cost"
+msgstr ""
+
+#: part/models.py:2790
+msgid "Minimum historical sale price"
+msgstr ""
+
+#: part/models.py:2795
+msgid "Maximum Sale Cost"
+msgstr ""
+
+#: part/models.py:2796
+msgid "Maximum historical sale price"
+msgstr ""
+
+#: part/models.py:2932
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:2336
+#: part/models.py:2949
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2356 templates/js/translated/part.js:2070
-#: templates/js/translated/stock.js:1340
+#: part/models.py:2969 templates/js/translated/part.js:2094
+#: templates/js/translated/stock.js:1359
msgid "Test Name"
msgstr "Nazwa testu"
-#: part/models.py:2357
+#: part/models.py:2970
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2362
+#: part/models.py:2975
msgid "Test Description"
msgstr "Testowy opis"
-#: part/models.py:2363
+#: part/models.py:2976
msgid "Enter description for this test"
msgstr "Wprowadź opis do tego testu"
-#: part/models.py:2368 templates/js/translated/part.js:2079
-#: templates/js/translated/table_filters.js:310
+#: part/models.py:2981 templates/js/translated/part.js:2103
+#: templates/js/translated/table_filters.js:314
msgid "Required"
msgstr "Wymagane"
-#: part/models.py:2369
+#: part/models.py:2982
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2374 templates/js/translated/part.js:2087
+#: part/models.py:2987 templates/js/translated/part.js:2111
msgid "Requires Value"
msgstr "Wymaga wartości"
-#: part/models.py:2375
+#: part/models.py:2988
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2380 templates/js/translated/part.js:2094
+#: part/models.py:2993 templates/js/translated/part.js:2118
msgid "Requires Attachment"
msgstr "Wymaga załącznika"
-#: part/models.py:2381
+#: part/models.py:2994
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:2422
+#: part/models.py:3035
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:2430
+#: part/models.py:3043
msgid "Parameter Name"
msgstr ""
-#: part/models.py:2434
+#: part/models.py:3047
msgid "Parameter Units"
msgstr ""
-#: part/models.py:2439
+#: part/models.py:3052
msgid "Parameter description"
msgstr ""
-#: part/models.py:2472
+#: part/models.py:3085
msgid "Parent Part"
msgstr "Część nadrzędna"
-#: part/models.py:2474 part/models.py:2522 part/models.py:2523
+#: part/models.py:3087 part/models.py:3135 part/models.py:3136
#: templates/InvenTree/settings/settings.html:224
msgid "Parameter Template"
msgstr ""
-#: part/models.py:2476
+#: part/models.py:3089
msgid "Data"
msgstr "Dane"
-#: part/models.py:2476
+#: part/models.py:3089
msgid "Parameter Value"
msgstr "Wartość parametru"
-#: part/models.py:2527 templates/InvenTree/settings/settings.html:233
+#: part/models.py:3140 templates/InvenTree/settings/settings.html:233
msgid "Default Value"
msgstr "Wartość domyślna"
-#: part/models.py:2528
+#: part/models.py:3141
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:2565
+#: part/models.py:3178
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:2568 templates/js/translated/model_renderers.js:212
-msgid "Part ID"
-msgstr "ID komponentu"
-
-#: part/models.py:2569
+#: part/models.py:3182
msgid "Unique part ID value"
msgstr "Unikalny wartość ID komponentu"
-#: part/models.py:2572
-msgid "Part Name"
-msgstr "Nazwa komponentu"
-
-#: part/models.py:2576
-msgid "Part IPN"
-msgstr "IPN komponentu"
-
-#: part/models.py:2577
+#: part/models.py:3190
msgid "Part IPN value"
msgstr "Wartość IPN części"
-#: part/models.py:2580
+#: part/models.py:3193
msgid "Level"
msgstr "Poziom"
-#: part/models.py:2581
+#: part/models.py:3194
msgid "BOM level"
msgstr ""
-#: part/models.py:2650
+#: part/models.py:3263
msgid "Select parent part"
msgstr "Wybierz część nadrzędną"
-#: part/models.py:2658
+#: part/models.py:3271
msgid "Sub part"
msgstr "Podczęść"
-#: part/models.py:2659
+#: part/models.py:3272
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:2665
+#: part/models.py:3278
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:2669 part/templates/part/upload_bom.html:58
-#: templates/js/translated/bom.js:924 templates/js/translated/bom.js:1024
+#: part/models.py:3282 part/templates/part/upload_bom.html:58
+#: templates/js/translated/bom.js:933 templates/js/translated/bom.js:986
#: templates/js/translated/build.js:1858
#: templates/js/translated/table_filters.js:84
-#: templates/js/translated/table_filters.js:108
+#: templates/js/translated/table_filters.js:112
msgid "Optional"
msgstr "Opcjonalne"
-#: part/models.py:2670
+#: part/models.py:3283
msgid "This BOM item is optional"
msgstr "Ten element BOM jest opcjonalny"
-#: part/models.py:2675 templates/js/translated/bom.js:920
-#: templates/js/translated/bom.js:1033 templates/js/translated/build.js:1849
+#: part/models.py:3288 templates/js/translated/bom.js:929
+#: templates/js/translated/bom.js:995 templates/js/translated/build.js:1849
#: templates/js/translated/table_filters.js:88
msgid "Consumable"
msgstr ""
-#: part/models.py:2676
+#: part/models.py:3289
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:2680 part/templates/part/upload_bom.html:55
+#: part/models.py:3293 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:2681
+#: part/models.py:3294
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:2684
+#: part/models.py:3297
msgid "BOM item reference"
msgstr ""
-#: part/models.py:2687
+#: part/models.py:3300
msgid "BOM item notes"
msgstr "Notatki pozycji BOM"
-#: part/models.py:2689
+#: part/models.py:3302
msgid "Checksum"
msgstr "Suma kontrolna"
-#: part/models.py:2689
+#: part/models.py:3302
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:2693 part/templates/part/upload_bom.html:57
-#: templates/js/translated/bom.js:1050
+#: part/models.py:3306 part/templates/part/upload_bom.html:57
+#: templates/js/translated/bom.js:1012
#: templates/js/translated/table_filters.js:76
-#: templates/js/translated/table_filters.js:104
+#: templates/js/translated/table_filters.js:108
msgid "Inherited"
msgstr "Dziedziczone"
-#: part/models.py:2694
+#: part/models.py:3307
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:2699 part/templates/part/upload_bom.html:56
-#: templates/js/translated/bom.js:1042
+#: part/models.py:3312 part/templates/part/upload_bom.html:56
+#: templates/js/translated/bom.js:1004
msgid "Allow Variants"
msgstr "Zezwalaj na warianty"
-#: part/models.py:2700
+#: part/models.py:3313
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:2786 stock/models.py:502
+#: part/models.py:3399 stock/models.py:518
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:2795 part/models.py:2797
+#: part/models.py:3408 part/models.py:3410
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:2902
+#: part/models.py:3537
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:2923
+#: part/models.py:3558
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:2936
+#: part/models.py:3571
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:2944
+#: part/models.py:3579
msgid "Substitute part"
msgstr "Część zastępcza"
-#: part/models.py:2959
+#: part/models.py:3594
msgid "Part 1"
msgstr "Część 1"
-#: part/models.py:2963
+#: part/models.py:3598
msgid "Part 2"
msgstr "Część 2"
-#: part/models.py:2963
+#: part/models.py:3598
msgid "Select Related Part"
msgstr "Wybierz powiązaną część"
-#: part/models.py:2981
+#: part/models.py:3616
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:2985
+#: part/models.py:3620
msgid "Duplicate relationship already exists"
msgstr ""
-#: part/serializers.py:154 part/serializers.py:185 stock/serializers.py:179
+#: part/serializers.py:154 part/serializers.py:182 stock/serializers.py:183
msgid "Purchase currency of this stock item"
msgstr "Waluta zakupu tego towaru"
-#: part/serializers.py:829
+#: part/serializers.py:542
+msgid "Update"
+msgstr ""
+
+#: part/serializers.py:543
+msgid "Update pricing for this part"
+msgstr ""
+
+#: part/serializers.py:853
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:837
+#: part/serializers.py:861
msgid "Remove Existing Data"
msgstr "Usuń istniejące dane"
-#: part/serializers.py:838
+#: part/serializers.py:862
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:843
+#: part/serializers.py:867
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:844
+#: part/serializers.py:868
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:849
+#: part/serializers.py:873
msgid "Skip Invalid Rows"
msgstr "Pomiń nieprawidłowe wiersze"
-#: part/serializers.py:850
+#: part/serializers.py:874
msgid "Enable this option to skip invalid rows"
msgstr "Włącz tę opcję, aby pominąć nieprawidłowe wiersze"
-#: part/serializers.py:855
+#: part/serializers.py:879
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:856
+#: part/serializers.py:880
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/serializers.py:896
+#: part/serializers.py:920
msgid "Clear Existing BOM"
msgstr "Wyczyść istniejący BOM"
-#: part/serializers.py:897
+#: part/serializers.py:921
msgid "Delete existing BOM items before uploading"
msgstr ""
-#: part/serializers.py:927
+#: part/serializers.py:951
msgid "No part column specified"
msgstr ""
-#: part/serializers.py:970
+#: part/serializers.py:994
msgid "Multiple matching parts found"
msgstr ""
-#: part/serializers.py:973
+#: part/serializers.py:997
msgid "No matching part found"
msgstr ""
-#: part/serializers.py:976
+#: part/serializers.py:1000
msgid "Part is not designated as a component"
msgstr ""
-#: part/serializers.py:985
+#: part/serializers.py:1009
msgid "Quantity not provided"
msgstr "Nie podano ilości"
-#: part/serializers.py:993
+#: part/serializers.py:1017
msgid "Invalid quantity"
msgstr "Nieprawidłowa ilość"
-#: part/serializers.py:1014
+#: part/serializers.py:1038
msgid "At least one BOM item is required"
msgstr ""
-#: part/tasks.py:21
+#: part/tasks.py:25
msgid "Low stock notification"
msgstr ""
-#: part/tasks.py:22
+#: part/tasks.py:26
#, python-brace-format
msgid "The available stock for {part.name} has fallen below the configured minimum level"
msgstr ""
@@ -5034,7 +5293,7 @@ msgstr ""
msgid "The BOM for %(part)s has not been validated."
msgstr ""
-#: part/templates/part/bom.html:30 part/templates/part/detail.html:269
+#: part/templates/part/bom.html:30 part/templates/part/detail.html:267
msgid "BOM actions"
msgstr ""
@@ -5070,10 +5329,6 @@ msgstr "Usuń kategorię"
msgid "Delete Category"
msgstr "Usuń kategorię"
-#: part/templates/part/category.html:81 part/templates/part/category.html:94
-msgid "Category Path"
-msgstr "Ścieżka kategorii"
-
#: part/templates/part/category.html:95
msgid "Top level part category"
msgstr "Kategoria najwyższego poziomu"
@@ -5091,12 +5346,12 @@ msgstr "Części (w tym podkategorie)"
msgid "Create new part"
msgstr "Utwórz nową część"
-#: part/templates/part/category.html:159 templates/js/translated/bom.js:392
+#: part/templates/part/category.html:159 templates/js/translated/bom.js:405
msgid "New Part"
msgstr "Nowy komponent"
-#: part/templates/part/category.html:169 part/templates/part/detail.html:368
-#: part/templates/part/detail.html:399
+#: part/templates/part/category.html:169 part/templates/part/detail.html:366
+#: part/templates/part/detail.html:397
msgid "Options"
msgstr "Opcje"
@@ -5144,7 +5399,7 @@ msgstr "Część utworzona pomyślnie"
msgid "Import Parts"
msgstr "Importuj Części"
-#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:379
+#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:393
msgid "Duplicate Part"
msgstr "Duplikuj część"
@@ -5176,7 +5431,8 @@ msgstr "Zapasy części"
msgid "Refresh scheduling data"
msgstr ""
-#: part/templates/part/detail.html:45 templates/js/translated/tables.js:524
+#: part/templates/part/detail.html:45 part/templates/part/prices.html:15
+#: templates/js/translated/tables.js:524
msgid "Refresh"
msgstr "Odśwież"
@@ -5192,123 +5448,103 @@ msgstr ""
msgid "Sales Order Allocations"
msgstr ""
-#: part/templates/part/detail.html:143
+#: part/templates/part/detail.html:141
msgid "Part Notes"
msgstr ""
-#: part/templates/part/detail.html:158
+#: part/templates/part/detail.html:156
msgid "Part Variants"
msgstr "Warianty Części"
-#: part/templates/part/detail.html:162
+#: part/templates/part/detail.html:160
msgid "Create new variant"
msgstr "Utwórz nowy wariant"
-#: part/templates/part/detail.html:163
+#: part/templates/part/detail.html:161
msgid "New Variant"
msgstr "Nowy wariant"
-#: part/templates/part/detail.html:190
+#: part/templates/part/detail.html:188
msgid "Add new parameter"
msgstr ""
-#: part/templates/part/detail.html:227 part/templates/part/part_sidebar.html:54
+#: part/templates/part/detail.html:225 part/templates/part/part_sidebar.html:52
msgid "Related Parts"
msgstr "Powiązane części"
-#: part/templates/part/detail.html:231 part/templates/part/detail.html:232
+#: part/templates/part/detail.html:229 part/templates/part/detail.html:230
msgid "Add Related"
msgstr "Dodaj powiązane"
-#: part/templates/part/detail.html:252 part/templates/part/part_sidebar.html:17
+#: part/templates/part/detail.html:250 part/templates/part/part_sidebar.html:17
msgid "Bill of Materials"
msgstr "Zestawienie materiałowe"
-#: part/templates/part/detail.html:257
+#: part/templates/part/detail.html:255
msgid "Export actions"
msgstr "Akcje eksportu"
-#: part/templates/part/detail.html:261 templates/js/translated/bom.js:309
+#: part/templates/part/detail.html:259 templates/js/translated/bom.js:309
msgid "Export BOM"
msgstr "Eksportuj BOM"
-#: part/templates/part/detail.html:263
+#: part/templates/part/detail.html:261
msgid "Print BOM Report"
msgstr "Drukuj raport BOM"
-#: part/templates/part/detail.html:273
+#: part/templates/part/detail.html:271
msgid "Upload BOM"
msgstr "Wgraj BOM"
-#: part/templates/part/detail.html:274 templates/js/translated/part.js:274
+#: part/templates/part/detail.html:272 templates/js/translated/part.js:270
msgid "Copy BOM"
msgstr "Kopiuj BOM"
-#: part/templates/part/detail.html:275
+#: part/templates/part/detail.html:273
msgid "Validate BOM"
msgstr "Weryfikuj BOM"
-#: part/templates/part/detail.html:280 part/templates/part/detail.html:281
-#: templates/js/translated/bom.js:1202 templates/js/translated/bom.js:1203
+#: part/templates/part/detail.html:278 part/templates/part/detail.html:279
+#: templates/js/translated/bom.js:1267 templates/js/translated/bom.js:1268
msgid "Add BOM Item"
msgstr "Dodaj część do BOM"
-#: part/templates/part/detail.html:294
+#: part/templates/part/detail.html:292
msgid "Assemblies"
msgstr "Złożenia"
-#: part/templates/part/detail.html:312
+#: part/templates/part/detail.html:310
msgid "Part Builds"
msgstr ""
-#: part/templates/part/detail.html:339 stock/templates/stock/item.html:38
+#: part/templates/part/detail.html:337 stock/templates/stock/item.html:38
msgid "Build Order Allocations"
msgstr ""
-#: part/templates/part/detail.html:355
+#: part/templates/part/detail.html:353
msgid "Part Suppliers"
msgstr "Dostawcy Części"
-#: part/templates/part/detail.html:385
+#: part/templates/part/detail.html:383
msgid "Part Manufacturers"
msgstr "Producenci części"
-#: part/templates/part/detail.html:401
+#: part/templates/part/detail.html:399
msgid "Delete manufacturer parts"
msgstr ""
-#: part/templates/part/detail.html:658
+#: part/templates/part/detail.html:656
msgid "Related Part"
msgstr "Powiązane części"
-#: part/templates/part/detail.html:666
+#: part/templates/part/detail.html:664
msgid "Add Related Part"
msgstr "Dodaj powiązaną część"
-#: part/templates/part/detail.html:758
+#: part/templates/part/detail.html:756
msgid "Add Test Result Template"
msgstr ""
-#: part/templates/part/detail.html:901
-#, python-format
-msgid "Purchase Unit Price - %(currency)s"
-msgstr ""
-
-#: part/templates/part/detail.html:913
-#, python-format
-msgid "Unit Price-Cost Difference - %(currency)s"
-msgstr ""
-
-#: part/templates/part/detail.html:925
-#, python-format
-msgid "Supplier Unit Cost - %(currency)s"
-msgstr ""
-
-#: part/templates/part/detail.html:1014
-#, python-format
-msgid "Unit Price - %(currency)s"
-msgstr ""
-
#: part/templates/part/import_wizard/ajax_match_fields.html:9
#: templates/patterns/wizard/match_fields.html:8
msgid "Missing selections for the following required columns"
@@ -5439,15 +5675,15 @@ msgid "Part is virtual (not a physical part)"
msgstr "Część jest wirtualna (nie fizyczna)"
#: part/templates/part/part_base.html:148
-#: templates/js/translated/company.js:659
-#: templates/js/translated/company.js:920
+#: templates/js/translated/company.js:660
+#: templates/js/translated/company.js:921
#: templates/js/translated/model_renderers.js:204
-#: templates/js/translated/part.js:652 templates/js/translated/part.js:729
+#: templates/js/translated/part.js:666 templates/js/translated/part.js:743
msgid "Inactive"
msgstr "Nieaktywny"
#: part/templates/part/part_base.html:165
-#: part/templates/part/part_base.html:620
+#: part/templates/part/part_base.html:635
msgid "Show Part Details"
msgstr ""
@@ -5456,12 +5692,6 @@ msgstr ""
msgid "This part is a variant of %(link)s"
msgstr ""
-#: part/templates/part/part_base.html:200
-#: templates/js/translated/company.js:1027
-#: templates/js/translated/table_filters.js:209
-msgid "In Stock"
-msgstr "Na stanie"
-
#: part/templates/part/part_base.html:221
#: stock/templates/stock/item_base.html:382
msgid "Allocated to Build Orders"
@@ -5472,100 +5702,91 @@ msgstr ""
msgid "Allocated to Sales Orders"
msgstr "Przypisane do zamówień sprzedaży"
-#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1100
+#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1165
msgid "Can Build"
msgstr ""
-#: part/templates/part/part_base.html:244 templates/js/translated/part.js:591
-#: templates/js/translated/part.js:611 templates/js/translated/part.js:1342
-#: templates/js/translated/part.js:1533
-msgid "Building"
-msgstr ""
-
#: part/templates/part/part_base.html:293
msgid "Minimum stock level"
msgstr "Minimalny poziom stanu magazynowego"
-#: part/templates/part/part_base.html:330
+#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1032
+#: templates/js/translated/part.js:783 templates/js/translated/part.js:1582
+#: templates/js/translated/pricing.js:124
+#: templates/js/translated/pricing.js:757
+msgid "Price Range"
+msgstr ""
+
+#: part/templates/part/part_base.html:345
msgid "Latest Serial Number"
msgstr "Ostatni numer seryjny"
-#: part/templates/part/part_base.html:334
+#: part/templates/part/part_base.html:349
#: stock/templates/stock/item_base.html:331
msgid "Search for serial number"
msgstr "Szukaj numeru seryjnego"
-#: part/templates/part/part_base.html:431
+#: part/templates/part/part_base.html:446
msgid "Link Barcode to Part"
msgstr ""
-#: part/templates/part/part_base.html:477 part/templates/part/prices.html:149
+#: part/templates/part/part_base.html:492
msgid "Calculate"
msgstr "Oblicz"
-#: part/templates/part/part_base.html:520
+#: part/templates/part/part_base.html:535
msgid "No matching images found"
msgstr "Nie znaleziono pasujących obrazów"
-#: part/templates/part/part_base.html:614
+#: part/templates/part/part_base.html:629
msgid "Hide Part Details"
msgstr "Ukryj szczegóły części"
-#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:24
+#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:78
+#: part/templates/part/prices.html:238 templates/js/translated/pricing.js:218
msgid "Supplier Pricing"
msgstr "Cennik dostawcy"
#: part/templates/part/part_pricing.html:26
#: part/templates/part/part_pricing.html:52
-#: part/templates/part/part_pricing.html:103
-#: part/templates/part/part_pricing.html:118 part/templates/part/prices.html:28
-#: part/templates/part/prices.html:55 part/templates/part/prices.html:108
-#: part/templates/part/prices.html:125
+#: part/templates/part/part_pricing.html:95
+#: part/templates/part/part_pricing.html:110
msgid "Unit Cost"
msgstr "Cena jednostkowa"
#: part/templates/part/part_pricing.html:32
#: part/templates/part/part_pricing.html:58
-#: part/templates/part/part_pricing.html:107
-#: part/templates/part/part_pricing.html:122 part/templates/part/prices.html:35
-#: part/templates/part/prices.html:62 part/templates/part/prices.html:113
-#: part/templates/part/prices.html:130
+#: part/templates/part/part_pricing.html:99
+#: part/templates/part/part_pricing.html:114
msgid "Total Cost"
msgstr "Całkowity Koszt"
-#: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:43
-#: templates/js/translated/bom.js:1091
+#: part/templates/part/part_pricing.html:40
msgid "No supplier pricing available"
msgstr "Brak dostępnych cen dostawców"
-#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:52
-#: part/templates/part/prices.html:248
+#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:94
+#: part/templates/part/prices.html:262
msgid "BOM Pricing"
msgstr ""
-#: part/templates/part/part_pricing.html:66 part/templates/part/prices.html:72
+#: part/templates/part/part_pricing.html:66
msgid "Unit Purchase Price"
msgstr "Cena zakupu jednostkowego"
-#: part/templates/part/part_pricing.html:72 part/templates/part/prices.html:79
+#: part/templates/part/part_pricing.html:72
msgid "Total Purchase Price"
msgstr "Całkowita cena zakupu"
-#: part/templates/part/part_pricing.html:82 part/templates/part/prices.html:89
-msgid "Note: BOM pricing is incomplete for this part"
-msgstr "Uwaga: cena BOM jest niekompletna dla tej części"
-
-#: part/templates/part/part_pricing.html:91 part/templates/part/prices.html:98
+#: part/templates/part/part_pricing.html:83
msgid "No BOM pricing available"
msgstr "Brak dostępnych cen BOM"
-#: part/templates/part/part_pricing.html:100
-#: part/templates/part/prices.html:107
+#: part/templates/part/part_pricing.html:92
msgid "Internal Price"
msgstr "Cena wewnętrzna"
-#: part/templates/part/part_pricing.html:131
-#: part/templates/part/prices.html:139
+#: part/templates/part/part_pricing.html:123
msgid "No pricing information is available for this part."
msgstr "Brak dostępnych informacji o cenach dla tej części."
@@ -5573,7 +5794,8 @@ msgstr "Brak dostępnych informacji o cenach dla tej części."
#: report/templates/report/inventree_test_report_base.html:97
#: templates/InvenTree/settings/plugin.html:63
#: templates/InvenTree/settings/plugin_settings.html:38
-#: templates/js/translated/order.js:2001 templates/js/translated/stock.js:2478
+#: templates/js/translated/order.js:2035 templates/js/translated/pricing.js:537
+#: templates/js/translated/pricing.js:658 templates/js/translated/stock.js:2496
msgid "Date"
msgstr "Data"
@@ -5585,15 +5807,11 @@ msgstr ""
msgid "Variants"
msgstr "Warianty"
-#: part/templates/part/part_sidebar.html:27
-msgid "Used In"
-msgstr "Użyte w"
-
-#: part/templates/part/part_sidebar.html:46
+#: part/templates/part/part_sidebar.html:44
msgid "Scheduling"
msgstr "Planowanie"
-#: part/templates/part/part_sidebar.html:50
+#: part/templates/part/part_sidebar.html:48
msgid "Test Templates"
msgstr "Szablony testowe"
@@ -5601,74 +5819,82 @@ msgstr "Szablony testowe"
msgid "Select from existing images"
msgstr "Wybierz z istniejących obrazów"
-#: part/templates/part/prices.html:19
-msgid "Pricing ranges"
-msgstr "Przedziały cenowe"
+#: part/templates/part/prices.html:11
+msgid "Pricing Overview"
+msgstr ""
-#: part/templates/part/prices.html:25
-msgid "Show supplier cost"
-msgstr "Pokaż cenę dostawcy"
+#: part/templates/part/prices.html:14
+msgid "Refresh Part Pricing"
+msgstr ""
-#: part/templates/part/prices.html:26
-msgid "Show purchase price"
-msgstr "Pokaż cenę zakupu"
+#: part/templates/part/prices.html:25 stock/admin.py:106
+#: stock/templates/stock/item_base.html:440
+#: templates/js/translated/company.js:1039
+#: templates/js/translated/stock.js:1920
+msgid "Last Updated"
+msgstr "Ostatnia aktualizacja"
-#: part/templates/part/prices.html:53
-msgid "Show BOM cost"
-msgstr "Pokaż koszt BOM"
+#: part/templates/part/prices.html:34 part/templates/part/prices.html:126
+msgid "Price Category"
+msgstr ""
-#: part/templates/part/prices.html:122
-msgid "Show sale cost"
-msgstr "Pokaż koszt sprzedaży"
+#: part/templates/part/prices.html:35 part/templates/part/prices.html:127
+msgid "Minimum"
+msgstr ""
-#: part/templates/part/prices.html:123
-msgid "Show sale price"
-msgstr "Pokaż cenę sprzedaży"
+#: part/templates/part/prices.html:36 part/templates/part/prices.html:128
+msgid "Maximum"
+msgstr ""
-#: part/templates/part/prices.html:145
-msgid "Calculation parameters"
-msgstr "Parametry obliczeniowe"
+#: part/templates/part/prices.html:49 part/templates/part/prices.html:185
+msgid "Internal Pricing"
+msgstr ""
-#: part/templates/part/prices.html:160 templates/js/translated/bom.js:1085
-msgid "Supplier Cost"
-msgstr "Koszty dostawcy"
+#: part/templates/part/prices.html:64 part/templates/part/prices.html:217
+msgid "Purchase History"
+msgstr ""
-#: part/templates/part/prices.html:161 part/templates/part/prices.html:182
-#: part/templates/part/prices.html:206 part/templates/part/prices.html:236
-#: part/templates/part/prices.html:262 part/templates/part/prices.html:291
+#: part/templates/part/prices.html:103 part/templates/part/prices.html:286
+msgid "Variant Pricing"
+msgstr ""
+
+#: part/templates/part/prices.html:111
+msgid "Overall Pricing"
+msgstr ""
+
+#: part/templates/part/prices.html:155 part/templates/part/prices.html:338
+msgid "Sale History"
+msgstr ""
+
+#: part/templates/part/prices.html:168
+msgid "Sale price data is not available for this part"
+msgstr ""
+
+#: part/templates/part/prices.html:175
+msgid "Price range data is not available for this part."
+msgstr ""
+
+#: part/templates/part/prices.html:186 part/templates/part/prices.html:218
+#: part/templates/part/prices.html:239 part/templates/part/prices.html:263
+#: part/templates/part/prices.html:287 part/templates/part/prices.html:310
+#: part/templates/part/prices.html:339
msgid "Jump to overview"
msgstr "Przejdź do przeglądu"
-#: part/templates/part/prices.html:186
-msgid "Stock Pricing"
-msgstr ""
-
-#: part/templates/part/prices.html:195
-msgid "No stock pricing history is available for this part."
-msgstr ""
-
-#: part/templates/part/prices.html:205
-msgid "Internal Cost"
-msgstr "Koszt wewnętrzny"
-
-#: part/templates/part/prices.html:220
+#: part/templates/part/prices.html:191
msgid "Add Internal Price Break"
msgstr ""
-#: part/templates/part/prices.html:235
-msgid "BOM Cost"
-msgstr "Koszt BOM"
-
-#: part/templates/part/prices.html:261
-msgid "Sale Cost"
-msgstr "Koszt sprzedaży"
-
-#: part/templates/part/prices.html:302
-msgid "No sale pice history available for this part."
+#: part/templates/part/prices.html:309
+msgid "Sale Pricing"
msgstr ""
-#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:614
-#: templates/js/translated/part.js:1330 templates/js/translated/part.js:1332
+#: part/templates/part/prices.html:315
+msgid "Add Sell Price Break"
+msgstr ""
+
+#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:628
+#: templates/js/translated/part.js:1351 templates/js/translated/part.js:1353
msgid "No Stock"
msgstr "Brak w magazynie"
@@ -5722,40 +5948,36 @@ msgstr ""
msgid "Create a new variant of template '%(full_name)s'."
msgstr ""
-#: part/templatetags/inventree_extras.py:177
+#: part/templatetags/inventree_extras.py:210
msgid "Unknown database"
msgstr "Nieznana baza danych"
-#: part/templatetags/inventree_extras.py:229
+#: part/templatetags/inventree_extras.py:262
#, python-brace-format
msgid "{title} v{version}"
msgstr ""
-#: part/views.py:114
+#: part/views.py:109
msgid "Match References"
msgstr ""
-#: part/views.py:415
-msgid "None"
-msgstr "Żaden"
-
-#: part/views.py:477
+#: part/views.py:354
msgid "Part QR Code"
msgstr "Kod QR części"
-#: part/views.py:495
+#: part/views.py:372
msgid "Select Part Image"
msgstr "Wybierz obrazek części"
-#: part/views.py:521
+#: part/views.py:398
msgid "Updated part image"
msgstr "Zaktualizowano zdjęcie części"
-#: part/views.py:524
+#: part/views.py:401
msgid "Part image not found"
msgstr "Nie znaleziono obrazka części"
-#: part/views.py:613
+#: part/views.py:493
msgid "Part Pricing"
msgstr "Cennik części"
@@ -6070,12 +6292,12 @@ msgid "Stock Item Test Report"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:79
-#: stock/models.py:650 stock/templates/stock/item_base.html:320
+#: stock/models.py:666 stock/templates/stock/item_base.html:320
#: templates/js/translated/build.js:472 templates/js/translated/build.js:624
#: templates/js/translated/build.js:1234 templates/js/translated/build.js:1735
#: templates/js/translated/model_renderers.js:118
-#: templates/js/translated/order.js:121 templates/js/translated/order.js:3592
-#: templates/js/translated/order.js:3679 templates/js/translated/stock.js:490
+#: templates/js/translated/order.js:121 templates/js/translated/order.js:3603
+#: templates/js/translated/order.js:3690 templates/js/translated/stock.js:509
msgid "Serial Number"
msgstr "Numer Seryjny"
@@ -6084,12 +6306,12 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:93
-#: stock/models.py:2085
+#: stock/models.py:2101
msgid "Test"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:94
-#: stock/models.py:2091
+#: stock/models.py:2107
msgid "Result"
msgstr "Wynik"
@@ -6107,383 +6329,435 @@ msgid "Installed Items"
msgstr "Zainstalowane elementy"
#: report/templates/report/inventree_test_report_base.html:137
-#: templates/js/translated/stock.js:610 templates/js/translated/stock.js:780
-#: templates/js/translated/stock.js:2727
+#: stock/admin.py:87 templates/js/translated/stock.js:629
+#: templates/js/translated/stock.js:799 templates/js/translated/stock.js:2745
msgid "Serial"
msgstr "Numer seryjny"
-#: stock/api.py:529
+#: stock/admin.py:23 stock/admin.py:90
+#: templates/js/translated/model_renderers.js:159
+msgid "Location ID"
+msgstr "ID lokalizacji"
+
+#: stock/admin.py:24 stock/admin.py:91
+msgid "Location Name"
+msgstr ""
+
+#: stock/admin.py:28 stock/templates/stock/location.html:123
+#: stock/templates/stock/location.html:129
+msgid "Location Path"
+msgstr "Ścieżka lokalizacji"
+
+#: stock/admin.py:83
+msgid "Stock Item ID"
+msgstr ""
+
+#: stock/admin.py:92 templates/js/translated/model_renderers.js:418
+msgid "Supplier Part ID"
+msgstr "ID części dostawcy"
+
+#: stock/admin.py:93
+msgid "Supplier ID"
+msgstr ""
+
+#: stock/admin.py:94
+msgid "Supplier Name"
+msgstr ""
+
+#: stock/admin.py:95
+msgid "Customer ID"
+msgstr ""
+
+#: stock/admin.py:96 stock/models.py:649
+#: stock/templates/stock/item_base.html:359
+msgid "Installed In"
+msgstr "Zainstalowane w"
+
+#: stock/admin.py:97 templates/js/translated/model_renderers.js:177
+msgid "Build ID"
+msgstr ""
+
+#: stock/admin.py:99
+msgid "Sales Order ID"
+msgstr ""
+
+#: stock/admin.py:100
+msgid "Purchase Order ID"
+msgstr ""
+
+#: stock/admin.py:107 templates/js/translated/stock.js:1890
+msgid "Stocktake"
+msgstr ""
+
+#: stock/admin.py:108 stock/models.py:724
+#: stock/templates/stock/item_base.html:427
+#: templates/js/translated/stock.js:1904
+msgid "Expiry Date"
+msgstr "Data ważności"
+
+#: stock/api.py:539
msgid "Quantity is required"
msgstr ""
-#: stock/api.py:536
+#: stock/api.py:546
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:561
+#: stock/api.py:571
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/models.py:90 stock/models.py:746
+#: stock/models.py:106 stock/models.py:762
#: stock/templates/stock/item_base.html:250
msgid "Owner"
msgstr "Właściciel"
-#: stock/models.py:91 stock/models.py:747
+#: stock/models.py:107 stock/models.py:763
msgid "Select Owner"
msgstr "Wybierz właściciela"
-#: stock/models.py:508 stock/serializers.py:93
+#: stock/models.py:524 stock/serializers.py:97
msgid "Stock item cannot be created for virtual parts"
msgstr ""
-#: stock/models.py:525
+#: stock/models.py:541
#, python-brace-format
msgid "Part type ('{pf}') must be {pe}"
msgstr ""
-#: stock/models.py:535 stock/models.py:544
+#: stock/models.py:551 stock/models.py:560
msgid "Quantity must be 1 for item with a serial number"
msgstr ""
-#: stock/models.py:536
+#: stock/models.py:552
msgid "Serial number cannot be set if quantity greater than 1"
msgstr ""
-#: stock/models.py:558
+#: stock/models.py:574
msgid "Item cannot belong to itself"
msgstr ""
-#: stock/models.py:564
+#: stock/models.py:580
msgid "Item must have a build reference if is_building=True"
msgstr ""
-#: stock/models.py:578
+#: stock/models.py:594
msgid "Build reference does not point to the same part object"
msgstr ""
-#: stock/models.py:592
+#: stock/models.py:608
msgid "Parent Stock Item"
msgstr "Nadrzędny towar"
-#: stock/models.py:602
+#: stock/models.py:618
msgid "Base part"
msgstr "Część podstawowa"
-#: stock/models.py:610
+#: stock/models.py:626
msgid "Select a matching supplier part for this stock item"
msgstr "Wybierz pasującą część dostawcy dla tego towaru"
-#: stock/models.py:617 stock/templates/stock/location.html:17
+#: stock/models.py:633 stock/templates/stock/location.html:17
#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
msgstr ""
-#: stock/models.py:620
+#: stock/models.py:636
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:627
+#: stock/models.py:643
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:633 stock/templates/stock/item_base.html:359
-msgid "Installed In"
-msgstr "Zainstalowane w"
-
-#: stock/models.py:636
+#: stock/models.py:652
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:652
+#: stock/models.py:668
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:666
+#: stock/models.py:682
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:671
+#: stock/models.py:687
msgid "Stock Quantity"
msgstr "Ilość w magazynie"
-#: stock/models.py:680
+#: stock/models.py:696
msgid "Source Build"
msgstr ""
-#: stock/models.py:682
+#: stock/models.py:698
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:693
+#: stock/models.py:709
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:696
+#: stock/models.py:712
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:702
+#: stock/models.py:718
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:708 stock/templates/stock/item_base.html:427
-#: templates/js/translated/stock.js:1885
-msgid "Expiry Date"
-msgstr "Data ważności"
-
-#: stock/models.py:709
+#: stock/models.py:725
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:722
+#: stock/models.py:738
msgid "Delete on deplete"
msgstr "Usuń po wyczerpaniu"
-#: stock/models.py:722
+#: stock/models.py:738
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:734 stock/templates/stock/item.html:132
+#: stock/models.py:750 stock/templates/stock/item.html:132
msgid "Stock Item Notes"
msgstr ""
-#: stock/models.py:742
+#: stock/models.py:758
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:770
+#: stock/models.py:786
msgid "Converted to part"
msgstr ""
-#: stock/models.py:1244
+#: stock/models.py:1260
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1250
+#: stock/models.py:1266
msgid "Quantity must be integer"
msgstr "Ilość musi być liczbą całkowitą"
-#: stock/models.py:1256
+#: stock/models.py:1272
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr "Ilość nie może przekraczać dostępnej ilości towaru ({n})"
-#: stock/models.py:1259
+#: stock/models.py:1275
msgid "Serial numbers must be a list of integers"
msgstr ""
-#: stock/models.py:1262
+#: stock/models.py:1278
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1269
+#: stock/models.py:1285
#, python-brace-format
msgid "Serial numbers already exist: {exists}"
msgstr ""
-#: stock/models.py:1339
+#: stock/models.py:1355
msgid "Stock item has been assigned to a sales order"
msgstr ""
-#: stock/models.py:1342
+#: stock/models.py:1358
msgid "Stock item is installed in another item"
msgstr ""
-#: stock/models.py:1345
+#: stock/models.py:1361
msgid "Stock item contains other items"
msgstr ""
-#: stock/models.py:1348
+#: stock/models.py:1364
msgid "Stock item has been assigned to a customer"
msgstr ""
-#: stock/models.py:1351
+#: stock/models.py:1367
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:1354
+#: stock/models.py:1370
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1361 stock/serializers.py:963
+#: stock/models.py:1377 stock/serializers.py:962
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:1365
+#: stock/models.py:1381
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:1369
+#: stock/models.py:1385
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:1373
+#: stock/models.py:1389
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:1542
+#: stock/models.py:1558
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:2003
+#: stock/models.py:2019
msgid "Entry notes"
msgstr "Notatki do wpisu"
-#: stock/models.py:2061
+#: stock/models.py:2077
msgid "Value must be provided for this test"
msgstr "Należy podać wartość dla tego testu"
-#: stock/models.py:2067
+#: stock/models.py:2083
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:2086
+#: stock/models.py:2102
msgid "Test name"
msgstr "Nazwa testu"
-#: stock/models.py:2092
+#: stock/models.py:2108
msgid "Test result"
msgstr "Wynik testu"
-#: stock/models.py:2098
+#: stock/models.py:2114
msgid "Test output value"
msgstr ""
-#: stock/models.py:2105
+#: stock/models.py:2121
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2111
+#: stock/models.py:2127
msgid "Test notes"
msgstr ""
-#: stock/serializers.py:71
+#: stock/serializers.py:75
msgid "Serial number is too large"
msgstr ""
-#: stock/serializers.py:172
+#: stock/serializers.py:176
msgid "Purchase price of this stock item"
msgstr "Cena zakupu tego towaru"
-#: stock/serializers.py:292
+#: stock/serializers.py:286
msgid "Enter number of stock items to serialize"
msgstr ""
-#: stock/serializers.py:304
+#: stock/serializers.py:298
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({q})"
msgstr ""
-#: stock/serializers.py:310
+#: stock/serializers.py:304
msgid "Enter serial numbers for new items"
msgstr ""
-#: stock/serializers.py:321 stock/serializers.py:920 stock/serializers.py:1153
+#: stock/serializers.py:315 stock/serializers.py:919 stock/serializers.py:1152
msgid "Destination stock location"
msgstr ""
-#: stock/serializers.py:328
+#: stock/serializers.py:322
msgid "Optional note field"
msgstr ""
-#: stock/serializers.py:338
+#: stock/serializers.py:332
msgid "Serial numbers cannot be assigned to this part"
msgstr ""
-#: stock/serializers.py:359
+#: stock/serializers.py:353
msgid "Serial numbers already exist"
msgstr "Numer seryjny już istnieje"
-#: stock/serializers.py:399
+#: stock/serializers.py:393
msgid "Select stock item to install"
msgstr ""
-#: stock/serializers.py:412
+#: stock/serializers.py:406
msgid "Stock item is unavailable"
msgstr ""
-#: stock/serializers.py:419
+#: stock/serializers.py:413
msgid "Selected part is not in the Bill of Materials"
msgstr ""
-#: stock/serializers.py:456
+#: stock/serializers.py:450
msgid "Destination location for uninstalled item"
msgstr ""
-#: stock/serializers.py:461 stock/serializers.py:542
+#: stock/serializers.py:455 stock/serializers.py:536
msgid "Add transaction note (optional)"
msgstr ""
-#: stock/serializers.py:495
+#: stock/serializers.py:489
msgid "Select part to convert stock item into"
msgstr ""
-#: stock/serializers.py:506
+#: stock/serializers.py:500
msgid "Selected part is not a valid option for conversion"
msgstr ""
-#: stock/serializers.py:537
+#: stock/serializers.py:531
msgid "Destination location for returned item"
msgstr ""
-#: stock/serializers.py:775
+#: stock/serializers.py:774
msgid "Part must be salable"
msgstr "Część musi być dostępna do sprzedaży"
-#: stock/serializers.py:779
+#: stock/serializers.py:778
msgid "Item is allocated to a sales order"
msgstr ""
-#: stock/serializers.py:783
+#: stock/serializers.py:782
msgid "Item is allocated to a build order"
msgstr ""
-#: stock/serializers.py:814
+#: stock/serializers.py:813
msgid "Customer to assign stock items"
msgstr ""
-#: stock/serializers.py:820
+#: stock/serializers.py:819
msgid "Selected company is not a customer"
msgstr ""
-#: stock/serializers.py:828
+#: stock/serializers.py:827
msgid "Stock assignment notes"
msgstr ""
-#: stock/serializers.py:838 stock/serializers.py:1069
+#: stock/serializers.py:837 stock/serializers.py:1068
msgid "A list of stock items must be provided"
msgstr ""
-#: stock/serializers.py:927
+#: stock/serializers.py:926
msgid "Stock merging notes"
msgstr ""
-#: stock/serializers.py:932
+#: stock/serializers.py:931
msgid "Allow mismatched suppliers"
msgstr ""
-#: stock/serializers.py:933
+#: stock/serializers.py:932
msgid "Allow stock items with different supplier parts to be merged"
msgstr ""
-#: stock/serializers.py:938
+#: stock/serializers.py:937
msgid "Allow mismatched status"
msgstr ""
-#: stock/serializers.py:939
+#: stock/serializers.py:938
msgid "Allow stock items with different status codes to be merged"
msgstr ""
-#: stock/serializers.py:949
+#: stock/serializers.py:948
msgid "At least two stock items must be provided"
msgstr ""
-#: stock/serializers.py:1031
+#: stock/serializers.py:1030
msgid "StockItem primary key value"
msgstr ""
-#: stock/serializers.py:1059
+#: stock/serializers.py:1058
msgid "Stock transaction notes"
msgstr ""
@@ -6520,7 +6794,7 @@ msgstr ""
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2871
+#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2889
msgid "Install Stock Item"
msgstr ""
@@ -6528,7 +6802,7 @@ msgstr ""
msgid "Delete all test results for this stock item"
msgstr ""
-#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1522
+#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1541
msgid "Add Test Result"
msgstr ""
@@ -6687,7 +6961,7 @@ msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:431
-#: templates/js/translated/table_filters.js:277
+#: templates/js/translated/table_filters.js:281
msgid "Expired"
msgstr "Termin minął"
@@ -6697,16 +6971,10 @@ msgid "This StockItem expires on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/table_filters.js:283
+#: templates/js/translated/table_filters.js:287
msgid "Stale"
msgstr ""
-#: stock/templates/stock/item_base.html:440
-#: templates/js/translated/company.js:1038
-#: templates/js/translated/stock.js:1901
-msgid "Last Updated"
-msgstr "Ostatnia aktualizacja"
-
#: stock/templates/stock/item_base.html:445
msgid "Last Stocktake"
msgstr "Ostatnia inwentaryzacja"
@@ -6783,11 +7051,6 @@ msgstr "Edytuj lokację"
msgid "Delete location"
msgstr ""
-#: stock/templates/stock/location.html:123
-#: stock/templates/stock/location.html:129
-msgid "Location Path"
-msgstr "Ścieżka lokalizacji"
-
#: stock/templates/stock/location.html:130
msgid "Top level stock location"
msgstr ""
@@ -6960,6 +7223,14 @@ msgstr "Trwające zlecenia sprzedaży"
msgid "Overdue Sales Orders"
msgstr "Zaległe zlecenia sprzedaży"
+#: templates/InvenTree/index.html:312
+msgid "InvenTree News"
+msgstr ""
+
+#: templates/InvenTree/index.html:314
+msgid "Current News"
+msgstr ""
+
#: templates/InvenTree/notifications/history.html:9
msgid "Notification History"
msgstr ""
@@ -7026,30 +7297,6 @@ msgstr ""
msgid "Category Settings"
msgstr "Ustawienia kategorii"
-#: templates/InvenTree/settings/currencies.html:8
-msgid "Currency Settings"
-msgstr "Ustawienia walut"
-
-#: templates/InvenTree/settings/currencies.html:19
-msgid "Base Currency"
-msgstr "Waluta bazowa"
-
-#: templates/InvenTree/settings/currencies.html:24
-msgid "Exchange Rates"
-msgstr "Kurs wymiany"
-
-#: templates/InvenTree/settings/currencies.html:38
-msgid "Last Update"
-msgstr "Ostatnia Aktualizacja"
-
-#: templates/InvenTree/settings/currencies.html:44
-msgid "Never"
-msgstr "Nigdy"
-
-#: templates/InvenTree/settings/currencies.html:49
-msgid "Update Now"
-msgstr "Aktualizuj teraz"
-
#: templates/InvenTree/settings/global.html:9
msgid "Server Settings"
msgstr "Ustawienia serwera"
@@ -7090,15 +7337,15 @@ msgstr "Otwórz w nowej karcie"
msgid "Part Settings"
msgstr "Ustawienia części"
-#: templates/InvenTree/settings/part.html:46
+#: templates/InvenTree/settings/part.html:40
msgid "Part Import"
msgstr "Import części"
-#: templates/InvenTree/settings/part.html:50
+#: templates/InvenTree/settings/part.html:44
msgid "Import Part"
msgstr "Import części"
-#: templates/InvenTree/settings/part.html:64
+#: templates/InvenTree/settings/part.html:58
msgid "Part Parameter Templates"
msgstr ""
@@ -7125,11 +7372,6 @@ msgstr "Instaluj wtyczkę"
msgid "External plugins are not enabled for this InvenTree installation"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:62
-#: templates/InvenTree/settings/plugin_settings.html:33
-msgid "Author"
-msgstr "Autor"
-
#: templates/InvenTree/settings/plugin.html:64
#: templates/InvenTree/settings/plugin_settings.html:43
msgid "Version"
@@ -7239,6 +7481,39 @@ msgstr "Klucz podpisu"
msgid "Purchase Order Settings"
msgstr ""
+#: templates/InvenTree/settings/pricing.html:7
+msgid "Pricing Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:24
+msgid "Currency Settings"
+msgstr "Ustawienia walut"
+
+#: templates/InvenTree/settings/pricing.html:30
+msgid "Update Now"
+msgstr "Aktualizuj teraz"
+
+#: templates/InvenTree/settings/pricing.html:39
+#: templates/InvenTree/settings/pricing.html:43
+msgid "Last Update"
+msgstr "Ostatnia Aktualizacja"
+
+#: templates/InvenTree/settings/pricing.html:43
+msgid "Never"
+msgstr "Nigdy"
+
+#: templates/InvenTree/settings/pricing.html:53
+msgid "Base Currency"
+msgstr "Waluta bazowa"
+
+#: templates/InvenTree/settings/pricing.html:58
+msgid "Exchange Rates"
+msgstr "Kurs wymiany"
+
+#: templates/InvenTree/settings/pricing.html:60
+msgid "Rate"
+msgstr ""
+
#: templates/InvenTree/settings/report.html:8
#: templates/InvenTree/settings/user_reports.html:9
msgid "Report Settings"
@@ -7295,6 +7570,7 @@ msgid "No part parameter templates found"
msgstr "Nie znaleziono szablonów parametrów części"
#: templates/InvenTree/settings/settings.html:338
+#: templates/js/translated/news.js:28
#: templates/js/translated/notification.js:36
msgid "ID"
msgstr ""
@@ -7357,10 +7633,6 @@ msgstr "Ustawienia globalne"
msgid "Server Configuration"
msgstr "Konfiguracja serwera"
-#: templates/InvenTree/settings/sidebar.html:35
-msgid "Currencies"
-msgstr "Waluty"
-
#: templates/InvenTree/settings/sidebar.html:43
msgid "Categories"
msgstr "Kategorie"
@@ -7380,7 +7652,7 @@ msgid "Change Password"
msgstr ""
#: templates/InvenTree/settings/user.html:23
-#: templates/js/translated/helpers.js:31 templates/notes_buttons.html:3
+#: templates/js/translated/helpers.js:33 templates/notes_buttons.html:3
#: templates/notes_buttons.html:4
msgid "Edit"
msgstr ""
@@ -7893,7 +8165,7 @@ msgid "The following parts are low on required stock"
msgstr ""
#: templates/email/build_order_required_stock.html:18
-#: templates/js/translated/bom.js:1566
+#: templates/js/translated/bom.js:1629
msgid "Required Quantity"
msgstr "Wymagana ilość"
@@ -7907,7 +8179,7 @@ msgid "Click on the following link to view this part"
msgstr ""
#: templates/email/low_stock_notification.html:19
-#: templates/js/translated/part.js:2566
+#: templates/js/translated/part.js:2423
msgid "Minimum Quantity"
msgstr "Minimalna ilość"
@@ -8060,7 +8332,7 @@ msgstr ""
msgid "Unlink"
msgstr "Rozłącz"
-#: templates/js/translated/barcode.js:500 templates/js/translated/stock.js:1054
+#: templates/js/translated/barcode.js:500 templates/js/translated/stock.js:1073
msgid "Remove stock item"
msgstr ""
@@ -8130,10 +8402,10 @@ msgstr "Wyświetl dane wiersza"
msgid "Row Data"
msgstr "Dane wiersza"
-#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:646
+#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:659
#: templates/js/translated/modals.js:56 templates/js/translated/modals.js:601
#: templates/js/translated/modals.js:695 templates/js/translated/modals.js:1003
-#: templates/js/translated/order.js:1179 templates/modals.html:15
+#: templates/js/translated/order.js:1213 templates/modals.html:15
#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50
msgid "Close"
msgstr "Zamknij"
@@ -8143,12 +8415,12 @@ msgid "Download BOM Template"
msgstr "Pobierz szablon BOM-u"
#: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312
-#: templates/js/translated/order.js:960 templates/js/translated/tables.js:145
+#: templates/js/translated/order.js:994 templates/js/translated/tables.js:145
msgid "Format"
msgstr ""
#: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313
-#: templates/js/translated/order.js:961
+#: templates/js/translated/order.js:995
msgid "Select file format"
msgstr "Wybierz format pliku"
@@ -8200,118 +8472,130 @@ msgstr ""
msgid "Include part supplier data in exported BOM"
msgstr ""
-#: templates/js/translated/bom.js:537
+#: templates/js/translated/bom.js:358
+msgid "Include Pricing Data"
+msgstr ""
+
+#: templates/js/translated/bom.js:359
+msgid "Include part pricing data in exported BOM"
+msgstr ""
+
+#: templates/js/translated/bom.js:550
msgid "Remove substitute part"
msgstr ""
-#: templates/js/translated/bom.js:591
+#: templates/js/translated/bom.js:604
msgid "Select and add a new substitute part using the input below"
msgstr ""
-#: templates/js/translated/bom.js:602
+#: templates/js/translated/bom.js:615
msgid "Are you sure you wish to remove this substitute part link?"
msgstr ""
-#: templates/js/translated/bom.js:608
+#: templates/js/translated/bom.js:621
msgid "Remove Substitute Part"
msgstr ""
-#: templates/js/translated/bom.js:647
+#: templates/js/translated/bom.js:660
msgid "Add Substitute"
msgstr "Dodaj zamiennik"
-#: templates/js/translated/bom.js:648
+#: templates/js/translated/bom.js:661
msgid "Edit BOM Item Substitutes"
msgstr ""
-#: templates/js/translated/bom.js:710
+#: templates/js/translated/bom.js:723
msgid "All selected BOM items will be deleted"
msgstr ""
-#: templates/js/translated/bom.js:726
+#: templates/js/translated/bom.js:739
msgid "Delete selected BOM items?"
msgstr ""
-#: templates/js/translated/bom.js:860
+#: templates/js/translated/bom.js:868
msgid "Load BOM for subassembly"
msgstr ""
-#: templates/js/translated/bom.js:870
+#: templates/js/translated/bom.js:878
msgid "Substitutes Available"
msgstr ""
-#: templates/js/translated/bom.js:874 templates/js/translated/build.js:1835
+#: templates/js/translated/bom.js:882 templates/js/translated/build.js:1835
msgid "Variant stock allowed"
msgstr ""
-#: templates/js/translated/bom.js:983 templates/js/translated/build.js:1907
-#: templates/js/translated/order.js:3927
-msgid "No Stock Available"
-msgstr ""
-
-#: templates/js/translated/bom.js:988 templates/js/translated/build.js:1911
-msgid "Includes variant and substitute stock"
-msgstr ""
-
-#: templates/js/translated/bom.js:990 templates/js/translated/build.js:1913
-#: templates/js/translated/part.js:761 templates/js/translated/part.js:1539
-msgid "Includes variant stock"
-msgstr ""
-
-#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1915
-msgid "Includes substitute stock"
-msgstr ""
-
-#: templates/js/translated/bom.js:1010
+#: templates/js/translated/bom.js:972
msgid "Substitutes"
msgstr ""
-#: templates/js/translated/bom.js:1061 templates/js/translated/bom.js:1195
+#: templates/js/translated/bom.js:1023 templates/js/translated/bom.js:1260
msgid "View BOM"
msgstr "Zobacz BOM"
-#: templates/js/translated/bom.js:1071
-msgid "Purchase Price Range"
+#: templates/js/translated/bom.js:1094
+msgid "BOM pricing is complete"
msgstr ""
-#: templates/js/translated/bom.js:1078
-msgid "Purchase Price Average"
+#: templates/js/translated/bom.js:1099
+msgid "BOM pricing is incomplete"
msgstr ""
-#: templates/js/translated/bom.js:1106 templates/js/translated/build.js:1898
+#: templates/js/translated/bom.js:1106
+msgid "No pricing available"
+msgstr ""
+
+#: templates/js/translated/bom.js:1137 templates/js/translated/build.js:1907
+#: templates/js/translated/order.js:3924
+msgid "No Stock Available"
+msgstr ""
+
+#: templates/js/translated/bom.js:1142 templates/js/translated/build.js:1911
+msgid "Includes variant and substitute stock"
+msgstr ""
+
+#: templates/js/translated/bom.js:1144 templates/js/translated/build.js:1913
+#: templates/js/translated/part.js:775 templates/js/translated/part.js:1550
+msgid "Includes variant stock"
+msgstr ""
+
+#: templates/js/translated/bom.js:1146 templates/js/translated/build.js:1915
+msgid "Includes substitute stock"
+msgstr ""
+
+#: templates/js/translated/bom.js:1171 templates/js/translated/build.js:1898
#: templates/js/translated/build.js:1985
msgid "Consumable item"
msgstr ""
-#: templates/js/translated/bom.js:1166
+#: templates/js/translated/bom.js:1231
msgid "Validate BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1168
+#: templates/js/translated/bom.js:1233
msgid "This line has been validated"
msgstr ""
-#: templates/js/translated/bom.js:1170
+#: templates/js/translated/bom.js:1235
msgid "Edit substitute parts"
msgstr ""
-#: templates/js/translated/bom.js:1172 templates/js/translated/bom.js:1369
+#: templates/js/translated/bom.js:1237 templates/js/translated/bom.js:1433
msgid "Edit BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1174
+#: templates/js/translated/bom.js:1239
msgid "Delete BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1280 templates/js/translated/build.js:1679
+#: templates/js/translated/bom.js:1344 templates/js/translated/build.js:1679
msgid "No BOM items found"
msgstr ""
-#: templates/js/translated/bom.js:1549 templates/js/translated/build.js:1818
+#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1818
msgid "Required Part"
msgstr ""
-#: templates/js/translated/bom.js:1575
+#: templates/js/translated/bom.js:1638
msgid "Inherited from parent BOM"
msgstr ""
@@ -8356,12 +8640,12 @@ msgid "Complete Build Order"
msgstr ""
#: templates/js/translated/build.js:311 templates/js/translated/stock.js:92
-#: templates/js/translated/stock.js:214
+#: templates/js/translated/stock.js:233
msgid "Next available serial number"
msgstr ""
#: templates/js/translated/build.js:313 templates/js/translated/stock.js:94
-#: templates/js/translated/stock.js:216
+#: templates/js/translated/stock.js:235
msgid "Latest serial number"
msgstr "Ostatni numer seryjny"
@@ -8458,12 +8742,12 @@ msgid "No required tests for this build"
msgstr ""
#: templates/js/translated/build.js:1775 templates/js/translated/build.js:2765
-#: templates/js/translated/order.js:3627
+#: templates/js/translated/order.js:3638
msgid "Edit stock allocation"
msgstr ""
#: templates/js/translated/build.js:1777 templates/js/translated/build.js:2766
-#: templates/js/translated/order.js:3628
+#: templates/js/translated/order.js:3639
msgid "Delete stock allocation"
msgstr ""
@@ -8483,20 +8767,15 @@ msgstr ""
msgid "Quantity Per"
msgstr "Ilość za"
-#: templates/js/translated/build.js:1901 templates/js/translated/order.js:3934
+#: templates/js/translated/build.js:1901 templates/js/translated/order.js:3931
msgid "Insufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3932
+#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3929
msgid "Sufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1937 templates/js/translated/build.js:2195
-#: templates/js/translated/build.js:2761 templates/js/translated/order.js:3946
-msgid "Allocated"
-msgstr "Przydzielono"
-
-#: templates/js/translated/build.js:1993 templates/js/translated/order.js:4026
+#: templates/js/translated/build.js:1993 templates/js/translated/order.js:4023
msgid "Build stock"
msgstr ""
@@ -8504,21 +8783,21 @@ msgstr ""
msgid "Order stock"
msgstr ""
-#: templates/js/translated/build.js:2000 templates/js/translated/order.js:4019
+#: templates/js/translated/build.js:2000 templates/js/translated/order.js:4016
msgid "Allocate stock"
msgstr ""
#: templates/js/translated/build.js:2039 templates/js/translated/label.js:172
-#: templates/js/translated/order.js:1007 templates/js/translated/order.js:3154
+#: templates/js/translated/order.js:1041 templates/js/translated/order.js:3165
#: templates/js/translated/report.js:225
msgid "Select Parts"
msgstr "Wybierz części"
-#: templates/js/translated/build.js:2040 templates/js/translated/order.js:3155
+#: templates/js/translated/build.js:2040 templates/js/translated/order.js:3166
msgid "You must select at least one part to allocate"
msgstr ""
-#: templates/js/translated/build.js:2089 templates/js/translated/order.js:3103
+#: templates/js/translated/build.js:2089 templates/js/translated/order.js:3114
msgid "Specify stock allocation quantity"
msgstr ""
@@ -8530,7 +8809,7 @@ msgstr ""
msgid "All selected parts have been fully allocated"
msgstr ""
-#: templates/js/translated/build.js:2183 templates/js/translated/order.js:3169
+#: templates/js/translated/build.js:2183 templates/js/translated/order.js:3180
msgid "Select source location (leave blank to take from all locations)"
msgstr ""
@@ -8538,11 +8817,11 @@ msgstr ""
msgid "Allocate Stock Items to Build Order"
msgstr ""
-#: templates/js/translated/build.js:2222 templates/js/translated/order.js:3266
+#: templates/js/translated/build.js:2222 templates/js/translated/order.js:3277
msgid "No matching stock locations"
msgstr ""
-#: templates/js/translated/build.js:2294 templates/js/translated/order.js:3343
+#: templates/js/translated/build.js:2294 templates/js/translated/order.js:3354
msgid "No matching stock items"
msgstr ""
@@ -8574,9 +8853,9 @@ msgstr ""
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:2558 templates/js/translated/part.js:1423
-#: templates/js/translated/part.js:1957 templates/js/translated/stock.js:1686
-#: templates/js/translated/stock.js:2390
+#: templates/js/translated/build.js:2558 templates/js/translated/part.js:1444
+#: templates/js/translated/part.js:1981 templates/js/translated/stock.js:1705
+#: templates/js/translated/stock.js:2408
msgid "Select"
msgstr "Wybierz"
@@ -8588,7 +8867,7 @@ msgstr ""
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2636 templates/js/translated/stock.js:2657
+#: templates/js/translated/build.js:2636 templates/js/translated/stock.js:2675
msgid "No user information"
msgstr "Brak informacji o użytkowniku"
@@ -8596,118 +8875,144 @@ msgstr "Brak informacji o użytkowniku"
msgid "No parts allocated for"
msgstr ""
-#: templates/js/translated/company.js:66
+#: templates/js/translated/company.js:67
msgid "Add Manufacturer"
msgstr "Dodaj producenta"
-#: templates/js/translated/company.js:79 templates/js/translated/company.js:181
+#: templates/js/translated/company.js:80 templates/js/translated/company.js:182
msgid "Add Manufacturer Part"
msgstr "Dodaj część producenta"
-#: templates/js/translated/company.js:100
+#: templates/js/translated/company.js:101
msgid "Edit Manufacturer Part"
msgstr ""
-#: templates/js/translated/company.js:169 templates/js/translated/order.js:576
+#: templates/js/translated/company.js:170 templates/js/translated/order.js:576
msgid "Add Supplier"
msgstr "Dodaj dostawcę"
-#: templates/js/translated/company.js:197 templates/js/translated/order.js:828
+#: templates/js/translated/company.js:198 templates/js/translated/order.js:862
msgid "Add Supplier Part"
msgstr ""
-#: templates/js/translated/company.js:297
+#: templates/js/translated/company.js:298
msgid "All selected supplier parts will be deleted"
msgstr "Wszystkie wybrane komponenty dostawcy zostaną usunięte"
-#: templates/js/translated/company.js:313
+#: templates/js/translated/company.js:314
msgid "Delete Supplier Parts"
msgstr ""
-#: templates/js/translated/company.js:385
+#: templates/js/translated/company.js:386
msgid "Add new Company"
msgstr "Dodaj nową firmę"
-#: templates/js/translated/company.js:462
+#: templates/js/translated/company.js:463
msgid "Parts Supplied"
msgstr ""
-#: templates/js/translated/company.js:471
+#: templates/js/translated/company.js:472
msgid "Parts Manufactured"
msgstr ""
-#: templates/js/translated/company.js:486
+#: templates/js/translated/company.js:487
msgid "No company information found"
msgstr ""
-#: templates/js/translated/company.js:527
+#: templates/js/translated/company.js:528
msgid "All selected manufacturer parts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:542
+#: templates/js/translated/company.js:543
msgid "Delete Manufacturer Parts"
msgstr ""
-#: templates/js/translated/company.js:576
+#: templates/js/translated/company.js:577
msgid "All selected parameters will be deleted"
msgstr ""
-#: templates/js/translated/company.js:590
+#: templates/js/translated/company.js:591
msgid "Delete Parameters"
msgstr "Usuń parametry"
-#: templates/js/translated/company.js:631
+#: templates/js/translated/company.js:632
msgid "No manufacturer parts found"
msgstr ""
-#: templates/js/translated/company.js:651
-#: templates/js/translated/company.js:912 templates/js/translated/part.js:636
-#: templates/js/translated/part.js:721
+#: templates/js/translated/company.js:652
+#: templates/js/translated/company.js:913 templates/js/translated/part.js:650
+#: templates/js/translated/part.js:735
msgid "Template part"
msgstr ""
-#: templates/js/translated/company.js:655
-#: templates/js/translated/company.js:916 templates/js/translated/part.js:640
-#: templates/js/translated/part.js:725
+#: templates/js/translated/company.js:656
+#: templates/js/translated/company.js:917 templates/js/translated/part.js:654
+#: templates/js/translated/part.js:739
msgid "Assembled part"
msgstr ""
-#: templates/js/translated/company.js:783 templates/js/translated/part.js:828
+#: templates/js/translated/company.js:784 templates/js/translated/part.js:855
msgid "No parameters found"
msgstr "Nie znaleziono parametrów"
-#: templates/js/translated/company.js:820 templates/js/translated/part.js:870
+#: templates/js/translated/company.js:821 templates/js/translated/part.js:897
msgid "Edit parameter"
msgstr "Edytuj Parametr"
-#: templates/js/translated/company.js:821 templates/js/translated/part.js:871
+#: templates/js/translated/company.js:822 templates/js/translated/part.js:898
msgid "Delete parameter"
msgstr "Usuń parametr"
-#: templates/js/translated/company.js:840 templates/js/translated/part.js:888
+#: templates/js/translated/company.js:841 templates/js/translated/part.js:915
msgid "Edit Parameter"
msgstr "Edytuj Parametr"
-#: templates/js/translated/company.js:851 templates/js/translated/part.js:900
+#: templates/js/translated/company.js:852 templates/js/translated/part.js:927
msgid "Delete Parameter"
msgstr "Usuń parametr"
-#: templates/js/translated/company.js:891
+#: templates/js/translated/company.js:892
msgid "No supplier parts found"
msgstr ""
-#: templates/js/translated/company.js:1032
+#: templates/js/translated/company.js:1033
msgid "Availability"
msgstr ""
-#: templates/js/translated/company.js:1055
+#: templates/js/translated/company.js:1056
msgid "Edit supplier part"
msgstr ""
-#: templates/js/translated/company.js:1056
+#: templates/js/translated/company.js:1057
msgid "Delete supplier part"
msgstr ""
+#: templates/js/translated/company.js:1112
+#: templates/js/translated/pricing.js:423
+msgid "Delete Price Break"
+msgstr ""
+
+#: templates/js/translated/company.js:1128
+#: templates/js/translated/pricing.js:437
+msgid "Edit Price Break"
+msgstr "Edytuj przedział cenowy"
+
+#: templates/js/translated/company.js:1145
+msgid "No price break information found"
+msgstr ""
+
+#: templates/js/translated/company.js:1174
+msgid "Last updated"
+msgstr "Ostatnio aktualizowane"
+
+#: templates/js/translated/company.js:1180
+msgid "Edit price break"
+msgstr "Edytuj przedział cenowy"
+
+#: templates/js/translated/company.js:1181
+msgid "Delete price break"
+msgstr ""
+
#: templates/js/translated/filters.js:178
#: templates/js/translated/filters.js:441
msgid "true"
@@ -8788,27 +9093,27 @@ msgstr "Wyszukiwanie"
msgid "Clear input"
msgstr "Wyczyść wejście"
-#: templates/js/translated/forms.js:2638
+#: templates/js/translated/forms.js:2628
msgid "File Column"
msgstr "Kolumna pliku"
-#: templates/js/translated/forms.js:2638
+#: templates/js/translated/forms.js:2628
msgid "Field Name"
msgstr "Nazwa pola"
-#: templates/js/translated/forms.js:2650
+#: templates/js/translated/forms.js:2640
msgid "Select Columns"
msgstr "Wybór Kolumn"
-#: templates/js/translated/helpers.js:24
+#: templates/js/translated/helpers.js:26
msgid "YES"
msgstr "TAK"
-#: templates/js/translated/helpers.js:26
+#: templates/js/translated/helpers.js:28
msgid "NO"
msgstr "Nie"
-#: templates/js/translated/helpers.js:363
+#: templates/js/translated/helpers.js:434
msgid "Notes updated"
msgstr ""
@@ -8817,7 +9122,7 @@ msgid "Labels sent to printer"
msgstr ""
#: templates/js/translated/label.js:60 templates/js/translated/report.js:118
-#: templates/js/translated/stock.js:1078
+#: templates/js/translated/stock.js:1097
msgid "Select Stock Items"
msgstr "Wybierz przedmioty magazynowe"
@@ -8937,14 +9242,6 @@ msgstr "ID firmy"
msgid "Stock ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:159
-msgid "Location ID"
-msgstr "ID lokalizacji"
-
-#: templates/js/translated/model_renderers.js:177
-msgid "Build ID"
-msgstr ""
-
#: templates/js/translated/model_renderers.js:278
#: templates/js/translated/model_renderers.js:303
msgid "Order ID"
@@ -8955,17 +9252,13 @@ msgstr "ID zamówienia"
msgid "Shipment ID"
msgstr "ID wysyłki"
-#: templates/js/translated/model_renderers.js:338
-msgid "Category ID"
-msgstr "ID kategorii"
-
#: templates/js/translated/model_renderers.js:381
msgid "Manufacturer Part ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:418
-msgid "Supplier Part ID"
-msgstr "ID części dostawcy"
+#: templates/js/translated/news.js:23
+msgid "No news found"
+msgstr ""
#: templates/js/translated/notification.js:42
msgid "Age"
@@ -9107,659 +9400,688 @@ msgstr "Edytuj zamówienie zakupu"
msgid "Duplication Options"
msgstr ""
-#: templates/js/translated/order.js:957
+#: templates/js/translated/order.js:991
msgid "Export Order"
msgstr ""
-#: templates/js/translated/order.js:1008
+#: templates/js/translated/order.js:1042
msgid "At least one purchaseable part must be selected"
msgstr ""
-#: templates/js/translated/order.js:1033
+#: templates/js/translated/order.js:1067
msgid "Quantity to order"
msgstr ""
-#: templates/js/translated/order.js:1042
+#: templates/js/translated/order.js:1076
msgid "New supplier part"
msgstr ""
-#: templates/js/translated/order.js:1060
+#: templates/js/translated/order.js:1094
msgid "New purchase order"
msgstr ""
-#: templates/js/translated/order.js:1093
+#: templates/js/translated/order.js:1127
msgid "Add to purchase order"
msgstr ""
-#: templates/js/translated/order.js:1233
+#: templates/js/translated/order.js:1267
msgid "No matching supplier parts"
msgstr ""
-#: templates/js/translated/order.js:1252
+#: templates/js/translated/order.js:1286
msgid "No matching purchase orders"
msgstr ""
-#: templates/js/translated/order.js:1429
+#: templates/js/translated/order.js:1463
msgid "Select Line Items"
msgstr ""
-#: templates/js/translated/order.js:1430
+#: templates/js/translated/order.js:1464
msgid "At least one line item must be selected"
msgstr ""
-#: templates/js/translated/order.js:1450 templates/js/translated/order.js:1563
+#: templates/js/translated/order.js:1484 templates/js/translated/order.js:1597
msgid "Add batch code"
msgstr ""
-#: templates/js/translated/order.js:1456 templates/js/translated/order.js:1574
+#: templates/js/translated/order.js:1490 templates/js/translated/order.js:1608
msgid "Add serial numbers"
msgstr ""
-#: templates/js/translated/order.js:1471
+#: templates/js/translated/order.js:1505
msgid "Received Quantity"
msgstr ""
-#: templates/js/translated/order.js:1482
+#: templates/js/translated/order.js:1516
msgid "Quantity to receive"
msgstr ""
-#: templates/js/translated/order.js:1546 templates/js/translated/stock.js:2146
+#: templates/js/translated/order.js:1580 templates/js/translated/stock.js:2164
msgid "Stock Status"
msgstr ""
-#: templates/js/translated/order.js:1639
+#: templates/js/translated/order.js:1673
msgid "Order Code"
msgstr "Kod zamówienia"
-#: templates/js/translated/order.js:1640
+#: templates/js/translated/order.js:1674
msgid "Ordered"
msgstr "Zamówione"
-#: templates/js/translated/order.js:1642
+#: templates/js/translated/order.js:1676
msgid "Quantity to Receive"
msgstr "Ilość do otrzymania"
-#: templates/js/translated/order.js:1661
+#: templates/js/translated/order.js:1695
msgid "Confirm receipt of items"
msgstr "Potwierdź odbiór elementów"
-#: templates/js/translated/order.js:1662
+#: templates/js/translated/order.js:1696
msgid "Receive Purchase Order Items"
msgstr ""
-#: templates/js/translated/order.js:1940 templates/js/translated/part.js:941
+#: templates/js/translated/order.js:1974 templates/js/translated/part.js:968
msgid "No purchase orders found"
msgstr ""
-#: templates/js/translated/order.js:1967 templates/js/translated/order.js:2798
+#: templates/js/translated/order.js:2001 templates/js/translated/order.js:2809
msgid "Order is overdue"
msgstr ""
-#: templates/js/translated/order.js:2017 templates/js/translated/order.js:2863
-#: templates/js/translated/order.js:3004
+#: templates/js/translated/order.js:2051 templates/js/translated/order.js:2874
+#: templates/js/translated/order.js:3015
msgid "Items"
msgstr "Przedmioty"
-#: templates/js/translated/order.js:2115 templates/js/translated/order.js:4078
+#: templates/js/translated/order.js:2154 templates/js/translated/order.js:4075
msgid "Duplicate Line Item"
msgstr ""
-#: templates/js/translated/order.js:2132 templates/js/translated/order.js:4100
+#: templates/js/translated/order.js:2171 templates/js/translated/order.js:4097
msgid "Edit Line Item"
msgstr ""
-#: templates/js/translated/order.js:2145 templates/js/translated/order.js:4111
+#: templates/js/translated/order.js:2184 templates/js/translated/order.js:4108
msgid "Delete Line Item"
msgstr ""
-#: templates/js/translated/order.js:2188
+#: templates/js/translated/order.js:2227
msgid "No line items found"
msgstr ""
-#: templates/js/translated/order.js:2215 templates/js/translated/order.js:3812
+#: templates/js/translated/order.js:2254 templates/js/translated/order.js:3827
msgid "Total"
msgstr "Razem"
-#: templates/js/translated/order.js:2270 templates/js/translated/part.js:1043
-#: templates/js/translated/part.js:1095
+#: templates/js/translated/order.js:2309 templates/js/translated/part.js:1070
+#: templates/js/translated/part.js:1122
msgid "Total Quantity"
msgstr ""
-#: templates/js/translated/order.js:2301 templates/js/translated/order.js:2500
-#: templates/js/translated/order.js:3837 templates/js/translated/order.js:4342
-#: templates/js/translated/part.js:2199 templates/js/translated/part.js:2797
+#: templates/js/translated/order.js:2340 templates/js/translated/order.js:2527
+#: templates/js/translated/order.js:3852 templates/js/translated/order.js:4343
+#: templates/js/translated/pricing.js:260
+#: templates/js/translated/pricing.js:329
+#: templates/js/translated/pricing.js:545
msgid "Unit Price"
msgstr "Cena jednostkowa"
-#: templates/js/translated/order.js:2316 templates/js/translated/order.js:2516
-#: templates/js/translated/order.js:3853 templates/js/translated/order.js:4358
+#: templates/js/translated/order.js:2350 templates/js/translated/order.js:2537
+#: templates/js/translated/order.js:3862 templates/js/translated/order.js:4353
msgid "Total Price"
msgstr "Cena całkowita"
-#: templates/js/translated/order.js:2357 templates/js/translated/order.js:3895
-#: templates/js/translated/part.js:1079
+#: templates/js/translated/order.js:2380 templates/js/translated/order.js:3892
+#: templates/js/translated/part.js:1106
msgid "This line item is overdue"
msgstr ""
-#: templates/js/translated/order.js:2416 templates/js/translated/part.js:1130
+#: templates/js/translated/order.js:2439 templates/js/translated/part.js:1151
msgid "Receive line item"
msgstr ""
-#: templates/js/translated/order.js:2420 templates/js/translated/order.js:4032
+#: templates/js/translated/order.js:2443 templates/js/translated/order.js:4029
msgid "Duplicate line item"
msgstr ""
-#: templates/js/translated/order.js:2421 templates/js/translated/order.js:4033
+#: templates/js/translated/order.js:2444 templates/js/translated/order.js:4030
msgid "Edit line item"
msgstr ""
-#: templates/js/translated/order.js:2422 templates/js/translated/order.js:4037
+#: templates/js/translated/order.js:2445 templates/js/translated/order.js:4034
msgid "Delete line item"
msgstr ""
-#: templates/js/translated/order.js:2564 templates/js/translated/order.js:4406
+#: templates/js/translated/order.js:2574 templates/js/translated/order.js:4389
msgid "Duplicate line"
msgstr ""
-#: templates/js/translated/order.js:2565 templates/js/translated/order.js:4407
+#: templates/js/translated/order.js:2575 templates/js/translated/order.js:4390
msgid "Edit line"
msgstr ""
-#: templates/js/translated/order.js:2566 templates/js/translated/order.js:4408
+#: templates/js/translated/order.js:2576 templates/js/translated/order.js:4391
msgid "Delete line"
msgstr ""
-#: templates/js/translated/order.js:2595 templates/js/translated/order.js:4437
+#: templates/js/translated/order.js:2606 templates/js/translated/order.js:4420
msgid "Duplicate Line"
msgstr ""
-#: templates/js/translated/order.js:2616 templates/js/translated/order.js:4458
+#: templates/js/translated/order.js:2627 templates/js/translated/order.js:4441
msgid "Edit Line"
msgstr ""
-#: templates/js/translated/order.js:2627 templates/js/translated/order.js:4469
+#: templates/js/translated/order.js:2638 templates/js/translated/order.js:4452
msgid "Delete Line"
msgstr ""
-#: templates/js/translated/order.js:2638
+#: templates/js/translated/order.js:2649
msgid "No matching line"
msgstr ""
-#: templates/js/translated/order.js:2749
+#: templates/js/translated/order.js:2760
msgid "No sales orders found"
msgstr "Nie znaleziono zamówień sprzedaży"
-#: templates/js/translated/order.js:2812
+#: templates/js/translated/order.js:2823
msgid "Invalid Customer"
msgstr "Nieprawidłowy klient"
-#: templates/js/translated/order.js:2910
+#: templates/js/translated/order.js:2921
msgid "Edit shipment"
msgstr "Edytuj wysyłkę"
-#: templates/js/translated/order.js:2913
+#: templates/js/translated/order.js:2924
msgid "Complete shipment"
msgstr "Kompletna wysyłka"
-#: templates/js/translated/order.js:2918
+#: templates/js/translated/order.js:2929
msgid "Delete shipment"
msgstr "Usuń wysyłkę"
-#: templates/js/translated/order.js:2938
+#: templates/js/translated/order.js:2949
msgid "Edit Shipment"
msgstr "Edytuj wysyłkę"
-#: templates/js/translated/order.js:2955
+#: templates/js/translated/order.js:2966
msgid "Delete Shipment"
msgstr "Usuń wysyłkę"
-#: templates/js/translated/order.js:2989
+#: templates/js/translated/order.js:3000
msgid "No matching shipments found"
msgstr "Nie odnaleziono pasujących przesyłek"
-#: templates/js/translated/order.js:2999
+#: templates/js/translated/order.js:3010
msgid "Shipment Reference"
msgstr "Numer referencyjny przesyłki"
-#: templates/js/translated/order.js:3023
+#: templates/js/translated/order.js:3034
msgid "Not shipped"
msgstr "Nie wysłano"
-#: templates/js/translated/order.js:3029
+#: templates/js/translated/order.js:3040
msgid "Tracking"
msgstr "Śledzenie"
-#: templates/js/translated/order.js:3033
+#: templates/js/translated/order.js:3044
msgid "Invoice"
msgstr ""
-#: templates/js/translated/order.js:3202
+#: templates/js/translated/order.js:3213
msgid "Add Shipment"
msgstr ""
-#: templates/js/translated/order.js:3253
+#: templates/js/translated/order.js:3264
msgid "Confirm stock allocation"
msgstr "Potwierdź przydział zapasów"
-#: templates/js/translated/order.js:3254
+#: templates/js/translated/order.js:3265
msgid "Allocate Stock Items to Sales Order"
msgstr ""
-#: templates/js/translated/order.js:3462
+#: templates/js/translated/order.js:3473
msgid "No sales order allocations found"
msgstr ""
-#: templates/js/translated/order.js:3541
+#: templates/js/translated/order.js:3552
msgid "Edit Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:3558
+#: templates/js/translated/order.js:3569
msgid "Confirm Delete Operation"
msgstr ""
-#: templates/js/translated/order.js:3559
+#: templates/js/translated/order.js:3570
msgid "Delete Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:3604 templates/js/translated/order.js:3693
-#: templates/js/translated/stock.js:1602
+#: templates/js/translated/order.js:3615 templates/js/translated/order.js:3704
+#: templates/js/translated/stock.js:1621
msgid "Shipped to customer"
msgstr ""
-#: templates/js/translated/order.js:3612 templates/js/translated/order.js:3702
+#: templates/js/translated/order.js:3623 templates/js/translated/order.js:3713
msgid "Stock location not specified"
msgstr ""
-#: templates/js/translated/order.js:4016
+#: templates/js/translated/order.js:4013
msgid "Allocate serial numbers"
msgstr ""
-#: templates/js/translated/order.js:4022
+#: templates/js/translated/order.js:4019
msgid "Purchase stock"
msgstr "Cena zakupu"
-#: templates/js/translated/order.js:4029 templates/js/translated/order.js:4227
+#: templates/js/translated/order.js:4026 templates/js/translated/order.js:4224
msgid "Calculate price"
msgstr "Oblicz cenę"
-#: templates/js/translated/order.js:4041
+#: templates/js/translated/order.js:4038
msgid "Cannot be deleted as items have been shipped"
msgstr ""
-#: templates/js/translated/order.js:4044
+#: templates/js/translated/order.js:4041
msgid "Cannot be deleted as items have been allocated"
msgstr ""
-#: templates/js/translated/order.js:4126
+#: templates/js/translated/order.js:4123
msgid "Allocate Serial Numbers"
msgstr ""
-#: templates/js/translated/order.js:4235
+#: templates/js/translated/order.js:4232
msgid "Update Unit Price"
msgstr "Zaktualizuj cenę jednostkową"
-#: templates/js/translated/order.js:4249
+#: templates/js/translated/order.js:4246
msgid "No matching line items"
msgstr ""
-#: templates/js/translated/order.js:4480
+#: templates/js/translated/order.js:4463
msgid "No matching lines"
msgstr ""
-#: templates/js/translated/part.js:56
+#: templates/js/translated/part.js:52
msgid "Part Attributes"
msgstr "Atrybuty części"
-#: templates/js/translated/part.js:60
+#: templates/js/translated/part.js:56
msgid "Part Creation Options"
msgstr ""
-#: templates/js/translated/part.js:64
+#: templates/js/translated/part.js:60
msgid "Part Duplication Options"
msgstr ""
-#: templates/js/translated/part.js:68
+#: templates/js/translated/part.js:64
msgid "Supplier Options"
msgstr ""
-#: templates/js/translated/part.js:82
+#: templates/js/translated/part.js:78
msgid "Add Part Category"
msgstr ""
-#: templates/js/translated/part.js:166
+#: templates/js/translated/part.js:162
msgid "Create Initial Stock"
msgstr ""
-#: templates/js/translated/part.js:167
+#: templates/js/translated/part.js:163
msgid "Create an initial stock item for this part"
msgstr ""
-#: templates/js/translated/part.js:174
+#: templates/js/translated/part.js:170
msgid "Initial Stock Quantity"
msgstr ""
-#: templates/js/translated/part.js:175
+#: templates/js/translated/part.js:171
msgid "Specify initial stock quantity for this part"
msgstr ""
-#: templates/js/translated/part.js:182
+#: templates/js/translated/part.js:178
msgid "Select destination stock location"
msgstr ""
-#: templates/js/translated/part.js:200
+#: templates/js/translated/part.js:196
msgid "Copy Category Parameters"
msgstr ""
-#: templates/js/translated/part.js:201
+#: templates/js/translated/part.js:197
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: templates/js/translated/part.js:209
+#: templates/js/translated/part.js:205
msgid "Add Supplier Data"
msgstr "Dodaj dane dostawcy"
-#: templates/js/translated/part.js:210
+#: templates/js/translated/part.js:206
msgid "Create initial supplier data for this part"
msgstr ""
-#: templates/js/translated/part.js:266
+#: templates/js/translated/part.js:262
msgid "Copy Image"
msgstr "Kopiuj obraz"
-#: templates/js/translated/part.js:267
+#: templates/js/translated/part.js:263
msgid "Copy image from original part"
msgstr ""
-#: templates/js/translated/part.js:275
+#: templates/js/translated/part.js:271
msgid "Copy bill of materials from original part"
msgstr ""
-#: templates/js/translated/part.js:282
+#: templates/js/translated/part.js:278
msgid "Copy Parameters"
msgstr "Kopiuj parametry"
-#: templates/js/translated/part.js:283
+#: templates/js/translated/part.js:279
msgid "Copy parameter data from original part"
msgstr ""
-#: templates/js/translated/part.js:296
+#: templates/js/translated/part.js:292
msgid "Parent part category"
msgstr ""
-#: templates/js/translated/part.js:306 templates/js/translated/stock.js:118
+#: templates/js/translated/part.js:302 templates/js/translated/stock.js:118
msgid "Icon (optional) - Explore all available icons on"
msgstr ""
-#: templates/js/translated/part.js:322
+#: templates/js/translated/part.js:318
msgid "Edit Part Category"
msgstr "Edytuj kategorię części"
-#: templates/js/translated/part.js:335
+#: templates/js/translated/part.js:331
msgid "Are you sure you want to delete this part category?"
msgstr "Czy na pewno chcesz usunąć tę kategorię części?"
-#: templates/js/translated/part.js:337
-msgid "Any child categories will be moved to the parent of this category"
+#: templates/js/translated/part.js:336
+msgid "Move to parent category"
msgstr ""
-#: templates/js/translated/part.js:338
-msgid "Any parts in this category will be moved to the parent of this category"
-msgstr ""
-
-#: templates/js/translated/part.js:343
+#: templates/js/translated/part.js:345
msgid "Delete Part Category"
msgstr ""
-#: templates/js/translated/part.js:369
+#: templates/js/translated/part.js:349
+msgid "Action for parts in this category"
+msgstr ""
+
+#: templates/js/translated/part.js:354
+msgid "Action for child categories"
+msgstr ""
+
+#: templates/js/translated/part.js:383
msgid "Edit Part"
msgstr "Edytuj część"
-#: templates/js/translated/part.js:371
+#: templates/js/translated/part.js:385
msgid "Part edited"
msgstr "Część zmodyfikowana"
-#: templates/js/translated/part.js:382
+#: templates/js/translated/part.js:396
msgid "Create Part Variant"
msgstr "Utwórz wariant części"
-#: templates/js/translated/part.js:434
+#: templates/js/translated/part.js:448
msgid "Active Part"
msgstr ""
-#: templates/js/translated/part.js:435
+#: templates/js/translated/part.js:449
msgid "Part cannot be deleted as it is currently active"
msgstr ""
-#: templates/js/translated/part.js:449
+#: templates/js/translated/part.js:463
msgid "Deleting this part cannot be reversed"
msgstr ""
-#: templates/js/translated/part.js:451
+#: templates/js/translated/part.js:465
msgid "Any stock items for this part will be deleted"
msgstr ""
-#: templates/js/translated/part.js:452
+#: templates/js/translated/part.js:466
msgid "This part will be removed from any Bills of Material"
msgstr ""
-#: templates/js/translated/part.js:453
+#: templates/js/translated/part.js:467
msgid "All manufacturer and supplier information for this part will be deleted"
msgstr ""
-#: templates/js/translated/part.js:460
+#: templates/js/translated/part.js:474
msgid "Delete Part"
msgstr ""
-#: templates/js/translated/part.js:496
+#: templates/js/translated/part.js:510
msgid "You are subscribed to notifications for this item"
msgstr "Masz włączone powiadomienia dla tej części"
-#: templates/js/translated/part.js:498
+#: templates/js/translated/part.js:512
msgid "You have subscribed to notifications for this item"
msgstr "Masz włączone powiadomienia dla tej części"
-#: templates/js/translated/part.js:503
+#: templates/js/translated/part.js:517
msgid "Subscribe to notifications for this item"
msgstr "Włącz powiadomienia dla tej części"
-#: templates/js/translated/part.js:505
+#: templates/js/translated/part.js:519
msgid "You have unsubscribed to notifications for this item"
msgstr "Zostałeś wypisany z powiadomień dla tej części"
-#: templates/js/translated/part.js:522
+#: templates/js/translated/part.js:536
msgid "Validating the BOM will mark each line item as valid"
msgstr ""
-#: templates/js/translated/part.js:532
+#: templates/js/translated/part.js:546
msgid "Validate Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:535
+#: templates/js/translated/part.js:549
msgid "Validated Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:560
+#: templates/js/translated/part.js:574
msgid "Copy Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:584 templates/js/translated/part.js:1521
-#: templates/js/translated/table_filters.js:476
+#: templates/js/translated/part.js:598 templates/js/translated/part.js:1532
+#: templates/js/translated/table_filters.js:480
msgid "Low stock"
msgstr ""
-#: templates/js/translated/part.js:594
+#: templates/js/translated/part.js:608
msgid "No stock available"
msgstr ""
-#: templates/js/translated/part.js:628 templates/js/translated/part.js:713
+#: templates/js/translated/part.js:642 templates/js/translated/part.js:727
msgid "Trackable part"
msgstr ""
-#: templates/js/translated/part.js:632 templates/js/translated/part.js:717
+#: templates/js/translated/part.js:646 templates/js/translated/part.js:731
msgid "Virtual part"
msgstr ""
-#: templates/js/translated/part.js:644
+#: templates/js/translated/part.js:658
msgid "Subscribed part"
msgstr "Obserwowane części"
-#: templates/js/translated/part.js:648
+#: templates/js/translated/part.js:662
msgid "Salable part"
msgstr ""
-#: templates/js/translated/part.js:776
+#: templates/js/translated/part.js:800
msgid "No variants found"
msgstr "Nie znaleziono wariantów"
-#: templates/js/translated/part.js:1200
+#: templates/js/translated/part.js:1221
msgid "Delete part relationship"
msgstr ""
-#: templates/js/translated/part.js:1224
+#: templates/js/translated/part.js:1245
msgid "Delete Part Relationship"
msgstr ""
-#: templates/js/translated/part.js:1291 templates/js/translated/part.js:1609
+#: templates/js/translated/part.js:1312 templates/js/translated/part.js:1633
msgid "No parts found"
msgstr "Nie znaleziono części"
-#: templates/js/translated/part.js:1488
+#: templates/js/translated/part.js:1499
msgid "No category"
msgstr "Brak kategorii"
-#: templates/js/translated/part.js:1519
+#: templates/js/translated/part.js:1530
msgid "No stock"
msgstr ""
-#: templates/js/translated/part.js:1543
+#: templates/js/translated/part.js:1554
msgid "Allocated to build orders"
msgstr ""
-#: templates/js/translated/part.js:1547
+#: templates/js/translated/part.js:1558
msgid "Allocated to sales orders"
msgstr ""
-#: templates/js/translated/part.js:1633 templates/js/translated/part.js:1876
-#: templates/js/translated/stock.js:2349
+#: templates/js/translated/part.js:1657 templates/js/translated/part.js:1900
+#: templates/js/translated/stock.js:2367
msgid "Display as list"
msgstr "Wyświetl jako listę"
-#: templates/js/translated/part.js:1649
+#: templates/js/translated/part.js:1673
msgid "Display as grid"
msgstr "Wyświetl jako siatkę"
-#: templates/js/translated/part.js:1715
+#: templates/js/translated/part.js:1739
msgid "Set the part category for the selected parts"
msgstr ""
-#: templates/js/translated/part.js:1720
+#: templates/js/translated/part.js:1744
msgid "Set Part Category"
msgstr "Ustaw kategorię części"
-#: templates/js/translated/part.js:1725
+#: templates/js/translated/part.js:1749
msgid "Select Part Category"
msgstr ""
-#: templates/js/translated/part.js:1738
+#: templates/js/translated/part.js:1762
msgid "Category is required"
msgstr ""
-#: templates/js/translated/part.js:1896 templates/js/translated/stock.js:2369
+#: templates/js/translated/part.js:1920 templates/js/translated/stock.js:2387
msgid "Display as tree"
msgstr "Wyświetl jako drzewo"
-#: templates/js/translated/part.js:1976
+#: templates/js/translated/part.js:2000
msgid "Load Subcategories"
msgstr ""
-#: templates/js/translated/part.js:1992
+#: templates/js/translated/part.js:2016
msgid "Subscribed category"
msgstr "Obserwowana kategoria"
-#: templates/js/translated/part.js:2056
+#: templates/js/translated/part.js:2080
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:2107 templates/js/translated/stock.js:1299
+#: templates/js/translated/part.js:2131 templates/js/translated/stock.js:1318
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:2108 templates/js/translated/stock.js:1300
-#: templates/js/translated/stock.js:1560
+#: templates/js/translated/part.js:2132 templates/js/translated/stock.js:1319
+#: templates/js/translated/stock.js:1579
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:2114
+#: templates/js/translated/part.js:2138
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:2136
+#: templates/js/translated/part.js:2160
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2150
+#: templates/js/translated/part.js:2174
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2175
-#, python-brace-format
-msgid "No ${human_name} information found"
-msgstr "Nie znaleziono informacji o ${human_name}"
-
-#: templates/js/translated/part.js:2232
-#, python-brace-format
-msgid "Edit ${human_name}"
-msgstr "Edytuj ${human_name}"
-
-#: templates/js/translated/part.js:2233
-#, python-brace-format
-msgid "Delete ${human_name}"
-msgstr "Usuń ${human_name}"
-
-#: templates/js/translated/part.js:2398 templates/js/translated/part.js:2399
+#: templates/js/translated/part.js:2255 templates/js/translated/part.js:2256
msgid "No date specified"
msgstr ""
-#: templates/js/translated/part.js:2401
+#: templates/js/translated/part.js:2258
msgid "Specified date is in the past"
msgstr ""
-#: templates/js/translated/part.js:2407
+#: templates/js/translated/part.js:2264
msgid "Speculative"
msgstr ""
-#: templates/js/translated/part.js:2457
+#: templates/js/translated/part.js:2314
msgid "No scheduling information available for this part"
msgstr ""
-#: templates/js/translated/part.js:2463
+#: templates/js/translated/part.js:2320
msgid "Error fetching scheduling information for this part"
msgstr ""
-#: templates/js/translated/part.js:2559
+#: templates/js/translated/part.js:2416
msgid "Scheduled Stock Quantities"
msgstr ""
-#: templates/js/translated/part.js:2575
+#: templates/js/translated/part.js:2432
msgid "Maximum Quantity"
msgstr ""
-#: templates/js/translated/part.js:2620
+#: templates/js/translated/part.js:2477
msgid "Minimum Stock Level"
msgstr ""
-#: templates/js/translated/part.js:2721
-msgid "Single Price"
-msgstr "Cena jednostkowa"
-
-#: templates/js/translated/part.js:2740
-msgid "Single Price Difference"
-msgstr ""
-
#: templates/js/translated/plugin.js:23
msgid "The Plugin was installed"
msgstr ""
+#: templates/js/translated/pricing.js:54
+msgid "No BOM data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:196
+msgid "No supplier pricing data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:305
+msgid "No price break data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:361
+#, python-brace-format
+msgid "Edit ${human_name}"
+msgstr "Edytuj ${human_name}"
+
+#: templates/js/translated/pricing.js:362
+#, python-brace-format
+msgid "Delete ${human_name}"
+msgstr "Usuń ${human_name}"
+
+#: templates/js/translated/pricing.js:480
+msgid "No purchase history data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:502
+msgid "Purchase Price History"
+msgstr ""
+
+#: templates/js/translated/pricing.js:602
+msgid "No sales history data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:624
+msgid "Sale Price History"
+msgstr ""
+
+#: templates/js/translated/pricing.js:708
+msgid "No variant data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:748
+msgid "Variant Part"
+msgstr ""
+
#: templates/js/translated/report.js:67
msgid "items selected"
msgstr ""
@@ -9858,364 +10180,364 @@ msgstr ""
msgid "Are you sure you want to delete this stock location?"
msgstr "Czy na pewno chcesz skasować tą lokację?"
-#: templates/js/translated/stock.js:175
-msgid "Any child locations will be moved to the parent of this location"
+#: templates/js/translated/stock.js:180
+msgid "Move to parent stock location"
msgstr ""
-#: templates/js/translated/stock.js:176
-msgid "Any stock items in this location will be moved to the parent of this location"
-msgstr ""
-
-#: templates/js/translated/stock.js:182
+#: templates/js/translated/stock.js:189
msgid "Delete Stock Location"
msgstr ""
-#: templates/js/translated/stock.js:227
+#: templates/js/translated/stock.js:193
+msgid "Action for stock items in this stock location"
+msgstr ""
+
+#: templates/js/translated/stock.js:198
+msgid "Action for sub-locations"
+msgstr ""
+
+#: templates/js/translated/stock.js:246
msgid "This part cannot be serialized"
msgstr ""
-#: templates/js/translated/stock.js:266
+#: templates/js/translated/stock.js:285
msgid "Enter initial quantity for this stock item"
msgstr ""
-#: templates/js/translated/stock.js:272
+#: templates/js/translated/stock.js:291
msgid "Enter serial numbers for new stock (or leave blank)"
msgstr ""
-#: templates/js/translated/stock.js:337
+#: templates/js/translated/stock.js:356
msgid "Stock item duplicated"
msgstr ""
-#: templates/js/translated/stock.js:357
+#: templates/js/translated/stock.js:376
msgid "Duplicate Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:373
+#: templates/js/translated/stock.js:392
msgid "Are you sure you want to delete this stock item?"
msgstr "Czy na pewno chcesz usunąć tą część?"
-#: templates/js/translated/stock.js:378
+#: templates/js/translated/stock.js:397
msgid "Delete Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:399
+#: templates/js/translated/stock.js:418
msgid "Edit Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:449
+#: templates/js/translated/stock.js:468
msgid "Created new stock item"
msgstr ""
-#: templates/js/translated/stock.js:462
+#: templates/js/translated/stock.js:481
msgid "Created multiple stock items"
msgstr ""
-#: templates/js/translated/stock.js:487
+#: templates/js/translated/stock.js:506
msgid "Find Serial Number"
msgstr ""
-#: templates/js/translated/stock.js:491 templates/js/translated/stock.js:492
+#: templates/js/translated/stock.js:510 templates/js/translated/stock.js:511
msgid "Enter serial number"
msgstr ""
-#: templates/js/translated/stock.js:508
+#: templates/js/translated/stock.js:527
msgid "Enter a serial number"
msgstr ""
-#: templates/js/translated/stock.js:528
+#: templates/js/translated/stock.js:547
msgid "No matching serial number"
msgstr ""
-#: templates/js/translated/stock.js:537
+#: templates/js/translated/stock.js:556
msgid "More than one matching result found"
msgstr ""
-#: templates/js/translated/stock.js:660
+#: templates/js/translated/stock.js:679
msgid "Confirm stock assignment"
msgstr ""
-#: templates/js/translated/stock.js:661
+#: templates/js/translated/stock.js:680
msgid "Assign Stock to Customer"
msgstr ""
-#: templates/js/translated/stock.js:738
+#: templates/js/translated/stock.js:757
msgid "Warning: Merge operation cannot be reversed"
msgstr ""
-#: templates/js/translated/stock.js:739
+#: templates/js/translated/stock.js:758
msgid "Some information will be lost when merging stock items"
msgstr ""
-#: templates/js/translated/stock.js:741
+#: templates/js/translated/stock.js:760
msgid "Stock transaction history will be deleted for merged items"
msgstr ""
-#: templates/js/translated/stock.js:742
+#: templates/js/translated/stock.js:761
msgid "Supplier part information will be deleted for merged items"
msgstr ""
-#: templates/js/translated/stock.js:828
+#: templates/js/translated/stock.js:847
msgid "Confirm stock item merge"
msgstr ""
-#: templates/js/translated/stock.js:829
+#: templates/js/translated/stock.js:848
msgid "Merge Stock Items"
msgstr ""
-#: templates/js/translated/stock.js:924
+#: templates/js/translated/stock.js:943
msgid "Transfer Stock"
msgstr ""
-#: templates/js/translated/stock.js:925
+#: templates/js/translated/stock.js:944
msgid "Move"
msgstr "Przenieś"
-#: templates/js/translated/stock.js:931
+#: templates/js/translated/stock.js:950
msgid "Count Stock"
msgstr ""
-#: templates/js/translated/stock.js:932
+#: templates/js/translated/stock.js:951
msgid "Count"
msgstr ""
-#: templates/js/translated/stock.js:936
+#: templates/js/translated/stock.js:955
msgid "Remove Stock"
msgstr ""
-#: templates/js/translated/stock.js:937
+#: templates/js/translated/stock.js:956
msgid "Take"
msgstr "Weź"
-#: templates/js/translated/stock.js:941
+#: templates/js/translated/stock.js:960
msgid "Add Stock"
msgstr "Dodaj stan"
-#: templates/js/translated/stock.js:942 users/models.py:218
+#: templates/js/translated/stock.js:961 users/models.py:220
msgid "Add"
msgstr "Dodaj"
-#: templates/js/translated/stock.js:946
+#: templates/js/translated/stock.js:965
msgid "Delete Stock"
msgstr "Usuń stan magazynowy"
-#: templates/js/translated/stock.js:1039
+#: templates/js/translated/stock.js:1058
msgid "Quantity cannot be adjusted for serialized stock"
msgstr ""
-#: templates/js/translated/stock.js:1039
+#: templates/js/translated/stock.js:1058
msgid "Specify stock quantity"
msgstr ""
-#: templates/js/translated/stock.js:1079
+#: templates/js/translated/stock.js:1098
msgid "You must select at least one available stock item"
msgstr ""
-#: templates/js/translated/stock.js:1102
+#: templates/js/translated/stock.js:1121
msgid "Confirm stock adjustment"
msgstr ""
-#: templates/js/translated/stock.js:1238
+#: templates/js/translated/stock.js:1257
msgid "PASS"
msgstr ""
-#: templates/js/translated/stock.js:1240
+#: templates/js/translated/stock.js:1259
msgid "FAIL"
msgstr ""
-#: templates/js/translated/stock.js:1245
+#: templates/js/translated/stock.js:1264
msgid "NO RESULT"
msgstr "BRAK WYNIKÓW"
-#: templates/js/translated/stock.js:1292
+#: templates/js/translated/stock.js:1311
msgid "Pass test"
msgstr ""
-#: templates/js/translated/stock.js:1295
+#: templates/js/translated/stock.js:1314
msgid "Add test result"
msgstr "Dodaj wynik testu"
-#: templates/js/translated/stock.js:1321
+#: templates/js/translated/stock.js:1340
msgid "No test results found"
msgstr ""
-#: templates/js/translated/stock.js:1378
+#: templates/js/translated/stock.js:1397
msgid "Test Date"
msgstr ""
-#: templates/js/translated/stock.js:1543
+#: templates/js/translated/stock.js:1562
msgid "Edit Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1565
+#: templates/js/translated/stock.js:1584
msgid "Delete Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1594
+#: templates/js/translated/stock.js:1613
msgid "In production"
msgstr "W produkcji"
-#: templates/js/translated/stock.js:1598
+#: templates/js/translated/stock.js:1617
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:1606
+#: templates/js/translated/stock.js:1625
msgid "Assigned to Sales Order"
msgstr ""
-#: templates/js/translated/stock.js:1612
+#: templates/js/translated/stock.js:1631
msgid "No stock location set"
msgstr ""
-#: templates/js/translated/stock.js:1781
+#: templates/js/translated/stock.js:1800
msgid "Stock item is in production"
msgstr ""
-#: templates/js/translated/stock.js:1786
+#: templates/js/translated/stock.js:1805
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/translated/stock.js:1789
+#: templates/js/translated/stock.js:1808
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/translated/stock.js:1792
+#: templates/js/translated/stock.js:1811
msgid "Serialized stock item has been allocated"
msgstr ""
-#: templates/js/translated/stock.js:1794
+#: templates/js/translated/stock.js:1813
msgid "Stock item has been fully allocated"
msgstr ""
-#: templates/js/translated/stock.js:1796
+#: templates/js/translated/stock.js:1815
msgid "Stock item has been partially allocated"
msgstr ""
-#: templates/js/translated/stock.js:1799
+#: templates/js/translated/stock.js:1818
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:1803
+#: templates/js/translated/stock.js:1822
msgid "Stock item has expired"
msgstr ""
-#: templates/js/translated/stock.js:1805
+#: templates/js/translated/stock.js:1824
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/translated/stock.js:1812
+#: templates/js/translated/stock.js:1831
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/translated/stock.js:1814
+#: templates/js/translated/stock.js:1833
msgid "Stock item is lost"
msgstr ""
-#: templates/js/translated/stock.js:1816
+#: templates/js/translated/stock.js:1835
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/translated/stock.js:1820
-#: templates/js/translated/table_filters.js:204
+#: templates/js/translated/stock.js:1839
+#: templates/js/translated/table_filters.js:208
msgid "Depleted"
msgstr ""
-#: templates/js/translated/stock.js:1871
-msgid "Stocktake"
-msgstr ""
-
-#: templates/js/translated/stock.js:1950
+#: templates/js/translated/stock.js:1969
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/translated/stock.js:1988
+#: templates/js/translated/stock.js:2006
msgid "No stock items matching query"
msgstr ""
-#: templates/js/translated/stock.js:2161
+#: templates/js/translated/stock.js:2179
msgid "Set Stock Status"
msgstr ""
-#: templates/js/translated/stock.js:2175
+#: templates/js/translated/stock.js:2193
msgid "Select Status Code"
msgstr ""
-#: templates/js/translated/stock.js:2176
+#: templates/js/translated/stock.js:2194
msgid "Status code must be selected"
msgstr "Kod statusu musi być wybrany"
-#: templates/js/translated/stock.js:2408
+#: templates/js/translated/stock.js:2426
msgid "Load Subloactions"
msgstr ""
-#: templates/js/translated/stock.js:2503
+#: templates/js/translated/stock.js:2521
msgid "Details"
msgstr "Szczegóły"
-#: templates/js/translated/stock.js:2519
+#: templates/js/translated/stock.js:2537
msgid "Part information unavailable"
msgstr ""
-#: templates/js/translated/stock.js:2541
+#: templates/js/translated/stock.js:2559
msgid "Location no longer exists"
msgstr "Lokalizacja już nie istnieje"
-#: templates/js/translated/stock.js:2560
+#: templates/js/translated/stock.js:2578
msgid "Purchase order no longer exists"
msgstr "Zamówienie zakupu już nie istnieje"
-#: templates/js/translated/stock.js:2579
+#: templates/js/translated/stock.js:2597
msgid "Customer no longer exists"
msgstr "Klient już nie istnieje"
-#: templates/js/translated/stock.js:2597
+#: templates/js/translated/stock.js:2615
msgid "Stock item no longer exists"
msgstr "Element magazynowy już nie istnieje"
-#: templates/js/translated/stock.js:2620
+#: templates/js/translated/stock.js:2638
msgid "Added"
msgstr "Dodano"
-#: templates/js/translated/stock.js:2628
+#: templates/js/translated/stock.js:2646
msgid "Removed"
msgstr "Usunięto"
-#: templates/js/translated/stock.js:2704
+#: templates/js/translated/stock.js:2722
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:2755 templates/js/translated/stock.js:2791
+#: templates/js/translated/stock.js:2773 templates/js/translated/stock.js:2809
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2804
+#: templates/js/translated/stock.js:2822
msgid "Select stock item to uninstall"
msgstr ""
-#: templates/js/translated/stock.js:2825
+#: templates/js/translated/stock.js:2843
msgid "Install another stock item into this item"
msgstr ""
-#: templates/js/translated/stock.js:2826
+#: templates/js/translated/stock.js:2844
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: templates/js/translated/stock.js:2828
+#: templates/js/translated/stock.js:2846
msgid "The Stock Item links to a Part which is the BOM for this Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2829
+#: templates/js/translated/stock.js:2847
msgid "The Stock Item is currently available in stock"
msgstr ""
-#: templates/js/translated/stock.js:2830
+#: templates/js/translated/stock.js:2848
msgid "The Stock Item is not already installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:2831
+#: templates/js/translated/stock.js:2849
msgid "The Stock Item is tracked by either a batch code or serial number"
msgstr ""
-#: templates/js/translated/stock.js:2844
+#: templates/js/translated/stock.js:2862
msgid "Select part to install"
msgstr ""
@@ -10239,215 +10561,220 @@ msgstr "Zatwierdzone"
msgid "Allow Variant Stock"
msgstr ""
-#: templates/js/translated/table_filters.js:126
-#: templates/js/translated/table_filters.js:199
+#: templates/js/translated/table_filters.js:92
+#: templates/js/translated/table_filters.js:508
+msgid "Has Pricing"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:130
+#: templates/js/translated/table_filters.js:203
msgid "Include sublocations"
msgstr "Uwzględnij podlokalizacje"
-#: templates/js/translated/table_filters.js:127
+#: templates/js/translated/table_filters.js:131
msgid "Include locations"
msgstr ""
-#: templates/js/translated/table_filters.js:137
-#: templates/js/translated/table_filters.js:138
-#: templates/js/translated/table_filters.js:445
+#: templates/js/translated/table_filters.js:141
+#: templates/js/translated/table_filters.js:142
+#: templates/js/translated/table_filters.js:449
msgid "Include subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:142
-#: templates/js/translated/table_filters.js:488
+#: templates/js/translated/table_filters.js:146
+#: templates/js/translated/table_filters.js:492
msgid "Subscribed"
msgstr "Obesrwowane"
-#: templates/js/translated/table_filters.js:152
-#: templates/js/translated/table_filters.js:234
-msgid "Is Serialized"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:155
-#: templates/js/translated/table_filters.js:241
-msgid "Serial number GTE"
-msgstr ""
-
#: templates/js/translated/table_filters.js:156
-#: templates/js/translated/table_filters.js:242
-msgid "Serial number greater than or equal to"
+#: templates/js/translated/table_filters.js:238
+msgid "Is Serialized"
msgstr ""
#: templates/js/translated/table_filters.js:159
#: templates/js/translated/table_filters.js:245
-msgid "Serial number LTE"
+msgid "Serial number GTE"
msgstr ""
#: templates/js/translated/table_filters.js:160
#: templates/js/translated/table_filters.js:246
-msgid "Serial number less than or equal to"
+msgid "Serial number greater than or equal to"
msgstr ""
#: templates/js/translated/table_filters.js:163
+#: templates/js/translated/table_filters.js:249
+msgid "Serial number LTE"
+msgstr ""
+
#: templates/js/translated/table_filters.js:164
-#: templates/js/translated/table_filters.js:237
-#: templates/js/translated/table_filters.js:238
+#: templates/js/translated/table_filters.js:250
+msgid "Serial number less than or equal to"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:167
+#: templates/js/translated/table_filters.js:168
+#: templates/js/translated/table_filters.js:241
+#: templates/js/translated/table_filters.js:242
msgid "Serial number"
msgstr "Numer seryjny"
-#: templates/js/translated/table_filters.js:168
-#: templates/js/translated/table_filters.js:259
+#: templates/js/translated/table_filters.js:172
+#: templates/js/translated/table_filters.js:263
msgid "Batch code"
msgstr "Kod partii"
-#: templates/js/translated/table_filters.js:179
-#: templates/js/translated/table_filters.js:417
+#: templates/js/translated/table_filters.js:183
+#: templates/js/translated/table_filters.js:421
msgid "Active parts"
msgstr "Aktywne części"
-#: templates/js/translated/table_filters.js:180
+#: templates/js/translated/table_filters.js:184
msgid "Show stock for active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:185
+#: templates/js/translated/table_filters.js:189
msgid "Part is an assembly"
msgstr "Część jest zespołem"
-#: templates/js/translated/table_filters.js:189
+#: templates/js/translated/table_filters.js:193
msgid "Is allocated"
msgstr "Jest przydzielony"
-#: templates/js/translated/table_filters.js:190
+#: templates/js/translated/table_filters.js:194
msgid "Item has been allocated"
msgstr "Przedmiot został przydzielony"
-#: templates/js/translated/table_filters.js:195
+#: templates/js/translated/table_filters.js:199
msgid "Stock is available for use"
msgstr ""
-#: templates/js/translated/table_filters.js:200
+#: templates/js/translated/table_filters.js:204
msgid "Include stock in sublocations"
msgstr ""
-#: templates/js/translated/table_filters.js:205
+#: templates/js/translated/table_filters.js:209
msgid "Show stock items which are depleted"
msgstr ""
-#: templates/js/translated/table_filters.js:210
+#: templates/js/translated/table_filters.js:214
msgid "Show items which are in stock"
msgstr ""
-#: templates/js/translated/table_filters.js:214
+#: templates/js/translated/table_filters.js:218
msgid "In Production"
msgstr "W produkcji"
-#: templates/js/translated/table_filters.js:215
+#: templates/js/translated/table_filters.js:219
msgid "Show items which are in production"
msgstr ""
-#: templates/js/translated/table_filters.js:219
+#: templates/js/translated/table_filters.js:223
msgid "Include Variants"
msgstr "Obejmuje warianty"
-#: templates/js/translated/table_filters.js:220
+#: templates/js/translated/table_filters.js:224
msgid "Include stock items for variant parts"
msgstr ""
-#: templates/js/translated/table_filters.js:224
+#: templates/js/translated/table_filters.js:228
msgid "Installed"
msgstr "Zainstalowane"
-#: templates/js/translated/table_filters.js:225
+#: templates/js/translated/table_filters.js:229
msgid "Show stock items which are installed in another item"
msgstr ""
-#: templates/js/translated/table_filters.js:230
+#: templates/js/translated/table_filters.js:234
msgid "Show items which have been assigned to a customer"
msgstr ""
-#: templates/js/translated/table_filters.js:250
-#: templates/js/translated/table_filters.js:251
+#: templates/js/translated/table_filters.js:254
+#: templates/js/translated/table_filters.js:255
msgid "Stock status"
msgstr ""
-#: templates/js/translated/table_filters.js:254
+#: templates/js/translated/table_filters.js:258
msgid "Has batch code"
msgstr ""
-#: templates/js/translated/table_filters.js:262
+#: templates/js/translated/table_filters.js:266
msgid "Tracked"
msgstr ""
-#: templates/js/translated/table_filters.js:263
+#: templates/js/translated/table_filters.js:267
msgid "Stock item is tracked by either batch code or serial number"
msgstr ""
-#: templates/js/translated/table_filters.js:268
+#: templates/js/translated/table_filters.js:272
msgid "Has purchase price"
msgstr "Posiada cenę zakupu"
-#: templates/js/translated/table_filters.js:269
+#: templates/js/translated/table_filters.js:273
msgid "Show stock items which have a purchase price set"
msgstr ""
-#: templates/js/translated/table_filters.js:278
+#: templates/js/translated/table_filters.js:282
msgid "Show stock items which have expired"
msgstr ""
-#: templates/js/translated/table_filters.js:284
+#: templates/js/translated/table_filters.js:288
msgid "Show stock which is close to expiring"
msgstr ""
-#: templates/js/translated/table_filters.js:296
+#: templates/js/translated/table_filters.js:300
msgid "Test Passed"
msgstr "Test pomyślny"
-#: templates/js/translated/table_filters.js:300
+#: templates/js/translated/table_filters.js:304
msgid "Include Installed Items"
msgstr ""
-#: templates/js/translated/table_filters.js:319
+#: templates/js/translated/table_filters.js:323
msgid "Build status"
msgstr ""
-#: templates/js/translated/table_filters.js:332
-#: templates/js/translated/table_filters.js:373
+#: templates/js/translated/table_filters.js:336
+#: templates/js/translated/table_filters.js:377
msgid "Assigned to me"
msgstr "Przypisane do mnie"
-#: templates/js/translated/table_filters.js:349
-#: templates/js/translated/table_filters.js:360
-#: templates/js/translated/table_filters.js:390
+#: templates/js/translated/table_filters.js:353
+#: templates/js/translated/table_filters.js:364
+#: templates/js/translated/table_filters.js:394
msgid "Order status"
msgstr "Status zamówienia"
-#: templates/js/translated/table_filters.js:365
-#: templates/js/translated/table_filters.js:382
-#: templates/js/translated/table_filters.js:395
+#: templates/js/translated/table_filters.js:369
+#: templates/js/translated/table_filters.js:386
+#: templates/js/translated/table_filters.js:399
msgid "Outstanding"
msgstr ""
-#: templates/js/translated/table_filters.js:446
+#: templates/js/translated/table_filters.js:450
msgid "Include parts in subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:451
+#: templates/js/translated/table_filters.js:455
msgid "Show active parts"
msgstr "Pokaż aktywne części"
-#: templates/js/translated/table_filters.js:459
+#: templates/js/translated/table_filters.js:463
msgid "Available stock"
msgstr ""
-#: templates/js/translated/table_filters.js:467
+#: templates/js/translated/table_filters.js:471
msgid "Has IPN"
msgstr "Posiada IPN"
-#: templates/js/translated/table_filters.js:468
+#: templates/js/translated/table_filters.js:472
msgid "Part has internal part number"
msgstr "Część posiada wewnętrzny numer części"
-#: templates/js/translated/table_filters.js:472
+#: templates/js/translated/table_filters.js:476
msgid "In stock"
msgstr ""
-#: templates/js/translated/table_filters.js:480
+#: templates/js/translated/table_filters.js:484
msgid "Purchasable"
msgstr "Możliwość zakupu"
@@ -10557,6 +10884,10 @@ msgstr "Zapisz"
msgid "Show all notifications and history"
msgstr "Pokaż wszystkie powiadomienia i historię"
+#: templates/price_data.html:7
+msgid "No data"
+msgstr ""
+
#: templates/qr_code.html:11
msgid "QR data not provided"
msgstr "Dane QR nie zostały dostarczone"
@@ -10741,35 +11072,35 @@ msgstr "Uprawnienia"
msgid "Important dates"
msgstr "Ważne daty"
-#: users/models.py:205
+#: users/models.py:207
msgid "Permission set"
msgstr "Uprawnienia nadane"
-#: users/models.py:213
+#: users/models.py:215
msgid "Group"
msgstr "Grupa"
-#: users/models.py:216
+#: users/models.py:218
msgid "View"
msgstr "Widok"
-#: users/models.py:216
+#: users/models.py:218
msgid "Permission to view items"
msgstr "Uprawnienie do wyświetlania przedmiotów"
-#: users/models.py:218
+#: users/models.py:220
msgid "Permission to add items"
msgstr "Uprawnienie do dodawania przedmiotów"
-#: users/models.py:220
+#: users/models.py:222
msgid "Change"
msgstr "Zmień"
-#: users/models.py:220
+#: users/models.py:222
msgid "Permissions to edit items"
msgstr "Uprawnienie do edycji przedmiotów"
-#: users/models.py:222
+#: users/models.py:224
msgid "Permission to delete items"
msgstr "Uprawnienie do usuwania przedmiotów"
diff --git a/InvenTree/locale/pt/LC_MESSAGES/django.po b/InvenTree/locale/pt/LC_MESSAGES/django.po
index 54b3873369..8e7b1d7ba9 100644
--- a/InvenTree/locale/pt/LC_MESSAGES/django.po
+++ b/InvenTree/locale/pt/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-11-04 14:07+0000\n"
-"PO-Revision-Date: 2022-11-04 19:02\n"
+"POT-Creation-Date: 2022-11-14 04:59+0000\n"
+"PO-Revision-Date: 2022-11-14 14:50\n"
"Last-Translator: \n"
"Language-Team: Portuguese, Brazilian\n"
"Language: pt_BR\n"
@@ -17,7 +17,7 @@ msgstr ""
"X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n"
"X-Crowdin-File-ID: 154\n"
-#: InvenTree/api.py:54
+#: InvenTree/api.py:61
msgid "API endpoint not found"
msgstr "API endpoint não encontrado"
@@ -25,27 +25,27 @@ msgstr "API endpoint não encontrado"
msgid "Error details can be found in the admin panel"
msgstr "Detalhes do erro podem ser encontrados no painel de administrador"
-#: InvenTree/fields.py:120
+#: InvenTree/fields.py:129
msgid "Enter date"
msgstr "Insira uma Data"
-#: InvenTree/fields.py:195 build/serializers.py:387
-#: build/templates/build/sidebar.html:21 company/models.py:525
-#: company/templates/company/sidebar.html:25 order/models.py:920
+#: InvenTree/fields.py:204 build/serializers.py:387
+#: build/templates/build/sidebar.html:21 company/models.py:529
+#: company/templates/company/sidebar.html:25 order/models.py:943
#: order/templates/order/po_sidebar.html:11
-#: order/templates/order/so_sidebar.html:17
-#: part/templates/part/part_sidebar.html:59
+#: order/templates/order/so_sidebar.html:17 part/admin.py:27
+#: part/templates/part/part_sidebar.html:57
#: report/templates/report/inventree_build_order_base.html:172
-#: stock/models.py:2002 stock/models.py:2110 stock/serializers.py:327
-#: stock/serializers.py:460 stock/serializers.py:541 stock/serializers.py:827
-#: stock/serializers.py:926 stock/serializers.py:1058
+#: stock/admin.py:103 stock/models.py:2018 stock/models.py:2126
+#: stock/serializers.py:321 stock/serializers.py:454 stock/serializers.py:535
+#: stock/serializers.py:826 stock/serializers.py:925 stock/serializers.py:1057
#: stock/templates/stock/stock_sidebar.html:25
-#: templates/js/translated/barcode.js:108 templates/js/translated/bom.js:1146
-#: templates/js/translated/company.js:1022
-#: templates/js/translated/order.js:2404 templates/js/translated/order.js:2552
-#: templates/js/translated/order.js:3048 templates/js/translated/order.js:3999
-#: templates/js/translated/order.js:4394 templates/js/translated/stock.js:1374
-#: templates/js/translated/stock.js:1982
+#: templates/js/translated/barcode.js:108 templates/js/translated/bom.js:1211
+#: templates/js/translated/company.js:1023
+#: templates/js/translated/order.js:2427 templates/js/translated/order.js:2561
+#: templates/js/translated/order.js:3059 templates/js/translated/order.js:3996
+#: templates/js/translated/order.js:4377 templates/js/translated/stock.js:1393
+#: templates/js/translated/stock.js:2000
msgid "Notes"
msgstr "Anotações"
@@ -112,79 +112,79 @@ msgstr "Tamanho da imagem muito grande"
#: InvenTree/helpers.py:187
msgid "Image download exceeded maximum size"
-msgstr ""
+msgstr "O download da imagem excedeu o tamanho máximo"
#: InvenTree/helpers.py:192
msgid "Remote server returned empty response"
-msgstr ""
+msgstr "O servidor remoto retornou resposta vazia"
#: InvenTree/helpers.py:200
msgid "Supplied URL is not a valid image file"
-msgstr ""
+msgstr "A URL fornecida não é um arquivo de imagem válido"
-#: InvenTree/helpers.py:602 order/models.py:325 order/models.py:477
+#: InvenTree/helpers.py:589 order/models.py:329 order/models.py:496
msgid "Invalid quantity provided"
msgstr "Quantidade invalida"
-#: InvenTree/helpers.py:610
+#: InvenTree/helpers.py:597
msgid "Empty serial number string"
msgstr "Numero serial em branco"
-#: InvenTree/helpers.py:640
+#: InvenTree/helpers.py:627
msgid "Duplicate serial"
-msgstr ""
+msgstr "Número de série duplicado"
-#: InvenTree/helpers.py:673 InvenTree/helpers.py:708
+#: InvenTree/helpers.py:660 InvenTree/helpers.py:695
#, python-brace-format
msgid "Invalid group range: {g}"
msgstr "Numero de grupo invalido:{g}"
-#: InvenTree/helpers.py:702
+#: InvenTree/helpers.py:689
#, python-brace-format
msgid "Group range {g} exceeds allowed quantity ({q})"
-msgstr ""
+msgstr "Intervalo de grupos {g} excede a quantidade permitida ({q})"
-#: InvenTree/helpers.py:726 InvenTree/helpers.py:733 InvenTree/helpers.py:748
+#: InvenTree/helpers.py:713 InvenTree/helpers.py:720 InvenTree/helpers.py:735
#, python-brace-format
msgid "Invalid group sequence: {g}"
msgstr "Sequencia de grupo invalida:{g}"
-#: InvenTree/helpers.py:758
+#: InvenTree/helpers.py:745
msgid "No serial numbers found"
msgstr "Nenhum numero serial encontrado"
-#: InvenTree/helpers.py:761
+#: InvenTree/helpers.py:748
#, python-brace-format
msgid "Number of unique serial numbers ({s}) must match quantity ({q})"
msgstr "Numero de numeros seriais ({s}) precisa bater com quantidade ({q})"
-#: InvenTree/helpers.py:960
+#: InvenTree/helpers.py:947
msgid "Remove HTML tags from this value"
-msgstr ""
+msgstr "Remova as \"tags\" HTML deste valor"
#: InvenTree/models.py:238
msgid "Improperly formatted pattern"
-msgstr ""
+msgstr "Padrão formatado incorretamente"
#: InvenTree/models.py:245
msgid "Unknown format key specified"
-msgstr ""
+msgstr "Chave de formato desconhecida especificada"
#: InvenTree/models.py:251
msgid "Missing required format key"
-msgstr ""
+msgstr "Chave de formato obrigatória ausente"
#: InvenTree/models.py:263
msgid "Reference field cannot be empty"
-msgstr ""
+msgstr "O campo de referência não pode ficar vazio"
#: InvenTree/models.py:270
msgid "Reference must match required pattern"
-msgstr ""
+msgstr "A referência deve corresponder ao padrão exigido"
#: InvenTree/models.py:306
msgid "Reference number is too large"
-msgstr ""
+msgstr "O número de referência é muito grande"
#: InvenTree/models.py:384
msgid "Missing file"
@@ -194,7 +194,7 @@ msgstr "Arquivo nao encontrado"
msgid "Missing external link"
msgstr "Link externo nao encontrado"
-#: InvenTree/models.py:405 stock/models.py:2104
+#: InvenTree/models.py:405 stock/models.py:2120
#: templates/js/translated/attachment.js:103
#: templates/js/translated/attachment.js:241
msgid "Attachment"
@@ -204,18 +204,19 @@ msgstr "Anexo"
msgid "Select file to attach"
msgstr "Selecione arquivo para anexar"
-#: InvenTree/models.py:412 company/models.py:125 company/models.py:277
-#: company/models.py:512 order/models.py:84 order/models.py:1259
-#: part/models.py:816 part/templates/part/part_scheduling.html:11
+#: InvenTree/models.py:412 common/models.py:2313 company/models.py:129
+#: company/models.py:281 company/models.py:516 order/models.py:85
+#: order/models.py:1282 part/admin.py:25 part/models.py:835
+#: part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
-#: templates/js/translated/company.js:691
-#: templates/js/translated/company.js:1011
-#: templates/js/translated/order.js:3037 templates/js/translated/part.js:1569
+#: stock/admin.py:102 templates/js/translated/company.js:692
+#: templates/js/translated/company.js:1012
+#: templates/js/translated/order.js:3048 templates/js/translated/part.js:1593
msgid "Link"
msgstr "Link"
-#: InvenTree/models.py:413 build/models.py:290 part/models.py:817
-#: stock/models.py:660
+#: InvenTree/models.py:413 build/models.py:290 part/models.py:836
+#: stock/models.py:676
msgid "Link to external URL"
msgstr "Link para URL externa"
@@ -228,12 +229,12 @@ msgstr "Comentario"
msgid "File comment"
msgstr "Comentario sobre arquivo"
-#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1744
-#: common/models.py:1745 common/models.py:1968 common/models.py:1969
-#: common/models.py:2231 common/models.py:2232 part/models.py:2254
-#: part/models.py:2274 plugin/models.py:264 plugin/models.py:265
+#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1756
+#: common/models.py:1757 common/models.py:1980 common/models.py:1981
+#: common/models.py:2243 common/models.py:2244 part/models.py:2867
+#: part/models.py:2887 plugin/models.py:264 plugin/models.py:265
#: report/templates/report/inventree_test_report_base.html:96
-#: templates/js/translated/stock.js:2651
+#: templates/js/translated/stock.js:2669
msgid "User"
msgstr "Usuario"
@@ -270,44 +271,45 @@ msgstr "Erro renomeando o arquivo"
msgid "Invalid choice"
msgstr "Escolha invalida"
-#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1954
-#: company/models.py:359 label/models.py:101 part/models.py:760
-#: part/models.py:2429 plugin/models.py:94 report/models.py:152
+#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1966
+#: company/models.py:363 label/models.py:101 part/models.py:779
+#: part/models.py:3042 plugin/models.py:94 report/models.py:152
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/plugin.html:60
#: templates/InvenTree/settings/plugin.html:104
#: templates/InvenTree/settings/plugin_settings.html:23
#: templates/InvenTree/settings/settings.html:344
-#: templates/js/translated/company.js:580
-#: templates/js/translated/company.js:793
+#: templates/js/translated/company.js:581
+#: templates/js/translated/company.js:794
#: templates/js/translated/notification.js:71
-#: templates/js/translated/part.js:686 templates/js/translated/part.js:838
-#: templates/js/translated/part.js:1964 templates/js/translated/stock.js:2396
+#: templates/js/translated/part.js:700 templates/js/translated/part.js:865
+#: templates/js/translated/part.js:1988 templates/js/translated/stock.js:2414
msgid "Name"
msgstr "Nome"
#: InvenTree/models.py:564 build/models.py:163
-#: build/templates/build/detail.html:24 company/models.py:283
-#: company/models.py:518 company/templates/company/company_base.html:71
+#: build/templates/build/detail.html:24 company/models.py:287
+#: company/models.py:522 company/templates/company/company_base.html:71
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:108 label/models.py:108
-#: order/models.py:82 part/models.py:783 part/models.py:2438
-#: part/templates/part/category.html:75 part/templates/part/part_base.html:172
+#: order/models.py:83 part/admin.py:141 part/admin.py:222 part/models.py:802
+#: part/models.py:3051 part/templates/part/category.html:75
+#: part/templates/part/part_base.html:172
#: part/templates/part/part_scheduling.html:12 report/models.py:165
#: report/models.py:507 report/models.py:551
#: report/templates/report/inventree_build_order_base.html:117
-#: stock/templates/stock/location.html:117
+#: stock/admin.py:25 stock/templates/stock/location.html:117
#: templates/InvenTree/settings/plugin_settings.html:28
#: templates/InvenTree/settings/settings.html:355
-#: templates/js/translated/bom.js:579 templates/js/translated/bom.js:887
-#: templates/js/translated/build.js:2580 templates/js/translated/company.js:444
-#: templates/js/translated/company.js:702
-#: templates/js/translated/company.js:986 templates/js/translated/order.js:1988
-#: templates/js/translated/order.js:2220 templates/js/translated/order.js:2826
-#: templates/js/translated/part.js:745 templates/js/translated/part.js:1187
-#: templates/js/translated/part.js:1464 templates/js/translated/part.js:2000
-#: templates/js/translated/part.js:2075 templates/js/translated/stock.js:1748
-#: templates/js/translated/stock.js:2428 templates/js/translated/stock.js:2488
+#: templates/js/translated/bom.js:592 templates/js/translated/bom.js:895
+#: templates/js/translated/build.js:2580 templates/js/translated/company.js:445
+#: templates/js/translated/company.js:703
+#: templates/js/translated/company.js:987 templates/js/translated/order.js:2022
+#: templates/js/translated/order.js:2259 templates/js/translated/order.js:2837
+#: templates/js/translated/part.js:759 templates/js/translated/part.js:1208
+#: templates/js/translated/part.js:1475 templates/js/translated/part.js:2024
+#: templates/js/translated/part.js:2099 templates/js/translated/stock.js:1767
+#: templates/js/translated/stock.js:2446 templates/js/translated/stock.js:2506
msgid "Description"
msgstr "Descricao"
@@ -320,29 +322,29 @@ msgid "parent"
msgstr "parent"
#: InvenTree/models.py:580 InvenTree/models.py:581
-#: templates/js/translated/part.js:2009 templates/js/translated/stock.js:2437
+#: templates/js/translated/part.js:2033 templates/js/translated/stock.js:2455
msgid "Path"
-msgstr ""
+msgstr "Caminho"
#: InvenTree/models.py:682
msgid "Barcode Data"
-msgstr ""
+msgstr "Dados de código de barras"
#: InvenTree/models.py:683
msgid "Third party barcode data"
-msgstr ""
+msgstr "Dados de código de barras de terceiros"
-#: InvenTree/models.py:688 order/serializers.py:486
+#: InvenTree/models.py:688 order/serializers.py:477
msgid "Barcode Hash"
-msgstr ""
+msgstr "Hash de código de barras"
#: InvenTree/models.py:689
msgid "Unique hash of barcode data"
-msgstr ""
+msgstr "Hash exclusivo de dados de código de barras"
#: InvenTree/models.py:734
msgid "Existing barcode found"
-msgstr ""
+msgstr "Código de barras existente encontrado"
#: InvenTree/models.py:787
msgid "Server Error"
@@ -352,187 +354,187 @@ msgstr "Erro de servidor"
msgid "An error has been logged by the server."
msgstr "Log de erro salvo pelo servidor."
-#: InvenTree/serializers.py:58 part/models.py:2774
+#: InvenTree/serializers.py:58 part/models.py:3387
msgid "Must be a valid number"
msgstr "Preicsa ser um numero valido"
-#: InvenTree/serializers.py:265
+#: InvenTree/serializers.py:266
msgid "Filename"
-msgstr ""
+msgstr "Nome do arquivo"
-#: InvenTree/serializers.py:300
+#: InvenTree/serializers.py:301
msgid "Invalid value"
-msgstr ""
-
-#: InvenTree/serializers.py:322
-msgid "Data File"
-msgstr ""
+msgstr "Valor inválido"
#: InvenTree/serializers.py:323
+msgid "Data File"
+msgstr "Arquivo de dados"
+
+#: InvenTree/serializers.py:324
msgid "Select data file for upload"
-msgstr ""
+msgstr "Selecione um arquivo de dados para enviar"
-#: InvenTree/serializers.py:344
+#: InvenTree/serializers.py:345
msgid "Unsupported file type"
-msgstr ""
+msgstr "Tipo de arquivo não suportado"
-#: InvenTree/serializers.py:350
+#: InvenTree/serializers.py:351
msgid "File is too large"
-msgstr ""
+msgstr "O arquivo é muito grande"
-#: InvenTree/serializers.py:371
+#: InvenTree/serializers.py:372
msgid "No columns found in file"
-msgstr ""
+msgstr "Nenhuma coluna encontrada no arquivo"
-#: InvenTree/serializers.py:374
+#: InvenTree/serializers.py:375
msgid "No data rows found in file"
-msgstr ""
+msgstr "Nenhuma linha de dados encontrada no arquivo"
-#: InvenTree/serializers.py:497
+#: InvenTree/serializers.py:498
msgid "No data rows provided"
-msgstr ""
+msgstr "Nenhuma linha de dados fornecida"
-#: InvenTree/serializers.py:500
+#: InvenTree/serializers.py:501
msgid "No data columns supplied"
-msgstr ""
+msgstr "Nenhuma coluna de dados fornecida"
-#: InvenTree/serializers.py:577
+#: InvenTree/serializers.py:578
#, python-brace-format
msgid "Missing required column: '{name}'"
-msgstr ""
+msgstr "Falta a coluna obrigatória: '{name}'"
-#: InvenTree/serializers.py:586
+#: InvenTree/serializers.py:587
#, python-brace-format
msgid "Duplicate column: '{col}'"
-msgstr ""
-
-#: InvenTree/serializers.py:605
-#: templates/InvenTree/settings/mixins/urls.html:14
-msgid "URL"
-msgstr ""
+msgstr "Coluna duplicada: \"{col}\""
#: InvenTree/serializers.py:606
+#: templates/InvenTree/settings/mixins/urls.html:14
+msgid "URL"
+msgstr "Endereço da URL"
+
+#: InvenTree/serializers.py:607
msgid "URL of remote image file"
-msgstr ""
+msgstr "URL do arquivo de imagem remoto"
-#: InvenTree/serializers.py:620
+#: InvenTree/serializers.py:621
msgid "Downloading images from remote URL is not enabled"
-msgstr ""
-
-#: InvenTree/settings.py:621
-msgid "Czech"
-msgstr ""
-
-#: InvenTree/settings.py:622
-msgid "Danish"
-msgstr ""
-
-#: InvenTree/settings.py:623
-msgid "German"
-msgstr ""
-
-#: InvenTree/settings.py:624
-msgid "Greek"
-msgstr ""
-
-#: InvenTree/settings.py:625
-msgid "English"
-msgstr ""
-
-#: InvenTree/settings.py:626
-msgid "Spanish"
-msgstr ""
+msgstr "Baixar imagens de URL remota não está habilitado"
#: InvenTree/settings.py:627
-msgid "Spanish (Mexican)"
-msgstr ""
+msgid "Czech"
+msgstr "Tcheco"
#: InvenTree/settings.py:628
-msgid "Farsi / Persian"
-msgstr ""
+msgid "Danish"
+msgstr "Dinamarquês"
#: InvenTree/settings.py:629
-msgid "French"
-msgstr ""
+msgid "German"
+msgstr "Alemão"
#: InvenTree/settings.py:630
-msgid "Hebrew"
-msgstr ""
+msgid "Greek"
+msgstr "Grego"
#: InvenTree/settings.py:631
-msgid "Hungarian"
-msgstr ""
+msgid "English"
+msgstr "Inglês"
#: InvenTree/settings.py:632
-msgid "Italian"
-msgstr ""
+msgid "Spanish"
+msgstr "Espanhol"
#: InvenTree/settings.py:633
-msgid "Japanese"
-msgstr ""
+msgid "Spanish (Mexican)"
+msgstr "Espanhol (Mexicano)"
#: InvenTree/settings.py:634
-msgid "Korean"
-msgstr ""
+msgid "Farsi / Persian"
+msgstr "Persa"
#: InvenTree/settings.py:635
-msgid "Dutch"
-msgstr ""
+msgid "French"
+msgstr "Francês"
#: InvenTree/settings.py:636
-msgid "Norwegian"
-msgstr ""
+msgid "Hebrew"
+msgstr "Hebraico"
#: InvenTree/settings.py:637
-msgid "Polish"
-msgstr ""
+msgid "Hungarian"
+msgstr "Húngaro"
#: InvenTree/settings.py:638
+msgid "Italian"
+msgstr "Italiano"
+
+#: InvenTree/settings.py:639
+msgid "Japanese"
+msgstr "Japonês"
+
+#: InvenTree/settings.py:640
+msgid "Korean"
+msgstr "Coreano"
+
+#: InvenTree/settings.py:641
+msgid "Dutch"
+msgstr "Holandês"
+
+#: InvenTree/settings.py:642
+msgid "Norwegian"
+msgstr "Norueguês"
+
+#: InvenTree/settings.py:643
+msgid "Polish"
+msgstr "Polonês"
+
+#: InvenTree/settings.py:644
msgid "Portuguese"
msgstr ""
-#: InvenTree/settings.py:639
+#: InvenTree/settings.py:645
msgid "Portuguese (Brazilian)"
msgstr ""
-#: InvenTree/settings.py:640
+#: InvenTree/settings.py:646
msgid "Russian"
msgstr ""
-#: InvenTree/settings.py:641
+#: InvenTree/settings.py:647
msgid "Swedish"
msgstr ""
-#: InvenTree/settings.py:642
+#: InvenTree/settings.py:648
msgid "Thai"
msgstr ""
-#: InvenTree/settings.py:643
+#: InvenTree/settings.py:649
msgid "Turkish"
msgstr ""
-#: InvenTree/settings.py:644
+#: InvenTree/settings.py:650
msgid "Vietnamese"
msgstr ""
-#: InvenTree/settings.py:645
+#: InvenTree/settings.py:651
msgid "Chinese"
msgstr ""
-#: InvenTree/status.py:99
+#: InvenTree/status.py:98
msgid "Background worker check failed"
msgstr ""
-#: InvenTree/status.py:103
+#: InvenTree/status.py:102
msgid "Email backend not configured"
msgstr ""
-#: InvenTree/status.py:106
+#: InvenTree/status.py:105
msgid "InvenTree system health checks failed"
msgstr ""
#: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140
-#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:342
+#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:346
msgid "Pending"
msgstr ""
@@ -561,8 +563,8 @@ msgstr ""
msgid "Returned"
msgstr ""
-#: InvenTree/status_codes.py:141 order/models.py:1142
-#: templates/js/translated/order.js:3625 templates/js/translated/order.js:3974
+#: InvenTree/status_codes.py:141 order/models.py:1165
+#: templates/js/translated/order.js:3636 templates/js/translated/order.js:3971
msgid "Shipped"
msgstr ""
@@ -646,7 +648,7 @@ msgstr ""
msgid "Split child item"
msgstr ""
-#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2086
+#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2104
msgid "Merged stock items"
msgstr ""
@@ -654,7 +656,7 @@ msgstr ""
msgid "Converted to variant"
msgstr ""
-#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:229
+#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:233
msgid "Sent to customer"
msgstr ""
@@ -746,7 +748,7 @@ msgstr ""
#: build/models.py:111 build/templates/build/build_base.html:13
#: build/templates/build/index.html:8 build/templates/build/index.html:12
-#: order/templates/order/sales_order_detail.html:120
+#: order/templates/order/sales_order_detail.html:125
#: order/templates/order/so_sidebar.html:13
#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221
#: templates/InvenTree/search.html:141
@@ -759,15 +761,15 @@ msgstr ""
msgid "Build Order Reference"
msgstr ""
-#: build/models.py:155 order/models.py:240 order/models.py:632
-#: order/models.py:918 part/models.py:2684
+#: build/models.py:155 order/models.py:241 order/models.py:651
+#: order/models.py:941 part/admin.py:224 part/models.py:3297
#: part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:92
-#: templates/js/translated/bom.js:716 templates/js/translated/bom.js:897
-#: templates/js/translated/build.js:1843 templates/js/translated/order.js:2251
-#: templates/js/translated/order.js:2481 templates/js/translated/order.js:3818
-#: templates/js/translated/order.js:4323
+#: templates/js/translated/bom.js:729 templates/js/translated/bom.js:905
+#: templates/js/translated/build.js:1843 templates/js/translated/order.js:2290
+#: templates/js/translated/order.js:2508 templates/js/translated/order.js:3833
+#: templates/js/translated/order.js:4324 templates/js/translated/pricing.js:119
msgid "Reference"
msgstr ""
@@ -785,39 +787,40 @@ msgid "BuildOrder to which this build is allocated"
msgstr ""
#: build/models.py:180 build/templates/build/build_base.html:80
-#: build/templates/build/detail.html:29 company/models.py:680
-#: order/models.py:1015 order/models.py:1126 order/models.py:1127
-#: part/models.py:343 part/models.py:2200 part/models.py:2215
-#: part/models.py:2234 part/models.py:2252 part/models.py:2351
-#: part/models.py:2472 part/models.py:2564 part/models.py:2649
-#: part/models.py:2943 part/serializers.py:828
+#: build/templates/build/detail.html:29 company/models.py:684
+#: order/models.py:1038 order/models.py:1149 order/models.py:1150
+#: part/models.py:362 part/models.py:2700 part/models.py:2813
+#: part/models.py:2828 part/models.py:2847 part/models.py:2865
+#: part/models.py:2964 part/models.py:3085 part/models.py:3177
+#: part/models.py:3262 part/models.py:3578 part/serializers.py:852
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
#: report/templates/report/inventree_build_order_base.html:109
#: report/templates/report/inventree_po_report.html:89
-#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:86
-#: stock/serializers.py:494 templates/InvenTree/search.html:82
+#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:90
+#: stock/serializers.py:488 templates/InvenTree/search.html:82
#: templates/email/build_order_completed.html:17
#: templates/email/build_order_required_stock.html:17
#: templates/email/low_stock_notification.html:16
#: templates/email/overdue_build_order.html:16
-#: templates/js/translated/barcode.js:479 templates/js/translated/bom.js:578
-#: templates/js/translated/bom.js:715 templates/js/translated/bom.js:841
+#: templates/js/translated/barcode.js:479 templates/js/translated/bom.js:591
+#: templates/js/translated/bom.js:728 templates/js/translated/bom.js:849
#: templates/js/translated/build.js:1214 templates/js/translated/build.js:1711
#: templates/js/translated/build.js:2194 templates/js/translated/build.js:2585
-#: templates/js/translated/company.js:301
-#: templates/js/translated/company.js:531
-#: templates/js/translated/company.js:643
-#: templates/js/translated/company.js:904 templates/js/translated/order.js:106
-#: templates/js/translated/order.js:1134 templates/js/translated/order.js:1638
-#: templates/js/translated/order.js:2205 templates/js/translated/order.js:3180
-#: templates/js/translated/order.js:3576 templates/js/translated/order.js:3802
-#: templates/js/translated/part.js:1172 templates/js/translated/part.js:1244
-#: templates/js/translated/part.js:1442 templates/js/translated/stock.js:586
-#: templates/js/translated/stock.js:751 templates/js/translated/stock.js:958
-#: templates/js/translated/stock.js:1700 templates/js/translated/stock.js:2514
-#: templates/js/translated/stock.js:2709 templates/js/translated/stock.js:2843
+#: templates/js/translated/company.js:302
+#: templates/js/translated/company.js:532
+#: templates/js/translated/company.js:644
+#: templates/js/translated/company.js:905 templates/js/translated/order.js:106
+#: templates/js/translated/order.js:1168 templates/js/translated/order.js:1672
+#: templates/js/translated/order.js:2244 templates/js/translated/order.js:3191
+#: templates/js/translated/order.js:3587 templates/js/translated/order.js:3817
+#: templates/js/translated/part.js:1193 templates/js/translated/part.js:1265
+#: templates/js/translated/part.js:1452 templates/js/translated/pricing.js:102
+#: templates/js/translated/stock.js:605 templates/js/translated/stock.js:770
+#: templates/js/translated/stock.js:977 templates/js/translated/stock.js:1719
+#: templates/js/translated/stock.js:2532 templates/js/translated/stock.js:2727
+#: templates/js/translated/stock.js:2861
msgid "Part"
msgstr ""
@@ -834,7 +837,7 @@ msgid "SalesOrder to which this build is allocated"
msgstr ""
#: build/models.py:202 build/serializers.py:822
-#: templates/js/translated/build.js:2182 templates/js/translated/order.js:3168
+#: templates/js/translated/build.js:2182 templates/js/translated/order.js:3179
msgid "Source Location"
msgstr ""
@@ -874,8 +877,8 @@ msgstr ""
msgid "Build status code"
msgstr ""
-#: build/models.py:245 build/serializers.py:224 order/serializers.py:464
-#: stock/models.py:664 templates/js/translated/order.js:1496
+#: build/models.py:245 build/serializers.py:224 order/serializers.py:455
+#: stock/models.py:680 templates/js/translated/order.js:1530
msgid "Batch Code"
msgstr ""
@@ -883,12 +886,12 @@ msgstr ""
msgid "Batch code for this build output"
msgstr ""
-#: build/models.py:252 order/models.py:86 part/models.py:952
-#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2839
+#: build/models.py:252 order/models.py:87 part/models.py:971
+#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2850
msgid "Creation Date"
msgstr ""
-#: build/models.py:256 order/models.py:662
+#: build/models.py:256 order/models.py:681
msgid "Target completion date"
msgstr ""
@@ -896,7 +899,7 @@ msgstr ""
msgid "Target date for build completion. Build will be overdue after this date."
msgstr ""
-#: build/models.py:260 order/models.py:291
+#: build/models.py:260 order/models.py:292
#: templates/js/translated/build.js:2662
msgid "Completion Date"
msgstr ""
@@ -914,11 +917,11 @@ msgid "User who issued this build order"
msgstr ""
#: build/models.py:283 build/templates/build/build_base.html:193
-#: build/templates/build/detail.html:115 order/models.py:100
+#: build/templates/build/detail.html:115 order/models.py:101
#: order/templates/order/order_base.html:185
-#: order/templates/order/sales_order_base.html:183 part/models.py:956
+#: order/templates/order/sales_order_base.html:183 part/models.py:975
#: report/templates/report/inventree_build_order_base.html:158
-#: templates/js/translated/build.js:2642 templates/js/translated/order.js:2022
+#: templates/js/translated/build.js:2642 templates/js/translated/order.js:2056
msgid "Responsible"
msgstr ""
@@ -929,7 +932,7 @@ msgstr ""
#: build/models.py:289 build/templates/build/detail.html:101
#: company/templates/company/manufacturer_part.html:107
#: company/templates/company/supplier_part.html:188
-#: part/templates/part/part_base.html:361 stock/models.py:658
+#: part/templates/part/part_base.html:376 stock/models.py:674
#: stock/templates/stock/item_base.html:203
msgid "External Link"
msgstr ""
@@ -968,11 +971,11 @@ msgstr ""
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr ""
-#: build/models.py:1191 order/models.py:1393
+#: build/models.py:1191 order/models.py:1416
msgid "Stock item is over-allocated"
msgstr ""
-#: build/models.py:1197 order/models.py:1396
+#: build/models.py:1197 order/models.py:1419
msgid "Allocation quantity must be greater than zero"
msgstr ""
@@ -994,18 +997,18 @@ msgstr ""
msgid "Build to allocate parts"
msgstr ""
-#: build/models.py:1346 build/serializers.py:663 order/serializers.py:1039
-#: order/serializers.py:1060 stock/serializers.py:398 stock/serializers.py:758
-#: stock/serializers.py:884 stock/templates/stock/item_base.html:10
+#: build/models.py:1346 build/serializers.py:663 order/serializers.py:1032
+#: order/serializers.py:1053 stock/serializers.py:392 stock/serializers.py:757
+#: stock/serializers.py:883 stock/templates/stock/item_base.html:10
#: stock/templates/stock/item_base.html:23
#: stock/templates/stock/item_base.html:197
#: templates/js/translated/build.js:790 templates/js/translated/build.js:795
#: templates/js/translated/build.js:2196 templates/js/translated/build.js:2747
-#: templates/js/translated/order.js:107 templates/js/translated/order.js:3181
-#: templates/js/translated/order.js:3483 templates/js/translated/order.js:3488
-#: templates/js/translated/order.js:3583 templates/js/translated/order.js:3675
-#: templates/js/translated/stock.js:587 templates/js/translated/stock.js:752
-#: templates/js/translated/stock.js:2587
+#: templates/js/translated/order.js:107 templates/js/translated/order.js:3192
+#: templates/js/translated/order.js:3494 templates/js/translated/order.js:3499
+#: templates/js/translated/order.js:3594 templates/js/translated/order.js:3686
+#: templates/js/translated/stock.js:606 templates/js/translated/stock.js:771
+#: templates/js/translated/stock.js:2605
msgid "Stock Item"
msgstr ""
@@ -1015,12 +1018,10 @@ msgstr ""
#: build/models.py:1359 build/serializers.py:192
#: build/templates/build/build_base.html:85
-#: build/templates/build/detail.html:34 common/models.py:1776
-#: company/templates/company/supplier_part.html:341 order/models.py:911
-#: order/models.py:1437 order/serializers.py:1213
-#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:40
-#: part/models.py:2665 part/templates/part/detail.html:938
-#: part/templates/part/detail.html:1024
+#: build/templates/build/detail.html:34 common/models.py:1788
+#: order/models.py:934 order/models.py:1460 order/serializers.py:1206
+#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:223
+#: part/forms.py:40 part/models.py:3278
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_build_order_base.html:113
@@ -1028,25 +1029,29 @@ msgstr ""
#: report/templates/report/inventree_so_report.html:91
#: report/templates/report/inventree_test_report_base.html:81
#: report/templates/report/inventree_test_report_base.html:139
-#: stock/serializers.py:291 stock/templates/stock/item_base.html:290
+#: stock/admin.py:86 stock/serializers.py:285
+#: stock/templates/stock/item_base.html:290
#: stock/templates/stock/item_base.html:298
#: templates/email/build_order_completed.html:18
-#: templates/js/translated/barcode.js:481 templates/js/translated/bom.js:717
-#: templates/js/translated/bom.js:905 templates/js/translated/build.js:474
+#: templates/js/translated/barcode.js:481 templates/js/translated/bom.js:730
+#: templates/js/translated/bom.js:913 templates/js/translated/build.js:474
#: templates/js/translated/build.js:626 templates/js/translated/build.js:817
#: templates/js/translated/build.js:1236 templates/js/translated/build.js:1737
#: templates/js/translated/build.js:2197
+#: templates/js/translated/company.js:1159
#: templates/js/translated/model_renderers.js:120
-#: templates/js/translated/order.js:123 templates/js/translated/order.js:1137
-#: templates/js/translated/order.js:2257 templates/js/translated/order.js:2487
-#: templates/js/translated/order.js:3182 templates/js/translated/order.js:3502
-#: templates/js/translated/order.js:3589 templates/js/translated/order.js:3681
-#: templates/js/translated/order.js:3824 templates/js/translated/order.js:4329
-#: templates/js/translated/part.js:1036 templates/js/translated/part.js:2220
-#: templates/js/translated/part.js:2689 templates/js/translated/part.js:2730
-#: templates/js/translated/part.js:2808 templates/js/translated/stock.js:458
-#: templates/js/translated/stock.js:612 templates/js/translated/stock.js:782
-#: templates/js/translated/stock.js:2636 templates/js/translated/stock.js:2721
+#: templates/js/translated/order.js:123 templates/js/translated/order.js:1171
+#: templates/js/translated/order.js:2296 templates/js/translated/order.js:2514
+#: templates/js/translated/order.js:3193 templates/js/translated/order.js:3513
+#: templates/js/translated/order.js:3600 templates/js/translated/order.js:3692
+#: templates/js/translated/order.js:3839 templates/js/translated/order.js:4330
+#: templates/js/translated/part.js:1063 templates/js/translated/part.js:2546
+#: templates/js/translated/pricing.js:114
+#: templates/js/translated/pricing.js:207
+#: templates/js/translated/pricing.js:255
+#: templates/js/translated/pricing.js:349 templates/js/translated/stock.js:477
+#: templates/js/translated/stock.js:631 templates/js/translated/stock.js:801
+#: templates/js/translated/stock.js:2654 templates/js/translated/stock.js:2739
msgid "Quantity"
msgstr ""
@@ -1087,10 +1092,10 @@ msgstr ""
msgid "Enter quantity for build output"
msgstr ""
-#: build/serializers.py:207 build/serializers.py:683 order/models.py:323
-#: order/serializers.py:304 order/serializers.py:459 part/serializers.py:558
-#: part/serializers.py:991 stock/models.py:518 stock/models.py:1253
-#: stock/serializers.py:300
+#: build/serializers.py:207 build/serializers.py:683 order/models.py:327
+#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:644
+#: part/serializers.py:1015 stock/models.py:534 stock/models.py:1269
+#: stock/serializers.py:294
msgid "Quantity must be greater than zero"
msgstr ""
@@ -1102,9 +1107,9 @@ msgstr ""
msgid "Integer quantity required, as the bill of materials contains trackable parts"
msgstr ""
-#: build/serializers.py:231 order/serializers.py:472 order/serializers.py:1217
-#: stock/serializers.py:309 templates/js/translated/order.js:1507
-#: templates/js/translated/stock.js:271 templates/js/translated/stock.js:459
+#: build/serializers.py:231 order/serializers.py:463 order/serializers.py:1210
+#: stock/serializers.py:303 templates/js/translated/order.js:1541
+#: templates/js/translated/stock.js:290 templates/js/translated/stock.js:478
msgid "Serial Numbers"
msgstr ""
@@ -1120,7 +1125,7 @@ msgstr ""
msgid "Automatically allocate required items with matching serial numbers"
msgstr ""
-#: build/serializers.py:281 stock/api.py:589
+#: build/serializers.py:281 stock/api.py:599
msgid "The following serial numbers already exist or are invalid"
msgstr ""
@@ -1128,18 +1133,18 @@ msgstr ""
msgid "A list of build outputs must be provided"
msgstr ""
-#: build/serializers.py:369 order/serializers.py:445 order/serializers.py:556
-#: stock/serializers.py:320 stock/serializers.py:455 stock/serializers.py:536
-#: stock/serializers.py:919 stock/serializers.py:1152
+#: build/serializers.py:369 order/serializers.py:436 order/serializers.py:547
+#: stock/serializers.py:314 stock/serializers.py:449 stock/serializers.py:530
+#: stock/serializers.py:918 stock/serializers.py:1151
#: stock/templates/stock/item_base.html:388
#: templates/js/translated/barcode.js:480
#: templates/js/translated/barcode.js:724 templates/js/translated/build.js:802
-#: templates/js/translated/build.js:1749 templates/js/translated/order.js:1534
-#: templates/js/translated/order.js:3495 templates/js/translated/order.js:3600
-#: templates/js/translated/order.js:3608 templates/js/translated/order.js:3689
-#: templates/js/translated/part.js:181 templates/js/translated/stock.js:588
-#: templates/js/translated/stock.js:753 templates/js/translated/stock.js:960
-#: templates/js/translated/stock.js:1856 templates/js/translated/stock.js:2528
+#: templates/js/translated/build.js:1749 templates/js/translated/order.js:1568
+#: templates/js/translated/order.js:3506 templates/js/translated/order.js:3611
+#: templates/js/translated/order.js:3619 templates/js/translated/order.js:3700
+#: templates/js/translated/part.js:177 templates/js/translated/stock.js:607
+#: templates/js/translated/stock.js:772 templates/js/translated/stock.js:979
+#: templates/js/translated/stock.js:1875 templates/js/translated/stock.js:2546
msgid "Location"
msgstr ""
@@ -1148,12 +1153,13 @@ msgid "Location for completed build outputs"
msgstr ""
#: build/serializers.py:376 build/templates/build/build_base.html:145
-#: build/templates/build/detail.html:62 order/models.py:651
-#: order/serializers.py:482 stock/templates/stock/item_base.html:421
+#: build/templates/build/detail.html:62 order/models.py:670
+#: order/serializers.py:473 stock/admin.py:89
+#: stock/templates/stock/item_base.html:421
#: templates/js/translated/barcode.js:214 templates/js/translated/build.js:2614
-#: templates/js/translated/order.js:1643 templates/js/translated/order.js:1992
-#: templates/js/translated/order.js:2831 templates/js/translated/stock.js:1831
-#: templates/js/translated/stock.js:2605 templates/js/translated/stock.js:2737
+#: templates/js/translated/order.js:1677 templates/js/translated/order.js:2026
+#: templates/js/translated/order.js:2842 templates/js/translated/stock.js:1850
+#: templates/js/translated/stock.js:2623 templates/js/translated/stock.js:2755
msgid "Status"
msgstr ""
@@ -1213,7 +1219,7 @@ msgstr ""
msgid "Required stock has not been fully allocated"
msgstr ""
-#: build/serializers.py:545 order/serializers.py:208 order/serializers.py:1107
+#: build/serializers.py:545 order/serializers.py:202 order/serializers.py:1100
msgid "Accept Incomplete"
msgstr ""
@@ -1229,8 +1235,8 @@ msgstr ""
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:595 build/serializers.py:640 part/models.py:2801
-#: part/models.py:2935
+#: build/serializers.py:595 build/serializers.py:640 part/models.py:3414
+#: part/models.py:3570
msgid "BOM Item"
msgstr ""
@@ -1246,11 +1252,11 @@ msgstr ""
msgid "bom_item.part must point to the same part as the build order"
msgstr ""
-#: build/serializers.py:669 stock/serializers.py:771
+#: build/serializers.py:669 stock/serializers.py:770
msgid "Item must be in stock"
msgstr ""
-#: build/serializers.py:727 order/serializers.py:1097
+#: build/serializers.py:727 order/serializers.py:1090
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr ""
@@ -1267,7 +1273,7 @@ msgstr ""
msgid "This stock item has already been allocated to this build output"
msgstr ""
-#: build/serializers.py:768 order/serializers.py:1381
+#: build/serializers.py:768 order/serializers.py:1374
msgid "Allocation items must be provided"
msgstr ""
@@ -1382,13 +1388,13 @@ msgid "Stock has not been fully allocated to this Build Order"
msgstr ""
#: build/templates/build/build_base.html:154
-#: build/templates/build/detail.html:131 order/models.py:924
+#: build/templates/build/detail.html:131 order/models.py:947
#: order/templates/order/order_base.html:171
#: order/templates/order/sales_order_base.html:164
#: report/templates/report/inventree_build_order_base.html:125
-#: templates/js/translated/build.js:2654 templates/js/translated/order.js:2009
-#: templates/js/translated/order.js:2351 templates/js/translated/order.js:2847
-#: templates/js/translated/order.js:3887 templates/js/translated/part.js:1051
+#: templates/js/translated/build.js:2654 templates/js/translated/order.js:2043
+#: templates/js/translated/order.js:2374 templates/js/translated/order.js:2858
+#: templates/js/translated/order.js:3884 templates/js/translated/part.js:1078
msgid "Target Date"
msgstr ""
@@ -1401,29 +1407,29 @@ msgstr ""
#: build/templates/build/build_base.html:204
#: order/templates/order/order_base.html:107
#: order/templates/order/sales_order_base.html:94
-#: templates/js/translated/table_filters.js:328
-#: templates/js/translated/table_filters.js:369
-#: templates/js/translated/table_filters.js:399
+#: templates/js/translated/table_filters.js:332
+#: templates/js/translated/table_filters.js:373
+#: templates/js/translated/table_filters.js:403
msgid "Overdue"
msgstr ""
#: build/templates/build/build_base.html:166
#: build/templates/build/detail.html:67 build/templates/build/detail.html:142
#: order/templates/order/sales_order_base.html:171
-#: templates/js/translated/table_filters.js:408
+#: templates/js/translated/table_filters.js:412
msgid "Completed"
msgstr ""
#: build/templates/build/build_base.html:179
-#: build/templates/build/detail.html:94 order/models.py:1119
-#: order/models.py:1213 order/models.py:1344
+#: build/templates/build/detail.html:94 order/models.py:1142
+#: order/models.py:1236 order/models.py:1367
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
#: report/templates/report/inventree_build_order_base.html:135
#: report/templates/report/inventree_so_report.html:77
#: stock/templates/stock/item_base.html:368
#: templates/email/overdue_sales_order.html:15
-#: templates/js/translated/order.js:2793
+#: templates/js/translated/order.js:2804 templates/js/translated/pricing.js:637
msgid "Sales Order"
msgstr ""
@@ -1449,8 +1455,8 @@ msgstr ""
msgid "Stock can be taken from any available location."
msgstr ""
-#: build/templates/build/detail.html:49 order/models.py:1037
-#: templates/js/translated/order.js:1644 templates/js/translated/order.js:2393
+#: build/templates/build/detail.html:49 order/models.py:1060
+#: templates/js/translated/order.js:1678 templates/js/translated/order.js:2416
msgid "Destination"
msgstr ""
@@ -1462,14 +1468,14 @@ msgstr ""
msgid "Allocated Parts"
msgstr ""
-#: build/templates/build/detail.html:80
+#: build/templates/build/detail.html:80 stock/admin.py:88
#: stock/templates/stock/item_base.html:168
#: templates/js/translated/build.js:1240
#: templates/js/translated/model_renderers.js:124
-#: templates/js/translated/stock.js:1026 templates/js/translated/stock.js:1845
-#: templates/js/translated/stock.js:2744
-#: templates/js/translated/table_filters.js:167
-#: templates/js/translated/table_filters.js:258
+#: templates/js/translated/stock.js:1045 templates/js/translated/stock.js:1864
+#: templates/js/translated/stock.js:2762
+#: templates/js/translated/table_filters.js:171
+#: templates/js/translated/table_filters.js:262
msgid "Batch"
msgstr ""
@@ -1527,7 +1533,7 @@ msgstr ""
#: build/templates/build/detail.html:187
#: company/templates/company/detail.html:37
#: company/templates/company/detail.html:85
-#: part/templates/part/category.html:178 templates/js/translated/order.js:1177
+#: part/templates/part/category.html:178 templates/js/translated/order.js:1211
msgid "Order Parts"
msgstr ""
@@ -1597,10 +1603,10 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:151
#: company/templates/company/manufacturer_part_sidebar.html:9
#: order/templates/order/po_sidebar.html:9
-#: order/templates/order/purchase_order_detail.html:82
-#: order/templates/order/sales_order_detail.html:135
-#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:212
-#: part/templates/part/part_sidebar.html:57 stock/templates/stock/item.html:117
+#: order/templates/order/purchase_order_detail.html:86
+#: order/templates/order/sales_order_detail.html:140
+#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:210
+#: part/templates/part/part_sidebar.html:55 stock/templates/stock/item.html:117
#: stock/templates/stock/stock_sidebar.html:23
msgid "Attachments"
msgstr ""
@@ -1617,7 +1623,7 @@ msgstr ""
msgid "All untracked stock items have been allocated"
msgstr ""
-#: build/templates/build/index.html:18 part/templates/part/detail.html:318
+#: build/templates/build/index.html:18 part/templates/part/detail.html:316
msgid "New Build Order"
msgstr ""
@@ -1734,7 +1740,7 @@ msgstr ""
msgid "Show the `about` modal only to superusers"
msgstr ""
-#: common/models.py:833 company/models.py:94 company/models.py:95
+#: common/models.py:833 company/models.py:98 company/models.py:99
msgid "Company name"
msgstr ""
@@ -1902,9 +1908,9 @@ msgstr ""
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:1002 part/models.py:2474 report/models.py:158
-#: templates/js/translated/table_filters.js:38
-#: templates/js/translated/table_filters.js:492
+#: common/models.py:1002 part/admin.py:41 part/models.py:3087
+#: report/models.py:158 templates/js/translated/table_filters.js:38
+#: templates/js/translated/table_filters.js:496
msgid "Template"
msgstr ""
@@ -1912,9 +1918,10 @@ msgstr ""
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:1009 part/models.py:908 templates/js/translated/bom.js:1531
-#: templates/js/translated/table_filters.js:184
-#: templates/js/translated/table_filters.js:455
+#: common/models.py:1009 part/admin.py:37 part/admin.py:229 part/models.py:927
+#: templates/js/translated/bom.js:1594
+#: templates/js/translated/table_filters.js:188
+#: templates/js/translated/table_filters.js:459
msgid "Assembly"
msgstr ""
@@ -1922,8 +1929,8 @@ msgstr ""
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:1016 part/models.py:914
-#: templates/js/translated/table_filters.js:463
+#: common/models.py:1016 part/admin.py:38 part/models.py:933
+#: templates/js/translated/table_filters.js:467
msgid "Component"
msgstr ""
@@ -1931,7 +1938,7 @@ msgstr ""
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:1023 part/models.py:925
+#: common/models.py:1023 part/admin.py:39 part/models.py:944
msgid "Purchaseable"
msgstr ""
@@ -1939,8 +1946,8 @@ msgstr ""
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:1030 part/models.py:930
-#: templates/js/translated/table_filters.js:484
+#: common/models.py:1030 part/admin.py:40 part/models.py:949
+#: templates/js/translated/table_filters.js:488
msgid "Salable"
msgstr ""
@@ -1948,10 +1955,10 @@ msgstr ""
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:1037 part/models.py:920
+#: common/models.py:1037 part/admin.py:42 part/models.py:939
#: templates/js/translated/table_filters.js:46
-#: templates/js/translated/table_filters.js:116
-#: templates/js/translated/table_filters.js:496
+#: templates/js/translated/table_filters.js:120
+#: templates/js/translated/table_filters.js:500
msgid "Trackable"
msgstr ""
@@ -1959,10 +1966,10 @@ msgstr ""
msgid "Parts are trackable by default"
msgstr ""
-#: common/models.py:1044 part/models.py:940
+#: common/models.py:1044 part/admin.py:43 part/models.py:959
#: part/templates/part/part_base.html:156
#: templates/js/translated/table_filters.js:42
-#: templates/js/translated/table_filters.js:500
+#: templates/js/translated/table_filters.js:504
msgid "Virtual"
msgstr ""
@@ -1979,791 +1986,837 @@ msgid "Display the import wizard in some part views"
msgstr ""
#: common/models.py:1058
-msgid "Show Price in Forms"
-msgstr ""
-
-#: common/models.py:1059
-msgid "Display part price in some forms"
-msgstr ""
-
-#: common/models.py:1070
-msgid "Show Price in BOM"
-msgstr ""
-
-#: common/models.py:1071
-msgid "Include pricing information in BOM tables"
-msgstr ""
-
-#: common/models.py:1082
-msgid "Show Price History"
-msgstr ""
-
-#: common/models.py:1083
-msgid "Display historical pricing for Part"
-msgstr ""
-
-#: common/models.py:1089
msgid "Show related parts"
msgstr ""
-#: common/models.py:1090
+#: common/models.py:1059
msgid "Display related parts for a part"
msgstr ""
-#: common/models.py:1096
+#: common/models.py:1065
msgid "Create initial stock"
msgstr ""
-#: common/models.py:1097
+#: common/models.py:1066
msgid "Create initial stock on part creation"
msgstr ""
-#: common/models.py:1103
-msgid "Internal Prices"
-msgstr ""
-
-#: common/models.py:1104
-msgid "Enable internal prices for parts"
-msgstr ""
-
-#: common/models.py:1110
-msgid "Internal Price as BOM-Price"
-msgstr ""
-
-#: common/models.py:1111
-msgid "Use the internal price (if set) in BOM-price calculations"
-msgstr ""
-
-#: common/models.py:1117
+#: common/models.py:1072
msgid "Part Name Display Format"
msgstr ""
-#: common/models.py:1118
+#: common/models.py:1073
msgid "Format to display the part name"
msgstr ""
-#: common/models.py:1125
+#: common/models.py:1080
msgid "Part Category Default Icon"
msgstr ""
-#: common/models.py:1126
+#: common/models.py:1081
msgid "Part category default icon (empty means no icon)"
msgstr ""
-#: common/models.py:1131
-msgid "Enable label printing"
+#: common/models.py:1086
+msgid "Pricing Decimal Places"
msgstr ""
-#: common/models.py:1132
-msgid "Enable label printing from the web interface"
+#: common/models.py:1087
+msgid "Number of decimal places to display when rendering pricing data"
msgstr ""
-#: common/models.py:1138
-msgid "Label Image DPI"
+#: common/models.py:1097
+msgid "Pricing Rebuild Time"
msgstr ""
-#: common/models.py:1139
-msgid "DPI resolution when generating image files to supply to label printing plugins"
+#: common/models.py:1098
+msgid "Number of days before part pricing is automatically updated"
msgstr ""
-#: common/models.py:1148
-msgid "Enable Reports"
-msgstr ""
-
-#: common/models.py:1149
-msgid "Enable generation of reports"
-msgstr ""
-
-#: common/models.py:1155 templates/stats.html:25
-msgid "Debug Mode"
-msgstr ""
-
-#: common/models.py:1156
-msgid "Generate reports in debug mode (HTML output)"
-msgstr ""
-
-#: common/models.py:1162
-msgid "Page Size"
-msgstr ""
-
-#: common/models.py:1163
-msgid "Default page size for PDF reports"
-msgstr ""
-
-#: common/models.py:1173
-msgid "Enable Test Reports"
-msgstr ""
-
-#: common/models.py:1174
-msgid "Enable generation of test reports"
-msgstr ""
-
-#: common/models.py:1180
-msgid "Attach Test Reports"
-msgstr ""
-
-#: common/models.py:1181
-msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item"
-msgstr ""
-
-#: common/models.py:1187
-msgid "Globally Unique Serials"
-msgstr ""
-
-#: common/models.py:1188
-msgid "Serial numbers for stock items must be globally unique"
-msgstr ""
-
-#: common/models.py:1194
-msgid "Batch Code Template"
-msgstr ""
-
-#: common/models.py:1195
-msgid "Template for generating default batch codes for stock items"
-msgstr ""
-
-#: common/models.py:1200
-msgid "Stock Expiry"
-msgstr ""
-
-#: common/models.py:1201
-msgid "Enable stock expiry functionality"
-msgstr ""
-
-#: common/models.py:1207
-msgid "Sell Expired Stock"
-msgstr ""
-
-#: common/models.py:1208
-msgid "Allow sale of expired stock"
-msgstr ""
-
-#: common/models.py:1214
-msgid "Stock Stale Time"
-msgstr ""
-
-#: common/models.py:1215
-msgid "Number of days stock items are considered stale before expiring"
-msgstr ""
-
-#: common/models.py:1217
+#: common/models.py:1099 common/models.py:1208
msgid "days"
msgstr ""
-#: common/models.py:1222
+#: common/models.py:1108
+msgid "Internal Prices"
+msgstr ""
+
+#: common/models.py:1109
+msgid "Enable internal prices for parts"
+msgstr ""
+
+#: common/models.py:1115
+msgid "Internal Price Override"
+msgstr ""
+
+#: common/models.py:1116
+msgid "If available, internal prices override price range calculations"
+msgstr ""
+
+#: common/models.py:1122
+msgid "Enable label printing"
+msgstr ""
+
+#: common/models.py:1123
+msgid "Enable label printing from the web interface"
+msgstr ""
+
+#: common/models.py:1129
+msgid "Label Image DPI"
+msgstr ""
+
+#: common/models.py:1130
+msgid "DPI resolution when generating image files to supply to label printing plugins"
+msgstr ""
+
+#: common/models.py:1139
+msgid "Enable Reports"
+msgstr ""
+
+#: common/models.py:1140
+msgid "Enable generation of reports"
+msgstr ""
+
+#: common/models.py:1146 templates/stats.html:25
+msgid "Debug Mode"
+msgstr ""
+
+#: common/models.py:1147
+msgid "Generate reports in debug mode (HTML output)"
+msgstr ""
+
+#: common/models.py:1153
+msgid "Page Size"
+msgstr ""
+
+#: common/models.py:1154
+msgid "Default page size for PDF reports"
+msgstr ""
+
+#: common/models.py:1164
+msgid "Enable Test Reports"
+msgstr ""
+
+#: common/models.py:1165
+msgid "Enable generation of test reports"
+msgstr ""
+
+#: common/models.py:1171
+msgid "Attach Test Reports"
+msgstr ""
+
+#: common/models.py:1172
+msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item"
+msgstr ""
+
+#: common/models.py:1178
+msgid "Globally Unique Serials"
+msgstr ""
+
+#: common/models.py:1179
+msgid "Serial numbers for stock items must be globally unique"
+msgstr ""
+
+#: common/models.py:1185
+msgid "Batch Code Template"
+msgstr ""
+
+#: common/models.py:1186
+msgid "Template for generating default batch codes for stock items"
+msgstr ""
+
+#: common/models.py:1191
+msgid "Stock Expiry"
+msgstr ""
+
+#: common/models.py:1192
+msgid "Enable stock expiry functionality"
+msgstr ""
+
+#: common/models.py:1198
+msgid "Sell Expired Stock"
+msgstr ""
+
+#: common/models.py:1199
+msgid "Allow sale of expired stock"
+msgstr ""
+
+#: common/models.py:1205
+msgid "Stock Stale Time"
+msgstr ""
+
+#: common/models.py:1206
+msgid "Number of days stock items are considered stale before expiring"
+msgstr ""
+
+#: common/models.py:1213
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:1223
+#: common/models.py:1214
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:1229
+#: common/models.py:1220
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:1230
+#: common/models.py:1221
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:1236
+#: common/models.py:1227
msgid "Stock Location Default Icon"
msgstr ""
-#: common/models.py:1237
+#: common/models.py:1228
msgid "Stock location default icon (empty means no icon)"
msgstr ""
-#: common/models.py:1242
+#: common/models.py:1233
msgid "Build Order Reference Pattern"
msgstr ""
-#: common/models.py:1243
+#: common/models.py:1234
msgid "Required pattern for generating Build Order reference field"
msgstr ""
-#: common/models.py:1249
+#: common/models.py:1240
msgid "Sales Order Reference Pattern"
msgstr ""
-#: common/models.py:1250
+#: common/models.py:1241
msgid "Required pattern for generating Sales Order reference field"
msgstr ""
-#: common/models.py:1256
+#: common/models.py:1247
msgid "Sales Order Default Shipment"
msgstr ""
-#: common/models.py:1257
+#: common/models.py:1248
msgid "Enable creation of default shipment with sales orders"
msgstr ""
-#: common/models.py:1263
+#: common/models.py:1254
+msgid "Edit Completed Sales Orders"
+msgstr ""
+
+#: common/models.py:1255
+msgid "Allow editing of sales orders after they have been shipped or completed"
+msgstr ""
+
+#: common/models.py:1261
msgid "Purchase Order Reference Pattern"
msgstr ""
-#: common/models.py:1264
+#: common/models.py:1262
msgid "Required pattern for generating Purchase Order reference field"
msgstr ""
-#: common/models.py:1271
+#: common/models.py:1268
+msgid "Edit Completed Purchase Orders"
+msgstr ""
+
+#: common/models.py:1269
+msgid "Allow editing of purchase orders after they have been shipped or completed"
+msgstr ""
+
+#: common/models.py:1276
msgid "Enable password forgot"
msgstr ""
-#: common/models.py:1272
+#: common/models.py:1277
msgid "Enable password forgot function on the login pages"
msgstr ""
-#: common/models.py:1278
+#: common/models.py:1283
msgid "Enable registration"
msgstr ""
-#: common/models.py:1279
+#: common/models.py:1284
msgid "Enable self-registration for users on the login pages"
msgstr ""
-#: common/models.py:1285
+#: common/models.py:1290
msgid "Enable SSO"
msgstr ""
-#: common/models.py:1286
+#: common/models.py:1291
msgid "Enable SSO on the login pages"
msgstr ""
-#: common/models.py:1292
+#: common/models.py:1297
msgid "Email required"
msgstr ""
-#: common/models.py:1293
+#: common/models.py:1298
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/models.py:1299
+#: common/models.py:1304
msgid "Auto-fill SSO users"
msgstr ""
-#: common/models.py:1300
+#: common/models.py:1305
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/models.py:1306
+#: common/models.py:1311
msgid "Mail twice"
msgstr ""
-#: common/models.py:1307
+#: common/models.py:1312
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/models.py:1313
+#: common/models.py:1318
msgid "Password twice"
msgstr ""
-#: common/models.py:1314
+#: common/models.py:1319
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/models.py:1320
+#: common/models.py:1325
msgid "Group on signup"
msgstr ""
-#: common/models.py:1321
+#: common/models.py:1326
msgid "Group to which new users are assigned on registration"
msgstr ""
-#: common/models.py:1327
+#: common/models.py:1332
msgid "Enforce MFA"
msgstr ""
-#: common/models.py:1328
+#: common/models.py:1333
msgid "Users must use multifactor security."
msgstr ""
-#: common/models.py:1334
+#: common/models.py:1339
msgid "Check plugins on startup"
msgstr ""
-#: common/models.py:1335
+#: common/models.py:1340
msgid "Check that all plugins are installed on startup - enable in container environments"
msgstr ""
-#: common/models.py:1342
+#: common/models.py:1347
msgid "Check plugin signatures"
msgstr ""
-#: common/models.py:1343
+#: common/models.py:1348
msgid "Check and show signatures for plugins"
msgstr ""
-#: common/models.py:1350
+#: common/models.py:1355
msgid "Enable URL integration"
msgstr ""
-#: common/models.py:1351
+#: common/models.py:1356
msgid "Enable plugins to add URL routes"
msgstr ""
-#: common/models.py:1358
+#: common/models.py:1363
msgid "Enable navigation integration"
msgstr ""
-#: common/models.py:1359
+#: common/models.py:1364
msgid "Enable plugins to integrate into navigation"
msgstr ""
-#: common/models.py:1366
+#: common/models.py:1371
msgid "Enable app integration"
msgstr ""
-#: common/models.py:1367
+#: common/models.py:1372
msgid "Enable plugins to add apps"
msgstr ""
-#: common/models.py:1374
+#: common/models.py:1379
msgid "Enable schedule integration"
msgstr ""
-#: common/models.py:1375
+#: common/models.py:1380
msgid "Enable plugins to run scheduled tasks"
msgstr ""
-#: common/models.py:1382
+#: common/models.py:1387
msgid "Enable event integration"
msgstr ""
-#: common/models.py:1383
+#: common/models.py:1388
msgid "Enable plugins to respond to internal events"
msgstr ""
-#: common/models.py:1402 common/models.py:1737
+#: common/models.py:1407 common/models.py:1749
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:1424
+#: common/models.py:1429
msgid "Show subscribed parts"
msgstr ""
-#: common/models.py:1425
+#: common/models.py:1430
msgid "Show subscribed parts on the homepage"
msgstr ""
-#: common/models.py:1431
+#: common/models.py:1436
msgid "Show subscribed categories"
msgstr ""
-#: common/models.py:1432
+#: common/models.py:1437
msgid "Show subscribed part categories on the homepage"
msgstr ""
-#: common/models.py:1438
+#: common/models.py:1443
msgid "Show latest parts"
msgstr ""
-#: common/models.py:1439
+#: common/models.py:1444
msgid "Show latest parts on the homepage"
msgstr ""
-#: common/models.py:1445
+#: common/models.py:1450
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:1446
+#: common/models.py:1451
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:1452
+#: common/models.py:1457
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:1453
+#: common/models.py:1458
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:1459
+#: common/models.py:1464
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:1460
+#: common/models.py:1465
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:1466
+#: common/models.py:1471
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:1467
+#: common/models.py:1472
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:1473
+#: common/models.py:1478
msgid "Show low stock"
msgstr ""
-#: common/models.py:1474
+#: common/models.py:1479
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:1480
+#: common/models.py:1485
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:1481
+#: common/models.py:1486
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:1487
+#: common/models.py:1492
msgid "Show needed stock"
msgstr ""
-#: common/models.py:1488
+#: common/models.py:1493
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:1494
+#: common/models.py:1499
msgid "Show expired stock"
msgstr ""
-#: common/models.py:1495
+#: common/models.py:1500
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:1501
+#: common/models.py:1506
msgid "Show stale stock"
msgstr ""
-#: common/models.py:1502
+#: common/models.py:1507
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:1508
+#: common/models.py:1513
msgid "Show pending builds"
msgstr ""
-#: common/models.py:1509
+#: common/models.py:1514
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:1515
+#: common/models.py:1520
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:1516
+#: common/models.py:1521
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:1522
+#: common/models.py:1527
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:1523
+#: common/models.py:1528
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:1529
+#: common/models.py:1534
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:1530
+#: common/models.py:1535
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:1536
+#: common/models.py:1541
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:1537
+#: common/models.py:1542
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:1543
+#: common/models.py:1548
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:1544
+#: common/models.py:1549
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:1550
+#: common/models.py:1555
+msgid "Show News"
+msgstr ""
+
+#: common/models.py:1556
+msgid "Show news on the homepage"
+msgstr ""
+
+#: common/models.py:1562
msgid "Inline label display"
msgstr ""
-#: common/models.py:1551
+#: common/models.py:1563
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1557
+#: common/models.py:1569
msgid "Inline report display"
msgstr ""
-#: common/models.py:1558
+#: common/models.py:1570
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1564
+#: common/models.py:1576
msgid "Search Parts"
msgstr ""
-#: common/models.py:1565
+#: common/models.py:1577
msgid "Display parts in search preview window"
msgstr ""
-#: common/models.py:1571
+#: common/models.py:1583
msgid "Seach Supplier Parts"
msgstr ""
-#: common/models.py:1572
+#: common/models.py:1584
msgid "Display supplier parts in search preview window"
msgstr ""
-#: common/models.py:1578
+#: common/models.py:1590
msgid "Search Manufacturer Parts"
msgstr ""
-#: common/models.py:1579
+#: common/models.py:1591
msgid "Display manufacturer parts in search preview window"
msgstr ""
-#: common/models.py:1585
+#: common/models.py:1597
msgid "Hide Inactive Parts"
msgstr ""
-#: common/models.py:1586
+#: common/models.py:1598
msgid "Excluded inactive parts from search preview window"
msgstr ""
-#: common/models.py:1592
+#: common/models.py:1604
msgid "Search Categories"
msgstr ""
-#: common/models.py:1593
+#: common/models.py:1605
msgid "Display part categories in search preview window"
msgstr ""
-#: common/models.py:1599
+#: common/models.py:1611
msgid "Search Stock"
msgstr ""
-#: common/models.py:1600
+#: common/models.py:1612
msgid "Display stock items in search preview window"
msgstr ""
-#: common/models.py:1606
+#: common/models.py:1618
msgid "Hide Unavailable Stock Items"
msgstr ""
-#: common/models.py:1607
+#: common/models.py:1619
msgid "Exclude stock items which are not available from the search preview window"
msgstr ""
-#: common/models.py:1613
+#: common/models.py:1625
msgid "Search Locations"
msgstr ""
-#: common/models.py:1614
+#: common/models.py:1626
msgid "Display stock locations in search preview window"
msgstr ""
-#: common/models.py:1620
+#: common/models.py:1632
msgid "Search Companies"
msgstr ""
-#: common/models.py:1621
+#: common/models.py:1633
msgid "Display companies in search preview window"
msgstr ""
-#: common/models.py:1627
+#: common/models.py:1639
msgid "Search Build Orders"
msgstr ""
-#: common/models.py:1628
+#: common/models.py:1640
msgid "Display build orders in search preview window"
msgstr ""
-#: common/models.py:1634
+#: common/models.py:1646
msgid "Search Purchase Orders"
msgstr ""
-#: common/models.py:1635
+#: common/models.py:1647
msgid "Display purchase orders in search preview window"
msgstr ""
-#: common/models.py:1641
+#: common/models.py:1653
msgid "Exclude Inactive Purchase Orders"
msgstr ""
-#: common/models.py:1642
+#: common/models.py:1654
msgid "Exclude inactive purchase orders from search preview window"
msgstr ""
-#: common/models.py:1648
+#: common/models.py:1660
msgid "Search Sales Orders"
msgstr ""
-#: common/models.py:1649
+#: common/models.py:1661
msgid "Display sales orders in search preview window"
msgstr ""
-#: common/models.py:1655
+#: common/models.py:1667
msgid "Exclude Inactive Sales Orders"
msgstr ""
-#: common/models.py:1656
+#: common/models.py:1668
msgid "Exclude inactive sales orders from search preview window"
msgstr ""
-#: common/models.py:1662
+#: common/models.py:1674
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:1663
+#: common/models.py:1675
msgid "Number of results to show in each section of the search preview window"
msgstr ""
-#: common/models.py:1669
+#: common/models.py:1681
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:1670
+#: common/models.py:1682
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:1676
+#: common/models.py:1688
msgid "Escape Key Closes Forms"
msgstr ""
-#: common/models.py:1677
+#: common/models.py:1689
msgid "Use the escape key to close modal forms"
msgstr ""
-#: common/models.py:1683
+#: common/models.py:1695
msgid "Fixed Navbar"
msgstr ""
-#: common/models.py:1684
+#: common/models.py:1696
msgid "The navbar position is fixed to the top of the screen"
msgstr ""
-#: common/models.py:1690
+#: common/models.py:1702
msgid "Date Format"
msgstr ""
-#: common/models.py:1691
+#: common/models.py:1703
msgid "Preferred format for displaying dates"
msgstr ""
-#: common/models.py:1705 part/templates/part/detail.html:41
+#: common/models.py:1717 part/templates/part/detail.html:41
msgid "Part Scheduling"
msgstr ""
-#: common/models.py:1706
+#: common/models.py:1718
msgid "Display part scheduling information"
msgstr ""
-#: common/models.py:1712
+#: common/models.py:1724
msgid "Table String Length"
msgstr ""
-#: common/models.py:1713
+#: common/models.py:1725
msgid "Maximimum length limit for strings displayed in table views"
msgstr ""
-#: common/models.py:1777
+#: common/models.py:1789
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1784 company/serializers.py:372
-#: company/templates/company/supplier_part.html:346 order/models.py:952
-#: templates/js/translated/part.js:1103 templates/js/translated/part.js:2225
+#: common/models.py:1796 company/serializers.py:393 order/models.py:975
+#: templates/js/translated/company.js:1164 templates/js/translated/part.js:1130
+#: templates/js/translated/pricing.js:354
msgid "Price"
msgstr ""
-#: common/models.py:1785
+#: common/models.py:1797
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1945 common/models.py:2123
+#: common/models.py:1957 common/models.py:2135
msgid "Endpoint"
msgstr ""
-#: common/models.py:1946
+#: common/models.py:1958
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:1955
+#: common/models.py:1967
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:1960 part/models.py:935 plugin/models.py:100
-#: templates/js/translated/table_filters.js:34
-#: templates/js/translated/table_filters.js:112
-#: templates/js/translated/table_filters.js:324
-#: templates/js/translated/table_filters.js:450
+#: common/models.py:1972 part/admin.py:36 part/models.py:954
+#: plugin/models.py:100 templates/js/translated/table_filters.js:34
+#: templates/js/translated/table_filters.js:116
+#: templates/js/translated/table_filters.js:328
+#: templates/js/translated/table_filters.js:454
msgid "Active"
msgstr ""
-#: common/models.py:1961
+#: common/models.py:1973
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:1975
+#: common/models.py:1987
msgid "Token"
msgstr ""
-#: common/models.py:1976
+#: common/models.py:1988
msgid "Token for access"
msgstr ""
-#: common/models.py:1983
+#: common/models.py:1995
msgid "Secret"
msgstr ""
-#: common/models.py:1984
+#: common/models.py:1996
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:2090
+#: common/models.py:2102
msgid "Message ID"
msgstr ""
-#: common/models.py:2091
+#: common/models.py:2103
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:2099
+#: common/models.py:2111
msgid "Host"
msgstr ""
-#: common/models.py:2100
+#: common/models.py:2112
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:2107
+#: common/models.py:2119
msgid "Header"
msgstr ""
-#: common/models.py:2108
+#: common/models.py:2120
msgid "Header of this message"
msgstr ""
-#: common/models.py:2114
+#: common/models.py:2126
msgid "Body"
msgstr ""
-#: common/models.py:2115
+#: common/models.py:2127
msgid "Body of this message"
msgstr ""
-#: common/models.py:2124
+#: common/models.py:2136
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:2129
+#: common/models.py:2141
msgid "Worked on"
msgstr ""
-#: common/models.py:2130
+#: common/models.py:2142
msgid "Was the work on this message finished?"
msgstr ""
+#: common/models.py:2302
+msgid "Id"
+msgstr ""
+
+#: common/models.py:2308 templates/js/translated/news.js:34
+msgid "Title"
+msgstr ""
+
+#: common/models.py:2318 templates/js/translated/news.js:50
+msgid "Published"
+msgstr ""
+
+#: common/models.py:2323 templates/InvenTree/settings/plugin.html:62
+#: templates/InvenTree/settings/plugin_settings.html:33
+#: templates/js/translated/news.js:46
+msgid "Author"
+msgstr ""
+
+#: common/models.py:2328 templates/js/translated/news.js:42
+msgid "Summary"
+msgstr ""
+
+#: common/models.py:2333
+msgid "Read"
+msgstr ""
+
+#: common/models.py:2334
+msgid "Was this news item read?"
+msgstr ""
+
#: common/notifications.py:293
#, python-brace-format
msgid "New {verbose_name}"
@@ -2785,15 +2838,15 @@ msgstr ""
msgid "Error raised by plugin"
msgstr ""
-#: common/views.py:85 order/templates/order/purchase_order_detail.html:23
-#: order/views.py:102 part/views.py:112
+#: common/views.py:85 order/templates/order/purchase_order_detail.html:25
+#: order/views.py:102 part/views.py:107
#: templates/patterns/wizard/upload.html:37
msgid "Upload File"
msgstr ""
#: common/views.py:86 order/views.py:103
#: part/templates/part/import_wizard/ajax_match_fields.html:45
-#: part/views.py:113 templates/patterns/wizard/match_fields.html:51
+#: part/views.py:108 templates/patterns/wizard/match_fields.html:51
msgid "Match Fields"
msgstr ""
@@ -2816,298 +2869,301 @@ msgstr ""
msgid "Previous Step"
msgstr ""
-#: company/models.py:99
+#: company/models.py:103
msgid "Company description"
msgstr ""
-#: company/models.py:100
+#: company/models.py:104
msgid "Description of the company"
msgstr ""
-#: company/models.py:106 company/templates/company/company_base.html:100
+#: company/models.py:110 company/templates/company/company_base.html:100
#: templates/InvenTree/settings/plugin_settings.html:55
-#: templates/js/translated/company.js:448
+#: templates/js/translated/company.js:449
msgid "Website"
msgstr ""
-#: company/models.py:107
+#: company/models.py:111
msgid "Company website URL"
msgstr ""
-#: company/models.py:111 company/templates/company/company_base.html:118
+#: company/models.py:115 company/templates/company/company_base.html:118
msgid "Address"
msgstr ""
-#: company/models.py:112
+#: company/models.py:116
msgid "Company address"
msgstr ""
-#: company/models.py:115
+#: company/models.py:119
msgid "Phone number"
msgstr ""
-#: company/models.py:116
+#: company/models.py:120
msgid "Contact phone number"
msgstr ""
-#: company/models.py:119 company/templates/company/company_base.html:132
+#: company/models.py:123 company/templates/company/company_base.html:132
#: templates/InvenTree/settings/user.html:48
msgid "Email"
msgstr ""
-#: company/models.py:119
+#: company/models.py:123
msgid "Contact email address"
msgstr ""
-#: company/models.py:122 company/templates/company/company_base.html:139
+#: company/models.py:126 company/templates/company/company_base.html:139
msgid "Contact"
msgstr ""
-#: company/models.py:123
+#: company/models.py:127
msgid "Point of contact"
msgstr ""
-#: company/models.py:125
+#: company/models.py:129
msgid "Link to external company information"
msgstr ""
-#: company/models.py:136 part/models.py:829
+#: company/models.py:140 part/models.py:848
msgid "Image"
msgstr ""
-#: company/models.py:139 company/templates/company/detail.html:185
+#: company/models.py:143 company/templates/company/detail.html:185
msgid "Company Notes"
msgstr ""
-#: company/models.py:141
+#: company/models.py:145
msgid "is customer"
msgstr ""
-#: company/models.py:141
+#: company/models.py:145
msgid "Do you sell items to this company?"
msgstr ""
-#: company/models.py:143
+#: company/models.py:147
msgid "is supplier"
msgstr ""
-#: company/models.py:143
+#: company/models.py:147
msgid "Do you purchase items from this company?"
msgstr ""
-#: company/models.py:145
+#: company/models.py:149
msgid "is manufacturer"
msgstr ""
-#: company/models.py:145
+#: company/models.py:149
msgid "Does this company manufacture parts?"
msgstr ""
-#: company/models.py:149 company/serializers.py:378
-#: company/templates/company/company_base.html:106 part/serializers.py:153
-#: part/serializers.py:184 stock/serializers.py:178
+#: company/models.py:153 company/serializers.py:399
+#: company/templates/company/company_base.html:106 part/models.py:2681
+#: part/serializers.py:153 part/serializers.py:181 stock/serializers.py:182
+#: templates/InvenTree/settings/pricing.html:59
msgid "Currency"
msgstr ""
-#: company/models.py:152
+#: company/models.py:156
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:249 company/models.py:483 stock/models.py:600
-#: stock/serializers.py:85 stock/templates/stock/item_base.html:143
-#: templates/js/translated/bom.js:568
+#: company/models.py:253 company/models.py:487 stock/models.py:616
+#: stock/serializers.py:89 stock/templates/stock/item_base.html:143
+#: templates/js/translated/bom.js:581
msgid "Base Part"
msgstr ""
-#: company/models.py:253 company/models.py:487
+#: company/models.py:257 company/models.py:491
msgid "Select part"
msgstr ""
-#: company/models.py:264 company/templates/company/company_base.html:76
+#: company/models.py:268 company/templates/company/company_base.html:76
#: company/templates/company/manufacturer_part.html:90
#: company/templates/company/supplier_part.html:152
#: stock/templates/stock/item_base.html:210
-#: templates/js/translated/company.js:432
-#: templates/js/translated/company.js:533
-#: templates/js/translated/company.js:668
-#: templates/js/translated/company.js:956 templates/js/translated/part.js:236
-#: templates/js/translated/table_filters.js:427
+#: templates/js/translated/company.js:433
+#: templates/js/translated/company.js:534
+#: templates/js/translated/company.js:669
+#: templates/js/translated/company.js:957 templates/js/translated/part.js:232
+#: templates/js/translated/table_filters.js:431
msgid "Manufacturer"
msgstr ""
-#: company/models.py:265 templates/js/translated/part.js:237
+#: company/models.py:269 templates/js/translated/part.js:233
msgid "Select manufacturer"
msgstr ""
-#: company/models.py:271 company/templates/company/manufacturer_part.html:101
+#: company/models.py:275 company/templates/company/manufacturer_part.html:101
#: company/templates/company/supplier_part.html:160
-#: templates/js/translated/company.js:304
-#: templates/js/translated/company.js:532
-#: templates/js/translated/company.js:684
-#: templates/js/translated/company.js:975 templates/js/translated/order.js:2239
-#: templates/js/translated/part.js:247 templates/js/translated/part.js:1025
+#: templates/js/translated/company.js:305
+#: templates/js/translated/company.js:533
+#: templates/js/translated/company.js:685
+#: templates/js/translated/company.js:976 templates/js/translated/order.js:2278
+#: templates/js/translated/part.js:243 templates/js/translated/part.js:1052
msgid "MPN"
msgstr ""
-#: company/models.py:272 templates/js/translated/part.js:248
+#: company/models.py:276 templates/js/translated/part.js:244
msgid "Manufacturer Part Number"
msgstr ""
-#: company/models.py:278
+#: company/models.py:282
msgid "URL for external manufacturer part link"
msgstr ""
-#: company/models.py:284
+#: company/models.py:288
msgid "Manufacturer part description"
msgstr ""
-#: company/models.py:329 company/models.py:353 company/models.py:506
+#: company/models.py:333 company/models.py:357 company/models.py:510
#: company/templates/company/manufacturer_part.html:7
#: company/templates/company/manufacturer_part.html:24
#: stock/templates/stock/item_base.html:220
msgid "Manufacturer Part"
msgstr ""
-#: company/models.py:360
+#: company/models.py:364
msgid "Parameter name"
msgstr ""
-#: company/models.py:366
+#: company/models.py:370
#: report/templates/report/inventree_test_report_base.html:95
-#: stock/models.py:2097 templates/js/translated/company.js:581
-#: templates/js/translated/company.js:799 templates/js/translated/part.js:847
-#: templates/js/translated/stock.js:1360
+#: stock/models.py:2113 templates/js/translated/company.js:582
+#: templates/js/translated/company.js:800 templates/js/translated/part.js:874
+#: templates/js/translated/stock.js:1379
msgid "Value"
msgstr ""
-#: company/models.py:367
+#: company/models.py:371
msgid "Parameter value"
msgstr ""
-#: company/models.py:373 part/models.py:902 part/models.py:2434
-#: part/templates/part/part_base.html:286
+#: company/models.py:377 part/admin.py:26 part/models.py:921
+#: part/models.py:3047 part/templates/part/part_base.html:286
#: templates/InvenTree/settings/settings.html:349
-#: templates/js/translated/company.js:805 templates/js/translated/part.js:853
+#: templates/js/translated/company.js:806 templates/js/translated/part.js:880
msgid "Units"
msgstr ""
-#: company/models.py:374
+#: company/models.py:378
msgid "Parameter units"
msgstr ""
-#: company/models.py:451
+#: company/models.py:455
msgid "Linked manufacturer part must reference the same base part"
msgstr ""
-#: company/models.py:493 company/templates/company/company_base.html:81
-#: company/templates/company/supplier_part.html:136 order/models.py:263
-#: order/templates/order/order_base.html:121 part/bom.py:237 part/bom.py:265
+#: company/models.py:497 company/templates/company/company_base.html:81
+#: company/templates/company/supplier_part.html:136 order/models.py:264
+#: order/templates/order/order_base.html:121 part/bom.py:252 part/bom.py:280
#: stock/templates/stock/item_base.html:227
#: templates/email/overdue_purchase_order.html:16
-#: templates/js/translated/company.js:303
-#: templates/js/translated/company.js:436
-#: templates/js/translated/company.js:929 templates/js/translated/order.js:1975
-#: templates/js/translated/part.js:217 templates/js/translated/part.js:993
-#: templates/js/translated/table_filters.js:431
+#: templates/js/translated/company.js:304
+#: templates/js/translated/company.js:437
+#: templates/js/translated/company.js:930 templates/js/translated/order.js:2009
+#: templates/js/translated/part.js:213 templates/js/translated/part.js:1020
+#: templates/js/translated/pricing.js:231
+#: templates/js/translated/table_filters.js:435
msgid "Supplier"
msgstr ""
-#: company/models.py:494 templates/js/translated/part.js:218
+#: company/models.py:498 templates/js/translated/part.js:214
msgid "Select supplier"
msgstr ""
-#: company/models.py:499 company/templates/company/supplier_part.html:146
-#: part/bom.py:238 part/bom.py:266 templates/js/translated/company.js:302
-#: templates/js/translated/order.js:2226 templates/js/translated/part.js:228
-#: templates/js/translated/part.js:1011
+#: company/models.py:503 company/templates/company/supplier_part.html:146
+#: part/bom.py:253 part/bom.py:281 templates/js/translated/company.js:303
+#: templates/js/translated/order.js:2265 templates/js/translated/part.js:224
+#: templates/js/translated/part.js:1038 templates/js/translated/pricing.js:243
msgid "SKU"
msgstr ""
-#: company/models.py:500 templates/js/translated/part.js:229
+#: company/models.py:504 templates/js/translated/part.js:225
msgid "Supplier stock keeping unit"
msgstr ""
-#: company/models.py:507
+#: company/models.py:511
msgid "Select manufacturer part"
msgstr ""
-#: company/models.py:513
+#: company/models.py:517
msgid "URL for external supplier part link"
msgstr ""
-#: company/models.py:519
+#: company/models.py:523
msgid "Supplier part description"
msgstr ""
-#: company/models.py:524 company/templates/company/supplier_part.html:181
-#: part/models.py:2687 part/templates/part/upload_bom.html:59
+#: company/models.py:528 company/templates/company/supplier_part.html:181
+#: part/admin.py:225 part/models.py:3300 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_po_report.html:92
-#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:403
+#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:397
msgid "Note"
msgstr ""
-#: company/models.py:528 part/models.py:1788
+#: company/models.py:532 part/models.py:1817
msgid "base cost"
msgstr ""
-#: company/models.py:528 part/models.py:1788
+#: company/models.py:532 part/models.py:1817
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
-#: company/models.py:530 company/templates/company/supplier_part.html:167
-#: stock/models.py:626 stock/templates/stock/item_base.html:243
-#: templates/js/translated/company.js:991 templates/js/translated/stock.js:1978
+#: company/models.py:534 company/templates/company/supplier_part.html:167
+#: stock/admin.py:101 stock/models.py:642
+#: stock/templates/stock/item_base.html:243
+#: templates/js/translated/company.js:992 templates/js/translated/stock.js:1996
msgid "Packaging"
msgstr ""
-#: company/models.py:530
+#: company/models.py:534
msgid "Part packaging"
msgstr ""
-#: company/models.py:533 company/serializers.py:242
+#: company/models.py:537 company/serializers.py:242
#: company/templates/company/supplier_part.html:174
-#: templates/js/translated/company.js:996 templates/js/translated/order.js:820
-#: templates/js/translated/order.js:1215 templates/js/translated/order.js:1470
-#: templates/js/translated/order.js:2270 templates/js/translated/order.js:2287
-#: templates/js/translated/part.js:1043 templates/js/translated/part.js:1095
+#: templates/js/translated/company.js:997 templates/js/translated/order.js:826
+#: templates/js/translated/order.js:1249 templates/js/translated/order.js:1504
+#: templates/js/translated/order.js:2309 templates/js/translated/order.js:2326
+#: templates/js/translated/part.js:1070 templates/js/translated/part.js:1122
msgid "Pack Quantity"
msgstr ""
-#: company/models.py:534
+#: company/models.py:538
msgid "Unit quantity supplied in a single pack"
msgstr ""
-#: company/models.py:540 part/models.py:1790
+#: company/models.py:544 part/models.py:1819
msgid "multiple"
msgstr ""
-#: company/models.py:540
+#: company/models.py:544
msgid "Order multiple"
msgstr ""
-#: company/models.py:548 company/templates/company/supplier_part.html:115
+#: company/models.py:552 company/templates/company/supplier_part.html:115
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:18
-#: templates/js/translated/bom.js:963 templates/js/translated/build.js:1873
-#: templates/js/translated/build.js:2754 templates/js/translated/part.js:598
-#: templates/js/translated/part.js:601
-#: templates/js/translated/table_filters.js:194
+#: templates/js/translated/bom.js:1117 templates/js/translated/build.js:1873
+#: templates/js/translated/build.js:2754 templates/js/translated/part.js:612
+#: templates/js/translated/part.js:615
+#: templates/js/translated/table_filters.js:198
msgid "Available"
msgstr ""
-#: company/models.py:549
+#: company/models.py:553
msgid "Quantity available from supplier"
msgstr ""
-#: company/models.py:553
+#: company/models.py:557
msgid "Availability Updated"
msgstr ""
-#: company/models.py:554
+#: company/models.py:558
msgid "Date of last update of availability data"
msgstr ""
-#: company/models.py:682
+#: company/models.py:686
msgid "last updated"
msgstr ""
@@ -3121,7 +3177,7 @@ msgstr ""
#: company/templates/company/company_base.html:8
#: company/templates/company/company_base.html:12
-#: templates/InvenTree/search.html:179 templates/js/translated/company.js:421
+#: templates/InvenTree/search.html:179 templates/js/translated/company.js:422
msgid "Company"
msgstr ""
@@ -3139,7 +3195,7 @@ msgid "Edit company information"
msgstr ""
#: company/templates/company/company_base.html:34
-#: templates/js/translated/company.js:364
+#: templates/js/translated/company.js:365
msgid "Edit Company"
msgstr ""
@@ -3162,14 +3218,14 @@ msgstr ""
msgid "Download image from URL"
msgstr ""
-#: company/templates/company/company_base.html:86 order/models.py:646
-#: order/templates/order/sales_order_base.html:116 stock/models.py:645
-#: stock/models.py:646 stock/serializers.py:813
+#: company/templates/company/company_base.html:86 order/models.py:665
+#: order/templates/order/sales_order_base.html:116 stock/models.py:661
+#: stock/models.py:662 stock/serializers.py:812
#: stock/templates/stock/item_base.html:399
#: templates/email/overdue_sales_order.html:16
-#: templates/js/translated/company.js:428 templates/js/translated/order.js:2808
-#: templates/js/translated/stock.js:2569
-#: templates/js/translated/table_filters.js:435
+#: templates/js/translated/company.js:429 templates/js/translated/order.js:2819
+#: templates/js/translated/stock.js:2587
+#: templates/js/translated/table_filters.js:439
msgid "Customer"
msgstr ""
@@ -3182,12 +3238,12 @@ msgid "Phone"
msgstr ""
#: company/templates/company/company_base.html:208
-#: part/templates/part/part_base.html:499
+#: part/templates/part/part_base.html:514
msgid "Upload Image"
msgstr ""
#: company/templates/company/company_base.html:223
-#: part/templates/part/part_base.html:554
+#: part/templates/part/part_base.html:569
msgid "Download Image"
msgstr ""
@@ -3203,7 +3259,7 @@ msgstr ""
#: company/templates/company/detail.html:19
#: company/templates/company/manufacturer_part.html:123
-#: part/templates/part/detail.html:359
+#: part/templates/part/detail.html:357
msgid "New Supplier Part"
msgstr ""
@@ -3232,7 +3288,7 @@ msgstr ""
msgid "Create new manufacturer part"
msgstr ""
-#: company/templates/company/detail.html:66 part/templates/part/detail.html:389
+#: company/templates/company/detail.html:66 part/templates/part/detail.html:387
msgid "New Manufacturer Part"
msgstr ""
@@ -3246,7 +3302,7 @@ msgstr ""
#: order/templates/order/order_base.html:13
#: order/templates/order/purchase_orders.html:8
#: order/templates/order/purchase_orders.html:12
-#: part/templates/part/detail.html:84 part/templates/part/part_sidebar.html:37
+#: part/templates/part/detail.html:84 part/templates/part/part_sidebar.html:35
#: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200
#: templates/InvenTree/settings/sidebar.html:49
#: templates/js/translated/search.js:293 templates/navbar.html:50
@@ -3269,7 +3325,7 @@ msgstr ""
#: order/templates/order/sales_order_base.html:13
#: order/templates/order/sales_orders.html:8
#: order/templates/order/sales_orders.html:15
-#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:41
+#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:39
#: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220
#: templates/InvenTree/settings/sidebar.html:51
#: templates/js/translated/search.js:317 templates/navbar.html:61
@@ -3297,8 +3353,7 @@ msgid "Supplier List"
msgstr ""
#: company/templates/company/manufacturer_part.html:15 company/views.py:38
-#: part/templates/part/prices.html:172 templates/InvenTree/search.html:181
-#: templates/navbar.html:49
+#: templates/InvenTree/search.html:181 templates/navbar.html:49
msgid "Manufacturers"
msgstr ""
@@ -3309,12 +3364,12 @@ msgid "Order part"
msgstr ""
#: company/templates/company/manufacturer_part.html:39
-#: templates/js/translated/company.js:716
+#: templates/js/translated/company.js:717
msgid "Edit manufacturer part"
msgstr ""
#: company/templates/company/manufacturer_part.html:43
-#: templates/js/translated/company.js:717
+#: templates/js/translated/company.js:718
msgid "Delete manufacturer part"
msgstr ""
@@ -3329,35 +3384,36 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:119
#: company/templates/company/supplier_part.html:15 company/views.py:32
-#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:168
+#: part/admin.py:46 part/templates/part/part_sidebar.html:33
#: templates/InvenTree/search.html:191 templates/navbar.html:48
msgid "Suppliers"
msgstr ""
#: company/templates/company/manufacturer_part.html:136
-#: part/templates/part/detail.html:370
+#: part/templates/part/detail.html:368
msgid "Delete supplier parts"
msgstr ""
#: company/templates/company/manufacturer_part.html:136
#: company/templates/company/manufacturer_part.html:183
-#: part/templates/part/detail.html:371 part/templates/part/detail.html:401
-#: templates/js/translated/forms.js:455 templates/js/translated/helpers.js:36
-#: users/models.py:222
+#: part/templates/part/detail.html:369 part/templates/part/detail.html:399
+#: templates/js/translated/forms.js:455 templates/js/translated/helpers.js:38
+#: templates/js/translated/part.js:340 templates/js/translated/stock.js:184
+#: users/models.py:224
msgid "Delete"
msgstr ""
#: company/templates/company/manufacturer_part.html:166
#: company/templates/company/manufacturer_part_sidebar.html:5
#: part/templates/part/category_sidebar.html:19
-#: part/templates/part/detail.html:186 part/templates/part/part_sidebar.html:8
+#: part/templates/part/detail.html:184 part/templates/part/part_sidebar.html:8
msgid "Parameters"
msgstr ""
#: company/templates/company/manufacturer_part.html:170
-#: part/templates/part/detail.html:191
+#: part/templates/part/detail.html:189
#: templates/InvenTree/settings/category.html:12
-#: templates/InvenTree/settings/part.html:68
+#: templates/InvenTree/settings/part.html:62
msgid "New Parameter"
msgstr ""
@@ -3366,7 +3422,7 @@ msgid "Delete parameters"
msgstr ""
#: company/templates/company/manufacturer_part.html:245
-#: part/templates/part/detail.html:827
+#: part/templates/part/detail.html:825
msgid "Add Parameter"
msgstr ""
@@ -3387,10 +3443,10 @@ msgid "Assigned Stock Items"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:609
+#: company/templates/company/supplier_part.html:24 stock/models.py:625
#: stock/templates/stock/item_base.html:236
-#: templates/js/translated/company.js:945 templates/js/translated/order.js:1135
-#: templates/js/translated/stock.js:1935
+#: templates/js/translated/company.js:946 templates/js/translated/order.js:1169
+#: templates/js/translated/stock.js:1954
msgid "Supplier Part"
msgstr ""
@@ -3441,13 +3497,13 @@ msgstr ""
#: company/templates/company/supplier_part.html:64
#: company/templates/company/supplier_part.html:65
-#: templates/js/translated/company.js:247
+#: templates/js/translated/company.js:248
msgid "Edit Supplier Part"
msgstr ""
#: company/templates/company/supplier_part.html:69
#: company/templates/company/supplier_part.html:70
-#: templates/js/translated/company.js:222
+#: templates/js/translated/company.js:223
msgid "Duplicate Supplier Part"
msgstr ""
@@ -3482,7 +3538,7 @@ msgstr ""
#: company/templates/company/supplier_part.html:204
#: part/templates/part/detail.html:25 stock/templates/stock/location.html:198
-#: templates/js/translated/stock.js:435
+#: templates/js/translated/stock.js:454
msgid "New Stock Item"
msgstr ""
@@ -3492,47 +3548,20 @@ msgid "Supplier Part Orders"
msgstr ""
#: company/templates/company/supplier_part.html:242
-#: part/templates/part/prices.html:10
msgid "Pricing Information"
msgstr ""
#: company/templates/company/supplier_part.html:247
-#: company/templates/company/supplier_part.html:388
-#: part/templates/part/prices.html:276 templates/js/translated/part.js:2297
+#: company/templates/company/supplier_part.html:317
+#: templates/js/translated/pricing.js:413
msgid "Add Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:282
+#: company/templates/company/supplier_part.html:285
msgid "Link Barcode to Supplier Part"
msgstr ""
-#: company/templates/company/supplier_part.html:300
-msgid "No price break information found"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:314
-#: templates/js/translated/part.js:2307
-msgid "Delete Price Break"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:328
-#: templates/js/translated/part.js:2321
-msgid "Edit Price Break"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:353
-msgid "Edit price break"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:354
-msgid "Delete price break"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:363
-msgid "Last updated"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:444
+#: company/templates/company/supplier_part.html:375
msgid "Update Part Availability"
msgstr ""
@@ -3542,9 +3571,9 @@ msgstr ""
#: stock/templates/stock/stock_app_base.html:10
#: templates/InvenTree/search.html:153
#: templates/InvenTree/settings/sidebar.html:45
-#: templates/js/translated/part.js:749 templates/js/translated/part.js:1335
-#: templates/js/translated/part.js:1501 templates/js/translated/stock.js:959
-#: templates/js/translated/stock.js:1760 templates/navbar.html:31
+#: templates/js/translated/part.js:763 templates/js/translated/part.js:1356
+#: templates/js/translated/part.js:1512 templates/js/translated/stock.js:978
+#: templates/js/translated/stock.js:1779 templates/navbar.html:31
msgid "Stock"
msgstr ""
@@ -3558,19 +3587,20 @@ msgid "Supplier Part Pricing"
msgstr ""
#: company/templates/company/supplier_part_navbar.html:29
-#: part/templates/part/part_sidebar.html:31
+#: part/templates/part/part_sidebar.html:30
+#: templates/InvenTree/settings/sidebar.html:35
msgid "Pricing"
msgstr ""
#: company/templates/company/supplier_part_sidebar.html:5
#: part/templates/part/category.html:198
-#: part/templates/part/category_sidebar.html:17
+#: part/templates/part/category_sidebar.html:17 stock/admin.py:31
#: stock/templates/stock/location.html:168
#: stock/templates/stock/location.html:182
#: stock/templates/stock/location.html:194
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:155 templates/js/translated/search.js:225
-#: templates/js/translated/stock.js:2446 users/models.py:40
+#: templates/js/translated/stock.js:2464 users/models.py:40
msgid "Stock Items"
msgstr ""
@@ -3672,438 +3702,439 @@ msgstr ""
msgid "No matching purchase order found"
msgstr ""
-#: order/models.py:82
+#: order/models.py:83
msgid "Order description"
msgstr ""
-#: order/models.py:84 order/models.py:1260
+#: order/models.py:85 order/models.py:1283
msgid "Link to external page"
msgstr ""
-#: order/models.py:92
+#: order/models.py:93
msgid "Created By"
msgstr ""
-#: order/models.py:99
+#: order/models.py:100
msgid "User or group responsible for this order"
msgstr ""
-#: order/models.py:104
+#: order/models.py:105
msgid "Order notes"
msgstr ""
-#: order/models.py:241 order/models.py:633
+#: order/models.py:242 order/models.py:652
msgid "Order reference"
msgstr ""
-#: order/models.py:249 order/models.py:651
+#: order/models.py:250 order/models.py:670
msgid "Purchase order status"
msgstr ""
-#: order/models.py:264
+#: order/models.py:265
msgid "Company from which the items are being ordered"
msgstr ""
-#: order/models.py:267 order/templates/order/order_base.html:133
-#: templates/js/translated/order.js:1984
+#: order/models.py:268 order/templates/order/order_base.html:133
+#: templates/js/translated/order.js:2018
msgid "Supplier Reference"
msgstr ""
-#: order/models.py:267
+#: order/models.py:268
msgid "Supplier order reference code"
msgstr ""
-#: order/models.py:274
+#: order/models.py:275
msgid "received by"
msgstr ""
-#: order/models.py:279
+#: order/models.py:280
msgid "Issue Date"
msgstr ""
-#: order/models.py:280
+#: order/models.py:281
msgid "Date order was issued"
msgstr ""
-#: order/models.py:285
+#: order/models.py:286
msgid "Target Delivery Date"
msgstr ""
-#: order/models.py:286
+#: order/models.py:287
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr ""
-#: order/models.py:292
+#: order/models.py:293
msgid "Date order was completed"
msgstr ""
-#: order/models.py:328
+#: order/models.py:332
msgid "Part supplier must match PO supplier"
msgstr ""
-#: order/models.py:472
+#: order/models.py:491
msgid "Quantity must be a positive number"
msgstr ""
-#: order/models.py:647
+#: order/models.py:666
msgid "Company to which the items are being sold"
msgstr ""
-#: order/models.py:658
+#: order/models.py:677
msgid "Customer Reference "
msgstr ""
-#: order/models.py:658
+#: order/models.py:677
msgid "Customer order reference code"
msgstr ""
-#: order/models.py:663
+#: order/models.py:682
msgid "Target date for order completion. Order will be overdue after this date."
msgstr ""
-#: order/models.py:666 order/models.py:1218
-#: templates/js/translated/order.js:2855 templates/js/translated/order.js:3017
+#: order/models.py:685 order/models.py:1241
+#: templates/js/translated/order.js:2866 templates/js/translated/order.js:3028
msgid "Shipment Date"
msgstr ""
-#: order/models.py:673
+#: order/models.py:692
msgid "shipped by"
msgstr ""
-#: order/models.py:728
+#: order/models.py:747
msgid "Order cannot be completed as no parts have been assigned"
msgstr ""
-#: order/models.py:732
+#: order/models.py:751
msgid "Only a pending order can be marked as complete"
msgstr ""
-#: order/models.py:735 templates/js/translated/order.js:419
+#: order/models.py:754 templates/js/translated/order.js:419
msgid "Order cannot be completed as there are incomplete shipments"
msgstr ""
-#: order/models.py:738
+#: order/models.py:757
msgid "Order cannot be completed as there are incomplete line items"
msgstr ""
-#: order/models.py:912
+#: order/models.py:935
msgid "Item quantity"
msgstr ""
-#: order/models.py:918
+#: order/models.py:941
msgid "Line item reference"
msgstr ""
-#: order/models.py:920
+#: order/models.py:943
msgid "Line item notes"
msgstr ""
-#: order/models.py:925
+#: order/models.py:948
msgid "Target shipping date for this line item"
msgstr ""
-#: order/models.py:943
+#: order/models.py:966
msgid "Context"
msgstr ""
-#: order/models.py:944
+#: order/models.py:967
msgid "Additional context for this line"
msgstr ""
-#: order/models.py:953
+#: order/models.py:976
msgid "Unit price"
msgstr ""
-#: order/models.py:983
+#: order/models.py:1006
msgid "Supplier part must match supplier"
msgstr ""
-#: order/models.py:991
+#: order/models.py:1014
msgid "deleted"
msgstr ""
-#: order/models.py:997 order/models.py:1077 order/models.py:1118
-#: order/models.py:1212 order/models.py:1344
-#: templates/js/translated/order.js:3473
+#: order/models.py:1020 order/models.py:1100 order/models.py:1141
+#: order/models.py:1235 order/models.py:1367
+#: templates/js/translated/order.js:3484
msgid "Order"
msgstr ""
-#: order/models.py:998 order/models.py:1077
+#: order/models.py:1021 order/models.py:1100
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report.html:76
#: stock/templates/stock/item_base.html:182
#: templates/email/overdue_purchase_order.html:15
-#: templates/js/translated/order.js:619 templates/js/translated/order.js:1136
-#: templates/js/translated/order.js:1959 templates/js/translated/part.js:970
-#: templates/js/translated/stock.js:1915 templates/js/translated/stock.js:2550
+#: templates/js/translated/order.js:619 templates/js/translated/order.js:1170
+#: templates/js/translated/order.js:1993 templates/js/translated/part.js:997
+#: templates/js/translated/pricing.js:515 templates/js/translated/stock.js:1934
+#: templates/js/translated/stock.js:2568
msgid "Purchase Order"
msgstr ""
-#: order/models.py:1016
+#: order/models.py:1039
msgid "Supplier part"
msgstr ""
-#: order/models.py:1023 order/templates/order/order_base.html:178
-#: templates/js/translated/order.js:1641 templates/js/translated/order.js:2373
-#: templates/js/translated/part.js:1087 templates/js/translated/part.js:1125
-#: templates/js/translated/table_filters.js:346
+#: order/models.py:1046 order/templates/order/order_base.html:178
+#: templates/js/translated/order.js:1675 templates/js/translated/order.js:2396
+#: templates/js/translated/part.js:1114 templates/js/translated/part.js:1146
+#: templates/js/translated/table_filters.js:350
msgid "Received"
msgstr ""
-#: order/models.py:1024
+#: order/models.py:1047
msgid "Number of items received"
msgstr ""
-#: order/models.py:1031 part/templates/part/prices.html:181 stock/models.py:741
-#: stock/serializers.py:169 stock/templates/stock/item_base.html:189
-#: templates/js/translated/stock.js:1966
+#: order/models.py:1054 stock/models.py:757 stock/serializers.py:173
+#: stock/templates/stock/item_base.html:189
+#: templates/js/translated/stock.js:1985
msgid "Purchase Price"
msgstr ""
-#: order/models.py:1032
+#: order/models.py:1055
msgid "Unit purchase price"
msgstr ""
-#: order/models.py:1040
+#: order/models.py:1063
msgid "Where does the Purchaser want this item to be stored?"
msgstr ""
-#: order/models.py:1106
+#: order/models.py:1129
msgid "Virtual part cannot be assigned to a sales order"
msgstr ""
-#: order/models.py:1111
+#: order/models.py:1134
msgid "Only salable parts can be assigned to a sales order"
msgstr ""
-#: order/models.py:1137 part/templates/part/part_pricing.html:115
-#: part/templates/part/prices.html:121 part/templates/part/prices.html:290
+#: order/models.py:1160 part/templates/part/part_pricing.html:107
+#: part/templates/part/prices.html:139 templates/js/translated/pricing.js:665
msgid "Sale Price"
msgstr ""
-#: order/models.py:1138
+#: order/models.py:1161
msgid "Unit sale price"
msgstr ""
-#: order/models.py:1143
+#: order/models.py:1166
msgid "Shipped quantity"
msgstr ""
-#: order/models.py:1219
+#: order/models.py:1242
msgid "Date of shipment"
msgstr ""
-#: order/models.py:1226
+#: order/models.py:1249
msgid "Checked By"
msgstr ""
-#: order/models.py:1227
+#: order/models.py:1250
msgid "User who checked this shipment"
msgstr ""
-#: order/models.py:1234 order/models.py:1419 order/serializers.py:1228
-#: order/serializers.py:1356 templates/js/translated/model_renderers.js:314
+#: order/models.py:1257 order/models.py:1442 order/serializers.py:1221
+#: order/serializers.py:1349 templates/js/translated/model_renderers.js:314
msgid "Shipment"
msgstr ""
-#: order/models.py:1235
+#: order/models.py:1258
msgid "Shipment number"
msgstr ""
-#: order/models.py:1239
+#: order/models.py:1262
msgid "Shipment notes"
msgstr ""
-#: order/models.py:1245
+#: order/models.py:1268
msgid "Tracking Number"
msgstr ""
-#: order/models.py:1246
+#: order/models.py:1269
msgid "Shipment tracking information"
msgstr ""
-#: order/models.py:1253
+#: order/models.py:1276
msgid "Invoice Number"
msgstr ""
-#: order/models.py:1254
+#: order/models.py:1277
msgid "Reference number for associated invoice"
msgstr ""
-#: order/models.py:1272
+#: order/models.py:1295
msgid "Shipment has already been sent"
msgstr ""
-#: order/models.py:1275
+#: order/models.py:1298
msgid "Shipment has no allocated stock items"
msgstr ""
-#: order/models.py:1378 order/models.py:1380
+#: order/models.py:1401 order/models.py:1403
msgid "Stock item has not been assigned"
msgstr ""
-#: order/models.py:1384
+#: order/models.py:1407
msgid "Cannot allocate stock item to a line with a different part"
msgstr ""
-#: order/models.py:1386
+#: order/models.py:1409
msgid "Cannot allocate stock to a line without a part"
msgstr ""
-#: order/models.py:1389
+#: order/models.py:1412
msgid "Allocation quantity cannot exceed stock quantity"
msgstr ""
-#: order/models.py:1399 order/serializers.py:1090
+#: order/models.py:1422 order/serializers.py:1083
msgid "Quantity must be 1 for serialized stock item"
msgstr ""
-#: order/models.py:1402
+#: order/models.py:1425
msgid "Sales order does not match shipment"
msgstr ""
-#: order/models.py:1403
+#: order/models.py:1426
msgid "Shipment does not match sales order"
msgstr ""
-#: order/models.py:1411
+#: order/models.py:1434
msgid "Line"
msgstr ""
-#: order/models.py:1420
+#: order/models.py:1443
msgid "Sales order shipment reference"
msgstr ""
-#: order/models.py:1433 templates/js/translated/notification.js:55
+#: order/models.py:1456 templates/js/translated/notification.js:55
msgid "Item"
msgstr ""
-#: order/models.py:1434
+#: order/models.py:1457
msgid "Select stock item to allocate"
msgstr ""
-#: order/models.py:1437
+#: order/models.py:1460
msgid "Enter stock allocation quantity"
msgstr ""
-#: order/serializers.py:67
+#: order/serializers.py:63
msgid "Price currency"
msgstr ""
-#: order/serializers.py:199
+#: order/serializers.py:193
msgid "Order cannot be cancelled"
msgstr ""
-#: order/serializers.py:209 order/serializers.py:1108
+#: order/serializers.py:203 order/serializers.py:1101
msgid "Allow order to be closed with incomplete line items"
msgstr ""
-#: order/serializers.py:220 order/serializers.py:1119
+#: order/serializers.py:214 order/serializers.py:1112
msgid "Order has incomplete line items"
msgstr ""
-#: order/serializers.py:311
+#: order/serializers.py:305
msgid "Order is not open"
msgstr ""
-#: order/serializers.py:335
+#: order/serializers.py:327
msgid "Purchase price currency"
msgstr ""
-#: order/serializers.py:354
+#: order/serializers.py:346
msgid "Supplier part must be specified"
msgstr ""
-#: order/serializers.py:359
+#: order/serializers.py:351
msgid "Purchase order must be specified"
msgstr ""
-#: order/serializers.py:365
+#: order/serializers.py:357
msgid "Supplier must match purchase order"
msgstr ""
-#: order/serializers.py:366
+#: order/serializers.py:358
msgid "Purchase order must match supplier"
msgstr ""
-#: order/serializers.py:430 order/serializers.py:1196
+#: order/serializers.py:421 order/serializers.py:1189
msgid "Line Item"
msgstr ""
-#: order/serializers.py:436
+#: order/serializers.py:427
msgid "Line item does not match purchase order"
msgstr ""
-#: order/serializers.py:446 order/serializers.py:557
+#: order/serializers.py:437 order/serializers.py:548
msgid "Select destination location for received items"
msgstr ""
-#: order/serializers.py:465 templates/js/translated/order.js:1497
+#: order/serializers.py:456 templates/js/translated/order.js:1531
msgid "Enter batch code for incoming stock items"
msgstr ""
-#: order/serializers.py:473 templates/js/translated/order.js:1508
+#: order/serializers.py:464 templates/js/translated/order.js:1542
msgid "Enter serial numbers for incoming stock items"
msgstr ""
-#: order/serializers.py:487
+#: order/serializers.py:478
msgid "Unique identifier field"
msgstr ""
-#: order/serializers.py:501
+#: order/serializers.py:492
msgid "Barcode is already in use"
msgstr ""
-#: order/serializers.py:527
+#: order/serializers.py:518
msgid "An integer quantity must be provided for trackable parts"
msgstr ""
-#: order/serializers.py:573
+#: order/serializers.py:564
msgid "Line items must be provided"
msgstr ""
-#: order/serializers.py:590
+#: order/serializers.py:581
msgid "Destination location must be specified"
msgstr ""
-#: order/serializers.py:601
+#: order/serializers.py:592
msgid "Supplied barcode values must be unique"
msgstr ""
-#: order/serializers.py:907
+#: order/serializers.py:900
msgid "Sale price currency"
msgstr ""
-#: order/serializers.py:988
+#: order/serializers.py:981
msgid "No shipment details provided"
msgstr ""
-#: order/serializers.py:1051 order/serializers.py:1205
+#: order/serializers.py:1044 order/serializers.py:1198
msgid "Line item is not associated with this order"
msgstr ""
-#: order/serializers.py:1073
+#: order/serializers.py:1066
msgid "Quantity must be positive"
msgstr ""
-#: order/serializers.py:1218
+#: order/serializers.py:1211
msgid "Enter serial numbers to allocate"
msgstr ""
-#: order/serializers.py:1240 order/serializers.py:1364
+#: order/serializers.py:1233 order/serializers.py:1357
msgid "Shipment has already been shipped"
msgstr ""
-#: order/serializers.py:1243 order/serializers.py:1367
+#: order/serializers.py:1236 order/serializers.py:1360
msgid "Shipment is not associated with this order"
msgstr ""
-#: order/serializers.py:1297
+#: order/serializers.py:1290
msgid "No match found for the following serial numbers"
msgstr ""
-#: order/serializers.py:1307
+#: order/serializers.py:1300
msgid "The following serial numbers are already allocated"
msgstr ""
@@ -4154,7 +4185,8 @@ msgid "Duplicate order"
msgstr ""
#: order/templates/order/order_base.html:61
-msgid "Place order"
+#: order/templates/order/order_base.html:62
+msgid "Submit Order"
msgstr ""
#: order/templates/order/order_base.html:65
@@ -4162,7 +4194,7 @@ msgid "Receive items"
msgstr ""
#: order/templates/order/order_base.html:67
-#: order/templates/order/purchase_order_detail.html:30
+#: order/templates/order/purchase_order_detail.html:32
msgid "Receive Items"
msgstr ""
@@ -4248,9 +4280,9 @@ msgstr ""
#: part/templates/part/import_wizard/match_references.html:49
#: templates/js/translated/bom.js:102 templates/js/translated/build.js:479
#: templates/js/translated/build.js:631 templates/js/translated/build.js:2078
-#: templates/js/translated/order.js:1084 templates/js/translated/order.js:1586
-#: templates/js/translated/order.js:3092 templates/js/translated/stock.js:625
-#: templates/js/translated/stock.js:793
+#: templates/js/translated/order.js:1118 templates/js/translated/order.js:1620
+#: templates/js/translated/order.js:3103 templates/js/translated/stock.js:644
+#: templates/js/translated/stock.js:812
#: templates/patterns/wizard/match_fields.html:70
msgid "Remove row"
msgstr ""
@@ -4278,42 +4310,42 @@ msgstr ""
msgid "Received Stock"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:17
+#: order/templates/order/purchase_order_detail.html:19
msgid "Purchase Order Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:26
-#: order/templates/order/sales_order_detail.html:22
-#: order/templates/order/sales_order_detail.html:255
+#: order/templates/order/purchase_order_detail.html:28
+#: order/templates/order/sales_order_detail.html:24
+#: order/templates/order/sales_order_detail.html:260
#: templates/js/translated/order.js:728
msgid "Add Line Item"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:29
+#: order/templates/order/purchase_order_detail.html:31
msgid "Receive selected items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:48
-#: order/templates/order/sales_order_detail.html:42
+#: order/templates/order/purchase_order_detail.html:50
+#: order/templates/order/sales_order_detail.html:45
msgid "Extra Lines"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:53
-#: order/templates/order/sales_order_detail.html:47
-#: order/templates/order/sales_order_detail.html:280
+#: order/templates/order/purchase_order_detail.html:56
+#: order/templates/order/sales_order_detail.html:51
+#: order/templates/order/sales_order_detail.html:291
msgid "Add Extra Line"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:72
+#: order/templates/order/purchase_order_detail.html:76
msgid "Received Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:97
-#: order/templates/order/sales_order_detail.html:150
+#: order/templates/order/purchase_order_detail.html:101
+#: order/templates/order/sales_order_detail.html:155
msgid "Order Notes"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:232
+#: order/templates/order/purchase_order_detail.html:239
msgid "Add Order Line"
msgstr ""
@@ -4345,12 +4377,12 @@ msgid "This Sales Order has not been fully allocated"
msgstr ""
#: order/templates/order/sales_order_base.html:123
-#: templates/js/translated/order.js:2821
+#: templates/js/translated/order.js:2832
msgid "Customer Reference"
msgstr ""
#: order/templates/order/sales_order_base.html:141
-#: order/templates/order/sales_order_detail.html:104
+#: order/templates/order/sales_order_detail.html:109
#: order/templates/order/so_sidebar.html:11
msgid "Completed Shipments"
msgstr ""
@@ -4359,22 +4391,22 @@ msgstr ""
msgid "Edit Sales Order"
msgstr ""
-#: order/templates/order/sales_order_detail.html:17
+#: order/templates/order/sales_order_detail.html:18
msgid "Sales Order Items"
msgstr ""
-#: order/templates/order/sales_order_detail.html:68
+#: order/templates/order/sales_order_detail.html:73
#: order/templates/order/so_sidebar.html:8
msgid "Pending Shipments"
msgstr ""
-#: order/templates/order/sales_order_detail.html:72
-#: templates/attachment_table.html:6 templates/js/translated/bom.js:1158
+#: order/templates/order/sales_order_detail.html:77
+#: templates/attachment_table.html:6 templates/js/translated/bom.js:1223
#: templates/js/translated/build.js:1979
msgid "Actions"
msgstr ""
-#: order/templates/order/sales_order_detail.html:81
+#: order/templates/order/sales_order_detail.html:86
msgid "New Shipment"
msgstr ""
@@ -4400,617 +4432,844 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/api.py:516
+#: part/admin.py:19 part/admin.py:219 part/models.py:3181 stock/admin.py:84
+#: templates/js/translated/model_renderers.js:212
+msgid "Part ID"
+msgstr ""
+
+#: part/admin.py:20 part/admin.py:221 part/models.py:3185 stock/admin.py:85
+msgid "Part Name"
+msgstr ""
+
+#: part/admin.py:21
+msgid "Part Description"
+msgstr ""
+
+#: part/admin.py:22 part/models.py:822 part/templates/part/part_base.html:272
+#: templates/js/translated/part.js:751 templates/js/translated/part.js:1469
+#: templates/js/translated/stock.js:1745
+msgid "IPN"
+msgstr ""
+
+#: part/admin.py:23 part/models.py:830 part/templates/part/part_base.html:279
+#: report/models.py:171 templates/js/translated/part.js:755
+msgid "Revision"
+msgstr ""
+
+#: part/admin.py:24 part/admin.py:145 part/models.py:808
+#: part/templates/part/category.html:87 part/templates/part/part_base.html:300
+msgid "Keywords"
+msgstr ""
+
+#: part/admin.py:28 part/admin.py:139
+#: templates/js/translated/model_renderers.js:338
+msgid "Category ID"
+msgstr ""
+
+#: part/admin.py:29 part/admin.py:140
+msgid "Category Name"
+msgstr ""
+
+#: part/admin.py:30 part/admin.py:144
+msgid "Default Location ID"
+msgstr ""
+
+#: part/admin.py:31
+msgid "Default Supplier ID"
+msgstr ""
+
+#: part/admin.py:33 part/models.py:914 part/templates/part/part_base.html:206
+msgid "Minimum Stock"
+msgstr ""
+
+#: part/admin.py:47 part/templates/part/part_base.html:200
+#: templates/js/translated/company.js:1028
+#: templates/js/translated/table_filters.js:213
+msgid "In Stock"
+msgstr ""
+
+#: part/admin.py:48 part/bom.py:145 part/templates/part/part_base.html:213
+#: templates/js/translated/bom.js:1155 templates/js/translated/build.js:1925
+#: templates/js/translated/part.js:602 templates/js/translated/part.js:622
+#: templates/js/translated/part.js:1359 templates/js/translated/part.js:1537
+#: templates/js/translated/table_filters.js:68
+msgid "On Order"
+msgstr ""
+
+#: part/admin.py:49 part/templates/part/part_sidebar.html:27
+msgid "Used In"
+msgstr ""
+
+#: part/admin.py:50 templates/js/translated/build.js:1937
+#: templates/js/translated/build.js:2195 templates/js/translated/build.js:2761
+#: templates/js/translated/order.js:3943
+msgid "Allocated"
+msgstr ""
+
+#: part/admin.py:51 part/templates/part/part_base.html:244
+#: templates/js/translated/part.js:605 templates/js/translated/part.js:625
+#: templates/js/translated/part.js:1363 templates/js/translated/part.js:1544
+msgid "Building"
+msgstr ""
+
+#: part/admin.py:52 part/models.py:2765
+msgid "Minimum Cost"
+msgstr ""
+
+#: part/admin.py:53 part/models.py:2771
+msgid "Maximum Cost"
+msgstr ""
+
+#: part/admin.py:142 part/admin.py:216 stock/admin.py:26 stock/admin.py:98
+msgid "Parent ID"
+msgstr ""
+
+#: part/admin.py:143 part/admin.py:218 stock/admin.py:27
+msgid "Parent Name"
+msgstr ""
+
+#: part/admin.py:146 part/templates/part/category.html:81
+#: part/templates/part/category.html:94
+msgid "Category Path"
+msgstr ""
+
+#: part/admin.py:149 part/models.py:363 part/templates/part/cat_link.html:3
+#: part/templates/part/category.html:23 part/templates/part/category.html:134
+#: part/templates/part/category.html:154
+#: part/templates/part/category_sidebar.html:9
+#: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84
+#: templates/InvenTree/settings/sidebar.html:41
+#: templates/js/translated/part.js:2043 templates/js/translated/search.js:146
+#: templates/navbar.html:24 users/models.py:38
+msgid "Parts"
+msgstr ""
+
+#: part/admin.py:211
+msgid "BOM Level"
+msgstr ""
+
+#: part/admin.py:213
+msgid "BOM Item ID"
+msgstr ""
+
+#: part/admin.py:217
+msgid "Parent IPN"
+msgstr ""
+
+#: part/admin.py:220 part/models.py:3189
+msgid "Part IPN"
+msgstr ""
+
+#: part/admin.py:226 templates/js/translated/pricing.js:91
+#: templates/js/translated/pricing.js:727
+msgid "Minimum Price"
+msgstr ""
+
+#: part/admin.py:227 templates/js/translated/pricing.js:86
+#: templates/js/translated/pricing.js:735
+msgid "Maximum Price"
+msgstr ""
+
+#: part/api.py:532
msgid "Incoming Purchase Order"
msgstr ""
-#: part/api.py:536
+#: part/api.py:552
msgid "Outgoing Sales Order"
msgstr ""
-#: part/api.py:554
+#: part/api.py:570
msgid "Stock produced by Build Order"
msgstr ""
-#: part/api.py:640
+#: part/api.py:656
msgid "Stock required for Build Order"
msgstr ""
-#: part/api.py:777
+#: part/api.py:814
msgid "Valid"
msgstr ""
-#: part/api.py:778
+#: part/api.py:815
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/api.py:784
+#: part/api.py:821
msgid "This option must be selected"
msgstr ""
-#: part/api.py:1207
+#: part/api.py:1261
msgid "Must be greater than zero"
msgstr ""
-#: part/api.py:1211
+#: part/api.py:1265
msgid "Must be a valid quantity"
msgstr ""
-#: part/api.py:1226
+#: part/api.py:1280
msgid "Specify location for initial part stock"
msgstr ""
-#: part/api.py:1257 part/api.py:1261 part/api.py:1276 part/api.py:1280
+#: part/api.py:1311 part/api.py:1315 part/api.py:1330 part/api.py:1334
msgid "This field is required"
msgstr ""
-#: part/bom.py:127 part/models.py:98 part/models.py:838
-#: part/templates/part/category.html:109 part/templates/part/part_base.html:345
+#: part/bom.py:142 part/models.py:116 part/models.py:857
+#: part/templates/part/category.html:109 part/templates/part/part_base.html:360
msgid "Default Location"
msgstr ""
-#: part/bom.py:128 templates/email/low_stock_notification.html:17
+#: part/bom.py:143 templates/email/low_stock_notification.html:17
msgid "Total Stock"
msgstr ""
-#: part/bom.py:129 part/templates/part/part_base.html:195
-#: templates/js/translated/order.js:3913
+#: part/bom.py:144 part/templates/part/part_base.html:195
+#: templates/js/translated/order.js:3910
msgid "Available Stock"
msgstr ""
-#: part/bom.py:130 part/templates/part/part_base.html:213
-#: templates/js/translated/bom.js:1001 templates/js/translated/build.js:1925
-#: templates/js/translated/part.js:588 templates/js/translated/part.js:608
-#: templates/js/translated/part.js:1338 templates/js/translated/part.js:1526
-#: templates/js/translated/table_filters.js:68
-msgid "On Order"
-msgstr ""
-
#: part/forms.py:41
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:99
+#: part/models.py:117
msgid "Default location for parts in this category"
msgstr ""
-#: part/models.py:102
+#: part/models.py:120
msgid "Default keywords"
msgstr ""
-#: part/models.py:102
+#: part/models.py:120
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:107 stock/models.py:85
+#: part/models.py:125 stock/models.py:101
msgid "Icon"
msgstr ""
-#: part/models.py:108 stock/models.py:86
+#: part/models.py:126 stock/models.py:102
msgid "Icon (optional)"
msgstr ""
-#: part/models.py:122 part/models.py:2517 part/templates/part/category.html:16
+#: part/models.py:140 part/models.py:3130 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
-#: part/models.py:123 part/templates/part/category.html:129
+#: part/models.py:141 part/templates/part/category.html:129
#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200
#: users/models.py:37
msgid "Part Categories"
msgstr ""
-#: part/models.py:344 part/templates/part/cat_link.html:3
-#: part/templates/part/category.html:23 part/templates/part/category.html:134
-#: part/templates/part/category.html:154
-#: part/templates/part/category_sidebar.html:9
-#: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84
-#: templates/InvenTree/settings/sidebar.html:41
-#: templates/js/translated/part.js:2019 templates/js/translated/search.js:146
-#: templates/navbar.html:24 users/models.py:38
-msgid "Parts"
-msgstr ""
-
-#: part/models.py:429
+#: part/models.py:448
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:499 part/models.py:511
+#: part/models.py:518 part/models.py:530
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:601
+#: part/models.py:620
msgid "Stock item with this serial number already exists"
msgstr ""
-#: part/models.py:732
+#: part/models.py:751
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:759 part/models.py:2573
+#: part/models.py:778 part/models.py:3186
msgid "Part name"
msgstr ""
-#: part/models.py:766
+#: part/models.py:785
msgid "Is Template"
msgstr ""
-#: part/models.py:767
+#: part/models.py:786
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:777
+#: part/models.py:796
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:778
+#: part/models.py:797
msgid "Variant Of"
msgstr ""
-#: part/models.py:784
+#: part/models.py:803
msgid "Part description"
msgstr ""
-#: part/models.py:789 part/templates/part/category.html:87
-#: part/templates/part/part_base.html:300
-msgid "Keywords"
-msgstr ""
-
-#: part/models.py:790
+#: part/models.py:809
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:797 part/models.py:2272 part/models.py:2516
+#: part/models.py:816 part/models.py:2885 part/models.py:3129
#: part/templates/part/part_base.html:263
#: templates/InvenTree/settings/settings.html:229
#: templates/js/translated/notification.js:50
-#: templates/js/translated/part.js:1480 templates/js/translated/part.js:1724
+#: templates/js/translated/part.js:1491 templates/js/translated/part.js:1748
msgid "Category"
msgstr ""
-#: part/models.py:798
+#: part/models.py:817
msgid "Part category"
msgstr ""
-#: part/models.py:803 part/templates/part/part_base.html:272
-#: templates/js/translated/part.js:737 templates/js/translated/part.js:1431
-#: templates/js/translated/stock.js:1726
-msgid "IPN"
-msgstr ""
-
-#: part/models.py:804
+#: part/models.py:823
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:810
+#: part/models.py:829
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:811 part/templates/part/part_base.html:279
-#: report/models.py:171 templates/js/translated/part.js:741
-msgid "Revision"
-msgstr ""
-
-#: part/models.py:836
+#: part/models.py:855
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:881 part/templates/part/part_base.html:354
+#: part/models.py:900 part/templates/part/part_base.html:369
msgid "Default Supplier"
msgstr ""
-#: part/models.py:882
+#: part/models.py:901
msgid "Default supplier part"
msgstr ""
-#: part/models.py:889
+#: part/models.py:908
msgid "Default Expiry"
msgstr ""
-#: part/models.py:890
+#: part/models.py:909
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:895 part/templates/part/part_base.html:206
-msgid "Minimum Stock"
-msgstr ""
-
-#: part/models.py:896
+#: part/models.py:915
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:903
+#: part/models.py:922
msgid "Stock keeping units for this part"
msgstr ""
-#: part/models.py:909
+#: part/models.py:928
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:915
+#: part/models.py:934
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:921
+#: part/models.py:940
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:926
+#: part/models.py:945
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:931
+#: part/models.py:950
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:936
+#: part/models.py:955
msgid "Is this part active?"
msgstr ""
-#: part/models.py:941
+#: part/models.py:960
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:943
+#: part/models.py:962
msgid "Part notes"
msgstr ""
-#: part/models.py:945
+#: part/models.py:964
msgid "BOM checksum"
msgstr ""
-#: part/models.py:945
+#: part/models.py:964
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:948
+#: part/models.py:967
msgid "BOM checked by"
msgstr ""
-#: part/models.py:950
+#: part/models.py:969
msgid "BOM checked date"
msgstr ""
-#: part/models.py:954
+#: part/models.py:973
msgid "Creation User"
msgstr ""
-#: part/models.py:1790
+#: part/models.py:1819
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2319
+#: part/models.py:2682
+msgid "Currency used to cache pricing calculations"
+msgstr ""
+
+#: part/models.py:2687
+msgid "Updated"
+msgstr ""
+
+#: part/models.py:2688
+msgid "Timestamp of last pricing update"
+msgstr ""
+
+#: part/models.py:2705
+msgid "Minimum BOM Cost"
+msgstr ""
+
+#: part/models.py:2706
+msgid "Minimum cost of component parts"
+msgstr ""
+
+#: part/models.py:2711
+msgid "Maximum BOM Cost"
+msgstr ""
+
+#: part/models.py:2712
+msgid "Maximum cost of component parts"
+msgstr ""
+
+#: part/models.py:2717
+msgid "Minimum Purchase Cost"
+msgstr ""
+
+#: part/models.py:2718
+msgid "Minimum historical purchase cost"
+msgstr ""
+
+#: part/models.py:2723
+msgid "Maximum Purchase Cost"
+msgstr ""
+
+#: part/models.py:2724
+msgid "Maximum historical purchase cost"
+msgstr ""
+
+#: part/models.py:2729
+msgid "Minimum Internal Price"
+msgstr ""
+
+#: part/models.py:2730
+msgid "Minimum cost based on internal price breaks"
+msgstr ""
+
+#: part/models.py:2735
+msgid "Maximum Internal Price"
+msgstr ""
+
+#: part/models.py:2736
+msgid "Maximum cost based on internal price breaks"
+msgstr ""
+
+#: part/models.py:2741
+msgid "Minimum Supplier Price"
+msgstr ""
+
+#: part/models.py:2742
+msgid "Minimum price of part from external suppliers"
+msgstr ""
+
+#: part/models.py:2747
+msgid "Maximum Supplier Price"
+msgstr ""
+
+#: part/models.py:2748
+msgid "Maximum price of part from external suppliers"
+msgstr ""
+
+#: part/models.py:2753
+msgid "Minimum Variant Cost"
+msgstr ""
+
+#: part/models.py:2754
+msgid "Calculated minimum cost of variant parts"
+msgstr ""
+
+#: part/models.py:2759
+msgid "Maximum Variant Cost"
+msgstr ""
+
+#: part/models.py:2760
+msgid "Calculated maximum cost of variant parts"
+msgstr ""
+
+#: part/models.py:2766
+msgid "Calculated overall minimum cost"
+msgstr ""
+
+#: part/models.py:2772
+msgid "Calculated overall maximum cost"
+msgstr ""
+
+#: part/models.py:2777
+msgid "Minimum Sale Price"
+msgstr ""
+
+#: part/models.py:2778
+msgid "Minimum sale price based on price breaks"
+msgstr ""
+
+#: part/models.py:2783
+msgid "Maximum Sale Price"
+msgstr ""
+
+#: part/models.py:2784
+msgid "Maximum sale price based on price breaks"
+msgstr ""
+
+#: part/models.py:2789
+msgid "Minimum Sale Cost"
+msgstr ""
+
+#: part/models.py:2790
+msgid "Minimum historical sale price"
+msgstr ""
+
+#: part/models.py:2795
+msgid "Maximum Sale Cost"
+msgstr ""
+
+#: part/models.py:2796
+msgid "Maximum historical sale price"
+msgstr ""
+
+#: part/models.py:2932
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:2336
+#: part/models.py:2949
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2356 templates/js/translated/part.js:2070
-#: templates/js/translated/stock.js:1340
+#: part/models.py:2969 templates/js/translated/part.js:2094
+#: templates/js/translated/stock.js:1359
msgid "Test Name"
msgstr ""
-#: part/models.py:2357
+#: part/models.py:2970
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2362
+#: part/models.py:2975
msgid "Test Description"
msgstr ""
-#: part/models.py:2363
+#: part/models.py:2976
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2368 templates/js/translated/part.js:2079
-#: templates/js/translated/table_filters.js:310
+#: part/models.py:2981 templates/js/translated/part.js:2103
+#: templates/js/translated/table_filters.js:314
msgid "Required"
msgstr ""
-#: part/models.py:2369
+#: part/models.py:2982
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2374 templates/js/translated/part.js:2087
+#: part/models.py:2987 templates/js/translated/part.js:2111
msgid "Requires Value"
msgstr ""
-#: part/models.py:2375
+#: part/models.py:2988
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2380 templates/js/translated/part.js:2094
+#: part/models.py:2993 templates/js/translated/part.js:2118
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2381
+#: part/models.py:2994
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:2422
+#: part/models.py:3035
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:2430
+#: part/models.py:3043
msgid "Parameter Name"
msgstr ""
-#: part/models.py:2434
+#: part/models.py:3047
msgid "Parameter Units"
msgstr ""
-#: part/models.py:2439
+#: part/models.py:3052
msgid "Parameter description"
msgstr ""
-#: part/models.py:2472
+#: part/models.py:3085
msgid "Parent Part"
msgstr ""
-#: part/models.py:2474 part/models.py:2522 part/models.py:2523
+#: part/models.py:3087 part/models.py:3135 part/models.py:3136
#: templates/InvenTree/settings/settings.html:224
msgid "Parameter Template"
msgstr ""
-#: part/models.py:2476
+#: part/models.py:3089
msgid "Data"
msgstr ""
-#: part/models.py:2476
+#: part/models.py:3089
msgid "Parameter Value"
msgstr ""
-#: part/models.py:2527 templates/InvenTree/settings/settings.html:233
+#: part/models.py:3140 templates/InvenTree/settings/settings.html:233
msgid "Default Value"
msgstr ""
-#: part/models.py:2528
+#: part/models.py:3141
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:2565
+#: part/models.py:3178
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:2568 templates/js/translated/model_renderers.js:212
-msgid "Part ID"
-msgstr ""
-
-#: part/models.py:2569
+#: part/models.py:3182
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:2572
-msgid "Part Name"
-msgstr ""
-
-#: part/models.py:2576
-msgid "Part IPN"
-msgstr ""
-
-#: part/models.py:2577
+#: part/models.py:3190
msgid "Part IPN value"
msgstr ""
-#: part/models.py:2580
+#: part/models.py:3193
msgid "Level"
msgstr ""
-#: part/models.py:2581
+#: part/models.py:3194
msgid "BOM level"
msgstr ""
-#: part/models.py:2650
+#: part/models.py:3263
msgid "Select parent part"
msgstr ""
-#: part/models.py:2658
+#: part/models.py:3271
msgid "Sub part"
msgstr ""
-#: part/models.py:2659
+#: part/models.py:3272
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:2665
+#: part/models.py:3278
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:2669 part/templates/part/upload_bom.html:58
-#: templates/js/translated/bom.js:924 templates/js/translated/bom.js:1024
+#: part/models.py:3282 part/templates/part/upload_bom.html:58
+#: templates/js/translated/bom.js:933 templates/js/translated/bom.js:986
#: templates/js/translated/build.js:1858
#: templates/js/translated/table_filters.js:84
-#: templates/js/translated/table_filters.js:108
+#: templates/js/translated/table_filters.js:112
msgid "Optional"
msgstr ""
-#: part/models.py:2670
+#: part/models.py:3283
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:2675 templates/js/translated/bom.js:920
-#: templates/js/translated/bom.js:1033 templates/js/translated/build.js:1849
+#: part/models.py:3288 templates/js/translated/bom.js:929
+#: templates/js/translated/bom.js:995 templates/js/translated/build.js:1849
#: templates/js/translated/table_filters.js:88
msgid "Consumable"
msgstr ""
-#: part/models.py:2676
+#: part/models.py:3289
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:2680 part/templates/part/upload_bom.html:55
+#: part/models.py:3293 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:2681
+#: part/models.py:3294
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:2684
+#: part/models.py:3297
msgid "BOM item reference"
msgstr ""
-#: part/models.py:2687
+#: part/models.py:3300
msgid "BOM item notes"
msgstr ""
-#: part/models.py:2689
+#: part/models.py:3302
msgid "Checksum"
msgstr ""
-#: part/models.py:2689
+#: part/models.py:3302
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:2693 part/templates/part/upload_bom.html:57
-#: templates/js/translated/bom.js:1050
+#: part/models.py:3306 part/templates/part/upload_bom.html:57
+#: templates/js/translated/bom.js:1012
#: templates/js/translated/table_filters.js:76
-#: templates/js/translated/table_filters.js:104
+#: templates/js/translated/table_filters.js:108
msgid "Inherited"
msgstr ""
-#: part/models.py:2694
+#: part/models.py:3307
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:2699 part/templates/part/upload_bom.html:56
-#: templates/js/translated/bom.js:1042
+#: part/models.py:3312 part/templates/part/upload_bom.html:56
+#: templates/js/translated/bom.js:1004
msgid "Allow Variants"
msgstr ""
-#: part/models.py:2700
+#: part/models.py:3313
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:2786 stock/models.py:502
+#: part/models.py:3399 stock/models.py:518
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:2795 part/models.py:2797
+#: part/models.py:3408 part/models.py:3410
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:2902
+#: part/models.py:3537
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:2923
+#: part/models.py:3558
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:2936
+#: part/models.py:3571
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:2944
+#: part/models.py:3579
msgid "Substitute part"
msgstr ""
-#: part/models.py:2959
+#: part/models.py:3594
msgid "Part 1"
msgstr ""
-#: part/models.py:2963
+#: part/models.py:3598
msgid "Part 2"
msgstr ""
-#: part/models.py:2963
+#: part/models.py:3598
msgid "Select Related Part"
msgstr ""
-#: part/models.py:2981
+#: part/models.py:3616
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:2985
+#: part/models.py:3620
msgid "Duplicate relationship already exists"
msgstr ""
-#: part/serializers.py:154 part/serializers.py:185 stock/serializers.py:179
+#: part/serializers.py:154 part/serializers.py:182 stock/serializers.py:183
msgid "Purchase currency of this stock item"
msgstr ""
-#: part/serializers.py:829
+#: part/serializers.py:542
+msgid "Update"
+msgstr ""
+
+#: part/serializers.py:543
+msgid "Update pricing for this part"
+msgstr ""
+
+#: part/serializers.py:853
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:837
+#: part/serializers.py:861
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:838
+#: part/serializers.py:862
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:843
+#: part/serializers.py:867
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:844
+#: part/serializers.py:868
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:849
+#: part/serializers.py:873
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:850
+#: part/serializers.py:874
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:855
+#: part/serializers.py:879
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:856
+#: part/serializers.py:880
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/serializers.py:896
+#: part/serializers.py:920
msgid "Clear Existing BOM"
msgstr ""
-#: part/serializers.py:897
+#: part/serializers.py:921
msgid "Delete existing BOM items before uploading"
msgstr ""
-#: part/serializers.py:927
+#: part/serializers.py:951
msgid "No part column specified"
msgstr ""
-#: part/serializers.py:970
+#: part/serializers.py:994
msgid "Multiple matching parts found"
msgstr ""
-#: part/serializers.py:973
+#: part/serializers.py:997
msgid "No matching part found"
msgstr ""
-#: part/serializers.py:976
+#: part/serializers.py:1000
msgid "Part is not designated as a component"
msgstr ""
-#: part/serializers.py:985
+#: part/serializers.py:1009
msgid "Quantity not provided"
msgstr ""
-#: part/serializers.py:993
+#: part/serializers.py:1017
msgid "Invalid quantity"
msgstr ""
-#: part/serializers.py:1014
+#: part/serializers.py:1038
msgid "At least one BOM item is required"
msgstr ""
-#: part/tasks.py:21
+#: part/tasks.py:25
msgid "Low stock notification"
msgstr ""
-#: part/tasks.py:22
+#: part/tasks.py:26
#, python-brace-format
msgid "The available stock for {part.name} has fallen below the configured minimum level"
msgstr ""
@@ -5034,7 +5293,7 @@ msgstr ""
msgid "The BOM for %(part)s has not been validated."
msgstr ""
-#: part/templates/part/bom.html:30 part/templates/part/detail.html:269
+#: part/templates/part/bom.html:30 part/templates/part/detail.html:267
msgid "BOM actions"
msgstr ""
@@ -5070,10 +5329,6 @@ msgstr ""
msgid "Delete Category"
msgstr ""
-#: part/templates/part/category.html:81 part/templates/part/category.html:94
-msgid "Category Path"
-msgstr ""
-
#: part/templates/part/category.html:95
msgid "Top level part category"
msgstr ""
@@ -5091,12 +5346,12 @@ msgstr ""
msgid "Create new part"
msgstr ""
-#: part/templates/part/category.html:159 templates/js/translated/bom.js:392
+#: part/templates/part/category.html:159 templates/js/translated/bom.js:405
msgid "New Part"
msgstr ""
-#: part/templates/part/category.html:169 part/templates/part/detail.html:368
-#: part/templates/part/detail.html:399
+#: part/templates/part/category.html:169 part/templates/part/detail.html:366
+#: part/templates/part/detail.html:397
msgid "Options"
msgstr ""
@@ -5144,7 +5399,7 @@ msgstr ""
msgid "Import Parts"
msgstr ""
-#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:379
+#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:393
msgid "Duplicate Part"
msgstr ""
@@ -5176,7 +5431,8 @@ msgstr ""
msgid "Refresh scheduling data"
msgstr ""
-#: part/templates/part/detail.html:45 templates/js/translated/tables.js:524
+#: part/templates/part/detail.html:45 part/templates/part/prices.html:15
+#: templates/js/translated/tables.js:524
msgid "Refresh"
msgstr ""
@@ -5192,123 +5448,103 @@ msgstr ""
msgid "Sales Order Allocations"
msgstr ""
-#: part/templates/part/detail.html:143
+#: part/templates/part/detail.html:141
msgid "Part Notes"
msgstr ""
-#: part/templates/part/detail.html:158
+#: part/templates/part/detail.html:156
msgid "Part Variants"
msgstr ""
-#: part/templates/part/detail.html:162
+#: part/templates/part/detail.html:160
msgid "Create new variant"
msgstr ""
-#: part/templates/part/detail.html:163
+#: part/templates/part/detail.html:161
msgid "New Variant"
msgstr ""
-#: part/templates/part/detail.html:190
+#: part/templates/part/detail.html:188
msgid "Add new parameter"
msgstr ""
-#: part/templates/part/detail.html:227 part/templates/part/part_sidebar.html:54
+#: part/templates/part/detail.html:225 part/templates/part/part_sidebar.html:52
msgid "Related Parts"
msgstr ""
-#: part/templates/part/detail.html:231 part/templates/part/detail.html:232
+#: part/templates/part/detail.html:229 part/templates/part/detail.html:230
msgid "Add Related"
msgstr ""
-#: part/templates/part/detail.html:252 part/templates/part/part_sidebar.html:17
+#: part/templates/part/detail.html:250 part/templates/part/part_sidebar.html:17
msgid "Bill of Materials"
msgstr ""
-#: part/templates/part/detail.html:257
+#: part/templates/part/detail.html:255
msgid "Export actions"
msgstr ""
-#: part/templates/part/detail.html:261 templates/js/translated/bom.js:309
+#: part/templates/part/detail.html:259 templates/js/translated/bom.js:309
msgid "Export BOM"
msgstr ""
-#: part/templates/part/detail.html:263
+#: part/templates/part/detail.html:261
msgid "Print BOM Report"
msgstr ""
-#: part/templates/part/detail.html:273
+#: part/templates/part/detail.html:271
msgid "Upload BOM"
msgstr ""
-#: part/templates/part/detail.html:274 templates/js/translated/part.js:274
+#: part/templates/part/detail.html:272 templates/js/translated/part.js:270
msgid "Copy BOM"
msgstr ""
-#: part/templates/part/detail.html:275
+#: part/templates/part/detail.html:273
msgid "Validate BOM"
msgstr ""
-#: part/templates/part/detail.html:280 part/templates/part/detail.html:281
-#: templates/js/translated/bom.js:1202 templates/js/translated/bom.js:1203
+#: part/templates/part/detail.html:278 part/templates/part/detail.html:279
+#: templates/js/translated/bom.js:1267 templates/js/translated/bom.js:1268
msgid "Add BOM Item"
msgstr ""
-#: part/templates/part/detail.html:294
+#: part/templates/part/detail.html:292
msgid "Assemblies"
msgstr ""
-#: part/templates/part/detail.html:312
+#: part/templates/part/detail.html:310
msgid "Part Builds"
msgstr ""
-#: part/templates/part/detail.html:339 stock/templates/stock/item.html:38
+#: part/templates/part/detail.html:337 stock/templates/stock/item.html:38
msgid "Build Order Allocations"
msgstr ""
-#: part/templates/part/detail.html:355
+#: part/templates/part/detail.html:353
msgid "Part Suppliers"
msgstr ""
-#: part/templates/part/detail.html:385
+#: part/templates/part/detail.html:383
msgid "Part Manufacturers"
msgstr ""
-#: part/templates/part/detail.html:401
+#: part/templates/part/detail.html:399
msgid "Delete manufacturer parts"
msgstr ""
-#: part/templates/part/detail.html:658
+#: part/templates/part/detail.html:656
msgid "Related Part"
msgstr ""
-#: part/templates/part/detail.html:666
+#: part/templates/part/detail.html:664
msgid "Add Related Part"
msgstr ""
-#: part/templates/part/detail.html:758
+#: part/templates/part/detail.html:756
msgid "Add Test Result Template"
msgstr ""
-#: part/templates/part/detail.html:901
-#, python-format
-msgid "Purchase Unit Price - %(currency)s"
-msgstr ""
-
-#: part/templates/part/detail.html:913
-#, python-format
-msgid "Unit Price-Cost Difference - %(currency)s"
-msgstr ""
-
-#: part/templates/part/detail.html:925
-#, python-format
-msgid "Supplier Unit Cost - %(currency)s"
-msgstr ""
-
-#: part/templates/part/detail.html:1014
-#, python-format
-msgid "Unit Price - %(currency)s"
-msgstr ""
-
#: part/templates/part/import_wizard/ajax_match_fields.html:9
#: templates/patterns/wizard/match_fields.html:8
msgid "Missing selections for the following required columns"
@@ -5439,15 +5675,15 @@ msgid "Part is virtual (not a physical part)"
msgstr ""
#: part/templates/part/part_base.html:148
-#: templates/js/translated/company.js:659
-#: templates/js/translated/company.js:920
+#: templates/js/translated/company.js:660
+#: templates/js/translated/company.js:921
#: templates/js/translated/model_renderers.js:204
-#: templates/js/translated/part.js:652 templates/js/translated/part.js:729
+#: templates/js/translated/part.js:666 templates/js/translated/part.js:743
msgid "Inactive"
msgstr ""
#: part/templates/part/part_base.html:165
-#: part/templates/part/part_base.html:620
+#: part/templates/part/part_base.html:635
msgid "Show Part Details"
msgstr ""
@@ -5456,12 +5692,6 @@ msgstr ""
msgid "This part is a variant of %(link)s"
msgstr ""
-#: part/templates/part/part_base.html:200
-#: templates/js/translated/company.js:1027
-#: templates/js/translated/table_filters.js:209
-msgid "In Stock"
-msgstr ""
-
#: part/templates/part/part_base.html:221
#: stock/templates/stock/item_base.html:382
msgid "Allocated to Build Orders"
@@ -5472,100 +5702,91 @@ msgstr ""
msgid "Allocated to Sales Orders"
msgstr ""
-#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1100
+#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1165
msgid "Can Build"
msgstr ""
-#: part/templates/part/part_base.html:244 templates/js/translated/part.js:591
-#: templates/js/translated/part.js:611 templates/js/translated/part.js:1342
-#: templates/js/translated/part.js:1533
-msgid "Building"
-msgstr ""
-
#: part/templates/part/part_base.html:293
msgid "Minimum stock level"
msgstr ""
-#: part/templates/part/part_base.html:330
+#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1032
+#: templates/js/translated/part.js:783 templates/js/translated/part.js:1582
+#: templates/js/translated/pricing.js:124
+#: templates/js/translated/pricing.js:757
+msgid "Price Range"
+msgstr ""
+
+#: part/templates/part/part_base.html:345
msgid "Latest Serial Number"
msgstr ""
-#: part/templates/part/part_base.html:334
+#: part/templates/part/part_base.html:349
#: stock/templates/stock/item_base.html:331
msgid "Search for serial number"
msgstr ""
-#: part/templates/part/part_base.html:431
+#: part/templates/part/part_base.html:446
msgid "Link Barcode to Part"
msgstr ""
-#: part/templates/part/part_base.html:477 part/templates/part/prices.html:149
+#: part/templates/part/part_base.html:492
msgid "Calculate"
msgstr ""
-#: part/templates/part/part_base.html:520
+#: part/templates/part/part_base.html:535
msgid "No matching images found"
msgstr ""
-#: part/templates/part/part_base.html:614
+#: part/templates/part/part_base.html:629
msgid "Hide Part Details"
msgstr ""
-#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:24
+#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:78
+#: part/templates/part/prices.html:238 templates/js/translated/pricing.js:218
msgid "Supplier Pricing"
msgstr ""
#: part/templates/part/part_pricing.html:26
#: part/templates/part/part_pricing.html:52
-#: part/templates/part/part_pricing.html:103
-#: part/templates/part/part_pricing.html:118 part/templates/part/prices.html:28
-#: part/templates/part/prices.html:55 part/templates/part/prices.html:108
-#: part/templates/part/prices.html:125
+#: part/templates/part/part_pricing.html:95
+#: part/templates/part/part_pricing.html:110
msgid "Unit Cost"
msgstr ""
#: part/templates/part/part_pricing.html:32
#: part/templates/part/part_pricing.html:58
-#: part/templates/part/part_pricing.html:107
-#: part/templates/part/part_pricing.html:122 part/templates/part/prices.html:35
-#: part/templates/part/prices.html:62 part/templates/part/prices.html:113
-#: part/templates/part/prices.html:130
+#: part/templates/part/part_pricing.html:99
+#: part/templates/part/part_pricing.html:114
msgid "Total Cost"
msgstr ""
-#: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:43
-#: templates/js/translated/bom.js:1091
+#: part/templates/part/part_pricing.html:40
msgid "No supplier pricing available"
msgstr ""
-#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:52
-#: part/templates/part/prices.html:248
+#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:94
+#: part/templates/part/prices.html:262
msgid "BOM Pricing"
msgstr ""
-#: part/templates/part/part_pricing.html:66 part/templates/part/prices.html:72
+#: part/templates/part/part_pricing.html:66
msgid "Unit Purchase Price"
msgstr ""
-#: part/templates/part/part_pricing.html:72 part/templates/part/prices.html:79
+#: part/templates/part/part_pricing.html:72
msgid "Total Purchase Price"
msgstr ""
-#: part/templates/part/part_pricing.html:82 part/templates/part/prices.html:89
-msgid "Note: BOM pricing is incomplete for this part"
-msgstr ""
-
-#: part/templates/part/part_pricing.html:91 part/templates/part/prices.html:98
+#: part/templates/part/part_pricing.html:83
msgid "No BOM pricing available"
msgstr ""
-#: part/templates/part/part_pricing.html:100
-#: part/templates/part/prices.html:107
+#: part/templates/part/part_pricing.html:92
msgid "Internal Price"
msgstr ""
-#: part/templates/part/part_pricing.html:131
-#: part/templates/part/prices.html:139
+#: part/templates/part/part_pricing.html:123
msgid "No pricing information is available for this part."
msgstr ""
@@ -5573,7 +5794,8 @@ msgstr ""
#: report/templates/report/inventree_test_report_base.html:97
#: templates/InvenTree/settings/plugin.html:63
#: templates/InvenTree/settings/plugin_settings.html:38
-#: templates/js/translated/order.js:2001 templates/js/translated/stock.js:2478
+#: templates/js/translated/order.js:2035 templates/js/translated/pricing.js:537
+#: templates/js/translated/pricing.js:658 templates/js/translated/stock.js:2496
msgid "Date"
msgstr ""
@@ -5585,15 +5807,11 @@ msgstr ""
msgid "Variants"
msgstr ""
-#: part/templates/part/part_sidebar.html:27
-msgid "Used In"
-msgstr ""
-
-#: part/templates/part/part_sidebar.html:46
+#: part/templates/part/part_sidebar.html:44
msgid "Scheduling"
msgstr ""
-#: part/templates/part/part_sidebar.html:50
+#: part/templates/part/part_sidebar.html:48
msgid "Test Templates"
msgstr ""
@@ -5601,74 +5819,82 @@ msgstr ""
msgid "Select from existing images"
msgstr ""
-#: part/templates/part/prices.html:19
-msgid "Pricing ranges"
+#: part/templates/part/prices.html:11
+msgid "Pricing Overview"
msgstr ""
-#: part/templates/part/prices.html:25
-msgid "Show supplier cost"
+#: part/templates/part/prices.html:14
+msgid "Refresh Part Pricing"
msgstr ""
-#: part/templates/part/prices.html:26
-msgid "Show purchase price"
+#: part/templates/part/prices.html:25 stock/admin.py:106
+#: stock/templates/stock/item_base.html:440
+#: templates/js/translated/company.js:1039
+#: templates/js/translated/stock.js:1920
+msgid "Last Updated"
msgstr ""
-#: part/templates/part/prices.html:53
-msgid "Show BOM cost"
+#: part/templates/part/prices.html:34 part/templates/part/prices.html:126
+msgid "Price Category"
msgstr ""
-#: part/templates/part/prices.html:122
-msgid "Show sale cost"
+#: part/templates/part/prices.html:35 part/templates/part/prices.html:127
+msgid "Minimum"
msgstr ""
-#: part/templates/part/prices.html:123
-msgid "Show sale price"
+#: part/templates/part/prices.html:36 part/templates/part/prices.html:128
+msgid "Maximum"
msgstr ""
-#: part/templates/part/prices.html:145
-msgid "Calculation parameters"
+#: part/templates/part/prices.html:49 part/templates/part/prices.html:185
+msgid "Internal Pricing"
msgstr ""
-#: part/templates/part/prices.html:160 templates/js/translated/bom.js:1085
-msgid "Supplier Cost"
+#: part/templates/part/prices.html:64 part/templates/part/prices.html:217
+msgid "Purchase History"
msgstr ""
-#: part/templates/part/prices.html:161 part/templates/part/prices.html:182
-#: part/templates/part/prices.html:206 part/templates/part/prices.html:236
-#: part/templates/part/prices.html:262 part/templates/part/prices.html:291
+#: part/templates/part/prices.html:103 part/templates/part/prices.html:286
+msgid "Variant Pricing"
+msgstr ""
+
+#: part/templates/part/prices.html:111
+msgid "Overall Pricing"
+msgstr ""
+
+#: part/templates/part/prices.html:155 part/templates/part/prices.html:338
+msgid "Sale History"
+msgstr ""
+
+#: part/templates/part/prices.html:168
+msgid "Sale price data is not available for this part"
+msgstr ""
+
+#: part/templates/part/prices.html:175
+msgid "Price range data is not available for this part."
+msgstr ""
+
+#: part/templates/part/prices.html:186 part/templates/part/prices.html:218
+#: part/templates/part/prices.html:239 part/templates/part/prices.html:263
+#: part/templates/part/prices.html:287 part/templates/part/prices.html:310
+#: part/templates/part/prices.html:339
msgid "Jump to overview"
msgstr ""
-#: part/templates/part/prices.html:186
-msgid "Stock Pricing"
-msgstr ""
-
-#: part/templates/part/prices.html:195
-msgid "No stock pricing history is available for this part."
-msgstr ""
-
-#: part/templates/part/prices.html:205
-msgid "Internal Cost"
-msgstr ""
-
-#: part/templates/part/prices.html:220
+#: part/templates/part/prices.html:191
msgid "Add Internal Price Break"
msgstr ""
-#: part/templates/part/prices.html:235
-msgid "BOM Cost"
+#: part/templates/part/prices.html:309
+msgid "Sale Pricing"
msgstr ""
-#: part/templates/part/prices.html:261
-msgid "Sale Cost"
+#: part/templates/part/prices.html:315
+msgid "Add Sell Price Break"
msgstr ""
-#: part/templates/part/prices.html:302
-msgid "No sale pice history available for this part."
-msgstr ""
-
-#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:614
-#: templates/js/translated/part.js:1330 templates/js/translated/part.js:1332
+#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:628
+#: templates/js/translated/part.js:1351 templates/js/translated/part.js:1353
msgid "No Stock"
msgstr ""
@@ -5722,40 +5948,36 @@ msgstr ""
msgid "Create a new variant of template '%(full_name)s'."
msgstr ""
-#: part/templatetags/inventree_extras.py:177
+#: part/templatetags/inventree_extras.py:210
msgid "Unknown database"
msgstr ""
-#: part/templatetags/inventree_extras.py:229
+#: part/templatetags/inventree_extras.py:262
#, python-brace-format
msgid "{title} v{version}"
msgstr ""
-#: part/views.py:114
+#: part/views.py:109
msgid "Match References"
msgstr ""
-#: part/views.py:415
-msgid "None"
-msgstr ""
-
-#: part/views.py:477
+#: part/views.py:354
msgid "Part QR Code"
msgstr ""
-#: part/views.py:495
+#: part/views.py:372
msgid "Select Part Image"
msgstr ""
-#: part/views.py:521
+#: part/views.py:398
msgid "Updated part image"
msgstr ""
-#: part/views.py:524
+#: part/views.py:401
msgid "Part image not found"
msgstr ""
-#: part/views.py:613
+#: part/views.py:493
msgid "Part Pricing"
msgstr ""
@@ -6070,12 +6292,12 @@ msgid "Stock Item Test Report"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:79
-#: stock/models.py:650 stock/templates/stock/item_base.html:320
+#: stock/models.py:666 stock/templates/stock/item_base.html:320
#: templates/js/translated/build.js:472 templates/js/translated/build.js:624
#: templates/js/translated/build.js:1234 templates/js/translated/build.js:1735
#: templates/js/translated/model_renderers.js:118
-#: templates/js/translated/order.js:121 templates/js/translated/order.js:3592
-#: templates/js/translated/order.js:3679 templates/js/translated/stock.js:490
+#: templates/js/translated/order.js:121 templates/js/translated/order.js:3603
+#: templates/js/translated/order.js:3690 templates/js/translated/stock.js:509
msgid "Serial Number"
msgstr ""
@@ -6084,12 +6306,12 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:93
-#: stock/models.py:2085
+#: stock/models.py:2101
msgid "Test"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:94
-#: stock/models.py:2091
+#: stock/models.py:2107
msgid "Result"
msgstr ""
@@ -6107,383 +6329,435 @@ msgid "Installed Items"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:137
-#: templates/js/translated/stock.js:610 templates/js/translated/stock.js:780
-#: templates/js/translated/stock.js:2727
+#: stock/admin.py:87 templates/js/translated/stock.js:629
+#: templates/js/translated/stock.js:799 templates/js/translated/stock.js:2745
msgid "Serial"
msgstr ""
-#: stock/api.py:529
+#: stock/admin.py:23 stock/admin.py:90
+#: templates/js/translated/model_renderers.js:159
+msgid "Location ID"
+msgstr ""
+
+#: stock/admin.py:24 stock/admin.py:91
+msgid "Location Name"
+msgstr ""
+
+#: stock/admin.py:28 stock/templates/stock/location.html:123
+#: stock/templates/stock/location.html:129
+msgid "Location Path"
+msgstr ""
+
+#: stock/admin.py:83
+msgid "Stock Item ID"
+msgstr ""
+
+#: stock/admin.py:92 templates/js/translated/model_renderers.js:418
+msgid "Supplier Part ID"
+msgstr ""
+
+#: stock/admin.py:93
+msgid "Supplier ID"
+msgstr ""
+
+#: stock/admin.py:94
+msgid "Supplier Name"
+msgstr ""
+
+#: stock/admin.py:95
+msgid "Customer ID"
+msgstr ""
+
+#: stock/admin.py:96 stock/models.py:649
+#: stock/templates/stock/item_base.html:359
+msgid "Installed In"
+msgstr ""
+
+#: stock/admin.py:97 templates/js/translated/model_renderers.js:177
+msgid "Build ID"
+msgstr ""
+
+#: stock/admin.py:99
+msgid "Sales Order ID"
+msgstr ""
+
+#: stock/admin.py:100
+msgid "Purchase Order ID"
+msgstr ""
+
+#: stock/admin.py:107 templates/js/translated/stock.js:1890
+msgid "Stocktake"
+msgstr ""
+
+#: stock/admin.py:108 stock/models.py:724
+#: stock/templates/stock/item_base.html:427
+#: templates/js/translated/stock.js:1904
+msgid "Expiry Date"
+msgstr ""
+
+#: stock/api.py:539
msgid "Quantity is required"
msgstr ""
-#: stock/api.py:536
+#: stock/api.py:546
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:561
+#: stock/api.py:571
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/models.py:90 stock/models.py:746
+#: stock/models.py:106 stock/models.py:762
#: stock/templates/stock/item_base.html:250
msgid "Owner"
msgstr ""
-#: stock/models.py:91 stock/models.py:747
+#: stock/models.py:107 stock/models.py:763
msgid "Select Owner"
msgstr ""
-#: stock/models.py:508 stock/serializers.py:93
+#: stock/models.py:524 stock/serializers.py:97
msgid "Stock item cannot be created for virtual parts"
msgstr ""
-#: stock/models.py:525
+#: stock/models.py:541
#, python-brace-format
msgid "Part type ('{pf}') must be {pe}"
msgstr ""
-#: stock/models.py:535 stock/models.py:544
+#: stock/models.py:551 stock/models.py:560
msgid "Quantity must be 1 for item with a serial number"
msgstr ""
-#: stock/models.py:536
+#: stock/models.py:552
msgid "Serial number cannot be set if quantity greater than 1"
msgstr ""
-#: stock/models.py:558
+#: stock/models.py:574
msgid "Item cannot belong to itself"
msgstr ""
-#: stock/models.py:564
+#: stock/models.py:580
msgid "Item must have a build reference if is_building=True"
msgstr ""
-#: stock/models.py:578
+#: stock/models.py:594
msgid "Build reference does not point to the same part object"
msgstr ""
-#: stock/models.py:592
+#: stock/models.py:608
msgid "Parent Stock Item"
msgstr ""
-#: stock/models.py:602
+#: stock/models.py:618
msgid "Base part"
msgstr ""
-#: stock/models.py:610
+#: stock/models.py:626
msgid "Select a matching supplier part for this stock item"
msgstr ""
-#: stock/models.py:617 stock/templates/stock/location.html:17
+#: stock/models.py:633 stock/templates/stock/location.html:17
#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
msgstr ""
-#: stock/models.py:620
+#: stock/models.py:636
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:627
+#: stock/models.py:643
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:633 stock/templates/stock/item_base.html:359
-msgid "Installed In"
-msgstr ""
-
-#: stock/models.py:636
+#: stock/models.py:652
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:652
+#: stock/models.py:668
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:666
+#: stock/models.py:682
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:671
+#: stock/models.py:687
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:680
+#: stock/models.py:696
msgid "Source Build"
msgstr ""
-#: stock/models.py:682
+#: stock/models.py:698
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:693
+#: stock/models.py:709
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:696
+#: stock/models.py:712
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:702
+#: stock/models.py:718
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:708 stock/templates/stock/item_base.html:427
-#: templates/js/translated/stock.js:1885
-msgid "Expiry Date"
-msgstr ""
-
-#: stock/models.py:709
+#: stock/models.py:725
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:722
+#: stock/models.py:738
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:722
+#: stock/models.py:738
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:734 stock/templates/stock/item.html:132
+#: stock/models.py:750 stock/templates/stock/item.html:132
msgid "Stock Item Notes"
msgstr ""
-#: stock/models.py:742
+#: stock/models.py:758
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:770
+#: stock/models.py:786
msgid "Converted to part"
msgstr ""
-#: stock/models.py:1244
+#: stock/models.py:1260
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1250
+#: stock/models.py:1266
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1256
+#: stock/models.py:1272
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr ""
-#: stock/models.py:1259
+#: stock/models.py:1275
msgid "Serial numbers must be a list of integers"
msgstr ""
-#: stock/models.py:1262
+#: stock/models.py:1278
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1269
+#: stock/models.py:1285
#, python-brace-format
msgid "Serial numbers already exist: {exists}"
msgstr ""
-#: stock/models.py:1339
+#: stock/models.py:1355
msgid "Stock item has been assigned to a sales order"
msgstr ""
-#: stock/models.py:1342
+#: stock/models.py:1358
msgid "Stock item is installed in another item"
msgstr ""
-#: stock/models.py:1345
+#: stock/models.py:1361
msgid "Stock item contains other items"
msgstr ""
-#: stock/models.py:1348
+#: stock/models.py:1364
msgid "Stock item has been assigned to a customer"
msgstr ""
-#: stock/models.py:1351
+#: stock/models.py:1367
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:1354
+#: stock/models.py:1370
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1361 stock/serializers.py:963
+#: stock/models.py:1377 stock/serializers.py:962
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:1365
+#: stock/models.py:1381
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:1369
+#: stock/models.py:1385
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:1373
+#: stock/models.py:1389
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:1542
+#: stock/models.py:1558
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:2003
+#: stock/models.py:2019
msgid "Entry notes"
msgstr ""
-#: stock/models.py:2061
+#: stock/models.py:2077
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:2067
+#: stock/models.py:2083
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:2086
+#: stock/models.py:2102
msgid "Test name"
msgstr ""
-#: stock/models.py:2092
+#: stock/models.py:2108
msgid "Test result"
msgstr ""
-#: stock/models.py:2098
+#: stock/models.py:2114
msgid "Test output value"
msgstr ""
-#: stock/models.py:2105
+#: stock/models.py:2121
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2111
+#: stock/models.py:2127
msgid "Test notes"
msgstr ""
-#: stock/serializers.py:71
+#: stock/serializers.py:75
msgid "Serial number is too large"
msgstr ""
-#: stock/serializers.py:172
+#: stock/serializers.py:176
msgid "Purchase price of this stock item"
msgstr ""
-#: stock/serializers.py:292
+#: stock/serializers.py:286
msgid "Enter number of stock items to serialize"
msgstr ""
-#: stock/serializers.py:304
+#: stock/serializers.py:298
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({q})"
msgstr ""
-#: stock/serializers.py:310
+#: stock/serializers.py:304
msgid "Enter serial numbers for new items"
msgstr ""
-#: stock/serializers.py:321 stock/serializers.py:920 stock/serializers.py:1153
+#: stock/serializers.py:315 stock/serializers.py:919 stock/serializers.py:1152
msgid "Destination stock location"
msgstr ""
-#: stock/serializers.py:328
+#: stock/serializers.py:322
msgid "Optional note field"
msgstr ""
-#: stock/serializers.py:338
+#: stock/serializers.py:332
msgid "Serial numbers cannot be assigned to this part"
msgstr ""
-#: stock/serializers.py:359
+#: stock/serializers.py:353
msgid "Serial numbers already exist"
msgstr ""
-#: stock/serializers.py:399
+#: stock/serializers.py:393
msgid "Select stock item to install"
msgstr ""
-#: stock/serializers.py:412
+#: stock/serializers.py:406
msgid "Stock item is unavailable"
msgstr ""
-#: stock/serializers.py:419
+#: stock/serializers.py:413
msgid "Selected part is not in the Bill of Materials"
msgstr ""
-#: stock/serializers.py:456
+#: stock/serializers.py:450
msgid "Destination location for uninstalled item"
msgstr ""
-#: stock/serializers.py:461 stock/serializers.py:542
+#: stock/serializers.py:455 stock/serializers.py:536
msgid "Add transaction note (optional)"
msgstr ""
-#: stock/serializers.py:495
+#: stock/serializers.py:489
msgid "Select part to convert stock item into"
msgstr ""
-#: stock/serializers.py:506
+#: stock/serializers.py:500
msgid "Selected part is not a valid option for conversion"
msgstr ""
-#: stock/serializers.py:537
+#: stock/serializers.py:531
msgid "Destination location for returned item"
msgstr ""
-#: stock/serializers.py:775
+#: stock/serializers.py:774
msgid "Part must be salable"
msgstr ""
-#: stock/serializers.py:779
+#: stock/serializers.py:778
msgid "Item is allocated to a sales order"
msgstr ""
-#: stock/serializers.py:783
+#: stock/serializers.py:782
msgid "Item is allocated to a build order"
msgstr ""
-#: stock/serializers.py:814
+#: stock/serializers.py:813
msgid "Customer to assign stock items"
msgstr ""
-#: stock/serializers.py:820
+#: stock/serializers.py:819
msgid "Selected company is not a customer"
msgstr ""
-#: stock/serializers.py:828
+#: stock/serializers.py:827
msgid "Stock assignment notes"
msgstr ""
-#: stock/serializers.py:838 stock/serializers.py:1069
+#: stock/serializers.py:837 stock/serializers.py:1068
msgid "A list of stock items must be provided"
msgstr ""
-#: stock/serializers.py:927
+#: stock/serializers.py:926
msgid "Stock merging notes"
msgstr ""
-#: stock/serializers.py:932
+#: stock/serializers.py:931
msgid "Allow mismatched suppliers"
msgstr ""
-#: stock/serializers.py:933
+#: stock/serializers.py:932
msgid "Allow stock items with different supplier parts to be merged"
msgstr ""
-#: stock/serializers.py:938
+#: stock/serializers.py:937
msgid "Allow mismatched status"
msgstr ""
-#: stock/serializers.py:939
+#: stock/serializers.py:938
msgid "Allow stock items with different status codes to be merged"
msgstr ""
-#: stock/serializers.py:949
+#: stock/serializers.py:948
msgid "At least two stock items must be provided"
msgstr ""
-#: stock/serializers.py:1031
+#: stock/serializers.py:1030
msgid "StockItem primary key value"
msgstr ""
-#: stock/serializers.py:1059
+#: stock/serializers.py:1058
msgid "Stock transaction notes"
msgstr ""
@@ -6520,7 +6794,7 @@ msgstr ""
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2871
+#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2889
msgid "Install Stock Item"
msgstr ""
@@ -6528,7 +6802,7 @@ msgstr ""
msgid "Delete all test results for this stock item"
msgstr ""
-#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1522
+#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1541
msgid "Add Test Result"
msgstr ""
@@ -6687,7 +6961,7 @@ msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:431
-#: templates/js/translated/table_filters.js:277
+#: templates/js/translated/table_filters.js:281
msgid "Expired"
msgstr ""
@@ -6697,16 +6971,10 @@ msgid "This StockItem expires on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/table_filters.js:283
+#: templates/js/translated/table_filters.js:287
msgid "Stale"
msgstr ""
-#: stock/templates/stock/item_base.html:440
-#: templates/js/translated/company.js:1038
-#: templates/js/translated/stock.js:1901
-msgid "Last Updated"
-msgstr ""
-
#: stock/templates/stock/item_base.html:445
msgid "Last Stocktake"
msgstr ""
@@ -6783,11 +7051,6 @@ msgstr ""
msgid "Delete location"
msgstr ""
-#: stock/templates/stock/location.html:123
-#: stock/templates/stock/location.html:129
-msgid "Location Path"
-msgstr ""
-
#: stock/templates/stock/location.html:130
msgid "Top level stock location"
msgstr ""
@@ -6960,6 +7223,14 @@ msgstr ""
msgid "Overdue Sales Orders"
msgstr ""
+#: templates/InvenTree/index.html:312
+msgid "InvenTree News"
+msgstr ""
+
+#: templates/InvenTree/index.html:314
+msgid "Current News"
+msgstr ""
+
#: templates/InvenTree/notifications/history.html:9
msgid "Notification History"
msgstr ""
@@ -7026,30 +7297,6 @@ msgstr ""
msgid "Category Settings"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:8
-msgid "Currency Settings"
-msgstr ""
-
-#: templates/InvenTree/settings/currencies.html:19
-msgid "Base Currency"
-msgstr ""
-
-#: templates/InvenTree/settings/currencies.html:24
-msgid "Exchange Rates"
-msgstr ""
-
-#: templates/InvenTree/settings/currencies.html:38
-msgid "Last Update"
-msgstr ""
-
-#: templates/InvenTree/settings/currencies.html:44
-msgid "Never"
-msgstr ""
-
-#: templates/InvenTree/settings/currencies.html:49
-msgid "Update Now"
-msgstr ""
-
#: templates/InvenTree/settings/global.html:9
msgid "Server Settings"
msgstr ""
@@ -7090,15 +7337,15 @@ msgstr ""
msgid "Part Settings"
msgstr ""
-#: templates/InvenTree/settings/part.html:46
+#: templates/InvenTree/settings/part.html:40
msgid "Part Import"
msgstr ""
-#: templates/InvenTree/settings/part.html:50
+#: templates/InvenTree/settings/part.html:44
msgid "Import Part"
msgstr ""
-#: templates/InvenTree/settings/part.html:64
+#: templates/InvenTree/settings/part.html:58
msgid "Part Parameter Templates"
msgstr ""
@@ -7125,11 +7372,6 @@ msgstr ""
msgid "External plugins are not enabled for this InvenTree installation"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:62
-#: templates/InvenTree/settings/plugin_settings.html:33
-msgid "Author"
-msgstr ""
-
#: templates/InvenTree/settings/plugin.html:64
#: templates/InvenTree/settings/plugin_settings.html:43
msgid "Version"
@@ -7239,6 +7481,39 @@ msgstr ""
msgid "Purchase Order Settings"
msgstr ""
+#: templates/InvenTree/settings/pricing.html:7
+msgid "Pricing Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:24
+msgid "Currency Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:30
+msgid "Update Now"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:39
+#: templates/InvenTree/settings/pricing.html:43
+msgid "Last Update"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:43
+msgid "Never"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:53
+msgid "Base Currency"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:58
+msgid "Exchange Rates"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:60
+msgid "Rate"
+msgstr ""
+
#: templates/InvenTree/settings/report.html:8
#: templates/InvenTree/settings/user_reports.html:9
msgid "Report Settings"
@@ -7295,6 +7570,7 @@ msgid "No part parameter templates found"
msgstr ""
#: templates/InvenTree/settings/settings.html:338
+#: templates/js/translated/news.js:28
#: templates/js/translated/notification.js:36
msgid "ID"
msgstr ""
@@ -7357,10 +7633,6 @@ msgstr ""
msgid "Server Configuration"
msgstr ""
-#: templates/InvenTree/settings/sidebar.html:35
-msgid "Currencies"
-msgstr ""
-
#: templates/InvenTree/settings/sidebar.html:43
msgid "Categories"
msgstr ""
@@ -7380,7 +7652,7 @@ msgid "Change Password"
msgstr ""
#: templates/InvenTree/settings/user.html:23
-#: templates/js/translated/helpers.js:31 templates/notes_buttons.html:3
+#: templates/js/translated/helpers.js:33 templates/notes_buttons.html:3
#: templates/notes_buttons.html:4
msgid "Edit"
msgstr ""
@@ -7890,7 +8162,7 @@ msgid "The following parts are low on required stock"
msgstr ""
#: templates/email/build_order_required_stock.html:18
-#: templates/js/translated/bom.js:1566
+#: templates/js/translated/bom.js:1629
msgid "Required Quantity"
msgstr ""
@@ -7904,7 +8176,7 @@ msgid "Click on the following link to view this part"
msgstr ""
#: templates/email/low_stock_notification.html:19
-#: templates/js/translated/part.js:2566
+#: templates/js/translated/part.js:2423
msgid "Minimum Quantity"
msgstr ""
@@ -8057,7 +8329,7 @@ msgstr ""
msgid "Unlink"
msgstr ""
-#: templates/js/translated/barcode.js:500 templates/js/translated/stock.js:1054
+#: templates/js/translated/barcode.js:500 templates/js/translated/stock.js:1073
msgid "Remove stock item"
msgstr ""
@@ -8127,10 +8399,10 @@ msgstr ""
msgid "Row Data"
msgstr ""
-#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:646
+#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:659
#: templates/js/translated/modals.js:56 templates/js/translated/modals.js:601
#: templates/js/translated/modals.js:695 templates/js/translated/modals.js:1003
-#: templates/js/translated/order.js:1179 templates/modals.html:15
+#: templates/js/translated/order.js:1213 templates/modals.html:15
#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50
msgid "Close"
msgstr ""
@@ -8140,12 +8412,12 @@ msgid "Download BOM Template"
msgstr ""
#: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312
-#: templates/js/translated/order.js:960 templates/js/translated/tables.js:145
+#: templates/js/translated/order.js:994 templates/js/translated/tables.js:145
msgid "Format"
msgstr ""
#: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313
-#: templates/js/translated/order.js:961
+#: templates/js/translated/order.js:995
msgid "Select file format"
msgstr ""
@@ -8197,118 +8469,130 @@ msgstr ""
msgid "Include part supplier data in exported BOM"
msgstr ""
-#: templates/js/translated/bom.js:537
+#: templates/js/translated/bom.js:358
+msgid "Include Pricing Data"
+msgstr ""
+
+#: templates/js/translated/bom.js:359
+msgid "Include part pricing data in exported BOM"
+msgstr ""
+
+#: templates/js/translated/bom.js:550
msgid "Remove substitute part"
msgstr ""
-#: templates/js/translated/bom.js:591
+#: templates/js/translated/bom.js:604
msgid "Select and add a new substitute part using the input below"
msgstr ""
-#: templates/js/translated/bom.js:602
+#: templates/js/translated/bom.js:615
msgid "Are you sure you wish to remove this substitute part link?"
msgstr ""
-#: templates/js/translated/bom.js:608
+#: templates/js/translated/bom.js:621
msgid "Remove Substitute Part"
msgstr ""
-#: templates/js/translated/bom.js:647
+#: templates/js/translated/bom.js:660
msgid "Add Substitute"
msgstr ""
-#: templates/js/translated/bom.js:648
+#: templates/js/translated/bom.js:661
msgid "Edit BOM Item Substitutes"
msgstr ""
-#: templates/js/translated/bom.js:710
+#: templates/js/translated/bom.js:723
msgid "All selected BOM items will be deleted"
msgstr ""
-#: templates/js/translated/bom.js:726
+#: templates/js/translated/bom.js:739
msgid "Delete selected BOM items?"
msgstr ""
-#: templates/js/translated/bom.js:860
+#: templates/js/translated/bom.js:868
msgid "Load BOM for subassembly"
msgstr ""
-#: templates/js/translated/bom.js:870
+#: templates/js/translated/bom.js:878
msgid "Substitutes Available"
msgstr ""
-#: templates/js/translated/bom.js:874 templates/js/translated/build.js:1835
+#: templates/js/translated/bom.js:882 templates/js/translated/build.js:1835
msgid "Variant stock allowed"
msgstr ""
-#: templates/js/translated/bom.js:983 templates/js/translated/build.js:1907
-#: templates/js/translated/order.js:3927
-msgid "No Stock Available"
-msgstr ""
-
-#: templates/js/translated/bom.js:988 templates/js/translated/build.js:1911
-msgid "Includes variant and substitute stock"
-msgstr ""
-
-#: templates/js/translated/bom.js:990 templates/js/translated/build.js:1913
-#: templates/js/translated/part.js:761 templates/js/translated/part.js:1539
-msgid "Includes variant stock"
-msgstr ""
-
-#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1915
-msgid "Includes substitute stock"
-msgstr ""
-
-#: templates/js/translated/bom.js:1010
+#: templates/js/translated/bom.js:972
msgid "Substitutes"
msgstr ""
-#: templates/js/translated/bom.js:1061 templates/js/translated/bom.js:1195
+#: templates/js/translated/bom.js:1023 templates/js/translated/bom.js:1260
msgid "View BOM"
msgstr ""
-#: templates/js/translated/bom.js:1071
-msgid "Purchase Price Range"
+#: templates/js/translated/bom.js:1094
+msgid "BOM pricing is complete"
msgstr ""
-#: templates/js/translated/bom.js:1078
-msgid "Purchase Price Average"
+#: templates/js/translated/bom.js:1099
+msgid "BOM pricing is incomplete"
msgstr ""
-#: templates/js/translated/bom.js:1106 templates/js/translated/build.js:1898
+#: templates/js/translated/bom.js:1106
+msgid "No pricing available"
+msgstr ""
+
+#: templates/js/translated/bom.js:1137 templates/js/translated/build.js:1907
+#: templates/js/translated/order.js:3924
+msgid "No Stock Available"
+msgstr ""
+
+#: templates/js/translated/bom.js:1142 templates/js/translated/build.js:1911
+msgid "Includes variant and substitute stock"
+msgstr ""
+
+#: templates/js/translated/bom.js:1144 templates/js/translated/build.js:1913
+#: templates/js/translated/part.js:775 templates/js/translated/part.js:1550
+msgid "Includes variant stock"
+msgstr ""
+
+#: templates/js/translated/bom.js:1146 templates/js/translated/build.js:1915
+msgid "Includes substitute stock"
+msgstr ""
+
+#: templates/js/translated/bom.js:1171 templates/js/translated/build.js:1898
#: templates/js/translated/build.js:1985
msgid "Consumable item"
msgstr ""
-#: templates/js/translated/bom.js:1166
+#: templates/js/translated/bom.js:1231
msgid "Validate BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1168
+#: templates/js/translated/bom.js:1233
msgid "This line has been validated"
msgstr ""
-#: templates/js/translated/bom.js:1170
+#: templates/js/translated/bom.js:1235
msgid "Edit substitute parts"
msgstr ""
-#: templates/js/translated/bom.js:1172 templates/js/translated/bom.js:1369
+#: templates/js/translated/bom.js:1237 templates/js/translated/bom.js:1433
msgid "Edit BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1174
+#: templates/js/translated/bom.js:1239
msgid "Delete BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1280 templates/js/translated/build.js:1679
+#: templates/js/translated/bom.js:1344 templates/js/translated/build.js:1679
msgid "No BOM items found"
msgstr ""
-#: templates/js/translated/bom.js:1549 templates/js/translated/build.js:1818
+#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1818
msgid "Required Part"
msgstr ""
-#: templates/js/translated/bom.js:1575
+#: templates/js/translated/bom.js:1638
msgid "Inherited from parent BOM"
msgstr ""
@@ -8353,12 +8637,12 @@ msgid "Complete Build Order"
msgstr ""
#: templates/js/translated/build.js:311 templates/js/translated/stock.js:92
-#: templates/js/translated/stock.js:214
+#: templates/js/translated/stock.js:233
msgid "Next available serial number"
msgstr ""
#: templates/js/translated/build.js:313 templates/js/translated/stock.js:94
-#: templates/js/translated/stock.js:216
+#: templates/js/translated/stock.js:235
msgid "Latest serial number"
msgstr ""
@@ -8455,12 +8739,12 @@ msgid "No required tests for this build"
msgstr ""
#: templates/js/translated/build.js:1775 templates/js/translated/build.js:2765
-#: templates/js/translated/order.js:3627
+#: templates/js/translated/order.js:3638
msgid "Edit stock allocation"
msgstr ""
#: templates/js/translated/build.js:1777 templates/js/translated/build.js:2766
-#: templates/js/translated/order.js:3628
+#: templates/js/translated/order.js:3639
msgid "Delete stock allocation"
msgstr ""
@@ -8480,20 +8764,15 @@ msgstr ""
msgid "Quantity Per"
msgstr ""
-#: templates/js/translated/build.js:1901 templates/js/translated/order.js:3934
+#: templates/js/translated/build.js:1901 templates/js/translated/order.js:3931
msgid "Insufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3932
+#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3929
msgid "Sufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1937 templates/js/translated/build.js:2195
-#: templates/js/translated/build.js:2761 templates/js/translated/order.js:3946
-msgid "Allocated"
-msgstr ""
-
-#: templates/js/translated/build.js:1993 templates/js/translated/order.js:4026
+#: templates/js/translated/build.js:1993 templates/js/translated/order.js:4023
msgid "Build stock"
msgstr ""
@@ -8501,21 +8780,21 @@ msgstr ""
msgid "Order stock"
msgstr ""
-#: templates/js/translated/build.js:2000 templates/js/translated/order.js:4019
+#: templates/js/translated/build.js:2000 templates/js/translated/order.js:4016
msgid "Allocate stock"
msgstr ""
#: templates/js/translated/build.js:2039 templates/js/translated/label.js:172
-#: templates/js/translated/order.js:1007 templates/js/translated/order.js:3154
+#: templates/js/translated/order.js:1041 templates/js/translated/order.js:3165
#: templates/js/translated/report.js:225
msgid "Select Parts"
msgstr ""
-#: templates/js/translated/build.js:2040 templates/js/translated/order.js:3155
+#: templates/js/translated/build.js:2040 templates/js/translated/order.js:3166
msgid "You must select at least one part to allocate"
msgstr ""
-#: templates/js/translated/build.js:2089 templates/js/translated/order.js:3103
+#: templates/js/translated/build.js:2089 templates/js/translated/order.js:3114
msgid "Specify stock allocation quantity"
msgstr ""
@@ -8527,7 +8806,7 @@ msgstr ""
msgid "All selected parts have been fully allocated"
msgstr ""
-#: templates/js/translated/build.js:2183 templates/js/translated/order.js:3169
+#: templates/js/translated/build.js:2183 templates/js/translated/order.js:3180
msgid "Select source location (leave blank to take from all locations)"
msgstr ""
@@ -8535,11 +8814,11 @@ msgstr ""
msgid "Allocate Stock Items to Build Order"
msgstr ""
-#: templates/js/translated/build.js:2222 templates/js/translated/order.js:3266
+#: templates/js/translated/build.js:2222 templates/js/translated/order.js:3277
msgid "No matching stock locations"
msgstr ""
-#: templates/js/translated/build.js:2294 templates/js/translated/order.js:3343
+#: templates/js/translated/build.js:2294 templates/js/translated/order.js:3354
msgid "No matching stock items"
msgstr ""
@@ -8571,9 +8850,9 @@ msgstr ""
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:2558 templates/js/translated/part.js:1423
-#: templates/js/translated/part.js:1957 templates/js/translated/stock.js:1686
-#: templates/js/translated/stock.js:2390
+#: templates/js/translated/build.js:2558 templates/js/translated/part.js:1444
+#: templates/js/translated/part.js:1981 templates/js/translated/stock.js:1705
+#: templates/js/translated/stock.js:2408
msgid "Select"
msgstr ""
@@ -8585,7 +8864,7 @@ msgstr ""
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2636 templates/js/translated/stock.js:2657
+#: templates/js/translated/build.js:2636 templates/js/translated/stock.js:2675
msgid "No user information"
msgstr ""
@@ -8593,118 +8872,144 @@ msgstr ""
msgid "No parts allocated for"
msgstr ""
-#: templates/js/translated/company.js:66
+#: templates/js/translated/company.js:67
msgid "Add Manufacturer"
msgstr ""
-#: templates/js/translated/company.js:79 templates/js/translated/company.js:181
+#: templates/js/translated/company.js:80 templates/js/translated/company.js:182
msgid "Add Manufacturer Part"
msgstr ""
-#: templates/js/translated/company.js:100
+#: templates/js/translated/company.js:101
msgid "Edit Manufacturer Part"
msgstr ""
-#: templates/js/translated/company.js:169 templates/js/translated/order.js:576
+#: templates/js/translated/company.js:170 templates/js/translated/order.js:576
msgid "Add Supplier"
msgstr ""
-#: templates/js/translated/company.js:197 templates/js/translated/order.js:828
+#: templates/js/translated/company.js:198 templates/js/translated/order.js:862
msgid "Add Supplier Part"
msgstr ""
-#: templates/js/translated/company.js:297
+#: templates/js/translated/company.js:298
msgid "All selected supplier parts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:313
+#: templates/js/translated/company.js:314
msgid "Delete Supplier Parts"
msgstr ""
-#: templates/js/translated/company.js:385
+#: templates/js/translated/company.js:386
msgid "Add new Company"
msgstr ""
-#: templates/js/translated/company.js:462
+#: templates/js/translated/company.js:463
msgid "Parts Supplied"
msgstr ""
-#: templates/js/translated/company.js:471
+#: templates/js/translated/company.js:472
msgid "Parts Manufactured"
msgstr ""
-#: templates/js/translated/company.js:486
+#: templates/js/translated/company.js:487
msgid "No company information found"
msgstr ""
-#: templates/js/translated/company.js:527
+#: templates/js/translated/company.js:528
msgid "All selected manufacturer parts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:542
+#: templates/js/translated/company.js:543
msgid "Delete Manufacturer Parts"
msgstr ""
-#: templates/js/translated/company.js:576
+#: templates/js/translated/company.js:577
msgid "All selected parameters will be deleted"
msgstr ""
-#: templates/js/translated/company.js:590
+#: templates/js/translated/company.js:591
msgid "Delete Parameters"
msgstr ""
-#: templates/js/translated/company.js:631
+#: templates/js/translated/company.js:632
msgid "No manufacturer parts found"
msgstr ""
-#: templates/js/translated/company.js:651
-#: templates/js/translated/company.js:912 templates/js/translated/part.js:636
-#: templates/js/translated/part.js:721
+#: templates/js/translated/company.js:652
+#: templates/js/translated/company.js:913 templates/js/translated/part.js:650
+#: templates/js/translated/part.js:735
msgid "Template part"
msgstr ""
-#: templates/js/translated/company.js:655
-#: templates/js/translated/company.js:916 templates/js/translated/part.js:640
-#: templates/js/translated/part.js:725
+#: templates/js/translated/company.js:656
+#: templates/js/translated/company.js:917 templates/js/translated/part.js:654
+#: templates/js/translated/part.js:739
msgid "Assembled part"
msgstr ""
-#: templates/js/translated/company.js:783 templates/js/translated/part.js:828
+#: templates/js/translated/company.js:784 templates/js/translated/part.js:855
msgid "No parameters found"
msgstr ""
-#: templates/js/translated/company.js:820 templates/js/translated/part.js:870
+#: templates/js/translated/company.js:821 templates/js/translated/part.js:897
msgid "Edit parameter"
msgstr ""
-#: templates/js/translated/company.js:821 templates/js/translated/part.js:871
+#: templates/js/translated/company.js:822 templates/js/translated/part.js:898
msgid "Delete parameter"
msgstr ""
-#: templates/js/translated/company.js:840 templates/js/translated/part.js:888
+#: templates/js/translated/company.js:841 templates/js/translated/part.js:915
msgid "Edit Parameter"
msgstr ""
-#: templates/js/translated/company.js:851 templates/js/translated/part.js:900
+#: templates/js/translated/company.js:852 templates/js/translated/part.js:927
msgid "Delete Parameter"
msgstr ""
-#: templates/js/translated/company.js:891
+#: templates/js/translated/company.js:892
msgid "No supplier parts found"
msgstr ""
-#: templates/js/translated/company.js:1032
+#: templates/js/translated/company.js:1033
msgid "Availability"
msgstr ""
-#: templates/js/translated/company.js:1055
+#: templates/js/translated/company.js:1056
msgid "Edit supplier part"
msgstr ""
-#: templates/js/translated/company.js:1056
+#: templates/js/translated/company.js:1057
msgid "Delete supplier part"
msgstr ""
+#: templates/js/translated/company.js:1112
+#: templates/js/translated/pricing.js:423
+msgid "Delete Price Break"
+msgstr ""
+
+#: templates/js/translated/company.js:1128
+#: templates/js/translated/pricing.js:437
+msgid "Edit Price Break"
+msgstr ""
+
+#: templates/js/translated/company.js:1145
+msgid "No price break information found"
+msgstr ""
+
+#: templates/js/translated/company.js:1174
+msgid "Last updated"
+msgstr ""
+
+#: templates/js/translated/company.js:1180
+msgid "Edit price break"
+msgstr ""
+
+#: templates/js/translated/company.js:1181
+msgid "Delete price break"
+msgstr ""
+
#: templates/js/translated/filters.js:178
#: templates/js/translated/filters.js:441
msgid "true"
@@ -8785,27 +9090,27 @@ msgstr ""
msgid "Clear input"
msgstr ""
-#: templates/js/translated/forms.js:2638
+#: templates/js/translated/forms.js:2628
msgid "File Column"
msgstr ""
-#: templates/js/translated/forms.js:2638
+#: templates/js/translated/forms.js:2628
msgid "Field Name"
msgstr ""
-#: templates/js/translated/forms.js:2650
+#: templates/js/translated/forms.js:2640
msgid "Select Columns"
msgstr ""
-#: templates/js/translated/helpers.js:24
+#: templates/js/translated/helpers.js:26
msgid "YES"
msgstr ""
-#: templates/js/translated/helpers.js:26
+#: templates/js/translated/helpers.js:28
msgid "NO"
msgstr ""
-#: templates/js/translated/helpers.js:363
+#: templates/js/translated/helpers.js:434
msgid "Notes updated"
msgstr ""
@@ -8814,7 +9119,7 @@ msgid "Labels sent to printer"
msgstr ""
#: templates/js/translated/label.js:60 templates/js/translated/report.js:118
-#: templates/js/translated/stock.js:1078
+#: templates/js/translated/stock.js:1097
msgid "Select Stock Items"
msgstr ""
@@ -8934,14 +9239,6 @@ msgstr ""
msgid "Stock ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:159
-msgid "Location ID"
-msgstr ""
-
-#: templates/js/translated/model_renderers.js:177
-msgid "Build ID"
-msgstr ""
-
#: templates/js/translated/model_renderers.js:278
#: templates/js/translated/model_renderers.js:303
msgid "Order ID"
@@ -8952,16 +9249,12 @@ msgstr ""
msgid "Shipment ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:338
-msgid "Category ID"
-msgstr ""
-
#: templates/js/translated/model_renderers.js:381
msgid "Manufacturer Part ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:418
-msgid "Supplier Part ID"
+#: templates/js/translated/news.js:23
+msgid "No news found"
msgstr ""
#: templates/js/translated/notification.js:42
@@ -9104,659 +9397,688 @@ msgstr ""
msgid "Duplication Options"
msgstr ""
-#: templates/js/translated/order.js:957
+#: templates/js/translated/order.js:991
msgid "Export Order"
msgstr ""
-#: templates/js/translated/order.js:1008
+#: templates/js/translated/order.js:1042
msgid "At least one purchaseable part must be selected"
msgstr ""
-#: templates/js/translated/order.js:1033
+#: templates/js/translated/order.js:1067
msgid "Quantity to order"
msgstr ""
-#: templates/js/translated/order.js:1042
+#: templates/js/translated/order.js:1076
msgid "New supplier part"
msgstr ""
-#: templates/js/translated/order.js:1060
+#: templates/js/translated/order.js:1094
msgid "New purchase order"
msgstr ""
-#: templates/js/translated/order.js:1093
+#: templates/js/translated/order.js:1127
msgid "Add to purchase order"
msgstr ""
-#: templates/js/translated/order.js:1233
+#: templates/js/translated/order.js:1267
msgid "No matching supplier parts"
msgstr ""
-#: templates/js/translated/order.js:1252
+#: templates/js/translated/order.js:1286
msgid "No matching purchase orders"
msgstr ""
-#: templates/js/translated/order.js:1429
+#: templates/js/translated/order.js:1463
msgid "Select Line Items"
msgstr ""
-#: templates/js/translated/order.js:1430
+#: templates/js/translated/order.js:1464
msgid "At least one line item must be selected"
msgstr ""
-#: templates/js/translated/order.js:1450 templates/js/translated/order.js:1563
+#: templates/js/translated/order.js:1484 templates/js/translated/order.js:1597
msgid "Add batch code"
msgstr ""
-#: templates/js/translated/order.js:1456 templates/js/translated/order.js:1574
+#: templates/js/translated/order.js:1490 templates/js/translated/order.js:1608
msgid "Add serial numbers"
msgstr ""
-#: templates/js/translated/order.js:1471
+#: templates/js/translated/order.js:1505
msgid "Received Quantity"
msgstr ""
-#: templates/js/translated/order.js:1482
+#: templates/js/translated/order.js:1516
msgid "Quantity to receive"
msgstr ""
-#: templates/js/translated/order.js:1546 templates/js/translated/stock.js:2146
+#: templates/js/translated/order.js:1580 templates/js/translated/stock.js:2164
msgid "Stock Status"
msgstr ""
-#: templates/js/translated/order.js:1639
+#: templates/js/translated/order.js:1673
msgid "Order Code"
msgstr ""
-#: templates/js/translated/order.js:1640
+#: templates/js/translated/order.js:1674
msgid "Ordered"
msgstr ""
-#: templates/js/translated/order.js:1642
+#: templates/js/translated/order.js:1676
msgid "Quantity to Receive"
msgstr ""
-#: templates/js/translated/order.js:1661
+#: templates/js/translated/order.js:1695
msgid "Confirm receipt of items"
msgstr ""
-#: templates/js/translated/order.js:1662
+#: templates/js/translated/order.js:1696
msgid "Receive Purchase Order Items"
msgstr ""
-#: templates/js/translated/order.js:1940 templates/js/translated/part.js:941
+#: templates/js/translated/order.js:1974 templates/js/translated/part.js:968
msgid "No purchase orders found"
msgstr ""
-#: templates/js/translated/order.js:1967 templates/js/translated/order.js:2798
+#: templates/js/translated/order.js:2001 templates/js/translated/order.js:2809
msgid "Order is overdue"
msgstr ""
-#: templates/js/translated/order.js:2017 templates/js/translated/order.js:2863
-#: templates/js/translated/order.js:3004
+#: templates/js/translated/order.js:2051 templates/js/translated/order.js:2874
+#: templates/js/translated/order.js:3015
msgid "Items"
msgstr ""
-#: templates/js/translated/order.js:2115 templates/js/translated/order.js:4078
+#: templates/js/translated/order.js:2154 templates/js/translated/order.js:4075
msgid "Duplicate Line Item"
msgstr ""
-#: templates/js/translated/order.js:2132 templates/js/translated/order.js:4100
+#: templates/js/translated/order.js:2171 templates/js/translated/order.js:4097
msgid "Edit Line Item"
msgstr ""
-#: templates/js/translated/order.js:2145 templates/js/translated/order.js:4111
+#: templates/js/translated/order.js:2184 templates/js/translated/order.js:4108
msgid "Delete Line Item"
msgstr ""
-#: templates/js/translated/order.js:2188
+#: templates/js/translated/order.js:2227
msgid "No line items found"
msgstr ""
-#: templates/js/translated/order.js:2215 templates/js/translated/order.js:3812
+#: templates/js/translated/order.js:2254 templates/js/translated/order.js:3827
msgid "Total"
msgstr ""
-#: templates/js/translated/order.js:2270 templates/js/translated/part.js:1043
-#: templates/js/translated/part.js:1095
+#: templates/js/translated/order.js:2309 templates/js/translated/part.js:1070
+#: templates/js/translated/part.js:1122
msgid "Total Quantity"
msgstr ""
-#: templates/js/translated/order.js:2301 templates/js/translated/order.js:2500
-#: templates/js/translated/order.js:3837 templates/js/translated/order.js:4342
-#: templates/js/translated/part.js:2199 templates/js/translated/part.js:2797
+#: templates/js/translated/order.js:2340 templates/js/translated/order.js:2527
+#: templates/js/translated/order.js:3852 templates/js/translated/order.js:4343
+#: templates/js/translated/pricing.js:260
+#: templates/js/translated/pricing.js:329
+#: templates/js/translated/pricing.js:545
msgid "Unit Price"
msgstr ""
-#: templates/js/translated/order.js:2316 templates/js/translated/order.js:2516
-#: templates/js/translated/order.js:3853 templates/js/translated/order.js:4358
+#: templates/js/translated/order.js:2350 templates/js/translated/order.js:2537
+#: templates/js/translated/order.js:3862 templates/js/translated/order.js:4353
msgid "Total Price"
msgstr ""
-#: templates/js/translated/order.js:2357 templates/js/translated/order.js:3895
-#: templates/js/translated/part.js:1079
+#: templates/js/translated/order.js:2380 templates/js/translated/order.js:3892
+#: templates/js/translated/part.js:1106
msgid "This line item is overdue"
msgstr ""
-#: templates/js/translated/order.js:2416 templates/js/translated/part.js:1130
+#: templates/js/translated/order.js:2439 templates/js/translated/part.js:1151
msgid "Receive line item"
msgstr ""
-#: templates/js/translated/order.js:2420 templates/js/translated/order.js:4032
+#: templates/js/translated/order.js:2443 templates/js/translated/order.js:4029
msgid "Duplicate line item"
msgstr ""
-#: templates/js/translated/order.js:2421 templates/js/translated/order.js:4033
+#: templates/js/translated/order.js:2444 templates/js/translated/order.js:4030
msgid "Edit line item"
msgstr ""
-#: templates/js/translated/order.js:2422 templates/js/translated/order.js:4037
+#: templates/js/translated/order.js:2445 templates/js/translated/order.js:4034
msgid "Delete line item"
msgstr ""
-#: templates/js/translated/order.js:2564 templates/js/translated/order.js:4406
+#: templates/js/translated/order.js:2574 templates/js/translated/order.js:4389
msgid "Duplicate line"
msgstr ""
-#: templates/js/translated/order.js:2565 templates/js/translated/order.js:4407
+#: templates/js/translated/order.js:2575 templates/js/translated/order.js:4390
msgid "Edit line"
msgstr ""
-#: templates/js/translated/order.js:2566 templates/js/translated/order.js:4408
+#: templates/js/translated/order.js:2576 templates/js/translated/order.js:4391
msgid "Delete line"
msgstr ""
-#: templates/js/translated/order.js:2595 templates/js/translated/order.js:4437
+#: templates/js/translated/order.js:2606 templates/js/translated/order.js:4420
msgid "Duplicate Line"
msgstr ""
-#: templates/js/translated/order.js:2616 templates/js/translated/order.js:4458
+#: templates/js/translated/order.js:2627 templates/js/translated/order.js:4441
msgid "Edit Line"
msgstr ""
-#: templates/js/translated/order.js:2627 templates/js/translated/order.js:4469
+#: templates/js/translated/order.js:2638 templates/js/translated/order.js:4452
msgid "Delete Line"
msgstr ""
-#: templates/js/translated/order.js:2638
+#: templates/js/translated/order.js:2649
msgid "No matching line"
msgstr ""
-#: templates/js/translated/order.js:2749
+#: templates/js/translated/order.js:2760
msgid "No sales orders found"
msgstr ""
-#: templates/js/translated/order.js:2812
+#: templates/js/translated/order.js:2823
msgid "Invalid Customer"
msgstr ""
-#: templates/js/translated/order.js:2910
+#: templates/js/translated/order.js:2921
msgid "Edit shipment"
msgstr ""
-#: templates/js/translated/order.js:2913
+#: templates/js/translated/order.js:2924
msgid "Complete shipment"
msgstr ""
-#: templates/js/translated/order.js:2918
+#: templates/js/translated/order.js:2929
msgid "Delete shipment"
msgstr ""
-#: templates/js/translated/order.js:2938
+#: templates/js/translated/order.js:2949
msgid "Edit Shipment"
msgstr ""
-#: templates/js/translated/order.js:2955
+#: templates/js/translated/order.js:2966
msgid "Delete Shipment"
msgstr ""
-#: templates/js/translated/order.js:2989
+#: templates/js/translated/order.js:3000
msgid "No matching shipments found"
msgstr ""
-#: templates/js/translated/order.js:2999
+#: templates/js/translated/order.js:3010
msgid "Shipment Reference"
msgstr ""
-#: templates/js/translated/order.js:3023
+#: templates/js/translated/order.js:3034
msgid "Not shipped"
msgstr ""
-#: templates/js/translated/order.js:3029
+#: templates/js/translated/order.js:3040
msgid "Tracking"
msgstr ""
-#: templates/js/translated/order.js:3033
+#: templates/js/translated/order.js:3044
msgid "Invoice"
msgstr ""
-#: templates/js/translated/order.js:3202
+#: templates/js/translated/order.js:3213
msgid "Add Shipment"
msgstr ""
-#: templates/js/translated/order.js:3253
+#: templates/js/translated/order.js:3264
msgid "Confirm stock allocation"
msgstr ""
-#: templates/js/translated/order.js:3254
+#: templates/js/translated/order.js:3265
msgid "Allocate Stock Items to Sales Order"
msgstr ""
-#: templates/js/translated/order.js:3462
+#: templates/js/translated/order.js:3473
msgid "No sales order allocations found"
msgstr ""
-#: templates/js/translated/order.js:3541
+#: templates/js/translated/order.js:3552
msgid "Edit Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:3558
+#: templates/js/translated/order.js:3569
msgid "Confirm Delete Operation"
msgstr ""
-#: templates/js/translated/order.js:3559
+#: templates/js/translated/order.js:3570
msgid "Delete Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:3604 templates/js/translated/order.js:3693
-#: templates/js/translated/stock.js:1602
+#: templates/js/translated/order.js:3615 templates/js/translated/order.js:3704
+#: templates/js/translated/stock.js:1621
msgid "Shipped to customer"
msgstr ""
-#: templates/js/translated/order.js:3612 templates/js/translated/order.js:3702
+#: templates/js/translated/order.js:3623 templates/js/translated/order.js:3713
msgid "Stock location not specified"
msgstr ""
-#: templates/js/translated/order.js:4016
+#: templates/js/translated/order.js:4013
msgid "Allocate serial numbers"
msgstr ""
-#: templates/js/translated/order.js:4022
+#: templates/js/translated/order.js:4019
msgid "Purchase stock"
msgstr ""
-#: templates/js/translated/order.js:4029 templates/js/translated/order.js:4227
+#: templates/js/translated/order.js:4026 templates/js/translated/order.js:4224
msgid "Calculate price"
msgstr ""
-#: templates/js/translated/order.js:4041
+#: templates/js/translated/order.js:4038
msgid "Cannot be deleted as items have been shipped"
msgstr ""
-#: templates/js/translated/order.js:4044
+#: templates/js/translated/order.js:4041
msgid "Cannot be deleted as items have been allocated"
msgstr ""
-#: templates/js/translated/order.js:4126
+#: templates/js/translated/order.js:4123
msgid "Allocate Serial Numbers"
msgstr ""
-#: templates/js/translated/order.js:4235
+#: templates/js/translated/order.js:4232
msgid "Update Unit Price"
msgstr ""
-#: templates/js/translated/order.js:4249
+#: templates/js/translated/order.js:4246
msgid "No matching line items"
msgstr ""
-#: templates/js/translated/order.js:4480
+#: templates/js/translated/order.js:4463
msgid "No matching lines"
msgstr ""
-#: templates/js/translated/part.js:56
+#: templates/js/translated/part.js:52
msgid "Part Attributes"
msgstr ""
-#: templates/js/translated/part.js:60
+#: templates/js/translated/part.js:56
msgid "Part Creation Options"
msgstr ""
-#: templates/js/translated/part.js:64
+#: templates/js/translated/part.js:60
msgid "Part Duplication Options"
msgstr ""
-#: templates/js/translated/part.js:68
+#: templates/js/translated/part.js:64
msgid "Supplier Options"
msgstr ""
-#: templates/js/translated/part.js:82
+#: templates/js/translated/part.js:78
msgid "Add Part Category"
msgstr ""
-#: templates/js/translated/part.js:166
+#: templates/js/translated/part.js:162
msgid "Create Initial Stock"
msgstr ""
-#: templates/js/translated/part.js:167
+#: templates/js/translated/part.js:163
msgid "Create an initial stock item for this part"
msgstr ""
-#: templates/js/translated/part.js:174
+#: templates/js/translated/part.js:170
msgid "Initial Stock Quantity"
msgstr ""
-#: templates/js/translated/part.js:175
+#: templates/js/translated/part.js:171
msgid "Specify initial stock quantity for this part"
msgstr ""
-#: templates/js/translated/part.js:182
+#: templates/js/translated/part.js:178
msgid "Select destination stock location"
msgstr ""
-#: templates/js/translated/part.js:200
+#: templates/js/translated/part.js:196
msgid "Copy Category Parameters"
msgstr ""
-#: templates/js/translated/part.js:201
+#: templates/js/translated/part.js:197
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: templates/js/translated/part.js:209
+#: templates/js/translated/part.js:205
msgid "Add Supplier Data"
msgstr ""
-#: templates/js/translated/part.js:210
+#: templates/js/translated/part.js:206
msgid "Create initial supplier data for this part"
msgstr ""
-#: templates/js/translated/part.js:266
+#: templates/js/translated/part.js:262
msgid "Copy Image"
msgstr ""
-#: templates/js/translated/part.js:267
+#: templates/js/translated/part.js:263
msgid "Copy image from original part"
msgstr ""
-#: templates/js/translated/part.js:275
+#: templates/js/translated/part.js:271
msgid "Copy bill of materials from original part"
msgstr ""
-#: templates/js/translated/part.js:282
+#: templates/js/translated/part.js:278
msgid "Copy Parameters"
msgstr ""
-#: templates/js/translated/part.js:283
+#: templates/js/translated/part.js:279
msgid "Copy parameter data from original part"
msgstr ""
-#: templates/js/translated/part.js:296
+#: templates/js/translated/part.js:292
msgid "Parent part category"
msgstr ""
-#: templates/js/translated/part.js:306 templates/js/translated/stock.js:118
+#: templates/js/translated/part.js:302 templates/js/translated/stock.js:118
msgid "Icon (optional) - Explore all available icons on"
msgstr ""
-#: templates/js/translated/part.js:322
+#: templates/js/translated/part.js:318
msgid "Edit Part Category"
msgstr ""
-#: templates/js/translated/part.js:335
+#: templates/js/translated/part.js:331
msgid "Are you sure you want to delete this part category?"
msgstr ""
-#: templates/js/translated/part.js:337
-msgid "Any child categories will be moved to the parent of this category"
+#: templates/js/translated/part.js:336
+msgid "Move to parent category"
msgstr ""
-#: templates/js/translated/part.js:338
-msgid "Any parts in this category will be moved to the parent of this category"
-msgstr ""
-
-#: templates/js/translated/part.js:343
+#: templates/js/translated/part.js:345
msgid "Delete Part Category"
msgstr ""
-#: templates/js/translated/part.js:369
+#: templates/js/translated/part.js:349
+msgid "Action for parts in this category"
+msgstr ""
+
+#: templates/js/translated/part.js:354
+msgid "Action for child categories"
+msgstr ""
+
+#: templates/js/translated/part.js:383
msgid "Edit Part"
msgstr ""
-#: templates/js/translated/part.js:371
+#: templates/js/translated/part.js:385
msgid "Part edited"
msgstr ""
-#: templates/js/translated/part.js:382
+#: templates/js/translated/part.js:396
msgid "Create Part Variant"
msgstr ""
-#: templates/js/translated/part.js:434
+#: templates/js/translated/part.js:448
msgid "Active Part"
msgstr ""
-#: templates/js/translated/part.js:435
+#: templates/js/translated/part.js:449
msgid "Part cannot be deleted as it is currently active"
msgstr ""
-#: templates/js/translated/part.js:449
+#: templates/js/translated/part.js:463
msgid "Deleting this part cannot be reversed"
msgstr ""
-#: templates/js/translated/part.js:451
+#: templates/js/translated/part.js:465
msgid "Any stock items for this part will be deleted"
msgstr ""
-#: templates/js/translated/part.js:452
+#: templates/js/translated/part.js:466
msgid "This part will be removed from any Bills of Material"
msgstr ""
-#: templates/js/translated/part.js:453
+#: templates/js/translated/part.js:467
msgid "All manufacturer and supplier information for this part will be deleted"
msgstr ""
-#: templates/js/translated/part.js:460
+#: templates/js/translated/part.js:474
msgid "Delete Part"
msgstr ""
-#: templates/js/translated/part.js:496
+#: templates/js/translated/part.js:510
msgid "You are subscribed to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:498
+#: templates/js/translated/part.js:512
msgid "You have subscribed to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:503
+#: templates/js/translated/part.js:517
msgid "Subscribe to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:505
+#: templates/js/translated/part.js:519
msgid "You have unsubscribed to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:522
+#: templates/js/translated/part.js:536
msgid "Validating the BOM will mark each line item as valid"
msgstr ""
-#: templates/js/translated/part.js:532
+#: templates/js/translated/part.js:546
msgid "Validate Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:535
+#: templates/js/translated/part.js:549
msgid "Validated Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:560
+#: templates/js/translated/part.js:574
msgid "Copy Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:584 templates/js/translated/part.js:1521
-#: templates/js/translated/table_filters.js:476
+#: templates/js/translated/part.js:598 templates/js/translated/part.js:1532
+#: templates/js/translated/table_filters.js:480
msgid "Low stock"
msgstr ""
-#: templates/js/translated/part.js:594
+#: templates/js/translated/part.js:608
msgid "No stock available"
msgstr ""
-#: templates/js/translated/part.js:628 templates/js/translated/part.js:713
+#: templates/js/translated/part.js:642 templates/js/translated/part.js:727
msgid "Trackable part"
msgstr ""
-#: templates/js/translated/part.js:632 templates/js/translated/part.js:717
+#: templates/js/translated/part.js:646 templates/js/translated/part.js:731
msgid "Virtual part"
msgstr ""
-#: templates/js/translated/part.js:644
+#: templates/js/translated/part.js:658
msgid "Subscribed part"
msgstr ""
-#: templates/js/translated/part.js:648
+#: templates/js/translated/part.js:662
msgid "Salable part"
msgstr ""
-#: templates/js/translated/part.js:776
+#: templates/js/translated/part.js:800
msgid "No variants found"
msgstr ""
-#: templates/js/translated/part.js:1200
+#: templates/js/translated/part.js:1221
msgid "Delete part relationship"
msgstr ""
-#: templates/js/translated/part.js:1224
+#: templates/js/translated/part.js:1245
msgid "Delete Part Relationship"
msgstr ""
-#: templates/js/translated/part.js:1291 templates/js/translated/part.js:1609
+#: templates/js/translated/part.js:1312 templates/js/translated/part.js:1633
msgid "No parts found"
msgstr ""
-#: templates/js/translated/part.js:1488
+#: templates/js/translated/part.js:1499
msgid "No category"
msgstr ""
-#: templates/js/translated/part.js:1519
+#: templates/js/translated/part.js:1530
msgid "No stock"
msgstr ""
-#: templates/js/translated/part.js:1543
+#: templates/js/translated/part.js:1554
msgid "Allocated to build orders"
msgstr ""
-#: templates/js/translated/part.js:1547
+#: templates/js/translated/part.js:1558
msgid "Allocated to sales orders"
msgstr ""
-#: templates/js/translated/part.js:1633 templates/js/translated/part.js:1876
-#: templates/js/translated/stock.js:2349
+#: templates/js/translated/part.js:1657 templates/js/translated/part.js:1900
+#: templates/js/translated/stock.js:2367
msgid "Display as list"
msgstr ""
-#: templates/js/translated/part.js:1649
+#: templates/js/translated/part.js:1673
msgid "Display as grid"
msgstr ""
-#: templates/js/translated/part.js:1715
+#: templates/js/translated/part.js:1739
msgid "Set the part category for the selected parts"
msgstr ""
-#: templates/js/translated/part.js:1720
+#: templates/js/translated/part.js:1744
msgid "Set Part Category"
msgstr ""
-#: templates/js/translated/part.js:1725
+#: templates/js/translated/part.js:1749
msgid "Select Part Category"
msgstr ""
-#: templates/js/translated/part.js:1738
+#: templates/js/translated/part.js:1762
msgid "Category is required"
msgstr ""
-#: templates/js/translated/part.js:1896 templates/js/translated/stock.js:2369
+#: templates/js/translated/part.js:1920 templates/js/translated/stock.js:2387
msgid "Display as tree"
msgstr ""
-#: templates/js/translated/part.js:1976
+#: templates/js/translated/part.js:2000
msgid "Load Subcategories"
msgstr ""
-#: templates/js/translated/part.js:1992
+#: templates/js/translated/part.js:2016
msgid "Subscribed category"
msgstr ""
-#: templates/js/translated/part.js:2056
+#: templates/js/translated/part.js:2080
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:2107 templates/js/translated/stock.js:1299
+#: templates/js/translated/part.js:2131 templates/js/translated/stock.js:1318
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:2108 templates/js/translated/stock.js:1300
-#: templates/js/translated/stock.js:1560
+#: templates/js/translated/part.js:2132 templates/js/translated/stock.js:1319
+#: templates/js/translated/stock.js:1579
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:2114
+#: templates/js/translated/part.js:2138
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:2136
+#: templates/js/translated/part.js:2160
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2150
+#: templates/js/translated/part.js:2174
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2175
-#, python-brace-format
-msgid "No ${human_name} information found"
-msgstr ""
-
-#: templates/js/translated/part.js:2232
-#, python-brace-format
-msgid "Edit ${human_name}"
-msgstr ""
-
-#: templates/js/translated/part.js:2233
-#, python-brace-format
-msgid "Delete ${human_name}"
-msgstr ""
-
-#: templates/js/translated/part.js:2398 templates/js/translated/part.js:2399
+#: templates/js/translated/part.js:2255 templates/js/translated/part.js:2256
msgid "No date specified"
msgstr ""
-#: templates/js/translated/part.js:2401
+#: templates/js/translated/part.js:2258
msgid "Specified date is in the past"
msgstr ""
-#: templates/js/translated/part.js:2407
+#: templates/js/translated/part.js:2264
msgid "Speculative"
msgstr ""
-#: templates/js/translated/part.js:2457
+#: templates/js/translated/part.js:2314
msgid "No scheduling information available for this part"
msgstr ""
-#: templates/js/translated/part.js:2463
+#: templates/js/translated/part.js:2320
msgid "Error fetching scheduling information for this part"
msgstr ""
-#: templates/js/translated/part.js:2559
+#: templates/js/translated/part.js:2416
msgid "Scheduled Stock Quantities"
msgstr ""
-#: templates/js/translated/part.js:2575
+#: templates/js/translated/part.js:2432
msgid "Maximum Quantity"
msgstr ""
-#: templates/js/translated/part.js:2620
+#: templates/js/translated/part.js:2477
msgid "Minimum Stock Level"
msgstr ""
-#: templates/js/translated/part.js:2721
-msgid "Single Price"
-msgstr ""
-
-#: templates/js/translated/part.js:2740
-msgid "Single Price Difference"
-msgstr ""
-
#: templates/js/translated/plugin.js:23
msgid "The Plugin was installed"
msgstr ""
+#: templates/js/translated/pricing.js:54
+msgid "No BOM data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:196
+msgid "No supplier pricing data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:305
+msgid "No price break data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:361
+#, python-brace-format
+msgid "Edit ${human_name}"
+msgstr ""
+
+#: templates/js/translated/pricing.js:362
+#, python-brace-format
+msgid "Delete ${human_name}"
+msgstr ""
+
+#: templates/js/translated/pricing.js:480
+msgid "No purchase history data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:502
+msgid "Purchase Price History"
+msgstr ""
+
+#: templates/js/translated/pricing.js:602
+msgid "No sales history data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:624
+msgid "Sale Price History"
+msgstr ""
+
+#: templates/js/translated/pricing.js:708
+msgid "No variant data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:748
+msgid "Variant Part"
+msgstr ""
+
#: templates/js/translated/report.js:67
msgid "items selected"
msgstr ""
@@ -9855,364 +10177,364 @@ msgstr ""
msgid "Are you sure you want to delete this stock location?"
msgstr ""
-#: templates/js/translated/stock.js:175
-msgid "Any child locations will be moved to the parent of this location"
+#: templates/js/translated/stock.js:180
+msgid "Move to parent stock location"
msgstr ""
-#: templates/js/translated/stock.js:176
-msgid "Any stock items in this location will be moved to the parent of this location"
-msgstr ""
-
-#: templates/js/translated/stock.js:182
+#: templates/js/translated/stock.js:189
msgid "Delete Stock Location"
msgstr ""
-#: templates/js/translated/stock.js:227
+#: templates/js/translated/stock.js:193
+msgid "Action for stock items in this stock location"
+msgstr ""
+
+#: templates/js/translated/stock.js:198
+msgid "Action for sub-locations"
+msgstr ""
+
+#: templates/js/translated/stock.js:246
msgid "This part cannot be serialized"
msgstr ""
-#: templates/js/translated/stock.js:266
+#: templates/js/translated/stock.js:285
msgid "Enter initial quantity for this stock item"
msgstr ""
-#: templates/js/translated/stock.js:272
+#: templates/js/translated/stock.js:291
msgid "Enter serial numbers for new stock (or leave blank)"
msgstr ""
-#: templates/js/translated/stock.js:337
+#: templates/js/translated/stock.js:356
msgid "Stock item duplicated"
msgstr ""
-#: templates/js/translated/stock.js:357
+#: templates/js/translated/stock.js:376
msgid "Duplicate Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:373
+#: templates/js/translated/stock.js:392
msgid "Are you sure you want to delete this stock item?"
msgstr ""
-#: templates/js/translated/stock.js:378
+#: templates/js/translated/stock.js:397
msgid "Delete Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:399
+#: templates/js/translated/stock.js:418
msgid "Edit Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:449
+#: templates/js/translated/stock.js:468
msgid "Created new stock item"
msgstr ""
-#: templates/js/translated/stock.js:462
+#: templates/js/translated/stock.js:481
msgid "Created multiple stock items"
msgstr ""
-#: templates/js/translated/stock.js:487
+#: templates/js/translated/stock.js:506
msgid "Find Serial Number"
msgstr ""
-#: templates/js/translated/stock.js:491 templates/js/translated/stock.js:492
+#: templates/js/translated/stock.js:510 templates/js/translated/stock.js:511
msgid "Enter serial number"
msgstr ""
-#: templates/js/translated/stock.js:508
+#: templates/js/translated/stock.js:527
msgid "Enter a serial number"
msgstr ""
-#: templates/js/translated/stock.js:528
+#: templates/js/translated/stock.js:547
msgid "No matching serial number"
msgstr ""
-#: templates/js/translated/stock.js:537
+#: templates/js/translated/stock.js:556
msgid "More than one matching result found"
msgstr ""
-#: templates/js/translated/stock.js:660
+#: templates/js/translated/stock.js:679
msgid "Confirm stock assignment"
msgstr ""
-#: templates/js/translated/stock.js:661
+#: templates/js/translated/stock.js:680
msgid "Assign Stock to Customer"
msgstr ""
-#: templates/js/translated/stock.js:738
+#: templates/js/translated/stock.js:757
msgid "Warning: Merge operation cannot be reversed"
msgstr ""
-#: templates/js/translated/stock.js:739
+#: templates/js/translated/stock.js:758
msgid "Some information will be lost when merging stock items"
msgstr ""
-#: templates/js/translated/stock.js:741
+#: templates/js/translated/stock.js:760
msgid "Stock transaction history will be deleted for merged items"
msgstr ""
-#: templates/js/translated/stock.js:742
+#: templates/js/translated/stock.js:761
msgid "Supplier part information will be deleted for merged items"
msgstr ""
-#: templates/js/translated/stock.js:828
+#: templates/js/translated/stock.js:847
msgid "Confirm stock item merge"
msgstr ""
-#: templates/js/translated/stock.js:829
+#: templates/js/translated/stock.js:848
msgid "Merge Stock Items"
msgstr ""
-#: templates/js/translated/stock.js:924
+#: templates/js/translated/stock.js:943
msgid "Transfer Stock"
msgstr ""
-#: templates/js/translated/stock.js:925
+#: templates/js/translated/stock.js:944
msgid "Move"
msgstr ""
-#: templates/js/translated/stock.js:931
+#: templates/js/translated/stock.js:950
msgid "Count Stock"
msgstr ""
-#: templates/js/translated/stock.js:932
+#: templates/js/translated/stock.js:951
msgid "Count"
msgstr ""
-#: templates/js/translated/stock.js:936
+#: templates/js/translated/stock.js:955
msgid "Remove Stock"
msgstr ""
-#: templates/js/translated/stock.js:937
+#: templates/js/translated/stock.js:956
msgid "Take"
msgstr ""
-#: templates/js/translated/stock.js:941
+#: templates/js/translated/stock.js:960
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:942 users/models.py:218
+#: templates/js/translated/stock.js:961 users/models.py:220
msgid "Add"
msgstr ""
-#: templates/js/translated/stock.js:946
+#: templates/js/translated/stock.js:965
msgid "Delete Stock"
msgstr ""
-#: templates/js/translated/stock.js:1039
+#: templates/js/translated/stock.js:1058
msgid "Quantity cannot be adjusted for serialized stock"
msgstr ""
-#: templates/js/translated/stock.js:1039
+#: templates/js/translated/stock.js:1058
msgid "Specify stock quantity"
msgstr ""
-#: templates/js/translated/stock.js:1079
+#: templates/js/translated/stock.js:1098
msgid "You must select at least one available stock item"
msgstr ""
-#: templates/js/translated/stock.js:1102
+#: templates/js/translated/stock.js:1121
msgid "Confirm stock adjustment"
msgstr ""
-#: templates/js/translated/stock.js:1238
+#: templates/js/translated/stock.js:1257
msgid "PASS"
msgstr ""
-#: templates/js/translated/stock.js:1240
+#: templates/js/translated/stock.js:1259
msgid "FAIL"
msgstr ""
-#: templates/js/translated/stock.js:1245
+#: templates/js/translated/stock.js:1264
msgid "NO RESULT"
msgstr ""
-#: templates/js/translated/stock.js:1292
+#: templates/js/translated/stock.js:1311
msgid "Pass test"
msgstr ""
-#: templates/js/translated/stock.js:1295
+#: templates/js/translated/stock.js:1314
msgid "Add test result"
msgstr ""
-#: templates/js/translated/stock.js:1321
+#: templates/js/translated/stock.js:1340
msgid "No test results found"
msgstr ""
-#: templates/js/translated/stock.js:1378
+#: templates/js/translated/stock.js:1397
msgid "Test Date"
msgstr ""
-#: templates/js/translated/stock.js:1543
+#: templates/js/translated/stock.js:1562
msgid "Edit Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1565
+#: templates/js/translated/stock.js:1584
msgid "Delete Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1594
+#: templates/js/translated/stock.js:1613
msgid "In production"
msgstr ""
-#: templates/js/translated/stock.js:1598
+#: templates/js/translated/stock.js:1617
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:1606
+#: templates/js/translated/stock.js:1625
msgid "Assigned to Sales Order"
msgstr ""
-#: templates/js/translated/stock.js:1612
+#: templates/js/translated/stock.js:1631
msgid "No stock location set"
msgstr ""
-#: templates/js/translated/stock.js:1781
+#: templates/js/translated/stock.js:1800
msgid "Stock item is in production"
msgstr ""
-#: templates/js/translated/stock.js:1786
+#: templates/js/translated/stock.js:1805
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/translated/stock.js:1789
+#: templates/js/translated/stock.js:1808
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/translated/stock.js:1792
+#: templates/js/translated/stock.js:1811
msgid "Serialized stock item has been allocated"
msgstr ""
-#: templates/js/translated/stock.js:1794
+#: templates/js/translated/stock.js:1813
msgid "Stock item has been fully allocated"
msgstr ""
-#: templates/js/translated/stock.js:1796
+#: templates/js/translated/stock.js:1815
msgid "Stock item has been partially allocated"
msgstr ""
-#: templates/js/translated/stock.js:1799
+#: templates/js/translated/stock.js:1818
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:1803
+#: templates/js/translated/stock.js:1822
msgid "Stock item has expired"
msgstr ""
-#: templates/js/translated/stock.js:1805
+#: templates/js/translated/stock.js:1824
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/translated/stock.js:1812
+#: templates/js/translated/stock.js:1831
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/translated/stock.js:1814
+#: templates/js/translated/stock.js:1833
msgid "Stock item is lost"
msgstr ""
-#: templates/js/translated/stock.js:1816
+#: templates/js/translated/stock.js:1835
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/translated/stock.js:1820
-#: templates/js/translated/table_filters.js:204
+#: templates/js/translated/stock.js:1839
+#: templates/js/translated/table_filters.js:208
msgid "Depleted"
msgstr ""
-#: templates/js/translated/stock.js:1871
-msgid "Stocktake"
-msgstr ""
-
-#: templates/js/translated/stock.js:1950
+#: templates/js/translated/stock.js:1969
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/translated/stock.js:1988
+#: templates/js/translated/stock.js:2006
msgid "No stock items matching query"
msgstr ""
-#: templates/js/translated/stock.js:2161
+#: templates/js/translated/stock.js:2179
msgid "Set Stock Status"
msgstr ""
-#: templates/js/translated/stock.js:2175
+#: templates/js/translated/stock.js:2193
msgid "Select Status Code"
msgstr ""
-#: templates/js/translated/stock.js:2176
+#: templates/js/translated/stock.js:2194
msgid "Status code must be selected"
msgstr ""
-#: templates/js/translated/stock.js:2408
+#: templates/js/translated/stock.js:2426
msgid "Load Subloactions"
msgstr ""
-#: templates/js/translated/stock.js:2503
+#: templates/js/translated/stock.js:2521
msgid "Details"
msgstr ""
-#: templates/js/translated/stock.js:2519
+#: templates/js/translated/stock.js:2537
msgid "Part information unavailable"
msgstr ""
-#: templates/js/translated/stock.js:2541
+#: templates/js/translated/stock.js:2559
msgid "Location no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2560
+#: templates/js/translated/stock.js:2578
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2579
+#: templates/js/translated/stock.js:2597
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2597
+#: templates/js/translated/stock.js:2615
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2620
+#: templates/js/translated/stock.js:2638
msgid "Added"
msgstr ""
-#: templates/js/translated/stock.js:2628
+#: templates/js/translated/stock.js:2646
msgid "Removed"
msgstr ""
-#: templates/js/translated/stock.js:2704
+#: templates/js/translated/stock.js:2722
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:2755 templates/js/translated/stock.js:2791
+#: templates/js/translated/stock.js:2773 templates/js/translated/stock.js:2809
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2804
+#: templates/js/translated/stock.js:2822
msgid "Select stock item to uninstall"
msgstr ""
-#: templates/js/translated/stock.js:2825
+#: templates/js/translated/stock.js:2843
msgid "Install another stock item into this item"
msgstr ""
-#: templates/js/translated/stock.js:2826
+#: templates/js/translated/stock.js:2844
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: templates/js/translated/stock.js:2828
+#: templates/js/translated/stock.js:2846
msgid "The Stock Item links to a Part which is the BOM for this Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2829
+#: templates/js/translated/stock.js:2847
msgid "The Stock Item is currently available in stock"
msgstr ""
-#: templates/js/translated/stock.js:2830
+#: templates/js/translated/stock.js:2848
msgid "The Stock Item is not already installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:2831
+#: templates/js/translated/stock.js:2849
msgid "The Stock Item is tracked by either a batch code or serial number"
msgstr ""
-#: templates/js/translated/stock.js:2844
+#: templates/js/translated/stock.js:2862
msgid "Select part to install"
msgstr ""
@@ -10236,215 +10558,220 @@ msgstr ""
msgid "Allow Variant Stock"
msgstr ""
-#: templates/js/translated/table_filters.js:126
-#: templates/js/translated/table_filters.js:199
+#: templates/js/translated/table_filters.js:92
+#: templates/js/translated/table_filters.js:508
+msgid "Has Pricing"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:130
+#: templates/js/translated/table_filters.js:203
msgid "Include sublocations"
msgstr ""
-#: templates/js/translated/table_filters.js:127
+#: templates/js/translated/table_filters.js:131
msgid "Include locations"
msgstr ""
-#: templates/js/translated/table_filters.js:137
-#: templates/js/translated/table_filters.js:138
-#: templates/js/translated/table_filters.js:445
+#: templates/js/translated/table_filters.js:141
+#: templates/js/translated/table_filters.js:142
+#: templates/js/translated/table_filters.js:449
msgid "Include subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:142
-#: templates/js/translated/table_filters.js:488
+#: templates/js/translated/table_filters.js:146
+#: templates/js/translated/table_filters.js:492
msgid "Subscribed"
msgstr ""
-#: templates/js/translated/table_filters.js:152
-#: templates/js/translated/table_filters.js:234
-msgid "Is Serialized"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:155
-#: templates/js/translated/table_filters.js:241
-msgid "Serial number GTE"
-msgstr ""
-
#: templates/js/translated/table_filters.js:156
-#: templates/js/translated/table_filters.js:242
-msgid "Serial number greater than or equal to"
+#: templates/js/translated/table_filters.js:238
+msgid "Is Serialized"
msgstr ""
#: templates/js/translated/table_filters.js:159
#: templates/js/translated/table_filters.js:245
-msgid "Serial number LTE"
+msgid "Serial number GTE"
msgstr ""
#: templates/js/translated/table_filters.js:160
#: templates/js/translated/table_filters.js:246
-msgid "Serial number less than or equal to"
+msgid "Serial number greater than or equal to"
msgstr ""
#: templates/js/translated/table_filters.js:163
+#: templates/js/translated/table_filters.js:249
+msgid "Serial number LTE"
+msgstr ""
+
#: templates/js/translated/table_filters.js:164
-#: templates/js/translated/table_filters.js:237
-#: templates/js/translated/table_filters.js:238
+#: templates/js/translated/table_filters.js:250
+msgid "Serial number less than or equal to"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:167
+#: templates/js/translated/table_filters.js:168
+#: templates/js/translated/table_filters.js:241
+#: templates/js/translated/table_filters.js:242
msgid "Serial number"
msgstr ""
-#: templates/js/translated/table_filters.js:168
-#: templates/js/translated/table_filters.js:259
+#: templates/js/translated/table_filters.js:172
+#: templates/js/translated/table_filters.js:263
msgid "Batch code"
msgstr ""
-#: templates/js/translated/table_filters.js:179
-#: templates/js/translated/table_filters.js:417
+#: templates/js/translated/table_filters.js:183
+#: templates/js/translated/table_filters.js:421
msgid "Active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:180
+#: templates/js/translated/table_filters.js:184
msgid "Show stock for active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:185
+#: templates/js/translated/table_filters.js:189
msgid "Part is an assembly"
msgstr ""
-#: templates/js/translated/table_filters.js:189
+#: templates/js/translated/table_filters.js:193
msgid "Is allocated"
msgstr ""
-#: templates/js/translated/table_filters.js:190
+#: templates/js/translated/table_filters.js:194
msgid "Item has been allocated"
msgstr ""
-#: templates/js/translated/table_filters.js:195
+#: templates/js/translated/table_filters.js:199
msgid "Stock is available for use"
msgstr ""
-#: templates/js/translated/table_filters.js:200
+#: templates/js/translated/table_filters.js:204
msgid "Include stock in sublocations"
msgstr ""
-#: templates/js/translated/table_filters.js:205
+#: templates/js/translated/table_filters.js:209
msgid "Show stock items which are depleted"
msgstr ""
-#: templates/js/translated/table_filters.js:210
+#: templates/js/translated/table_filters.js:214
msgid "Show items which are in stock"
msgstr ""
-#: templates/js/translated/table_filters.js:214
+#: templates/js/translated/table_filters.js:218
msgid "In Production"
msgstr ""
-#: templates/js/translated/table_filters.js:215
+#: templates/js/translated/table_filters.js:219
msgid "Show items which are in production"
msgstr ""
-#: templates/js/translated/table_filters.js:219
+#: templates/js/translated/table_filters.js:223
msgid "Include Variants"
msgstr ""
-#: templates/js/translated/table_filters.js:220
+#: templates/js/translated/table_filters.js:224
msgid "Include stock items for variant parts"
msgstr ""
-#: templates/js/translated/table_filters.js:224
+#: templates/js/translated/table_filters.js:228
msgid "Installed"
msgstr ""
-#: templates/js/translated/table_filters.js:225
+#: templates/js/translated/table_filters.js:229
msgid "Show stock items which are installed in another item"
msgstr ""
-#: templates/js/translated/table_filters.js:230
+#: templates/js/translated/table_filters.js:234
msgid "Show items which have been assigned to a customer"
msgstr ""
-#: templates/js/translated/table_filters.js:250
-#: templates/js/translated/table_filters.js:251
+#: templates/js/translated/table_filters.js:254
+#: templates/js/translated/table_filters.js:255
msgid "Stock status"
msgstr ""
-#: templates/js/translated/table_filters.js:254
+#: templates/js/translated/table_filters.js:258
msgid "Has batch code"
msgstr ""
-#: templates/js/translated/table_filters.js:262
+#: templates/js/translated/table_filters.js:266
msgid "Tracked"
msgstr ""
-#: templates/js/translated/table_filters.js:263
+#: templates/js/translated/table_filters.js:267
msgid "Stock item is tracked by either batch code or serial number"
msgstr ""
-#: templates/js/translated/table_filters.js:268
+#: templates/js/translated/table_filters.js:272
msgid "Has purchase price"
msgstr ""
-#: templates/js/translated/table_filters.js:269
+#: templates/js/translated/table_filters.js:273
msgid "Show stock items which have a purchase price set"
msgstr ""
-#: templates/js/translated/table_filters.js:278
+#: templates/js/translated/table_filters.js:282
msgid "Show stock items which have expired"
msgstr ""
-#: templates/js/translated/table_filters.js:284
+#: templates/js/translated/table_filters.js:288
msgid "Show stock which is close to expiring"
msgstr ""
-#: templates/js/translated/table_filters.js:296
+#: templates/js/translated/table_filters.js:300
msgid "Test Passed"
msgstr ""
-#: templates/js/translated/table_filters.js:300
+#: templates/js/translated/table_filters.js:304
msgid "Include Installed Items"
msgstr ""
-#: templates/js/translated/table_filters.js:319
+#: templates/js/translated/table_filters.js:323
msgid "Build status"
msgstr ""
-#: templates/js/translated/table_filters.js:332
-#: templates/js/translated/table_filters.js:373
+#: templates/js/translated/table_filters.js:336
+#: templates/js/translated/table_filters.js:377
msgid "Assigned to me"
msgstr ""
-#: templates/js/translated/table_filters.js:349
-#: templates/js/translated/table_filters.js:360
-#: templates/js/translated/table_filters.js:390
+#: templates/js/translated/table_filters.js:353
+#: templates/js/translated/table_filters.js:364
+#: templates/js/translated/table_filters.js:394
msgid "Order status"
msgstr ""
-#: templates/js/translated/table_filters.js:365
-#: templates/js/translated/table_filters.js:382
-#: templates/js/translated/table_filters.js:395
+#: templates/js/translated/table_filters.js:369
+#: templates/js/translated/table_filters.js:386
+#: templates/js/translated/table_filters.js:399
msgid "Outstanding"
msgstr ""
-#: templates/js/translated/table_filters.js:446
+#: templates/js/translated/table_filters.js:450
msgid "Include parts in subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:451
+#: templates/js/translated/table_filters.js:455
msgid "Show active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:459
+#: templates/js/translated/table_filters.js:463
msgid "Available stock"
msgstr ""
-#: templates/js/translated/table_filters.js:467
+#: templates/js/translated/table_filters.js:471
msgid "Has IPN"
msgstr ""
-#: templates/js/translated/table_filters.js:468
+#: templates/js/translated/table_filters.js:472
msgid "Part has internal part number"
msgstr ""
-#: templates/js/translated/table_filters.js:472
+#: templates/js/translated/table_filters.js:476
msgid "In stock"
msgstr ""
-#: templates/js/translated/table_filters.js:480
+#: templates/js/translated/table_filters.js:484
msgid "Purchasable"
msgstr ""
@@ -10554,6 +10881,10 @@ msgstr ""
msgid "Show all notifications and history"
msgstr ""
+#: templates/price_data.html:7
+msgid "No data"
+msgstr ""
+
#: templates/qr_code.html:11
msgid "QR data not provided"
msgstr ""
@@ -10738,35 +11069,35 @@ msgstr ""
msgid "Important dates"
msgstr ""
-#: users/models.py:205
+#: users/models.py:207
msgid "Permission set"
msgstr ""
-#: users/models.py:213
+#: users/models.py:215
msgid "Group"
msgstr ""
-#: users/models.py:216
+#: users/models.py:218
msgid "View"
msgstr ""
-#: users/models.py:216
+#: users/models.py:218
msgid "Permission to view items"
msgstr ""
-#: users/models.py:218
+#: users/models.py:220
msgid "Permission to add items"
msgstr ""
-#: users/models.py:220
+#: users/models.py:222
msgid "Change"
msgstr ""
-#: users/models.py:220
+#: users/models.py:222
msgid "Permissions to edit items"
msgstr ""
-#: users/models.py:222
+#: users/models.py:224
msgid "Permission to delete items"
msgstr ""
diff --git a/InvenTree/locale/pt_br/LC_MESSAGES/django.po b/InvenTree/locale/pt_br/LC_MESSAGES/django.po
index e1137de156..711d21a7bb 100644
--- a/InvenTree/locale/pt_br/LC_MESSAGES/django.po
+++ b/InvenTree/locale/pt_br/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-11-03 11:22+0000\n"
+"POT-Creation-Date: 2022-11-07 02:58+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
@@ -43,9 +43,9 @@ msgstr ""
#: stock/templates/stock/stock_sidebar.html:25
#: templates/js/translated/barcode.js:108 templates/js/translated/bom.js:1146
#: templates/js/translated/company.js:1022
-#: templates/js/translated/order.js:2404 templates/js/translated/order.js:2552
-#: templates/js/translated/order.js:3048 templates/js/translated/order.js:3999
-#: templates/js/translated/order.js:4394 templates/js/translated/stock.js:1374
+#: templates/js/translated/order.js:2409 templates/js/translated/order.js:2561
+#: templates/js/translated/order.js:3059 templates/js/translated/order.js:4014
+#: templates/js/translated/order.js:4413 templates/js/translated/stock.js:1374
#: templates/js/translated/stock.js:1982
msgid "Notes"
msgstr ""
@@ -211,7 +211,7 @@ msgstr ""
#: report/templates/report/inventree_build_order_base.html:164
#: templates/js/translated/company.js:691
#: templates/js/translated/company.js:1011
-#: templates/js/translated/order.js:3037 templates/js/translated/part.js:1569
+#: templates/js/translated/order.js:3048 templates/js/translated/part.js:1569
msgid "Link"
msgstr ""
@@ -229,10 +229,10 @@ msgstr ""
msgid "File comment"
msgstr ""
-#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1744
-#: common/models.py:1745 common/models.py:1968 common/models.py:1969
-#: common/models.py:2231 common/models.py:2232 part/models.py:2254
-#: part/models.py:2274 plugin/models.py:260 plugin/models.py:261
+#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1758
+#: common/models.py:1759 common/models.py:1982 common/models.py:1983
+#: common/models.py:2245 common/models.py:2246 part/models.py:2254
+#: part/models.py:2274 plugin/models.py:264 plugin/models.py:265
#: report/templates/report/inventree_test_report_base.html:96
#: templates/js/translated/stock.js:2651
msgid "User"
@@ -271,14 +271,14 @@ msgstr ""
msgid "Invalid choice"
msgstr ""
-#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1954
+#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1968
#: company/models.py:359 label/models.py:101 part/models.py:760
#: part/models.py:2429 plugin/models.py:94 report/models.py:152
#: templates/InvenTree/settings/mixins/urls.html:13
-#: templates/InvenTree/settings/plugin.html:51
-#: templates/InvenTree/settings/plugin.html:134
+#: templates/InvenTree/settings/plugin.html:60
+#: templates/InvenTree/settings/plugin.html:104
#: templates/InvenTree/settings/plugin_settings.html:23
-#: templates/InvenTree/settings/settings.html:347
+#: templates/InvenTree/settings/settings.html:344
#: templates/js/translated/company.js:580
#: templates/js/translated/company.js:793
#: templates/js/translated/notification.js:71
@@ -298,13 +298,13 @@ msgstr ""
#: report/models.py:507 report/models.py:551
#: report/templates/report/inventree_build_order_base.html:117
#: stock/templates/stock/location.html:117
-#: templates/InvenTree/settings/plugin_settings.html:33
-#: templates/InvenTree/settings/settings.html:358
+#: templates/InvenTree/settings/plugin_settings.html:28
+#: templates/InvenTree/settings/settings.html:355
#: templates/js/translated/bom.js:579 templates/js/translated/bom.js:887
#: templates/js/translated/build.js:2580 templates/js/translated/company.js:444
#: templates/js/translated/company.js:702
#: templates/js/translated/company.js:986 templates/js/translated/order.js:1988
-#: templates/js/translated/order.js:2220 templates/js/translated/order.js:2826
+#: templates/js/translated/order.js:2225 templates/js/translated/order.js:2837
#: templates/js/translated/part.js:745 templates/js/translated/part.js:1187
#: templates/js/translated/part.js:1464 templates/js/translated/part.js:2000
#: templates/js/translated/part.js:2075 templates/js/translated/stock.js:1748
@@ -563,7 +563,7 @@ msgid "Returned"
msgstr ""
#: InvenTree/status_codes.py:141 order/models.py:1142
-#: templates/js/translated/order.js:3625 templates/js/translated/order.js:3974
+#: templates/js/translated/order.js:3636 templates/js/translated/order.js:3989
msgid "Shipped"
msgstr ""
@@ -747,7 +747,7 @@ msgstr ""
#: build/models.py:111 build/templates/build/build_base.html:13
#: build/templates/build/index.html:8 build/templates/build/index.html:12
-#: order/templates/order/sales_order_detail.html:120
+#: order/templates/order/sales_order_detail.html:125
#: order/templates/order/so_sidebar.html:13
#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221
#: templates/InvenTree/search.html:141
@@ -766,9 +766,9 @@ msgstr ""
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:92
#: templates/js/translated/bom.js:716 templates/js/translated/bom.js:897
-#: templates/js/translated/build.js:1843 templates/js/translated/order.js:2251
-#: templates/js/translated/order.js:2481 templates/js/translated/order.js:3818
-#: templates/js/translated/order.js:4323
+#: templates/js/translated/build.js:1843 templates/js/translated/order.js:2256
+#: templates/js/translated/order.js:2490 templates/js/translated/order.js:3833
+#: templates/js/translated/order.js:4342
msgid "Reference"
msgstr ""
@@ -812,8 +812,8 @@ msgstr ""
#: templates/js/translated/company.js:643
#: templates/js/translated/company.js:904 templates/js/translated/order.js:106
#: templates/js/translated/order.js:1134 templates/js/translated/order.js:1638
-#: templates/js/translated/order.js:2205 templates/js/translated/order.js:3180
-#: templates/js/translated/order.js:3576 templates/js/translated/order.js:3802
+#: templates/js/translated/order.js:2210 templates/js/translated/order.js:3191
+#: templates/js/translated/order.js:3587 templates/js/translated/order.js:3817
#: templates/js/translated/part.js:1172 templates/js/translated/part.js:1244
#: templates/js/translated/part.js:1442 templates/js/translated/stock.js:586
#: templates/js/translated/stock.js:751 templates/js/translated/stock.js:958
@@ -835,7 +835,7 @@ msgid "SalesOrder to which this build is allocated"
msgstr ""
#: build/models.py:202 build/serializers.py:822
-#: templates/js/translated/build.js:2182 templates/js/translated/order.js:3168
+#: templates/js/translated/build.js:2182 templates/js/translated/order.js:3179
msgid "Source Location"
msgstr ""
@@ -885,7 +885,7 @@ msgid "Batch code for this build output"
msgstr ""
#: build/models.py:252 order/models.py:86 part/models.py:952
-#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2839
+#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2850
msgid "Creation Date"
msgstr ""
@@ -1002,9 +1002,9 @@ msgstr ""
#: stock/templates/stock/item_base.html:197
#: templates/js/translated/build.js:790 templates/js/translated/build.js:795
#: templates/js/translated/build.js:2196 templates/js/translated/build.js:2747
-#: templates/js/translated/order.js:107 templates/js/translated/order.js:3181
-#: templates/js/translated/order.js:3483 templates/js/translated/order.js:3488
-#: templates/js/translated/order.js:3583 templates/js/translated/order.js:3675
+#: templates/js/translated/order.js:107 templates/js/translated/order.js:3192
+#: templates/js/translated/order.js:3494 templates/js/translated/order.js:3499
+#: templates/js/translated/order.js:3594 templates/js/translated/order.js:3686
#: templates/js/translated/stock.js:587 templates/js/translated/stock.js:752
#: templates/js/translated/stock.js:2587
msgid "Stock Item"
@@ -1016,7 +1016,7 @@ msgstr ""
#: build/models.py:1359 build/serializers.py:192
#: build/templates/build/build_base.html:85
-#: build/templates/build/detail.html:34 common/models.py:1776
+#: build/templates/build/detail.html:34 common/models.py:1790
#: company/templates/company/supplier_part.html:341 order/models.py:911
#: order/models.py:1437 order/serializers.py:1213
#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:40
@@ -1039,10 +1039,10 @@ msgstr ""
#: templates/js/translated/build.js:2197
#: templates/js/translated/model_renderers.js:120
#: templates/js/translated/order.js:123 templates/js/translated/order.js:1137
-#: templates/js/translated/order.js:2257 templates/js/translated/order.js:2487
-#: templates/js/translated/order.js:3182 templates/js/translated/order.js:3502
-#: templates/js/translated/order.js:3589 templates/js/translated/order.js:3681
-#: templates/js/translated/order.js:3824 templates/js/translated/order.js:4329
+#: templates/js/translated/order.js:2262 templates/js/translated/order.js:2496
+#: templates/js/translated/order.js:3193 templates/js/translated/order.js:3513
+#: templates/js/translated/order.js:3600 templates/js/translated/order.js:3692
+#: templates/js/translated/order.js:3839 templates/js/translated/order.js:4348
#: templates/js/translated/part.js:1036 templates/js/translated/part.js:2220
#: templates/js/translated/part.js:2689 templates/js/translated/part.js:2730
#: templates/js/translated/part.js:2808 templates/js/translated/stock.js:458
@@ -1136,8 +1136,8 @@ msgstr ""
#: templates/js/translated/barcode.js:480
#: templates/js/translated/barcode.js:724 templates/js/translated/build.js:802
#: templates/js/translated/build.js:1749 templates/js/translated/order.js:1534
-#: templates/js/translated/order.js:3495 templates/js/translated/order.js:3600
-#: templates/js/translated/order.js:3608 templates/js/translated/order.js:3689
+#: templates/js/translated/order.js:3506 templates/js/translated/order.js:3611
+#: templates/js/translated/order.js:3619 templates/js/translated/order.js:3700
#: templates/js/translated/part.js:181 templates/js/translated/stock.js:588
#: templates/js/translated/stock.js:753 templates/js/translated/stock.js:960
#: templates/js/translated/stock.js:1856 templates/js/translated/stock.js:2528
@@ -1153,7 +1153,7 @@ msgstr ""
#: order/serializers.py:482 stock/templates/stock/item_base.html:421
#: templates/js/translated/barcode.js:214 templates/js/translated/build.js:2614
#: templates/js/translated/order.js:1643 templates/js/translated/order.js:1992
-#: templates/js/translated/order.js:2831 templates/js/translated/stock.js:1831
+#: templates/js/translated/order.js:2842 templates/js/translated/stock.js:1831
#: templates/js/translated/stock.js:2605 templates/js/translated/stock.js:2737
msgid "Status"
msgstr ""
@@ -1388,8 +1388,8 @@ msgstr ""
#: order/templates/order/sales_order_base.html:164
#: report/templates/report/inventree_build_order_base.html:125
#: templates/js/translated/build.js:2654 templates/js/translated/order.js:2009
-#: templates/js/translated/order.js:2351 templates/js/translated/order.js:2847
-#: templates/js/translated/order.js:3887 templates/js/translated/part.js:1051
+#: templates/js/translated/order.js:2356 templates/js/translated/order.js:2858
+#: templates/js/translated/order.js:3902 templates/js/translated/part.js:1051
msgid "Target Date"
msgstr ""
@@ -1424,7 +1424,7 @@ msgstr ""
#: report/templates/report/inventree_so_report.html:77
#: stock/templates/stock/item_base.html:368
#: templates/email/overdue_sales_order.html:15
-#: templates/js/translated/order.js:2793
+#: templates/js/translated/order.js:2804
msgid "Sales Order"
msgstr ""
@@ -1451,7 +1451,7 @@ msgid "Stock can be taken from any available location."
msgstr ""
#: build/templates/build/detail.html:49 order/models.py:1037
-#: templates/js/translated/order.js:1644 templates/js/translated/order.js:2393
+#: templates/js/translated/order.js:1644 templates/js/translated/order.js:2398
msgid "Destination"
msgstr ""
@@ -1598,8 +1598,8 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:151
#: company/templates/company/manufacturer_part_sidebar.html:9
#: order/templates/order/po_sidebar.html:9
-#: order/templates/order/purchase_order_detail.html:82
-#: order/templates/order/sales_order_detail.html:135
+#: order/templates/order/purchase_order_detail.html:86
+#: order/templates/order/sales_order_detail.html:140
#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:212
#: part/templates/part/part_sidebar.html:57 stock/templates/stock/item.html:117
#: stock/templates/stock/stock_sidebar.html:23
@@ -2200,500 +2200,516 @@ msgid "Enable creation of default shipment with sales orders"
msgstr ""
#: common/models.py:1263
-msgid "Purchase Order Reference Pattern"
+msgid "Edit Completed Sales Orders"
msgstr ""
#: common/models.py:1264
-msgid "Required pattern for generating Purchase Order reference field"
+msgid "Allow editing of sales orders after they have been shipped or completed"
+msgstr ""
+
+#: common/models.py:1270
+msgid "Purchase Order Reference Pattern"
msgstr ""
#: common/models.py:1271
-msgid "Enable password forgot"
+msgid "Required pattern for generating Purchase Order reference field"
msgstr ""
-#: common/models.py:1272
-msgid "Enable password forgot function on the login pages"
+#: common/models.py:1277
+msgid "Edit Completed Purchase Orders"
msgstr ""
#: common/models.py:1278
-msgid "Enable registration"
-msgstr ""
-
-#: common/models.py:1279
-msgid "Enable self-registration for users on the login pages"
+msgid "Allow editing of purchase orders after they have been shipped or completed"
msgstr ""
#: common/models.py:1285
-msgid "Enable SSO"
+msgid "Enable password forgot"
msgstr ""
#: common/models.py:1286
-msgid "Enable SSO on the login pages"
+msgid "Enable password forgot function on the login pages"
msgstr ""
#: common/models.py:1292
-msgid "Email required"
+msgid "Enable registration"
msgstr ""
#: common/models.py:1293
-msgid "Require user to supply mail on signup"
+msgid "Enable self-registration for users on the login pages"
msgstr ""
#: common/models.py:1299
-msgid "Auto-fill SSO users"
+msgid "Enable SSO"
msgstr ""
#: common/models.py:1300
-msgid "Automatically fill out user-details from SSO account-data"
+msgid "Enable SSO on the login pages"
msgstr ""
#: common/models.py:1306
-msgid "Mail twice"
+msgid "Email required"
msgstr ""
#: common/models.py:1307
-msgid "On signup ask users twice for their mail"
+msgid "Require user to supply mail on signup"
msgstr ""
#: common/models.py:1313
-msgid "Password twice"
+msgid "Auto-fill SSO users"
msgstr ""
#: common/models.py:1314
-msgid "On signup ask users twice for their password"
+msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
#: common/models.py:1320
-msgid "Group on signup"
+msgid "Mail twice"
msgstr ""
#: common/models.py:1321
-msgid "Group to which new users are assigned on registration"
+msgid "On signup ask users twice for their mail"
msgstr ""
#: common/models.py:1327
-msgid "Enforce MFA"
+msgid "Password twice"
msgstr ""
#: common/models.py:1328
-msgid "Users must use multifactor security."
+msgid "On signup ask users twice for their password"
msgstr ""
#: common/models.py:1334
-msgid "Check plugins on startup"
+msgid "Group on signup"
msgstr ""
#: common/models.py:1335
-msgid "Check that all plugins are installed on startup - enable in container enviroments"
+msgid "Group to which new users are assigned on registration"
+msgstr ""
+
+#: common/models.py:1341
+msgid "Enforce MFA"
msgstr ""
#: common/models.py:1342
+msgid "Users must use multifactor security."
+msgstr ""
+
+#: common/models.py:1348
+msgid "Check plugins on startup"
+msgstr ""
+
+#: common/models.py:1349
+msgid "Check that all plugins are installed on startup - enable in container environments"
+msgstr ""
+
+#: common/models.py:1356
msgid "Check plugin signatures"
msgstr ""
-#: common/models.py:1343
+#: common/models.py:1357
msgid "Check and show signatures for plugins"
msgstr ""
-#: common/models.py:1350
+#: common/models.py:1364
msgid "Enable URL integration"
msgstr ""
-#: common/models.py:1351
+#: common/models.py:1365
msgid "Enable plugins to add URL routes"
msgstr ""
-#: common/models.py:1358
+#: common/models.py:1372
msgid "Enable navigation integration"
msgstr ""
-#: common/models.py:1359
+#: common/models.py:1373
msgid "Enable plugins to integrate into navigation"
msgstr ""
-#: common/models.py:1366
+#: common/models.py:1380
msgid "Enable app integration"
msgstr ""
-#: common/models.py:1367
+#: common/models.py:1381
msgid "Enable plugins to add apps"
msgstr ""
-#: common/models.py:1374
+#: common/models.py:1388
msgid "Enable schedule integration"
msgstr ""
-#: common/models.py:1375
+#: common/models.py:1389
msgid "Enable plugins to run scheduled tasks"
msgstr ""
-#: common/models.py:1382
+#: common/models.py:1396
msgid "Enable event integration"
msgstr ""
-#: common/models.py:1383
+#: common/models.py:1397
msgid "Enable plugins to respond to internal events"
msgstr ""
-#: common/models.py:1402 common/models.py:1737
+#: common/models.py:1416 common/models.py:1751
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:1424
+#: common/models.py:1438
msgid "Show subscribed parts"
msgstr ""
-#: common/models.py:1425
+#: common/models.py:1439
msgid "Show subscribed parts on the homepage"
msgstr ""
-#: common/models.py:1431
+#: common/models.py:1445
msgid "Show subscribed categories"
msgstr ""
-#: common/models.py:1432
+#: common/models.py:1446
msgid "Show subscribed part categories on the homepage"
msgstr ""
-#: common/models.py:1438
+#: common/models.py:1452
msgid "Show latest parts"
msgstr ""
-#: common/models.py:1439
+#: common/models.py:1453
msgid "Show latest parts on the homepage"
msgstr ""
-#: common/models.py:1445
+#: common/models.py:1459
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:1446
+#: common/models.py:1460
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:1452
+#: common/models.py:1466
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:1453
+#: common/models.py:1467
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:1459
+#: common/models.py:1473
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:1460
+#: common/models.py:1474
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:1466
+#: common/models.py:1480
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:1467
+#: common/models.py:1481
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:1473
+#: common/models.py:1487
msgid "Show low stock"
msgstr ""
-#: common/models.py:1474
+#: common/models.py:1488
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:1480
+#: common/models.py:1494
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:1481
+#: common/models.py:1495
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:1487
+#: common/models.py:1501
msgid "Show needed stock"
msgstr ""
-#: common/models.py:1488
+#: common/models.py:1502
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:1494
+#: common/models.py:1508
msgid "Show expired stock"
msgstr ""
-#: common/models.py:1495
+#: common/models.py:1509
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:1501
+#: common/models.py:1515
msgid "Show stale stock"
msgstr ""
-#: common/models.py:1502
+#: common/models.py:1516
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:1508
+#: common/models.py:1522
msgid "Show pending builds"
msgstr ""
-#: common/models.py:1509
+#: common/models.py:1523
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:1515
+#: common/models.py:1529
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:1516
+#: common/models.py:1530
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:1522
+#: common/models.py:1536
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:1523
+#: common/models.py:1537
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:1529
+#: common/models.py:1543
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:1530
+#: common/models.py:1544
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:1536
+#: common/models.py:1550
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:1537
+#: common/models.py:1551
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:1543
+#: common/models.py:1557
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:1544
+#: common/models.py:1558
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:1550
+#: common/models.py:1564
msgid "Inline label display"
msgstr ""
-#: common/models.py:1551
+#: common/models.py:1565
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1557
+#: common/models.py:1571
msgid "Inline report display"
msgstr ""
-#: common/models.py:1558
+#: common/models.py:1572
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1564
+#: common/models.py:1578
msgid "Search Parts"
msgstr ""
-#: common/models.py:1565
+#: common/models.py:1579
msgid "Display parts in search preview window"
msgstr ""
-#: common/models.py:1571
+#: common/models.py:1585
msgid "Seach Supplier Parts"
msgstr ""
-#: common/models.py:1572
+#: common/models.py:1586
msgid "Display supplier parts in search preview window"
msgstr ""
-#: common/models.py:1578
+#: common/models.py:1592
msgid "Search Manufacturer Parts"
msgstr ""
-#: common/models.py:1579
+#: common/models.py:1593
msgid "Display manufacturer parts in search preview window"
msgstr ""
-#: common/models.py:1585
+#: common/models.py:1599
msgid "Hide Inactive Parts"
msgstr ""
-#: common/models.py:1586
+#: common/models.py:1600
msgid "Excluded inactive parts from search preview window"
msgstr ""
-#: common/models.py:1592
+#: common/models.py:1606
msgid "Search Categories"
msgstr ""
-#: common/models.py:1593
+#: common/models.py:1607
msgid "Display part categories in search preview window"
msgstr ""
-#: common/models.py:1599
+#: common/models.py:1613
msgid "Search Stock"
msgstr ""
-#: common/models.py:1600
+#: common/models.py:1614
msgid "Display stock items in search preview window"
msgstr ""
-#: common/models.py:1606
+#: common/models.py:1620
msgid "Hide Unavailable Stock Items"
msgstr ""
-#: common/models.py:1607
+#: common/models.py:1621
msgid "Exclude stock items which are not available from the search preview window"
msgstr ""
-#: common/models.py:1613
+#: common/models.py:1627
msgid "Search Locations"
msgstr ""
-#: common/models.py:1614
+#: common/models.py:1628
msgid "Display stock locations in search preview window"
msgstr ""
-#: common/models.py:1620
+#: common/models.py:1634
msgid "Search Companies"
msgstr ""
-#: common/models.py:1621
+#: common/models.py:1635
msgid "Display companies in search preview window"
msgstr ""
-#: common/models.py:1627
+#: common/models.py:1641
msgid "Search Build Orders"
msgstr ""
-#: common/models.py:1628
+#: common/models.py:1642
msgid "Display build orders in search preview window"
msgstr ""
-#: common/models.py:1634
+#: common/models.py:1648
msgid "Search Purchase Orders"
msgstr ""
-#: common/models.py:1635
+#: common/models.py:1649
msgid "Display purchase orders in search preview window"
msgstr ""
-#: common/models.py:1641
+#: common/models.py:1655
msgid "Exclude Inactive Purchase Orders"
msgstr ""
-#: common/models.py:1642
+#: common/models.py:1656
msgid "Exclude inactive purchase orders from search preview window"
msgstr ""
-#: common/models.py:1648
+#: common/models.py:1662
msgid "Search Sales Orders"
msgstr ""
-#: common/models.py:1649
+#: common/models.py:1663
msgid "Display sales orders in search preview window"
msgstr ""
-#: common/models.py:1655
+#: common/models.py:1669
msgid "Exclude Inactive Sales Orders"
msgstr ""
-#: common/models.py:1656
+#: common/models.py:1670
msgid "Exclude inactive sales orders from search preview window"
msgstr ""
-#: common/models.py:1662
+#: common/models.py:1676
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:1663
+#: common/models.py:1677
msgid "Number of results to show in each section of the search preview window"
msgstr ""
-#: common/models.py:1669
+#: common/models.py:1683
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:1670
+#: common/models.py:1684
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:1676
+#: common/models.py:1690
msgid "Escape Key Closes Forms"
msgstr ""
-#: common/models.py:1677
+#: common/models.py:1691
msgid "Use the escape key to close modal forms"
msgstr ""
-#: common/models.py:1683
+#: common/models.py:1697
msgid "Fixed Navbar"
msgstr ""
-#: common/models.py:1684
+#: common/models.py:1698
msgid "The navbar position is fixed to the top of the screen"
msgstr ""
-#: common/models.py:1690
+#: common/models.py:1704
msgid "Date Format"
msgstr ""
-#: common/models.py:1691
+#: common/models.py:1705
msgid "Preferred format for displaying dates"
msgstr ""
-#: common/models.py:1705 part/templates/part/detail.html:41
+#: common/models.py:1719 part/templates/part/detail.html:41
msgid "Part Scheduling"
msgstr ""
-#: common/models.py:1706
+#: common/models.py:1720
msgid "Display part scheduling information"
msgstr ""
-#: common/models.py:1712
+#: common/models.py:1726
msgid "Table String Length"
msgstr ""
-#: common/models.py:1713
+#: common/models.py:1727
msgid "Maximimum length limit for strings displayed in table views"
msgstr ""
-#: common/models.py:1777
+#: common/models.py:1791
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1784 company/serializers.py:372
+#: common/models.py:1798 company/serializers.py:372
#: company/templates/company/supplier_part.html:346 order/models.py:952
#: templates/js/translated/part.js:1103 templates/js/translated/part.js:2225
msgid "Price"
msgstr ""
-#: common/models.py:1785
+#: common/models.py:1799
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1945 common/models.py:2123
+#: common/models.py:1959 common/models.py:2137
msgid "Endpoint"
msgstr ""
-#: common/models.py:1946
+#: common/models.py:1960
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:1955
+#: common/models.py:1969
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:1960 part/models.py:935 plugin/models.py:100
+#: common/models.py:1974 part/models.py:935 plugin/models.py:100
#: templates/js/translated/table_filters.js:34
#: templates/js/translated/table_filters.js:112
#: templates/js/translated/table_filters.js:324
@@ -2701,67 +2717,67 @@ msgstr ""
msgid "Active"
msgstr ""
-#: common/models.py:1961
+#: common/models.py:1975
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:1975
+#: common/models.py:1989
msgid "Token"
msgstr ""
-#: common/models.py:1976
+#: common/models.py:1990
msgid "Token for access"
msgstr ""
-#: common/models.py:1983
+#: common/models.py:1997
msgid "Secret"
msgstr ""
-#: common/models.py:1984
+#: common/models.py:1998
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:2090
+#: common/models.py:2104
msgid "Message ID"
msgstr ""
-#: common/models.py:2091
+#: common/models.py:2105
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:2099
+#: common/models.py:2113
msgid "Host"
msgstr ""
-#: common/models.py:2100
+#: common/models.py:2114
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:2107
+#: common/models.py:2121
msgid "Header"
msgstr ""
-#: common/models.py:2108
+#: common/models.py:2122
msgid "Header of this message"
msgstr ""
-#: common/models.py:2114
+#: common/models.py:2128
msgid "Body"
msgstr ""
-#: common/models.py:2115
+#: common/models.py:2129
msgid "Body of this message"
msgstr ""
-#: common/models.py:2124
+#: common/models.py:2138
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:2129
+#: common/models.py:2143
msgid "Worked on"
msgstr ""
-#: common/models.py:2130
+#: common/models.py:2144
msgid "Was the work on this message finished?"
msgstr ""
@@ -2786,7 +2802,7 @@ msgstr ""
msgid "Error raised by plugin"
msgstr ""
-#: common/views.py:85 order/templates/order/purchase_order_detail.html:23
+#: common/views.py:85 order/templates/order/purchase_order_detail.html:25
#: order/views.py:102 part/views.py:112
#: templates/patterns/wizard/upload.html:37
msgid "Upload File"
@@ -2945,7 +2961,7 @@ msgstr ""
#: templates/js/translated/company.js:304
#: templates/js/translated/company.js:532
#: templates/js/translated/company.js:684
-#: templates/js/translated/company.js:975 templates/js/translated/order.js:2239
+#: templates/js/translated/company.js:975 templates/js/translated/order.js:2244
#: templates/js/translated/part.js:247 templates/js/translated/part.js:1025
msgid "MPN"
msgstr ""
@@ -2987,7 +3003,7 @@ msgstr ""
#: company/models.py:373 part/models.py:902 part/models.py:2434
#: part/templates/part/part_base.html:286
-#: templates/InvenTree/settings/settings.html:352
+#: templates/InvenTree/settings/settings.html:349
#: templates/js/translated/company.js:805 templates/js/translated/part.js:853
msgid "Units"
msgstr ""
@@ -3019,7 +3035,7 @@ msgstr ""
#: company/models.py:499 company/templates/company/supplier_part.html:146
#: part/bom.py:238 part/bom.py:266 templates/js/translated/company.js:302
-#: templates/js/translated/order.js:2226 templates/js/translated/part.js:228
+#: templates/js/translated/order.js:2231 templates/js/translated/part.js:228
#: templates/js/translated/part.js:1011
msgid "SKU"
msgstr ""
@@ -3069,7 +3085,7 @@ msgstr ""
#: company/templates/company/supplier_part.html:174
#: templates/js/translated/company.js:996 templates/js/translated/order.js:820
#: templates/js/translated/order.js:1215 templates/js/translated/order.js:1470
-#: templates/js/translated/order.js:2270 templates/js/translated/order.js:2287
+#: templates/js/translated/order.js:2275 templates/js/translated/order.js:2292
#: templates/js/translated/part.js:1043 templates/js/translated/part.js:1095
msgid "Pack Quantity"
msgstr ""
@@ -3168,7 +3184,7 @@ msgstr ""
#: stock/models.py:646 stock/serializers.py:813
#: stock/templates/stock/item_base.html:399
#: templates/email/overdue_sales_order.html:16
-#: templates/js/translated/company.js:428 templates/js/translated/order.js:2808
+#: templates/js/translated/company.js:428 templates/js/translated/order.js:2819
#: templates/js/translated/stock.js:2569
#: templates/js/translated/table_filters.js:435
msgid "Customer"
@@ -3763,7 +3779,7 @@ msgid "Target date for order completion. Order will be overdue after this date."
msgstr ""
#: order/models.py:666 order/models.py:1218
-#: templates/js/translated/order.js:2855 templates/js/translated/order.js:3017
+#: templates/js/translated/order.js:2866 templates/js/translated/order.js:3028
msgid "Shipment Date"
msgstr ""
@@ -3825,7 +3841,7 @@ msgstr ""
#: order/models.py:997 order/models.py:1077 order/models.py:1118
#: order/models.py:1212 order/models.py:1344
-#: templates/js/translated/order.js:3473
+#: templates/js/translated/order.js:3484
msgid "Order"
msgstr ""
@@ -3846,7 +3862,7 @@ msgid "Supplier part"
msgstr ""
#: order/models.py:1023 order/templates/order/order_base.html:178
-#: templates/js/translated/order.js:1641 templates/js/translated/order.js:2373
+#: templates/js/translated/order.js:1641 templates/js/translated/order.js:2378
#: templates/js/translated/part.js:1087 templates/js/translated/part.js:1125
#: templates/js/translated/table_filters.js:346
msgid "Received"
@@ -4163,7 +4179,7 @@ msgid "Receive items"
msgstr ""
#: order/templates/order/order_base.html:67
-#: order/templates/order/purchase_order_detail.html:30
+#: order/templates/order/purchase_order_detail.html:32
msgid "Receive Items"
msgstr ""
@@ -4250,7 +4266,7 @@ msgstr ""
#: templates/js/translated/bom.js:102 templates/js/translated/build.js:479
#: templates/js/translated/build.js:631 templates/js/translated/build.js:2078
#: templates/js/translated/order.js:1084 templates/js/translated/order.js:1586
-#: templates/js/translated/order.js:3092 templates/js/translated/stock.js:625
+#: templates/js/translated/order.js:3103 templates/js/translated/stock.js:625
#: templates/js/translated/stock.js:793
#: templates/patterns/wizard/match_fields.html:70
msgid "Remove row"
@@ -4279,42 +4295,42 @@ msgstr ""
msgid "Received Stock"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:17
+#: order/templates/order/purchase_order_detail.html:19
msgid "Purchase Order Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:26
-#: order/templates/order/sales_order_detail.html:22
-#: order/templates/order/sales_order_detail.html:255
+#: order/templates/order/purchase_order_detail.html:28
+#: order/templates/order/sales_order_detail.html:24
+#: order/templates/order/sales_order_detail.html:260
#: templates/js/translated/order.js:728
msgid "Add Line Item"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:29
+#: order/templates/order/purchase_order_detail.html:31
msgid "Receive selected items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:48
-#: order/templates/order/sales_order_detail.html:42
+#: order/templates/order/purchase_order_detail.html:50
+#: order/templates/order/sales_order_detail.html:45
msgid "Extra Lines"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:53
-#: order/templates/order/sales_order_detail.html:47
-#: order/templates/order/sales_order_detail.html:280
+#: order/templates/order/purchase_order_detail.html:56
+#: order/templates/order/sales_order_detail.html:51
+#: order/templates/order/sales_order_detail.html:291
msgid "Add Extra Line"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:72
+#: order/templates/order/purchase_order_detail.html:76
msgid "Received Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:97
-#: order/templates/order/sales_order_detail.html:150
+#: order/templates/order/purchase_order_detail.html:101
+#: order/templates/order/sales_order_detail.html:155
msgid "Order Notes"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:232
+#: order/templates/order/purchase_order_detail.html:239
msgid "Add Order Line"
msgstr ""
@@ -4346,12 +4362,12 @@ msgid "This Sales Order has not been fully allocated"
msgstr ""
#: order/templates/order/sales_order_base.html:123
-#: templates/js/translated/order.js:2821
+#: templates/js/translated/order.js:2832
msgid "Customer Reference"
msgstr ""
#: order/templates/order/sales_order_base.html:141
-#: order/templates/order/sales_order_detail.html:104
+#: order/templates/order/sales_order_detail.html:109
#: order/templates/order/so_sidebar.html:11
msgid "Completed Shipments"
msgstr ""
@@ -4360,22 +4376,22 @@ msgstr ""
msgid "Edit Sales Order"
msgstr ""
-#: order/templates/order/sales_order_detail.html:17
+#: order/templates/order/sales_order_detail.html:18
msgid "Sales Order Items"
msgstr ""
-#: order/templates/order/sales_order_detail.html:68
+#: order/templates/order/sales_order_detail.html:73
#: order/templates/order/so_sidebar.html:8
msgid "Pending Shipments"
msgstr ""
-#: order/templates/order/sales_order_detail.html:72
+#: order/templates/order/sales_order_detail.html:77
#: templates/attachment_table.html:6 templates/js/translated/bom.js:1158
#: templates/js/translated/build.js:1979
msgid "Actions"
msgstr ""
-#: order/templates/order/sales_order_detail.html:81
+#: order/templates/order/sales_order_detail.html:86
msgid "New Shipment"
msgstr ""
@@ -4455,7 +4471,7 @@ msgid "Total Stock"
msgstr ""
#: part/bom.py:129 part/templates/part/part_base.html:195
-#: templates/js/translated/order.js:3913
+#: templates/js/translated/order.js:3928
msgid "Available Stock"
msgstr ""
@@ -4565,7 +4581,7 @@ msgstr ""
#: part/models.py:797 part/models.py:2272 part/models.py:2516
#: part/templates/part/part_base.html:263
-#: templates/InvenTree/settings/settings.html:232
+#: templates/InvenTree/settings/settings.html:229
#: templates/js/translated/notification.js:50
#: templates/js/translated/part.js:1480 templates/js/translated/part.js:1724
msgid "Category"
@@ -4753,7 +4769,7 @@ msgid "Parent Part"
msgstr ""
#: part/models.py:2474 part/models.py:2522 part/models.py:2523
-#: templates/InvenTree/settings/settings.html:227
+#: templates/InvenTree/settings/settings.html:224
msgid "Parameter Template"
msgstr ""
@@ -4765,7 +4781,7 @@ msgstr ""
msgid "Parameter Value"
msgstr ""
-#: part/models.py:2527 templates/InvenTree/settings/settings.html:236
+#: part/models.py:2527 templates/InvenTree/settings/settings.html:233
msgid "Default Value"
msgstr ""
@@ -5572,7 +5588,7 @@ msgstr ""
#: part/templates/part/part_scheduling.html:13
#: report/templates/report/inventree_test_report_base.html:97
-#: templates/InvenTree/settings/plugin.html:53
+#: templates/InvenTree/settings/plugin.html:63
#: templates/InvenTree/settings/plugin_settings.html:38
#: templates/js/translated/order.js:2001 templates/js/translated/stock.js:2478
msgid "Date"
@@ -5760,8 +5776,8 @@ msgstr ""
msgid "Part Pricing"
msgstr ""
-#: plugin/apps.py:56
-msgid "Your enviroment has an outdated git version. This prevents InvenTree from loading plugin details."
+#: plugin/apps.py:55
+msgid "Your environment has an outdated git version. This prevents InvenTree from loading plugin details."
msgstr ""
#: plugin/base/action/api.py:27
@@ -5772,23 +5788,23 @@ msgstr ""
msgid "No matching action found"
msgstr ""
-#: plugin/base/barcodes/api.py:54 plugin/base/barcodes/api.py:113
+#: plugin/base/barcodes/api.py:54 plugin/base/barcodes/api.py:110
msgid "Missing barcode data"
msgstr ""
-#: plugin/base/barcodes/api.py:83
+#: plugin/base/barcodes/api.py:80
msgid "No match found for barcode data"
msgstr ""
-#: plugin/base/barcodes/api.py:87
+#: plugin/base/barcodes/api.py:84
msgid "Match found for barcode data"
msgstr ""
-#: plugin/base/barcodes/api.py:126
+#: plugin/base/barcodes/api.py:120
msgid "Barcode matches existing item"
msgstr ""
-#: plugin/base/barcodes/api.py:223
+#: plugin/base/barcodes/api.py:217
msgid "No match found for provided value"
msgstr ""
@@ -5796,21 +5812,34 @@ msgstr ""
msgid "Label printing failed"
msgstr ""
-#: plugin/builtin/integration/core_notifications.py:30
+#: plugin/builtin/barcodes/inventree_barcode.py:26
+msgid "Inventree Barcodes"
+msgstr ""
+
+#: plugin/builtin/barcodes/inventree_barcode.py:27
+msgid "Provides native support for barcodes"
+msgstr ""
+
+#: plugin/builtin/barcodes/inventree_barcode.py:29
+#: plugin/builtin/integration/core_notifications.py:31
msgid "InvenTree contributors"
msgstr ""
-#: plugin/builtin/integration/core_notifications.py:31
+#: plugin/builtin/integration/core_notifications.py:30
+msgid "InvenTree Notifications"
+msgstr ""
+
+#: plugin/builtin/integration/core_notifications.py:32
msgid "Integrated outgoing notificaton methods"
msgstr ""
-#: plugin/builtin/integration/core_notifications.py:35
-#: plugin/builtin/integration/core_notifications.py:54
+#: plugin/builtin/integration/core_notifications.py:37
+#: plugin/builtin/integration/core_notifications.py:56
msgid "Enable email notifications"
msgstr ""
-#: plugin/builtin/integration/core_notifications.py:36
-#: plugin/builtin/integration/core_notifications.py:55
+#: plugin/builtin/integration/core_notifications.py:38
+#: plugin/builtin/integration/core_notifications.py:57
msgid "Allow sending of emails for event notifications"
msgstr ""
@@ -5830,7 +5859,7 @@ msgstr ""
msgid "Plugin Configurations"
msgstr ""
-#: plugin/models.py:86
+#: plugin/models.py:86 templates/InvenTree/settings/plugin.html:61
msgid "Key"
msgstr ""
@@ -5850,32 +5879,36 @@ msgstr ""
msgid "Sample plugin"
msgstr ""
-#: plugin/models.py:188 templates/InvenTree/settings/plugin_settings.html:10
+#: plugin/models.py:167
+msgid "Builtin Plugin"
+msgstr ""
+
+#: plugin/models.py:192 templates/InvenTree/settings/plugin_settings.html:10
msgid "Plugin"
msgstr ""
-#: plugin/models.py:253
+#: plugin/models.py:257
msgid "Method"
msgstr ""
-#: plugin/plugin.py:252
+#: plugin/plugin.py:257
msgid "No author found"
msgstr ""
-#: plugin/plugin.py:264
+#: plugin/plugin.py:269
msgid "No date found"
msgstr ""
-#: plugin/registry.py:431
+#: plugin/registry.py:439
msgid "Plugin `{plg_name}` is not compatible with the current InvenTree version {version.inventreeVersion()}!"
msgstr ""
-#: plugin/registry.py:433
+#: plugin/registry.py:441
#, python-brace-format
msgid "Plugin requires at least version {plg_i.MIN_VERSION}"
msgstr ""
-#: plugin/registry.py:435
+#: plugin/registry.py:443
#, python-brace-format
msgid "Plugin requires at most version {plg_i.MAX_VERSION}"
msgstr ""
@@ -6058,8 +6091,8 @@ msgstr ""
#: templates/js/translated/build.js:472 templates/js/translated/build.js:624
#: templates/js/translated/build.js:1234 templates/js/translated/build.js:1735
#: templates/js/translated/model_renderers.js:118
-#: templates/js/translated/order.js:121 templates/js/translated/order.js:3592
-#: templates/js/translated/order.js:3679 templates/js/translated/stock.js:490
+#: templates/js/translated/order.js:121 templates/js/translated/order.js:3603
+#: templates/js/translated/order.js:3690 templates/js/translated/stock.js:490
msgid "Serial Number"
msgstr ""
@@ -7087,7 +7120,7 @@ msgid "Part Parameter Templates"
msgstr ""
#: templates/InvenTree/settings/plugin.html:10
-#: templates/InvenTree/settings/sidebar.html:56
+#: templates/InvenTree/settings/sidebar.html:55
msgid "Plugin Settings"
msgstr ""
@@ -7095,52 +7128,64 @@ msgstr ""
msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage."
msgstr ""
-#: templates/InvenTree/settings/plugin.html:36
-#: templates/InvenTree/settings/sidebar.html:58
+#: templates/InvenTree/settings/plugin.html:38
+#: templates/InvenTree/settings/sidebar.html:57
msgid "Plugins"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:41
+#: templates/InvenTree/settings/plugin.html:44
#: templates/js/translated/plugin.js:16
msgid "Install Plugin"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:50 templates/navbar.html:137
-#: users/models.py:36
-msgid "Admin"
+#: templates/InvenTree/settings/plugin.html:52
+msgid "External plugins are not enabled for this InvenTree installation"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:52
-#: templates/InvenTree/settings/plugin_settings.html:28
+#: templates/InvenTree/settings/plugin.html:62
+#: templates/InvenTree/settings/plugin_settings.html:33
msgid "Author"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:54
+#: templates/InvenTree/settings/plugin.html:64
#: templates/InvenTree/settings/plugin_settings.html:43
msgid "Version"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:76
-msgid "Sample"
+#: templates/InvenTree/settings/plugin.html:72
+msgid "Active plugins"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:101
+#: templates/InvenTree/settings/plugin.html:80
msgid "Inactive plugins"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:124
+#: templates/InvenTree/settings/plugin.html:94
msgid "Plugin Error Stack"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:133
+#: templates/InvenTree/settings/plugin.html:103
msgid "Stage"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:135
+#: templates/InvenTree/settings/plugin.html:105
#: templates/js/translated/notification.js:75
msgid "Message"
msgstr ""
+#: templates/InvenTree/settings/plugin_details.html:32
+#: templates/InvenTree/settings/plugin_settings.html:101
+msgid "Builtin"
+msgstr ""
+
+#: templates/InvenTree/settings/plugin_details.html:38
+msgid "Sample"
+msgstr ""
+
+#: templates/InvenTree/settings/plugin_details.html:47
+msgid "Unvailable"
+msgstr ""
+
#: templates/InvenTree/settings/plugin_settings.html:17
msgid "Plugin information"
msgstr ""
@@ -7177,29 +7222,33 @@ msgstr ""
msgid "Installation path"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:100
+#: templates/InvenTree/settings/plugin_settings.html:102
+msgid "This is a builtin plugin which cannot be disabled"
+msgstr ""
+
+#: templates/InvenTree/settings/plugin_settings.html:107
msgid "Commit Author"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:104
+#: templates/InvenTree/settings/plugin_settings.html:111
#: templates/about.html:36
msgid "Commit Date"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:108
+#: templates/InvenTree/settings/plugin_settings.html:115
#: templates/about.html:29
msgid "Commit Hash"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:112
+#: templates/InvenTree/settings/plugin_settings.html:119
msgid "Commit Message"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:120
+#: templates/InvenTree/settings/plugin_settings.html:127
msgid "Sign Status"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:125
+#: templates/InvenTree/settings/plugin_settings.html:132
msgid "Sign Key"
msgstr ""
@@ -7220,66 +7269,66 @@ msgstr ""
msgid "Edit setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:120
+#: templates/InvenTree/settings/settings.html:117
msgid "Edit Plugin Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:122
+#: templates/InvenTree/settings/settings.html:119
msgid "Edit Notification Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:125
+#: templates/InvenTree/settings/settings.html:122
msgid "Edit Global Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:127
+#: templates/InvenTree/settings/settings.html:124
msgid "Edit User Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:217
+#: templates/InvenTree/settings/settings.html:214
msgid "No category parameter templates found"
msgstr ""
-#: templates/InvenTree/settings/settings.html:239
-#: templates/InvenTree/settings/settings.html:364
+#: templates/InvenTree/settings/settings.html:236
+#: templates/InvenTree/settings/settings.html:361
msgid "Edit Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:240
-#: templates/InvenTree/settings/settings.html:365
+#: templates/InvenTree/settings/settings.html:237
+#: templates/InvenTree/settings/settings.html:362
msgid "Delete Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:280
+#: templates/InvenTree/settings/settings.html:277
msgid "Create Category Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:325
+#: templates/InvenTree/settings/settings.html:322
msgid "Delete Category Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:337
+#: templates/InvenTree/settings/settings.html:334
msgid "No part parameter templates found"
msgstr ""
-#: templates/InvenTree/settings/settings.html:341
+#: templates/InvenTree/settings/settings.html:338
#: templates/js/translated/notification.js:36
msgid "ID"
msgstr ""
-#: templates/InvenTree/settings/settings.html:383
+#: templates/InvenTree/settings/settings.html:380
msgid "Create Part Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:402
+#: templates/InvenTree/settings/settings.html:399
msgid "Edit Part Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:416
+#: templates/InvenTree/settings/settings.html:413
msgid "Any parameters which reference this template will also be deleted"
msgstr ""
-#: templates/InvenTree/settings/settings.html:424
+#: templates/InvenTree/settings/settings.html:421
msgid "Delete Part Parameter Template"
msgstr ""
@@ -7737,7 +7786,7 @@ msgstr ""
msgid "Or use a SSO-provider for signup"
msgstr ""
-#: templates/admin_button.html:2
+#: templates/admin_button.html:8
msgid "View in administration panel"
msgstr ""
@@ -8212,7 +8261,7 @@ msgid "Variant stock allowed"
msgstr ""
#: templates/js/translated/bom.js:983 templates/js/translated/build.js:1907
-#: templates/js/translated/order.js:3927
+#: templates/js/translated/order.js:3942
msgid "No Stock Available"
msgstr ""
@@ -8425,12 +8474,12 @@ msgid "No required tests for this build"
msgstr ""
#: templates/js/translated/build.js:1775 templates/js/translated/build.js:2765
-#: templates/js/translated/order.js:3627
+#: templates/js/translated/order.js:3638
msgid "Edit stock allocation"
msgstr ""
#: templates/js/translated/build.js:1777 templates/js/translated/build.js:2766
-#: templates/js/translated/order.js:3628
+#: templates/js/translated/order.js:3639
msgid "Delete stock allocation"
msgstr ""
@@ -8450,20 +8499,20 @@ msgstr ""
msgid "Quantity Per"
msgstr ""
-#: templates/js/translated/build.js:1901 templates/js/translated/order.js:3934
+#: templates/js/translated/build.js:1901 templates/js/translated/order.js:3949
msgid "Insufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3932
+#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3947
msgid "Sufficient stock available"
msgstr ""
#: templates/js/translated/build.js:1937 templates/js/translated/build.js:2195
-#: templates/js/translated/build.js:2761 templates/js/translated/order.js:3946
+#: templates/js/translated/build.js:2761 templates/js/translated/order.js:3961
msgid "Allocated"
msgstr ""
-#: templates/js/translated/build.js:1993 templates/js/translated/order.js:4026
+#: templates/js/translated/build.js:1993 templates/js/translated/order.js:4041
msgid "Build stock"
msgstr ""
@@ -8471,21 +8520,21 @@ msgstr ""
msgid "Order stock"
msgstr ""
-#: templates/js/translated/build.js:2000 templates/js/translated/order.js:4019
+#: templates/js/translated/build.js:2000 templates/js/translated/order.js:4034
msgid "Allocate stock"
msgstr ""
#: templates/js/translated/build.js:2039 templates/js/translated/label.js:172
-#: templates/js/translated/order.js:1007 templates/js/translated/order.js:3154
+#: templates/js/translated/order.js:1007 templates/js/translated/order.js:3165
#: templates/js/translated/report.js:225
msgid "Select Parts"
msgstr ""
-#: templates/js/translated/build.js:2040 templates/js/translated/order.js:3155
+#: templates/js/translated/build.js:2040 templates/js/translated/order.js:3166
msgid "You must select at least one part to allocate"
msgstr ""
-#: templates/js/translated/build.js:2089 templates/js/translated/order.js:3103
+#: templates/js/translated/build.js:2089 templates/js/translated/order.js:3114
msgid "Specify stock allocation quantity"
msgstr ""
@@ -8497,7 +8546,7 @@ msgstr ""
msgid "All selected parts have been fully allocated"
msgstr ""
-#: templates/js/translated/build.js:2183 templates/js/translated/order.js:3169
+#: templates/js/translated/build.js:2183 templates/js/translated/order.js:3180
msgid "Select source location (leave blank to take from all locations)"
msgstr ""
@@ -8505,11 +8554,11 @@ msgstr ""
msgid "Allocate Stock Items to Build Order"
msgstr ""
-#: templates/js/translated/build.js:2222 templates/js/translated/order.js:3266
+#: templates/js/translated/build.js:2222 templates/js/translated/order.js:3277
msgid "No matching stock locations"
msgstr ""
-#: templates/js/translated/build.js:2294 templates/js/translated/order.js:3343
+#: templates/js/translated/build.js:2294 templates/js/translated/order.js:3354
msgid "No matching stock items"
msgstr ""
@@ -9158,218 +9207,218 @@ msgstr ""
msgid "No purchase orders found"
msgstr ""
-#: templates/js/translated/order.js:1967 templates/js/translated/order.js:2798
+#: templates/js/translated/order.js:1967 templates/js/translated/order.js:2809
msgid "Order is overdue"
msgstr ""
-#: templates/js/translated/order.js:2017 templates/js/translated/order.js:2863
-#: templates/js/translated/order.js:3004
+#: templates/js/translated/order.js:2017 templates/js/translated/order.js:2874
+#: templates/js/translated/order.js:3015
msgid "Items"
msgstr ""
-#: templates/js/translated/order.js:2115 templates/js/translated/order.js:4078
+#: templates/js/translated/order.js:2120 templates/js/translated/order.js:4093
msgid "Duplicate Line Item"
msgstr ""
-#: templates/js/translated/order.js:2132 templates/js/translated/order.js:4100
+#: templates/js/translated/order.js:2137 templates/js/translated/order.js:4115
msgid "Edit Line Item"
msgstr ""
-#: templates/js/translated/order.js:2145 templates/js/translated/order.js:4111
+#: templates/js/translated/order.js:2150 templates/js/translated/order.js:4126
msgid "Delete Line Item"
msgstr ""
-#: templates/js/translated/order.js:2188
+#: templates/js/translated/order.js:2193
msgid "No line items found"
msgstr ""
-#: templates/js/translated/order.js:2215 templates/js/translated/order.js:3812
+#: templates/js/translated/order.js:2220 templates/js/translated/order.js:3827
msgid "Total"
msgstr ""
-#: templates/js/translated/order.js:2270 templates/js/translated/part.js:1043
+#: templates/js/translated/order.js:2275 templates/js/translated/part.js:1043
#: templates/js/translated/part.js:1095
msgid "Total Quantity"
msgstr ""
-#: templates/js/translated/order.js:2301 templates/js/translated/order.js:2500
-#: templates/js/translated/order.js:3837 templates/js/translated/order.js:4342
+#: templates/js/translated/order.js:2306 templates/js/translated/order.js:2509
+#: templates/js/translated/order.js:3852 templates/js/translated/order.js:4361
#: templates/js/translated/part.js:2199 templates/js/translated/part.js:2797
msgid "Unit Price"
msgstr ""
-#: templates/js/translated/order.js:2316 templates/js/translated/order.js:2516
-#: templates/js/translated/order.js:3853 templates/js/translated/order.js:4358
+#: templates/js/translated/order.js:2321 templates/js/translated/order.js:2525
+#: templates/js/translated/order.js:3868 templates/js/translated/order.js:4377
msgid "Total Price"
msgstr ""
-#: templates/js/translated/order.js:2357 templates/js/translated/order.js:3895
+#: templates/js/translated/order.js:2362 templates/js/translated/order.js:3910
#: templates/js/translated/part.js:1079
msgid "This line item is overdue"
msgstr ""
-#: templates/js/translated/order.js:2416 templates/js/translated/part.js:1130
+#: templates/js/translated/order.js:2421 templates/js/translated/part.js:1130
msgid "Receive line item"
msgstr ""
-#: templates/js/translated/order.js:2420 templates/js/translated/order.js:4032
+#: templates/js/translated/order.js:2425 templates/js/translated/order.js:4047
msgid "Duplicate line item"
msgstr ""
-#: templates/js/translated/order.js:2421 templates/js/translated/order.js:4033
+#: templates/js/translated/order.js:2426 templates/js/translated/order.js:4048
msgid "Edit line item"
msgstr ""
-#: templates/js/translated/order.js:2422 templates/js/translated/order.js:4037
+#: templates/js/translated/order.js:2427 templates/js/translated/order.js:4052
msgid "Delete line item"
msgstr ""
-#: templates/js/translated/order.js:2564 templates/js/translated/order.js:4406
+#: templates/js/translated/order.js:2574 templates/js/translated/order.js:4425
msgid "Duplicate line"
msgstr ""
-#: templates/js/translated/order.js:2565 templates/js/translated/order.js:4407
+#: templates/js/translated/order.js:2575 templates/js/translated/order.js:4426
msgid "Edit line"
msgstr ""
-#: templates/js/translated/order.js:2566 templates/js/translated/order.js:4408
+#: templates/js/translated/order.js:2576 templates/js/translated/order.js:4427
msgid "Delete line"
msgstr ""
-#: templates/js/translated/order.js:2595 templates/js/translated/order.js:4437
+#: templates/js/translated/order.js:2606 templates/js/translated/order.js:4456
msgid "Duplicate Line"
msgstr ""
-#: templates/js/translated/order.js:2616 templates/js/translated/order.js:4458
+#: templates/js/translated/order.js:2627 templates/js/translated/order.js:4477
msgid "Edit Line"
msgstr ""
-#: templates/js/translated/order.js:2627 templates/js/translated/order.js:4469
+#: templates/js/translated/order.js:2638 templates/js/translated/order.js:4488
msgid "Delete Line"
msgstr ""
-#: templates/js/translated/order.js:2638
+#: templates/js/translated/order.js:2649
msgid "No matching line"
msgstr ""
-#: templates/js/translated/order.js:2749
+#: templates/js/translated/order.js:2760
msgid "No sales orders found"
msgstr ""
-#: templates/js/translated/order.js:2812
+#: templates/js/translated/order.js:2823
msgid "Invalid Customer"
msgstr ""
-#: templates/js/translated/order.js:2910
+#: templates/js/translated/order.js:2921
msgid "Edit shipment"
msgstr ""
-#: templates/js/translated/order.js:2913
+#: templates/js/translated/order.js:2924
msgid "Complete shipment"
msgstr ""
-#: templates/js/translated/order.js:2918
+#: templates/js/translated/order.js:2929
msgid "Delete shipment"
msgstr ""
-#: templates/js/translated/order.js:2938
+#: templates/js/translated/order.js:2949
msgid "Edit Shipment"
msgstr ""
-#: templates/js/translated/order.js:2955
+#: templates/js/translated/order.js:2966
msgid "Delete Shipment"
msgstr ""
-#: templates/js/translated/order.js:2989
+#: templates/js/translated/order.js:3000
msgid "No matching shipments found"
msgstr ""
-#: templates/js/translated/order.js:2999
+#: templates/js/translated/order.js:3010
msgid "Shipment Reference"
msgstr ""
-#: templates/js/translated/order.js:3023
+#: templates/js/translated/order.js:3034
msgid "Not shipped"
msgstr ""
-#: templates/js/translated/order.js:3029
+#: templates/js/translated/order.js:3040
msgid "Tracking"
msgstr ""
-#: templates/js/translated/order.js:3033
+#: templates/js/translated/order.js:3044
msgid "Invoice"
msgstr ""
-#: templates/js/translated/order.js:3202
+#: templates/js/translated/order.js:3213
msgid "Add Shipment"
msgstr ""
-#: templates/js/translated/order.js:3253
+#: templates/js/translated/order.js:3264
msgid "Confirm stock allocation"
msgstr ""
-#: templates/js/translated/order.js:3254
+#: templates/js/translated/order.js:3265
msgid "Allocate Stock Items to Sales Order"
msgstr ""
-#: templates/js/translated/order.js:3462
+#: templates/js/translated/order.js:3473
msgid "No sales order allocations found"
msgstr ""
-#: templates/js/translated/order.js:3541
+#: templates/js/translated/order.js:3552
msgid "Edit Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:3558
+#: templates/js/translated/order.js:3569
msgid "Confirm Delete Operation"
msgstr ""
-#: templates/js/translated/order.js:3559
+#: templates/js/translated/order.js:3570
msgid "Delete Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:3604 templates/js/translated/order.js:3693
+#: templates/js/translated/order.js:3615 templates/js/translated/order.js:3704
#: templates/js/translated/stock.js:1602
msgid "Shipped to customer"
msgstr ""
-#: templates/js/translated/order.js:3612 templates/js/translated/order.js:3702
+#: templates/js/translated/order.js:3623 templates/js/translated/order.js:3713
msgid "Stock location not specified"
msgstr ""
-#: templates/js/translated/order.js:4016
+#: templates/js/translated/order.js:4031
msgid "Allocate serial numbers"
msgstr ""
-#: templates/js/translated/order.js:4022
+#: templates/js/translated/order.js:4037
msgid "Purchase stock"
msgstr ""
-#: templates/js/translated/order.js:4029 templates/js/translated/order.js:4227
+#: templates/js/translated/order.js:4044 templates/js/translated/order.js:4242
msgid "Calculate price"
msgstr ""
-#: templates/js/translated/order.js:4041
+#: templates/js/translated/order.js:4056
msgid "Cannot be deleted as items have been shipped"
msgstr ""
-#: templates/js/translated/order.js:4044
+#: templates/js/translated/order.js:4059
msgid "Cannot be deleted as items have been allocated"
msgstr ""
-#: templates/js/translated/order.js:4126
+#: templates/js/translated/order.js:4141
msgid "Allocate Serial Numbers"
msgstr ""
-#: templates/js/translated/order.js:4235
+#: templates/js/translated/order.js:4250
msgid "Update Unit Price"
msgstr ""
-#: templates/js/translated/order.js:4249
+#: templates/js/translated/order.js:4264
msgid "No matching line items"
msgstr ""
-#: templates/js/translated/order.js:4480
+#: templates/js/translated/order.js:4499
msgid "No matching lines"
msgstr ""
@@ -10508,6 +10557,10 @@ msgstr ""
msgid "New Notifications"
msgstr ""
+#: templates/navbar.html:137 users/models.py:36
+msgid "Admin"
+msgstr ""
+
#: templates/navbar.html:140
msgid "Logout"
msgstr ""
diff --git a/InvenTree/locale/ru/LC_MESSAGES/django.po b/InvenTree/locale/ru/LC_MESSAGES/django.po
index 0faaacb545..d47349dbbe 100644
--- a/InvenTree/locale/ru/LC_MESSAGES/django.po
+++ b/InvenTree/locale/ru/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-11-04 14:07+0000\n"
-"PO-Revision-Date: 2022-11-04 19:02\n"
+"POT-Creation-Date: 2022-11-14 04:59+0000\n"
+"PO-Revision-Date: 2022-11-14 14:51\n"
"Last-Translator: \n"
"Language-Team: Russian\n"
"Language: ru_RU\n"
@@ -17,7 +17,7 @@ msgstr ""
"X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n"
"X-Crowdin-File-ID: 154\n"
-#: InvenTree/api.py:54
+#: InvenTree/api.py:61
msgid "API endpoint not found"
msgstr "Конечная точка API не обнаружена"
@@ -25,27 +25,27 @@ msgstr "Конечная точка API не обнаружена"
msgid "Error details can be found in the admin panel"
msgstr "Подробности об ошибке можно найти в панели администратора"
-#: InvenTree/fields.py:120
+#: InvenTree/fields.py:129
msgid "Enter date"
msgstr "Введите дату"
-#: InvenTree/fields.py:195 build/serializers.py:387
-#: build/templates/build/sidebar.html:21 company/models.py:525
-#: company/templates/company/sidebar.html:25 order/models.py:920
+#: InvenTree/fields.py:204 build/serializers.py:387
+#: build/templates/build/sidebar.html:21 company/models.py:529
+#: company/templates/company/sidebar.html:25 order/models.py:943
#: order/templates/order/po_sidebar.html:11
-#: order/templates/order/so_sidebar.html:17
-#: part/templates/part/part_sidebar.html:59
+#: order/templates/order/so_sidebar.html:17 part/admin.py:27
+#: part/templates/part/part_sidebar.html:57
#: report/templates/report/inventree_build_order_base.html:172
-#: stock/models.py:2002 stock/models.py:2110 stock/serializers.py:327
-#: stock/serializers.py:460 stock/serializers.py:541 stock/serializers.py:827
-#: stock/serializers.py:926 stock/serializers.py:1058
+#: stock/admin.py:103 stock/models.py:2018 stock/models.py:2126
+#: stock/serializers.py:321 stock/serializers.py:454 stock/serializers.py:535
+#: stock/serializers.py:826 stock/serializers.py:925 stock/serializers.py:1057
#: stock/templates/stock/stock_sidebar.html:25
-#: templates/js/translated/barcode.js:108 templates/js/translated/bom.js:1146
-#: templates/js/translated/company.js:1022
-#: templates/js/translated/order.js:2404 templates/js/translated/order.js:2552
-#: templates/js/translated/order.js:3048 templates/js/translated/order.js:3999
-#: templates/js/translated/order.js:4394 templates/js/translated/stock.js:1374
-#: templates/js/translated/stock.js:1982
+#: templates/js/translated/barcode.js:108 templates/js/translated/bom.js:1211
+#: templates/js/translated/company.js:1023
+#: templates/js/translated/order.js:2427 templates/js/translated/order.js:2561
+#: templates/js/translated/order.js:3059 templates/js/translated/order.js:3996
+#: templates/js/translated/order.js:4377 templates/js/translated/stock.js:1393
+#: templates/js/translated/stock.js:2000
msgid "Notes"
msgstr "Заметки"
@@ -122,43 +122,43 @@ msgstr ""
msgid "Supplied URL is not a valid image file"
msgstr ""
-#: InvenTree/helpers.py:602 order/models.py:325 order/models.py:477
+#: InvenTree/helpers.py:589 order/models.py:329 order/models.py:496
msgid "Invalid quantity provided"
msgstr "недопустимое количество"
-#: InvenTree/helpers.py:610
+#: InvenTree/helpers.py:597
msgid "Empty serial number string"
msgstr "Пустая строка серийного номера"
-#: InvenTree/helpers.py:640
+#: InvenTree/helpers.py:627
msgid "Duplicate serial"
msgstr ""
-#: InvenTree/helpers.py:673 InvenTree/helpers.py:708
+#: InvenTree/helpers.py:660 InvenTree/helpers.py:695
#, python-brace-format
msgid "Invalid group range: {g}"
msgstr ""
-#: InvenTree/helpers.py:702
+#: InvenTree/helpers.py:689
#, python-brace-format
msgid "Group range {g} exceeds allowed quantity ({q})"
msgstr ""
-#: InvenTree/helpers.py:726 InvenTree/helpers.py:733 InvenTree/helpers.py:748
+#: InvenTree/helpers.py:713 InvenTree/helpers.py:720 InvenTree/helpers.py:735
#, python-brace-format
msgid "Invalid group sequence: {g}"
msgstr ""
-#: InvenTree/helpers.py:758
+#: InvenTree/helpers.py:745
msgid "No serial numbers found"
msgstr "Серийных номеров не найдено"
-#: InvenTree/helpers.py:761
+#: InvenTree/helpers.py:748
#, python-brace-format
msgid "Number of unique serial numbers ({s}) must match quantity ({q})"
msgstr ""
-#: InvenTree/helpers.py:960
+#: InvenTree/helpers.py:947
msgid "Remove HTML tags from this value"
msgstr ""
@@ -194,7 +194,7 @@ msgstr "Файл не найден"
msgid "Missing external link"
msgstr "Отсутствует внешняя ссылка"
-#: InvenTree/models.py:405 stock/models.py:2104
+#: InvenTree/models.py:405 stock/models.py:2120
#: templates/js/translated/attachment.js:103
#: templates/js/translated/attachment.js:241
msgid "Attachment"
@@ -204,18 +204,19 @@ msgstr "Вложения"
msgid "Select file to attach"
msgstr "Выберите файл для вложения"
-#: InvenTree/models.py:412 company/models.py:125 company/models.py:277
-#: company/models.py:512 order/models.py:84 order/models.py:1259
-#: part/models.py:816 part/templates/part/part_scheduling.html:11
+#: InvenTree/models.py:412 common/models.py:2313 company/models.py:129
+#: company/models.py:281 company/models.py:516 order/models.py:85
+#: order/models.py:1282 part/admin.py:25 part/models.py:835
+#: part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
-#: templates/js/translated/company.js:691
-#: templates/js/translated/company.js:1011
-#: templates/js/translated/order.js:3037 templates/js/translated/part.js:1569
+#: stock/admin.py:102 templates/js/translated/company.js:692
+#: templates/js/translated/company.js:1012
+#: templates/js/translated/order.js:3048 templates/js/translated/part.js:1593
msgid "Link"
msgstr "Ссылка"
-#: InvenTree/models.py:413 build/models.py:290 part/models.py:817
-#: stock/models.py:660
+#: InvenTree/models.py:413 build/models.py:290 part/models.py:836
+#: stock/models.py:676
msgid "Link to external URL"
msgstr "Ссылка на внешний URL"
@@ -228,12 +229,12 @@ msgstr "Комментарий"
msgid "File comment"
msgstr "Комментарий к файлу"
-#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1744
-#: common/models.py:1745 common/models.py:1968 common/models.py:1969
-#: common/models.py:2231 common/models.py:2232 part/models.py:2254
-#: part/models.py:2274 plugin/models.py:264 plugin/models.py:265
+#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1756
+#: common/models.py:1757 common/models.py:1980 common/models.py:1981
+#: common/models.py:2243 common/models.py:2244 part/models.py:2867
+#: part/models.py:2887 plugin/models.py:264 plugin/models.py:265
#: report/templates/report/inventree_test_report_base.html:96
-#: templates/js/translated/stock.js:2651
+#: templates/js/translated/stock.js:2669
msgid "User"
msgstr "Пользователь"
@@ -270,44 +271,45 @@ msgstr "Ошибка переименования файла"
msgid "Invalid choice"
msgstr "Неверный выбор"
-#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1954
-#: company/models.py:359 label/models.py:101 part/models.py:760
-#: part/models.py:2429 plugin/models.py:94 report/models.py:152
+#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1966
+#: company/models.py:363 label/models.py:101 part/models.py:779
+#: part/models.py:3042 plugin/models.py:94 report/models.py:152
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/plugin.html:60
#: templates/InvenTree/settings/plugin.html:104
#: templates/InvenTree/settings/plugin_settings.html:23
#: templates/InvenTree/settings/settings.html:344
-#: templates/js/translated/company.js:580
-#: templates/js/translated/company.js:793
+#: templates/js/translated/company.js:581
+#: templates/js/translated/company.js:794
#: templates/js/translated/notification.js:71
-#: templates/js/translated/part.js:686 templates/js/translated/part.js:838
-#: templates/js/translated/part.js:1964 templates/js/translated/stock.js:2396
+#: templates/js/translated/part.js:700 templates/js/translated/part.js:865
+#: templates/js/translated/part.js:1988 templates/js/translated/stock.js:2414
msgid "Name"
msgstr "Название"
#: InvenTree/models.py:564 build/models.py:163
-#: build/templates/build/detail.html:24 company/models.py:283
-#: company/models.py:518 company/templates/company/company_base.html:71
+#: build/templates/build/detail.html:24 company/models.py:287
+#: company/models.py:522 company/templates/company/company_base.html:71
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:108 label/models.py:108
-#: order/models.py:82 part/models.py:783 part/models.py:2438
-#: part/templates/part/category.html:75 part/templates/part/part_base.html:172
+#: order/models.py:83 part/admin.py:141 part/admin.py:222 part/models.py:802
+#: part/models.py:3051 part/templates/part/category.html:75
+#: part/templates/part/part_base.html:172
#: part/templates/part/part_scheduling.html:12 report/models.py:165
#: report/models.py:507 report/models.py:551
#: report/templates/report/inventree_build_order_base.html:117
-#: stock/templates/stock/location.html:117
+#: stock/admin.py:25 stock/templates/stock/location.html:117
#: templates/InvenTree/settings/plugin_settings.html:28
#: templates/InvenTree/settings/settings.html:355
-#: templates/js/translated/bom.js:579 templates/js/translated/bom.js:887
-#: templates/js/translated/build.js:2580 templates/js/translated/company.js:444
-#: templates/js/translated/company.js:702
-#: templates/js/translated/company.js:986 templates/js/translated/order.js:1988
-#: templates/js/translated/order.js:2220 templates/js/translated/order.js:2826
-#: templates/js/translated/part.js:745 templates/js/translated/part.js:1187
-#: templates/js/translated/part.js:1464 templates/js/translated/part.js:2000
-#: templates/js/translated/part.js:2075 templates/js/translated/stock.js:1748
-#: templates/js/translated/stock.js:2428 templates/js/translated/stock.js:2488
+#: templates/js/translated/bom.js:592 templates/js/translated/bom.js:895
+#: templates/js/translated/build.js:2580 templates/js/translated/company.js:445
+#: templates/js/translated/company.js:703
+#: templates/js/translated/company.js:987 templates/js/translated/order.js:2022
+#: templates/js/translated/order.js:2259 templates/js/translated/order.js:2837
+#: templates/js/translated/part.js:759 templates/js/translated/part.js:1208
+#: templates/js/translated/part.js:1475 templates/js/translated/part.js:2024
+#: templates/js/translated/part.js:2099 templates/js/translated/stock.js:1767
+#: templates/js/translated/stock.js:2446 templates/js/translated/stock.js:2506
msgid "Description"
msgstr "Описание"
@@ -320,7 +322,7 @@ msgid "parent"
msgstr "родитель"
#: InvenTree/models.py:580 InvenTree/models.py:581
-#: templates/js/translated/part.js:2009 templates/js/translated/stock.js:2437
+#: templates/js/translated/part.js:2033 templates/js/translated/stock.js:2455
msgid "Path"
msgstr "Путь"
@@ -332,7 +334,7 @@ msgstr ""
msgid "Third party barcode data"
msgstr ""
-#: InvenTree/models.py:688 order/serializers.py:486
+#: InvenTree/models.py:688 order/serializers.py:477
msgid "Barcode Hash"
msgstr ""
@@ -352,187 +354,187 @@ msgstr ""
msgid "An error has been logged by the server."
msgstr ""
-#: InvenTree/serializers.py:58 part/models.py:2774
+#: InvenTree/serializers.py:58 part/models.py:3387
msgid "Must be a valid number"
msgstr "Должно быть действительным номером"
-#: InvenTree/serializers.py:265
+#: InvenTree/serializers.py:266
msgid "Filename"
msgstr "Имя файла"
-#: InvenTree/serializers.py:300
+#: InvenTree/serializers.py:301
msgid "Invalid value"
msgstr "Неверное значение"
-#: InvenTree/serializers.py:322
+#: InvenTree/serializers.py:323
msgid "Data File"
msgstr "Файл данных"
-#: InvenTree/serializers.py:323
+#: InvenTree/serializers.py:324
msgid "Select data file for upload"
msgstr "Выберите файл данных для загрузки"
-#: InvenTree/serializers.py:344
+#: InvenTree/serializers.py:345
msgid "Unsupported file type"
msgstr "Неподдерживаемый тип файла"
-#: InvenTree/serializers.py:350
+#: InvenTree/serializers.py:351
msgid "File is too large"
msgstr "Файл слишком большой"
-#: InvenTree/serializers.py:371
+#: InvenTree/serializers.py:372
msgid "No columns found in file"
msgstr "Столбцы в файле не найдены"
-#: InvenTree/serializers.py:374
+#: InvenTree/serializers.py:375
msgid "No data rows found in file"
msgstr "Строки данных в файле не найдены"
-#: InvenTree/serializers.py:497
+#: InvenTree/serializers.py:498
msgid "No data rows provided"
msgstr "Строки данных в файле не найдены"
-#: InvenTree/serializers.py:500
+#: InvenTree/serializers.py:501
msgid "No data columns supplied"
msgstr ""
-#: InvenTree/serializers.py:577
+#: InvenTree/serializers.py:578
#, python-brace-format
msgid "Missing required column: '{name}'"
msgstr ""
-#: InvenTree/serializers.py:586
+#: InvenTree/serializers.py:587
#, python-brace-format
msgid "Duplicate column: '{col}'"
msgstr "Повторяющийся столбец: '{col}'"
-#: InvenTree/serializers.py:605
+#: InvenTree/serializers.py:606
#: templates/InvenTree/settings/mixins/urls.html:14
msgid "URL"
msgstr "Ссылка"
-#: InvenTree/serializers.py:606
+#: InvenTree/serializers.py:607
msgid "URL of remote image file"
msgstr ""
-#: InvenTree/serializers.py:620
+#: InvenTree/serializers.py:621
msgid "Downloading images from remote URL is not enabled"
msgstr ""
-#: InvenTree/settings.py:621
+#: InvenTree/settings.py:627
msgid "Czech"
msgstr ""
-#: InvenTree/settings.py:622
+#: InvenTree/settings.py:628
msgid "Danish"
msgstr ""
-#: InvenTree/settings.py:623
+#: InvenTree/settings.py:629
msgid "German"
msgstr "Немецкий"
-#: InvenTree/settings.py:624
+#: InvenTree/settings.py:630
msgid "Greek"
msgstr "Греческий"
-#: InvenTree/settings.py:625
+#: InvenTree/settings.py:631
msgid "English"
msgstr "Английский"
-#: InvenTree/settings.py:626
+#: InvenTree/settings.py:632
msgid "Spanish"
msgstr "Испанский"
-#: InvenTree/settings.py:627
+#: InvenTree/settings.py:633
msgid "Spanish (Mexican)"
msgstr "Испанский (Мексика)"
-#: InvenTree/settings.py:628
+#: InvenTree/settings.py:634
msgid "Farsi / Persian"
msgstr ""
-#: InvenTree/settings.py:629
+#: InvenTree/settings.py:635
msgid "French"
msgstr "Французский"
-#: InvenTree/settings.py:630
+#: InvenTree/settings.py:636
msgid "Hebrew"
msgstr "Иврит"
-#: InvenTree/settings.py:631
+#: InvenTree/settings.py:637
msgid "Hungarian"
msgstr "Венгерский"
-#: InvenTree/settings.py:632
+#: InvenTree/settings.py:638
msgid "Italian"
msgstr "Итальянский"
-#: InvenTree/settings.py:633
+#: InvenTree/settings.py:639
msgid "Japanese"
msgstr "Японский"
-#: InvenTree/settings.py:634
+#: InvenTree/settings.py:640
msgid "Korean"
msgstr "Корейский"
-#: InvenTree/settings.py:635
+#: InvenTree/settings.py:641
msgid "Dutch"
msgstr "Голландский"
-#: InvenTree/settings.py:636
+#: InvenTree/settings.py:642
msgid "Norwegian"
msgstr "Норвежский"
-#: InvenTree/settings.py:637
+#: InvenTree/settings.py:643
msgid "Polish"
msgstr "Польский"
-#: InvenTree/settings.py:638
+#: InvenTree/settings.py:644
msgid "Portuguese"
msgstr ""
-#: InvenTree/settings.py:639
+#: InvenTree/settings.py:645
msgid "Portuguese (Brazilian)"
msgstr ""
-#: InvenTree/settings.py:640
+#: InvenTree/settings.py:646
msgid "Russian"
msgstr "Русский"
-#: InvenTree/settings.py:641
+#: InvenTree/settings.py:647
msgid "Swedish"
msgstr "Шведский"
-#: InvenTree/settings.py:642
+#: InvenTree/settings.py:648
msgid "Thai"
msgstr "Тайский"
-#: InvenTree/settings.py:643
+#: InvenTree/settings.py:649
msgid "Turkish"
msgstr "Турецкий"
-#: InvenTree/settings.py:644
+#: InvenTree/settings.py:650
msgid "Vietnamese"
msgstr "Вьетнамский"
-#: InvenTree/settings.py:645
+#: InvenTree/settings.py:651
msgid "Chinese"
msgstr "Китайский"
-#: InvenTree/status.py:99
+#: InvenTree/status.py:98
msgid "Background worker check failed"
msgstr "Проверка фонового работника не удалась"
-#: InvenTree/status.py:103
+#: InvenTree/status.py:102
msgid "Email backend not configured"
msgstr "Сервер электронной почты не настроен"
-#: InvenTree/status.py:106
+#: InvenTree/status.py:105
msgid "InvenTree system health checks failed"
msgstr "Ошибка проверки состояния системы InvenTree"
#: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140
-#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:342
+#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:346
msgid "Pending"
msgstr "Ожидаемый"
@@ -561,8 +563,8 @@ msgstr "Потерян"
msgid "Returned"
msgstr "Возвращено"
-#: InvenTree/status_codes.py:141 order/models.py:1142
-#: templates/js/translated/order.js:3625 templates/js/translated/order.js:3974
+#: InvenTree/status_codes.py:141 order/models.py:1165
+#: templates/js/translated/order.js:3636 templates/js/translated/order.js:3971
msgid "Shipped"
msgstr "Доставлено"
@@ -646,7 +648,7 @@ msgstr "Отделить от родительского элемента"
msgid "Split child item"
msgstr "Разбить дочерний элемент"
-#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2086
+#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2104
msgid "Merged stock items"
msgstr "Объединенные позиции на складе"
@@ -654,7 +656,7 @@ msgstr "Объединенные позиции на складе"
msgid "Converted to variant"
msgstr ""
-#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:229
+#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:233
msgid "Sent to customer"
msgstr "Отправлено клиенту"
@@ -746,7 +748,7 @@ msgstr "Порядок сборки"
#: build/models.py:111 build/templates/build/build_base.html:13
#: build/templates/build/index.html:8 build/templates/build/index.html:12
-#: order/templates/order/sales_order_detail.html:120
+#: order/templates/order/sales_order_detail.html:125
#: order/templates/order/so_sidebar.html:13
#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221
#: templates/InvenTree/search.html:141
@@ -759,15 +761,15 @@ msgstr "Порядок сборки"
msgid "Build Order Reference"
msgstr "Ссылка на заказ"
-#: build/models.py:155 order/models.py:240 order/models.py:632
-#: order/models.py:918 part/models.py:2684
+#: build/models.py:155 order/models.py:241 order/models.py:651
+#: order/models.py:941 part/admin.py:224 part/models.py:3297
#: part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:92
-#: templates/js/translated/bom.js:716 templates/js/translated/bom.js:897
-#: templates/js/translated/build.js:1843 templates/js/translated/order.js:2251
-#: templates/js/translated/order.js:2481 templates/js/translated/order.js:3818
-#: templates/js/translated/order.js:4323
+#: templates/js/translated/bom.js:729 templates/js/translated/bom.js:905
+#: templates/js/translated/build.js:1843 templates/js/translated/order.js:2290
+#: templates/js/translated/order.js:2508 templates/js/translated/order.js:3833
+#: templates/js/translated/order.js:4324 templates/js/translated/pricing.js:119
msgid "Reference"
msgstr "Отсылка"
@@ -785,39 +787,40 @@ msgid "BuildOrder to which this build is allocated"
msgstr ""
#: build/models.py:180 build/templates/build/build_base.html:80
-#: build/templates/build/detail.html:29 company/models.py:680
-#: order/models.py:1015 order/models.py:1126 order/models.py:1127
-#: part/models.py:343 part/models.py:2200 part/models.py:2215
-#: part/models.py:2234 part/models.py:2252 part/models.py:2351
-#: part/models.py:2472 part/models.py:2564 part/models.py:2649
-#: part/models.py:2943 part/serializers.py:828
+#: build/templates/build/detail.html:29 company/models.py:684
+#: order/models.py:1038 order/models.py:1149 order/models.py:1150
+#: part/models.py:362 part/models.py:2700 part/models.py:2813
+#: part/models.py:2828 part/models.py:2847 part/models.py:2865
+#: part/models.py:2964 part/models.py:3085 part/models.py:3177
+#: part/models.py:3262 part/models.py:3578 part/serializers.py:852
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
#: report/templates/report/inventree_build_order_base.html:109
#: report/templates/report/inventree_po_report.html:89
-#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:86
-#: stock/serializers.py:494 templates/InvenTree/search.html:82
+#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:90
+#: stock/serializers.py:488 templates/InvenTree/search.html:82
#: templates/email/build_order_completed.html:17
#: templates/email/build_order_required_stock.html:17
#: templates/email/low_stock_notification.html:16
#: templates/email/overdue_build_order.html:16
-#: templates/js/translated/barcode.js:479 templates/js/translated/bom.js:578
-#: templates/js/translated/bom.js:715 templates/js/translated/bom.js:841
+#: templates/js/translated/barcode.js:479 templates/js/translated/bom.js:591
+#: templates/js/translated/bom.js:728 templates/js/translated/bom.js:849
#: templates/js/translated/build.js:1214 templates/js/translated/build.js:1711
#: templates/js/translated/build.js:2194 templates/js/translated/build.js:2585
-#: templates/js/translated/company.js:301
-#: templates/js/translated/company.js:531
-#: templates/js/translated/company.js:643
-#: templates/js/translated/company.js:904 templates/js/translated/order.js:106
-#: templates/js/translated/order.js:1134 templates/js/translated/order.js:1638
-#: templates/js/translated/order.js:2205 templates/js/translated/order.js:3180
-#: templates/js/translated/order.js:3576 templates/js/translated/order.js:3802
-#: templates/js/translated/part.js:1172 templates/js/translated/part.js:1244
-#: templates/js/translated/part.js:1442 templates/js/translated/stock.js:586
-#: templates/js/translated/stock.js:751 templates/js/translated/stock.js:958
-#: templates/js/translated/stock.js:1700 templates/js/translated/stock.js:2514
-#: templates/js/translated/stock.js:2709 templates/js/translated/stock.js:2843
+#: templates/js/translated/company.js:302
+#: templates/js/translated/company.js:532
+#: templates/js/translated/company.js:644
+#: templates/js/translated/company.js:905 templates/js/translated/order.js:106
+#: templates/js/translated/order.js:1168 templates/js/translated/order.js:1672
+#: templates/js/translated/order.js:2244 templates/js/translated/order.js:3191
+#: templates/js/translated/order.js:3587 templates/js/translated/order.js:3817
+#: templates/js/translated/part.js:1193 templates/js/translated/part.js:1265
+#: templates/js/translated/part.js:1452 templates/js/translated/pricing.js:102
+#: templates/js/translated/stock.js:605 templates/js/translated/stock.js:770
+#: templates/js/translated/stock.js:977 templates/js/translated/stock.js:1719
+#: templates/js/translated/stock.js:2532 templates/js/translated/stock.js:2727
+#: templates/js/translated/stock.js:2861
msgid "Part"
msgstr "Детали"
@@ -834,7 +837,7 @@ msgid "SalesOrder to which this build is allocated"
msgstr ""
#: build/models.py:202 build/serializers.py:822
-#: templates/js/translated/build.js:2182 templates/js/translated/order.js:3168
+#: templates/js/translated/build.js:2182 templates/js/translated/order.js:3179
msgid "Source Location"
msgstr "Расположение источника"
@@ -874,8 +877,8 @@ msgstr "Статус сборки"
msgid "Build status code"
msgstr "Код статуса сборки"
-#: build/models.py:245 build/serializers.py:224 order/serializers.py:464
-#: stock/models.py:664 templates/js/translated/order.js:1496
+#: build/models.py:245 build/serializers.py:224 order/serializers.py:455
+#: stock/models.py:680 templates/js/translated/order.js:1530
msgid "Batch Code"
msgstr "Код партии"
@@ -883,12 +886,12 @@ msgstr "Код партии"
msgid "Batch code for this build output"
msgstr "Код партии для этого вывода сборки"
-#: build/models.py:252 order/models.py:86 part/models.py:952
-#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2839
+#: build/models.py:252 order/models.py:87 part/models.py:971
+#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2850
msgid "Creation Date"
msgstr "Дата создания"
-#: build/models.py:256 order/models.py:662
+#: build/models.py:256 order/models.py:681
msgid "Target completion date"
msgstr "Целевая дата завершения"
@@ -896,7 +899,7 @@ msgstr "Целевая дата завершения"
msgid "Target date for build completion. Build will be overdue after this date."
msgstr "Целевая дата для сборки. Сборка будет просрочена после этой даты."
-#: build/models.py:260 order/models.py:291
+#: build/models.py:260 order/models.py:292
#: templates/js/translated/build.js:2662
msgid "Completion Date"
msgstr "Дата завершения"
@@ -914,11 +917,11 @@ msgid "User who issued this build order"
msgstr "Пользователь, выпустивший этот заказ на сборку"
#: build/models.py:283 build/templates/build/build_base.html:193
-#: build/templates/build/detail.html:115 order/models.py:100
+#: build/templates/build/detail.html:115 order/models.py:101
#: order/templates/order/order_base.html:185
-#: order/templates/order/sales_order_base.html:183 part/models.py:956
+#: order/templates/order/sales_order_base.html:183 part/models.py:975
#: report/templates/report/inventree_build_order_base.html:158
-#: templates/js/translated/build.js:2642 templates/js/translated/order.js:2022
+#: templates/js/translated/build.js:2642 templates/js/translated/order.js:2056
msgid "Responsible"
msgstr "Ответственный"
@@ -929,7 +932,7 @@ msgstr "Пользователь, ответственный за этот за
#: build/models.py:289 build/templates/build/detail.html:101
#: company/templates/company/manufacturer_part.html:107
#: company/templates/company/supplier_part.html:188
-#: part/templates/part/part_base.html:361 stock/models.py:658
+#: part/templates/part/part_base.html:376 stock/models.py:674
#: stock/templates/stock/item_base.html:203
msgid "External Link"
msgstr "Внешняя ссылка"
@@ -968,11 +971,11 @@ msgstr "Элемент сборки должен указать вывод сб
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr ""
-#: build/models.py:1191 order/models.py:1393
+#: build/models.py:1191 order/models.py:1416
msgid "Stock item is over-allocated"
msgstr "Предмет на складе перераспределен"
-#: build/models.py:1197 order/models.py:1396
+#: build/models.py:1197 order/models.py:1419
msgid "Allocation quantity must be greater than zero"
msgstr "Выделенное количество должно быть больше нуля"
@@ -994,18 +997,18 @@ msgstr "Сборка"
msgid "Build to allocate parts"
msgstr ""
-#: build/models.py:1346 build/serializers.py:663 order/serializers.py:1039
-#: order/serializers.py:1060 stock/serializers.py:398 stock/serializers.py:758
-#: stock/serializers.py:884 stock/templates/stock/item_base.html:10
+#: build/models.py:1346 build/serializers.py:663 order/serializers.py:1032
+#: order/serializers.py:1053 stock/serializers.py:392 stock/serializers.py:757
+#: stock/serializers.py:883 stock/templates/stock/item_base.html:10
#: stock/templates/stock/item_base.html:23
#: stock/templates/stock/item_base.html:197
#: templates/js/translated/build.js:790 templates/js/translated/build.js:795
#: templates/js/translated/build.js:2196 templates/js/translated/build.js:2747
-#: templates/js/translated/order.js:107 templates/js/translated/order.js:3181
-#: templates/js/translated/order.js:3483 templates/js/translated/order.js:3488
-#: templates/js/translated/order.js:3583 templates/js/translated/order.js:3675
-#: templates/js/translated/stock.js:587 templates/js/translated/stock.js:752
-#: templates/js/translated/stock.js:2587
+#: templates/js/translated/order.js:107 templates/js/translated/order.js:3192
+#: templates/js/translated/order.js:3494 templates/js/translated/order.js:3499
+#: templates/js/translated/order.js:3594 templates/js/translated/order.js:3686
+#: templates/js/translated/stock.js:606 templates/js/translated/stock.js:771
+#: templates/js/translated/stock.js:2605
msgid "Stock Item"
msgstr "Предметы на складе"
@@ -1015,12 +1018,10 @@ msgstr "Исходный складской предмет"
#: build/models.py:1359 build/serializers.py:192
#: build/templates/build/build_base.html:85
-#: build/templates/build/detail.html:34 common/models.py:1776
-#: company/templates/company/supplier_part.html:341 order/models.py:911
-#: order/models.py:1437 order/serializers.py:1213
-#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:40
-#: part/models.py:2665 part/templates/part/detail.html:938
-#: part/templates/part/detail.html:1024
+#: build/templates/build/detail.html:34 common/models.py:1788
+#: order/models.py:934 order/models.py:1460 order/serializers.py:1206
+#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:223
+#: part/forms.py:40 part/models.py:3278
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_build_order_base.html:113
@@ -1028,25 +1029,29 @@ msgstr "Исходный складской предмет"
#: report/templates/report/inventree_so_report.html:91
#: report/templates/report/inventree_test_report_base.html:81
#: report/templates/report/inventree_test_report_base.html:139
-#: stock/serializers.py:291 stock/templates/stock/item_base.html:290
+#: stock/admin.py:86 stock/serializers.py:285
+#: stock/templates/stock/item_base.html:290
#: stock/templates/stock/item_base.html:298
#: templates/email/build_order_completed.html:18
-#: templates/js/translated/barcode.js:481 templates/js/translated/bom.js:717
-#: templates/js/translated/bom.js:905 templates/js/translated/build.js:474
+#: templates/js/translated/barcode.js:481 templates/js/translated/bom.js:730
+#: templates/js/translated/bom.js:913 templates/js/translated/build.js:474
#: templates/js/translated/build.js:626 templates/js/translated/build.js:817
#: templates/js/translated/build.js:1236 templates/js/translated/build.js:1737
#: templates/js/translated/build.js:2197
+#: templates/js/translated/company.js:1159
#: templates/js/translated/model_renderers.js:120
-#: templates/js/translated/order.js:123 templates/js/translated/order.js:1137
-#: templates/js/translated/order.js:2257 templates/js/translated/order.js:2487
-#: templates/js/translated/order.js:3182 templates/js/translated/order.js:3502
-#: templates/js/translated/order.js:3589 templates/js/translated/order.js:3681
-#: templates/js/translated/order.js:3824 templates/js/translated/order.js:4329
-#: templates/js/translated/part.js:1036 templates/js/translated/part.js:2220
-#: templates/js/translated/part.js:2689 templates/js/translated/part.js:2730
-#: templates/js/translated/part.js:2808 templates/js/translated/stock.js:458
-#: templates/js/translated/stock.js:612 templates/js/translated/stock.js:782
-#: templates/js/translated/stock.js:2636 templates/js/translated/stock.js:2721
+#: templates/js/translated/order.js:123 templates/js/translated/order.js:1171
+#: templates/js/translated/order.js:2296 templates/js/translated/order.js:2514
+#: templates/js/translated/order.js:3193 templates/js/translated/order.js:3513
+#: templates/js/translated/order.js:3600 templates/js/translated/order.js:3692
+#: templates/js/translated/order.js:3839 templates/js/translated/order.js:4330
+#: templates/js/translated/part.js:1063 templates/js/translated/part.js:2546
+#: templates/js/translated/pricing.js:114
+#: templates/js/translated/pricing.js:207
+#: templates/js/translated/pricing.js:255
+#: templates/js/translated/pricing.js:349 templates/js/translated/stock.js:477
+#: templates/js/translated/stock.js:631 templates/js/translated/stock.js:801
+#: templates/js/translated/stock.js:2654 templates/js/translated/stock.js:2739
msgid "Quantity"
msgstr "Количество"
@@ -1087,10 +1092,10 @@ msgstr ""
msgid "Enter quantity for build output"
msgstr "Введите количество для вывода сборки"
-#: build/serializers.py:207 build/serializers.py:683 order/models.py:323
-#: order/serializers.py:304 order/serializers.py:459 part/serializers.py:558
-#: part/serializers.py:991 stock/models.py:518 stock/models.py:1253
-#: stock/serializers.py:300
+#: build/serializers.py:207 build/serializers.py:683 order/models.py:327
+#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:644
+#: part/serializers.py:1015 stock/models.py:534 stock/models.py:1269
+#: stock/serializers.py:294
msgid "Quantity must be greater than zero"
msgstr "Количество должно быть больше нуля"
@@ -1102,9 +1107,9 @@ msgstr ""
msgid "Integer quantity required, as the bill of materials contains trackable parts"
msgstr ""
-#: build/serializers.py:231 order/serializers.py:472 order/serializers.py:1217
-#: stock/serializers.py:309 templates/js/translated/order.js:1507
-#: templates/js/translated/stock.js:271 templates/js/translated/stock.js:459
+#: build/serializers.py:231 order/serializers.py:463 order/serializers.py:1210
+#: stock/serializers.py:303 templates/js/translated/order.js:1541
+#: templates/js/translated/stock.js:290 templates/js/translated/stock.js:478
msgid "Serial Numbers"
msgstr "Серийные номера"
@@ -1120,7 +1125,7 @@ msgstr ""
msgid "Automatically allocate required items with matching serial numbers"
msgstr ""
-#: build/serializers.py:281 stock/api.py:589
+#: build/serializers.py:281 stock/api.py:599
msgid "The following serial numbers already exist or are invalid"
msgstr ""
@@ -1128,18 +1133,18 @@ msgstr ""
msgid "A list of build outputs must be provided"
msgstr ""
-#: build/serializers.py:369 order/serializers.py:445 order/serializers.py:556
-#: stock/serializers.py:320 stock/serializers.py:455 stock/serializers.py:536
-#: stock/serializers.py:919 stock/serializers.py:1152
+#: build/serializers.py:369 order/serializers.py:436 order/serializers.py:547
+#: stock/serializers.py:314 stock/serializers.py:449 stock/serializers.py:530
+#: stock/serializers.py:918 stock/serializers.py:1151
#: stock/templates/stock/item_base.html:388
#: templates/js/translated/barcode.js:480
#: templates/js/translated/barcode.js:724 templates/js/translated/build.js:802
-#: templates/js/translated/build.js:1749 templates/js/translated/order.js:1534
-#: templates/js/translated/order.js:3495 templates/js/translated/order.js:3600
-#: templates/js/translated/order.js:3608 templates/js/translated/order.js:3689
-#: templates/js/translated/part.js:181 templates/js/translated/stock.js:588
-#: templates/js/translated/stock.js:753 templates/js/translated/stock.js:960
-#: templates/js/translated/stock.js:1856 templates/js/translated/stock.js:2528
+#: templates/js/translated/build.js:1749 templates/js/translated/order.js:1568
+#: templates/js/translated/order.js:3506 templates/js/translated/order.js:3611
+#: templates/js/translated/order.js:3619 templates/js/translated/order.js:3700
+#: templates/js/translated/part.js:177 templates/js/translated/stock.js:607
+#: templates/js/translated/stock.js:772 templates/js/translated/stock.js:979
+#: templates/js/translated/stock.js:1875 templates/js/translated/stock.js:2546
msgid "Location"
msgstr "Расположение"
@@ -1148,12 +1153,13 @@ msgid "Location for completed build outputs"
msgstr ""
#: build/serializers.py:376 build/templates/build/build_base.html:145
-#: build/templates/build/detail.html:62 order/models.py:651
-#: order/serializers.py:482 stock/templates/stock/item_base.html:421
+#: build/templates/build/detail.html:62 order/models.py:670
+#: order/serializers.py:473 stock/admin.py:89
+#: stock/templates/stock/item_base.html:421
#: templates/js/translated/barcode.js:214 templates/js/translated/build.js:2614
-#: templates/js/translated/order.js:1643 templates/js/translated/order.js:1992
-#: templates/js/translated/order.js:2831 templates/js/translated/stock.js:1831
-#: templates/js/translated/stock.js:2605 templates/js/translated/stock.js:2737
+#: templates/js/translated/order.js:1677 templates/js/translated/order.js:2026
+#: templates/js/translated/order.js:2842 templates/js/translated/stock.js:1850
+#: templates/js/translated/stock.js:2623 templates/js/translated/stock.js:2755
msgid "Status"
msgstr "Статус"
@@ -1213,7 +1219,7 @@ msgstr ""
msgid "Required stock has not been fully allocated"
msgstr ""
-#: build/serializers.py:545 order/serializers.py:208 order/serializers.py:1107
+#: build/serializers.py:545 order/serializers.py:202 order/serializers.py:1100
msgid "Accept Incomplete"
msgstr ""
@@ -1229,8 +1235,8 @@ msgstr ""
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:595 build/serializers.py:640 part/models.py:2801
-#: part/models.py:2935
+#: build/serializers.py:595 build/serializers.py:640 part/models.py:3414
+#: part/models.py:3570
msgid "BOM Item"
msgstr "BOM Компонент"
@@ -1246,11 +1252,11 @@ msgstr ""
msgid "bom_item.part must point to the same part as the build order"
msgstr ""
-#: build/serializers.py:669 stock/serializers.py:771
+#: build/serializers.py:669 stock/serializers.py:770
msgid "Item must be in stock"
msgstr "Компонент должен быть в наличии"
-#: build/serializers.py:727 order/serializers.py:1097
+#: build/serializers.py:727 order/serializers.py:1090
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr "Превышено доступное количество ({q})"
@@ -1267,7 +1273,7 @@ msgstr ""
msgid "This stock item has already been allocated to this build output"
msgstr ""
-#: build/serializers.py:768 order/serializers.py:1381
+#: build/serializers.py:768 order/serializers.py:1374
msgid "Allocation items must be provided"
msgstr ""
@@ -1382,13 +1388,13 @@ msgid "Stock has not been fully allocated to this Build Order"
msgstr ""
#: build/templates/build/build_base.html:154
-#: build/templates/build/detail.html:131 order/models.py:924
+#: build/templates/build/detail.html:131 order/models.py:947
#: order/templates/order/order_base.html:171
#: order/templates/order/sales_order_base.html:164
#: report/templates/report/inventree_build_order_base.html:125
-#: templates/js/translated/build.js:2654 templates/js/translated/order.js:2009
-#: templates/js/translated/order.js:2351 templates/js/translated/order.js:2847
-#: templates/js/translated/order.js:3887 templates/js/translated/part.js:1051
+#: templates/js/translated/build.js:2654 templates/js/translated/order.js:2043
+#: templates/js/translated/order.js:2374 templates/js/translated/order.js:2858
+#: templates/js/translated/order.js:3884 templates/js/translated/part.js:1078
msgid "Target Date"
msgstr "Целевая дата"
@@ -1401,29 +1407,29 @@ msgstr ""
#: build/templates/build/build_base.html:204
#: order/templates/order/order_base.html:107
#: order/templates/order/sales_order_base.html:94
-#: templates/js/translated/table_filters.js:328
-#: templates/js/translated/table_filters.js:369
-#: templates/js/translated/table_filters.js:399
+#: templates/js/translated/table_filters.js:332
+#: templates/js/translated/table_filters.js:373
+#: templates/js/translated/table_filters.js:403
msgid "Overdue"
msgstr "Просрочено"
#: build/templates/build/build_base.html:166
#: build/templates/build/detail.html:67 build/templates/build/detail.html:142
#: order/templates/order/sales_order_base.html:171
-#: templates/js/translated/table_filters.js:408
+#: templates/js/translated/table_filters.js:412
msgid "Completed"
msgstr "Завершённые"
#: build/templates/build/build_base.html:179
-#: build/templates/build/detail.html:94 order/models.py:1119
-#: order/models.py:1213 order/models.py:1344
+#: build/templates/build/detail.html:94 order/models.py:1142
+#: order/models.py:1236 order/models.py:1367
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
#: report/templates/report/inventree_build_order_base.html:135
#: report/templates/report/inventree_so_report.html:77
#: stock/templates/stock/item_base.html:368
#: templates/email/overdue_sales_order.html:15
-#: templates/js/translated/order.js:2793
+#: templates/js/translated/order.js:2804 templates/js/translated/pricing.js:637
msgid "Sales Order"
msgstr "Заказ покупателя"
@@ -1449,8 +1455,8 @@ msgstr ""
msgid "Stock can be taken from any available location."
msgstr ""
-#: build/templates/build/detail.html:49 order/models.py:1037
-#: templates/js/translated/order.js:1644 templates/js/translated/order.js:2393
+#: build/templates/build/detail.html:49 order/models.py:1060
+#: templates/js/translated/order.js:1678 templates/js/translated/order.js:2416
msgid "Destination"
msgstr "Назначение"
@@ -1462,14 +1468,14 @@ msgstr ""
msgid "Allocated Parts"
msgstr ""
-#: build/templates/build/detail.html:80
+#: build/templates/build/detail.html:80 stock/admin.py:88
#: stock/templates/stock/item_base.html:168
#: templates/js/translated/build.js:1240
#: templates/js/translated/model_renderers.js:124
-#: templates/js/translated/stock.js:1026 templates/js/translated/stock.js:1845
-#: templates/js/translated/stock.js:2744
-#: templates/js/translated/table_filters.js:167
-#: templates/js/translated/table_filters.js:258
+#: templates/js/translated/stock.js:1045 templates/js/translated/stock.js:1864
+#: templates/js/translated/stock.js:2762
+#: templates/js/translated/table_filters.js:171
+#: templates/js/translated/table_filters.js:262
msgid "Batch"
msgstr "Партия"
@@ -1527,7 +1533,7 @@ msgstr ""
#: build/templates/build/detail.html:187
#: company/templates/company/detail.html:37
#: company/templates/company/detail.html:85
-#: part/templates/part/category.html:178 templates/js/translated/order.js:1177
+#: part/templates/part/category.html:178 templates/js/translated/order.js:1211
msgid "Order Parts"
msgstr "Заказать детали"
@@ -1597,10 +1603,10 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:151
#: company/templates/company/manufacturer_part_sidebar.html:9
#: order/templates/order/po_sidebar.html:9
-#: order/templates/order/purchase_order_detail.html:82
-#: order/templates/order/sales_order_detail.html:135
-#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:212
-#: part/templates/part/part_sidebar.html:57 stock/templates/stock/item.html:117
+#: order/templates/order/purchase_order_detail.html:86
+#: order/templates/order/sales_order_detail.html:140
+#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:210
+#: part/templates/part/part_sidebar.html:55 stock/templates/stock/item.html:117
#: stock/templates/stock/stock_sidebar.html:23
msgid "Attachments"
msgstr "Приложения"
@@ -1617,7 +1623,7 @@ msgstr ""
msgid "All untracked stock items have been allocated"
msgstr ""
-#: build/templates/build/index.html:18 part/templates/part/detail.html:318
+#: build/templates/build/index.html:18 part/templates/part/detail.html:316
msgid "New Build Order"
msgstr "Новый заказ на сборку"
@@ -1734,7 +1740,7 @@ msgstr ""
msgid "Show the `about` modal only to superusers"
msgstr ""
-#: common/models.py:833 company/models.py:94 company/models.py:95
+#: common/models.py:833 company/models.py:98 company/models.py:99
msgid "Company name"
msgstr "Название компании"
@@ -1902,9 +1908,9 @@ msgstr ""
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:1002 part/models.py:2474 report/models.py:158
-#: templates/js/translated/table_filters.js:38
-#: templates/js/translated/table_filters.js:492
+#: common/models.py:1002 part/admin.py:41 part/models.py:3087
+#: report/models.py:158 templates/js/translated/table_filters.js:38
+#: templates/js/translated/table_filters.js:496
msgid "Template"
msgstr "Шаблон"
@@ -1912,9 +1918,10 @@ msgstr "Шаблон"
msgid "Parts are templates by default"
msgstr "По умолчанию детали являются шаблонами"
-#: common/models.py:1009 part/models.py:908 templates/js/translated/bom.js:1531
-#: templates/js/translated/table_filters.js:184
-#: templates/js/translated/table_filters.js:455
+#: common/models.py:1009 part/admin.py:37 part/admin.py:229 part/models.py:927
+#: templates/js/translated/bom.js:1594
+#: templates/js/translated/table_filters.js:188
+#: templates/js/translated/table_filters.js:459
msgid "Assembly"
msgstr "Сборка"
@@ -1922,8 +1929,8 @@ msgstr "Сборка"
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:1016 part/models.py:914
-#: templates/js/translated/table_filters.js:463
+#: common/models.py:1016 part/admin.py:38 part/models.py:933
+#: templates/js/translated/table_filters.js:467
msgid "Component"
msgstr "Компонент"
@@ -1931,7 +1938,7 @@ msgstr "Компонент"
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:1023 part/models.py:925
+#: common/models.py:1023 part/admin.py:39 part/models.py:944
msgid "Purchaseable"
msgstr ""
@@ -1939,8 +1946,8 @@ msgstr ""
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:1030 part/models.py:930
-#: templates/js/translated/table_filters.js:484
+#: common/models.py:1030 part/admin.py:40 part/models.py:949
+#: templates/js/translated/table_filters.js:488
msgid "Salable"
msgstr "Можно продавать"
@@ -1948,10 +1955,10 @@ msgstr "Можно продавать"
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:1037 part/models.py:920
+#: common/models.py:1037 part/admin.py:42 part/models.py:939
#: templates/js/translated/table_filters.js:46
-#: templates/js/translated/table_filters.js:116
-#: templates/js/translated/table_filters.js:496
+#: templates/js/translated/table_filters.js:120
+#: templates/js/translated/table_filters.js:500
msgid "Trackable"
msgstr "Отслеживание"
@@ -1959,10 +1966,10 @@ msgstr "Отслеживание"
msgid "Parts are trackable by default"
msgstr "По умолчанию детали являются отслеживаемыми"
-#: common/models.py:1044 part/models.py:940
+#: common/models.py:1044 part/admin.py:43 part/models.py:959
#: part/templates/part/part_base.html:156
#: templates/js/translated/table_filters.js:42
-#: templates/js/translated/table_filters.js:500
+#: templates/js/translated/table_filters.js:504
msgid "Virtual"
msgstr ""
@@ -1979,791 +1986,837 @@ msgid "Display the import wizard in some part views"
msgstr ""
#: common/models.py:1058
-msgid "Show Price in Forms"
-msgstr "Показывать цену в формах"
-
-#: common/models.py:1059
-msgid "Display part price in some forms"
-msgstr ""
-
-#: common/models.py:1070
-msgid "Show Price in BOM"
-msgstr "Показывать цену в BOM"
-
-#: common/models.py:1071
-msgid "Include pricing information in BOM tables"
-msgstr ""
-
-#: common/models.py:1082
-msgid "Show Price History"
-msgstr "Показывать историю цены"
-
-#: common/models.py:1083
-msgid "Display historical pricing for Part"
-msgstr ""
-
-#: common/models.py:1089
msgid "Show related parts"
msgstr "Показывать связанные детали"
-#: common/models.py:1090
+#: common/models.py:1059
msgid "Display related parts for a part"
msgstr ""
-#: common/models.py:1096
+#: common/models.py:1065
msgid "Create initial stock"
msgstr ""
-#: common/models.py:1097
+#: common/models.py:1066
msgid "Create initial stock on part creation"
msgstr ""
-#: common/models.py:1103
-msgid "Internal Prices"
-msgstr ""
-
-#: common/models.py:1104
-msgid "Enable internal prices for parts"
-msgstr ""
-
-#: common/models.py:1110
-msgid "Internal Price as BOM-Price"
-msgstr ""
-
-#: common/models.py:1111
-msgid "Use the internal price (if set) in BOM-price calculations"
-msgstr ""
-
-#: common/models.py:1117
+#: common/models.py:1072
msgid "Part Name Display Format"
msgstr ""
-#: common/models.py:1118
+#: common/models.py:1073
msgid "Format to display the part name"
msgstr ""
-#: common/models.py:1125
+#: common/models.py:1080
msgid "Part Category Default Icon"
msgstr ""
-#: common/models.py:1126
+#: common/models.py:1081
msgid "Part category default icon (empty means no icon)"
msgstr ""
-#: common/models.py:1131
-msgid "Enable label printing"
+#: common/models.py:1086
+msgid "Pricing Decimal Places"
msgstr ""
-#: common/models.py:1132
-msgid "Enable label printing from the web interface"
+#: common/models.py:1087
+msgid "Number of decimal places to display when rendering pricing data"
msgstr ""
-#: common/models.py:1138
-msgid "Label Image DPI"
+#: common/models.py:1097
+msgid "Pricing Rebuild Time"
msgstr ""
-#: common/models.py:1139
-msgid "DPI resolution when generating image files to supply to label printing plugins"
+#: common/models.py:1098
+msgid "Number of days before part pricing is automatically updated"
msgstr ""
-#: common/models.py:1148
-msgid "Enable Reports"
-msgstr ""
-
-#: common/models.py:1149
-msgid "Enable generation of reports"
-msgstr ""
-
-#: common/models.py:1155 templates/stats.html:25
-msgid "Debug Mode"
-msgstr "Режим отладки"
-
-#: common/models.py:1156
-msgid "Generate reports in debug mode (HTML output)"
-msgstr ""
-
-#: common/models.py:1162
-msgid "Page Size"
-msgstr ""
-
-#: common/models.py:1163
-msgid "Default page size for PDF reports"
-msgstr ""
-
-#: common/models.py:1173
-msgid "Enable Test Reports"
-msgstr ""
-
-#: common/models.py:1174
-msgid "Enable generation of test reports"
-msgstr ""
-
-#: common/models.py:1180
-msgid "Attach Test Reports"
-msgstr ""
-
-#: common/models.py:1181
-msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item"
-msgstr ""
-
-#: common/models.py:1187
-msgid "Globally Unique Serials"
-msgstr ""
-
-#: common/models.py:1188
-msgid "Serial numbers for stock items must be globally unique"
-msgstr ""
-
-#: common/models.py:1194
-msgid "Batch Code Template"
-msgstr ""
-
-#: common/models.py:1195
-msgid "Template for generating default batch codes for stock items"
-msgstr ""
-
-#: common/models.py:1200
-msgid "Stock Expiry"
-msgstr ""
-
-#: common/models.py:1201
-msgid "Enable stock expiry functionality"
-msgstr ""
-
-#: common/models.py:1207
-msgid "Sell Expired Stock"
-msgstr ""
-
-#: common/models.py:1208
-msgid "Allow sale of expired stock"
-msgstr ""
-
-#: common/models.py:1214
-msgid "Stock Stale Time"
-msgstr ""
-
-#: common/models.py:1215
-msgid "Number of days stock items are considered stale before expiring"
-msgstr ""
-
-#: common/models.py:1217
+#: common/models.py:1099 common/models.py:1208
msgid "days"
msgstr ""
-#: common/models.py:1222
+#: common/models.py:1108
+msgid "Internal Prices"
+msgstr ""
+
+#: common/models.py:1109
+msgid "Enable internal prices for parts"
+msgstr ""
+
+#: common/models.py:1115
+msgid "Internal Price Override"
+msgstr ""
+
+#: common/models.py:1116
+msgid "If available, internal prices override price range calculations"
+msgstr ""
+
+#: common/models.py:1122
+msgid "Enable label printing"
+msgstr ""
+
+#: common/models.py:1123
+msgid "Enable label printing from the web interface"
+msgstr ""
+
+#: common/models.py:1129
+msgid "Label Image DPI"
+msgstr ""
+
+#: common/models.py:1130
+msgid "DPI resolution when generating image files to supply to label printing plugins"
+msgstr ""
+
+#: common/models.py:1139
+msgid "Enable Reports"
+msgstr ""
+
+#: common/models.py:1140
+msgid "Enable generation of reports"
+msgstr ""
+
+#: common/models.py:1146 templates/stats.html:25
+msgid "Debug Mode"
+msgstr "Режим отладки"
+
+#: common/models.py:1147
+msgid "Generate reports in debug mode (HTML output)"
+msgstr ""
+
+#: common/models.py:1153
+msgid "Page Size"
+msgstr ""
+
+#: common/models.py:1154
+msgid "Default page size for PDF reports"
+msgstr ""
+
+#: common/models.py:1164
+msgid "Enable Test Reports"
+msgstr ""
+
+#: common/models.py:1165
+msgid "Enable generation of test reports"
+msgstr ""
+
+#: common/models.py:1171
+msgid "Attach Test Reports"
+msgstr ""
+
+#: common/models.py:1172
+msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item"
+msgstr ""
+
+#: common/models.py:1178
+msgid "Globally Unique Serials"
+msgstr ""
+
+#: common/models.py:1179
+msgid "Serial numbers for stock items must be globally unique"
+msgstr ""
+
+#: common/models.py:1185
+msgid "Batch Code Template"
+msgstr ""
+
+#: common/models.py:1186
+msgid "Template for generating default batch codes for stock items"
+msgstr ""
+
+#: common/models.py:1191
+msgid "Stock Expiry"
+msgstr ""
+
+#: common/models.py:1192
+msgid "Enable stock expiry functionality"
+msgstr ""
+
+#: common/models.py:1198
+msgid "Sell Expired Stock"
+msgstr ""
+
+#: common/models.py:1199
+msgid "Allow sale of expired stock"
+msgstr ""
+
+#: common/models.py:1205
+msgid "Stock Stale Time"
+msgstr ""
+
+#: common/models.py:1206
+msgid "Number of days stock items are considered stale before expiring"
+msgstr ""
+
+#: common/models.py:1213
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:1223
+#: common/models.py:1214
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:1229
+#: common/models.py:1220
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:1230
+#: common/models.py:1221
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:1236
+#: common/models.py:1227
msgid "Stock Location Default Icon"
msgstr ""
-#: common/models.py:1237
+#: common/models.py:1228
msgid "Stock location default icon (empty means no icon)"
msgstr ""
-#: common/models.py:1242
+#: common/models.py:1233
msgid "Build Order Reference Pattern"
msgstr ""
-#: common/models.py:1243
+#: common/models.py:1234
msgid "Required pattern for generating Build Order reference field"
msgstr ""
-#: common/models.py:1249
+#: common/models.py:1240
msgid "Sales Order Reference Pattern"
msgstr ""
-#: common/models.py:1250
+#: common/models.py:1241
msgid "Required pattern for generating Sales Order reference field"
msgstr ""
-#: common/models.py:1256
+#: common/models.py:1247
msgid "Sales Order Default Shipment"
msgstr ""
-#: common/models.py:1257
+#: common/models.py:1248
msgid "Enable creation of default shipment with sales orders"
msgstr ""
-#: common/models.py:1263
+#: common/models.py:1254
+msgid "Edit Completed Sales Orders"
+msgstr ""
+
+#: common/models.py:1255
+msgid "Allow editing of sales orders after they have been shipped or completed"
+msgstr ""
+
+#: common/models.py:1261
msgid "Purchase Order Reference Pattern"
msgstr ""
-#: common/models.py:1264
+#: common/models.py:1262
msgid "Required pattern for generating Purchase Order reference field"
msgstr ""
-#: common/models.py:1271
+#: common/models.py:1268
+msgid "Edit Completed Purchase Orders"
+msgstr ""
+
+#: common/models.py:1269
+msgid "Allow editing of purchase orders after they have been shipped or completed"
+msgstr ""
+
+#: common/models.py:1276
msgid "Enable password forgot"
msgstr ""
-#: common/models.py:1272
+#: common/models.py:1277
msgid "Enable password forgot function on the login pages"
msgstr ""
-#: common/models.py:1278
+#: common/models.py:1283
msgid "Enable registration"
msgstr ""
-#: common/models.py:1279
+#: common/models.py:1284
msgid "Enable self-registration for users on the login pages"
msgstr ""
-#: common/models.py:1285
+#: common/models.py:1290
msgid "Enable SSO"
msgstr ""
-#: common/models.py:1286
+#: common/models.py:1291
msgid "Enable SSO on the login pages"
msgstr ""
-#: common/models.py:1292
+#: common/models.py:1297
msgid "Email required"
msgstr "Необходимо указать EMail"
-#: common/models.py:1293
+#: common/models.py:1298
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/models.py:1299
+#: common/models.py:1304
msgid "Auto-fill SSO users"
msgstr ""
-#: common/models.py:1300
+#: common/models.py:1305
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/models.py:1306
+#: common/models.py:1311
msgid "Mail twice"
msgstr ""
-#: common/models.py:1307
+#: common/models.py:1312
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/models.py:1313
+#: common/models.py:1318
msgid "Password twice"
msgstr ""
-#: common/models.py:1314
+#: common/models.py:1319
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/models.py:1320
+#: common/models.py:1325
msgid "Group on signup"
msgstr ""
-#: common/models.py:1321
+#: common/models.py:1326
msgid "Group to which new users are assigned on registration"
msgstr ""
-#: common/models.py:1327
+#: common/models.py:1332
msgid "Enforce MFA"
msgstr ""
-#: common/models.py:1328
+#: common/models.py:1333
msgid "Users must use multifactor security."
msgstr ""
-#: common/models.py:1334
+#: common/models.py:1339
msgid "Check plugins on startup"
msgstr ""
-#: common/models.py:1335
+#: common/models.py:1340
msgid "Check that all plugins are installed on startup - enable in container environments"
msgstr ""
-#: common/models.py:1342
+#: common/models.py:1347
msgid "Check plugin signatures"
msgstr ""
-#: common/models.py:1343
+#: common/models.py:1348
msgid "Check and show signatures for plugins"
msgstr ""
-#: common/models.py:1350
+#: common/models.py:1355
msgid "Enable URL integration"
msgstr ""
-#: common/models.py:1351
+#: common/models.py:1356
msgid "Enable plugins to add URL routes"
msgstr ""
-#: common/models.py:1358
+#: common/models.py:1363
msgid "Enable navigation integration"
msgstr ""
-#: common/models.py:1359
+#: common/models.py:1364
msgid "Enable plugins to integrate into navigation"
msgstr ""
-#: common/models.py:1366
+#: common/models.py:1371
msgid "Enable app integration"
msgstr ""
-#: common/models.py:1367
+#: common/models.py:1372
msgid "Enable plugins to add apps"
msgstr ""
-#: common/models.py:1374
+#: common/models.py:1379
msgid "Enable schedule integration"
msgstr ""
-#: common/models.py:1375
+#: common/models.py:1380
msgid "Enable plugins to run scheduled tasks"
msgstr ""
-#: common/models.py:1382
+#: common/models.py:1387
msgid "Enable event integration"
msgstr ""
-#: common/models.py:1383
+#: common/models.py:1388
msgid "Enable plugins to respond to internal events"
msgstr ""
-#: common/models.py:1402 common/models.py:1737
+#: common/models.py:1407 common/models.py:1749
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:1424
+#: common/models.py:1429
msgid "Show subscribed parts"
msgstr "Показывать детали, на которые включены уведомления"
-#: common/models.py:1425
+#: common/models.py:1430
msgid "Show subscribed parts on the homepage"
msgstr "Показывать детали, на которые включены уведомления, на главной странице"
-#: common/models.py:1431
+#: common/models.py:1436
msgid "Show subscribed categories"
msgstr "Показывать категории, на которые включены уведомления"
-#: common/models.py:1432
+#: common/models.py:1437
msgid "Show subscribed part categories on the homepage"
msgstr "Показывать категории, на которые включены уведомления, на главной странице"
-#: common/models.py:1438
+#: common/models.py:1443
msgid "Show latest parts"
msgstr "Показывать последние детали"
-#: common/models.py:1439
+#: common/models.py:1444
msgid "Show latest parts on the homepage"
msgstr "Показывать последние детали на главной странице"
-#: common/models.py:1445
+#: common/models.py:1450
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:1446
+#: common/models.py:1451
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:1452
+#: common/models.py:1457
msgid "Show unvalidated BOMs"
msgstr "Показывать непроверенные BOMы"
-#: common/models.py:1453
+#: common/models.py:1458
msgid "Show BOMs that await validation on the homepage"
msgstr "Показывать BOMы, ожидающие проверки, на главной странице"
-#: common/models.py:1459
+#: common/models.py:1464
msgid "Show recent stock changes"
msgstr "Показывать изменившиеся складские запасы"
-#: common/models.py:1460
+#: common/models.py:1465
msgid "Show recently changed stock items on the homepage"
msgstr "Показывать единицы хранения с недавно изменившимися складскими запасами на главной странице"
-#: common/models.py:1466
+#: common/models.py:1471
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:1467
+#: common/models.py:1472
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:1473
+#: common/models.py:1478
msgid "Show low stock"
msgstr "Показывать низкие складские запасы"
-#: common/models.py:1474
+#: common/models.py:1479
msgid "Show low stock items on the homepage"
msgstr "Показывать единицы хранения с низкими складскими запасами на главной странице"
-#: common/models.py:1480
+#: common/models.py:1485
msgid "Show depleted stock"
msgstr "Показывать закончившиеся детали"
-#: common/models.py:1481
+#: common/models.py:1486
msgid "Show depleted stock items on the homepage"
msgstr "Показывать закончившиеся на складе единицы хранения на главной странице"
-#: common/models.py:1487
+#: common/models.py:1492
msgid "Show needed stock"
msgstr "Показывать требуемые детали"
-#: common/models.py:1488
+#: common/models.py:1493
msgid "Show stock items needed for builds on the homepage"
msgstr "Показывать требуемые для сборки единицы хранения на главной странице"
-#: common/models.py:1494
+#: common/models.py:1499
msgid "Show expired stock"
msgstr "Показывать просрочку"
-#: common/models.py:1495
+#: common/models.py:1500
msgid "Show expired stock items on the homepage"
msgstr "Показывать единицы хранения с истёкшим сроком годности на главной странице"
-#: common/models.py:1501
+#: common/models.py:1506
msgid "Show stale stock"
msgstr "Показывать залежалые"
-#: common/models.py:1502
+#: common/models.py:1507
msgid "Show stale stock items on the homepage"
msgstr "Показывать залежалые единицы хранения на главной странице"
-#: common/models.py:1508
+#: common/models.py:1513
msgid "Show pending builds"
msgstr "Показывать незавершённые сборки"
-#: common/models.py:1509
+#: common/models.py:1514
msgid "Show pending builds on the homepage"
msgstr "Показывать незавершённые сборки на главной странице"
-#: common/models.py:1515
+#: common/models.py:1520
msgid "Show overdue builds"
msgstr "Показывать просроченные сборки"
-#: common/models.py:1516
+#: common/models.py:1521
msgid "Show overdue builds on the homepage"
msgstr "Показывать просроченные сборки на главной странице"
-#: common/models.py:1522
+#: common/models.py:1527
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:1523
+#: common/models.py:1528
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:1529
+#: common/models.py:1534
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:1530
+#: common/models.py:1535
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:1536
+#: common/models.py:1541
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:1537
+#: common/models.py:1542
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:1543
+#: common/models.py:1548
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:1544
+#: common/models.py:1549
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:1550
+#: common/models.py:1555
+msgid "Show News"
+msgstr ""
+
+#: common/models.py:1556
+msgid "Show news on the homepage"
+msgstr ""
+
+#: common/models.py:1562
msgid "Inline label display"
msgstr ""
-#: common/models.py:1551
+#: common/models.py:1563
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1557
+#: common/models.py:1569
msgid "Inline report display"
msgstr ""
-#: common/models.py:1558
+#: common/models.py:1570
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1564
+#: common/models.py:1576
msgid "Search Parts"
msgstr ""
-#: common/models.py:1565
+#: common/models.py:1577
msgid "Display parts in search preview window"
msgstr ""
-#: common/models.py:1571
+#: common/models.py:1583
msgid "Seach Supplier Parts"
msgstr ""
-#: common/models.py:1572
+#: common/models.py:1584
msgid "Display supplier parts in search preview window"
msgstr ""
-#: common/models.py:1578
+#: common/models.py:1590
msgid "Search Manufacturer Parts"
msgstr ""
-#: common/models.py:1579
+#: common/models.py:1591
msgid "Display manufacturer parts in search preview window"
msgstr ""
-#: common/models.py:1585
+#: common/models.py:1597
msgid "Hide Inactive Parts"
msgstr ""
-#: common/models.py:1586
+#: common/models.py:1598
msgid "Excluded inactive parts from search preview window"
msgstr ""
-#: common/models.py:1592
+#: common/models.py:1604
msgid "Search Categories"
msgstr ""
-#: common/models.py:1593
+#: common/models.py:1605
msgid "Display part categories in search preview window"
msgstr ""
-#: common/models.py:1599
+#: common/models.py:1611
msgid "Search Stock"
msgstr ""
-#: common/models.py:1600
+#: common/models.py:1612
msgid "Display stock items in search preview window"
msgstr ""
-#: common/models.py:1606
+#: common/models.py:1618
msgid "Hide Unavailable Stock Items"
msgstr ""
-#: common/models.py:1607
+#: common/models.py:1619
msgid "Exclude stock items which are not available from the search preview window"
msgstr ""
-#: common/models.py:1613
+#: common/models.py:1625
msgid "Search Locations"
msgstr ""
-#: common/models.py:1614
+#: common/models.py:1626
msgid "Display stock locations in search preview window"
msgstr ""
-#: common/models.py:1620
+#: common/models.py:1632
msgid "Search Companies"
msgstr ""
-#: common/models.py:1621
+#: common/models.py:1633
msgid "Display companies in search preview window"
msgstr ""
-#: common/models.py:1627
+#: common/models.py:1639
msgid "Search Build Orders"
msgstr ""
-#: common/models.py:1628
+#: common/models.py:1640
msgid "Display build orders in search preview window"
msgstr ""
-#: common/models.py:1634
+#: common/models.py:1646
msgid "Search Purchase Orders"
msgstr ""
-#: common/models.py:1635
+#: common/models.py:1647
msgid "Display purchase orders in search preview window"
msgstr ""
-#: common/models.py:1641
+#: common/models.py:1653
msgid "Exclude Inactive Purchase Orders"
msgstr ""
-#: common/models.py:1642
+#: common/models.py:1654
msgid "Exclude inactive purchase orders from search preview window"
msgstr ""
-#: common/models.py:1648
+#: common/models.py:1660
msgid "Search Sales Orders"
msgstr ""
-#: common/models.py:1649
+#: common/models.py:1661
msgid "Display sales orders in search preview window"
msgstr ""
-#: common/models.py:1655
+#: common/models.py:1667
msgid "Exclude Inactive Sales Orders"
msgstr ""
-#: common/models.py:1656
+#: common/models.py:1668
msgid "Exclude inactive sales orders from search preview window"
msgstr ""
-#: common/models.py:1662
+#: common/models.py:1674
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:1663
+#: common/models.py:1675
msgid "Number of results to show in each section of the search preview window"
msgstr ""
-#: common/models.py:1669
+#: common/models.py:1681
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:1670
+#: common/models.py:1682
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:1676
+#: common/models.py:1688
msgid "Escape Key Closes Forms"
msgstr ""
-#: common/models.py:1677
+#: common/models.py:1689
msgid "Use the escape key to close modal forms"
msgstr ""
-#: common/models.py:1683
+#: common/models.py:1695
msgid "Fixed Navbar"
msgstr ""
-#: common/models.py:1684
+#: common/models.py:1696
msgid "The navbar position is fixed to the top of the screen"
msgstr ""
-#: common/models.py:1690
+#: common/models.py:1702
msgid "Date Format"
msgstr ""
-#: common/models.py:1691
+#: common/models.py:1703
msgid "Preferred format for displaying dates"
msgstr ""
-#: common/models.py:1705 part/templates/part/detail.html:41
+#: common/models.py:1717 part/templates/part/detail.html:41
msgid "Part Scheduling"
msgstr ""
-#: common/models.py:1706
+#: common/models.py:1718
msgid "Display part scheduling information"
msgstr ""
-#: common/models.py:1712
+#: common/models.py:1724
msgid "Table String Length"
msgstr ""
-#: common/models.py:1713
+#: common/models.py:1725
msgid "Maximimum length limit for strings displayed in table views"
msgstr ""
-#: common/models.py:1777
+#: common/models.py:1789
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1784 company/serializers.py:372
-#: company/templates/company/supplier_part.html:346 order/models.py:952
-#: templates/js/translated/part.js:1103 templates/js/translated/part.js:2225
+#: common/models.py:1796 company/serializers.py:393 order/models.py:975
+#: templates/js/translated/company.js:1164 templates/js/translated/part.js:1130
+#: templates/js/translated/pricing.js:354
msgid "Price"
msgstr "Цена"
-#: common/models.py:1785
+#: common/models.py:1797
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1945 common/models.py:2123
+#: common/models.py:1957 common/models.py:2135
msgid "Endpoint"
msgstr ""
-#: common/models.py:1946
+#: common/models.py:1958
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:1955
+#: common/models.py:1967
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:1960 part/models.py:935 plugin/models.py:100
-#: templates/js/translated/table_filters.js:34
-#: templates/js/translated/table_filters.js:112
-#: templates/js/translated/table_filters.js:324
-#: templates/js/translated/table_filters.js:450
+#: common/models.py:1972 part/admin.py:36 part/models.py:954
+#: plugin/models.py:100 templates/js/translated/table_filters.js:34
+#: templates/js/translated/table_filters.js:116
+#: templates/js/translated/table_filters.js:328
+#: templates/js/translated/table_filters.js:454
msgid "Active"
msgstr ""
-#: common/models.py:1961
+#: common/models.py:1973
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:1975
+#: common/models.py:1987
msgid "Token"
msgstr ""
-#: common/models.py:1976
+#: common/models.py:1988
msgid "Token for access"
msgstr ""
-#: common/models.py:1983
+#: common/models.py:1995
msgid "Secret"
msgstr ""
-#: common/models.py:1984
+#: common/models.py:1996
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:2090
+#: common/models.py:2102
msgid "Message ID"
msgstr ""
-#: common/models.py:2091
+#: common/models.py:2103
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:2099
+#: common/models.py:2111
msgid "Host"
msgstr ""
-#: common/models.py:2100
+#: common/models.py:2112
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:2107
+#: common/models.py:2119
msgid "Header"
msgstr ""
-#: common/models.py:2108
+#: common/models.py:2120
msgid "Header of this message"
msgstr ""
-#: common/models.py:2114
+#: common/models.py:2126
msgid "Body"
msgstr ""
-#: common/models.py:2115
+#: common/models.py:2127
msgid "Body of this message"
msgstr ""
-#: common/models.py:2124
+#: common/models.py:2136
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:2129
+#: common/models.py:2141
msgid "Worked on"
msgstr ""
-#: common/models.py:2130
+#: common/models.py:2142
msgid "Was the work on this message finished?"
msgstr ""
+#: common/models.py:2302
+msgid "Id"
+msgstr ""
+
+#: common/models.py:2308 templates/js/translated/news.js:34
+msgid "Title"
+msgstr ""
+
+#: common/models.py:2318 templates/js/translated/news.js:50
+msgid "Published"
+msgstr ""
+
+#: common/models.py:2323 templates/InvenTree/settings/plugin.html:62
+#: templates/InvenTree/settings/plugin_settings.html:33
+#: templates/js/translated/news.js:46
+msgid "Author"
+msgstr ""
+
+#: common/models.py:2328 templates/js/translated/news.js:42
+msgid "Summary"
+msgstr ""
+
+#: common/models.py:2333
+msgid "Read"
+msgstr ""
+
+#: common/models.py:2334
+msgid "Was this news item read?"
+msgstr ""
+
#: common/notifications.py:293
#, python-brace-format
msgid "New {verbose_name}"
@@ -2785,15 +2838,15 @@ msgstr ""
msgid "Error raised by plugin"
msgstr ""
-#: common/views.py:85 order/templates/order/purchase_order_detail.html:23
-#: order/views.py:102 part/views.py:112
+#: common/views.py:85 order/templates/order/purchase_order_detail.html:25
+#: order/views.py:102 part/views.py:107
#: templates/patterns/wizard/upload.html:37
msgid "Upload File"
msgstr "Загрузить файл"
#: common/views.py:86 order/views.py:103
#: part/templates/part/import_wizard/ajax_match_fields.html:45
-#: part/views.py:113 templates/patterns/wizard/match_fields.html:51
+#: part/views.py:108 templates/patterns/wizard/match_fields.html:51
msgid "Match Fields"
msgstr ""
@@ -2816,298 +2869,301 @@ msgstr "Детали импортированы"
msgid "Previous Step"
msgstr "Предыдущий шаг"
-#: company/models.py:99
+#: company/models.py:103
msgid "Company description"
msgstr "Описание компании"
-#: company/models.py:100
+#: company/models.py:104
msgid "Description of the company"
msgstr "Описание компании"
-#: company/models.py:106 company/templates/company/company_base.html:100
+#: company/models.py:110 company/templates/company/company_base.html:100
#: templates/InvenTree/settings/plugin_settings.html:55
-#: templates/js/translated/company.js:448
+#: templates/js/translated/company.js:449
msgid "Website"
msgstr "Сайт"
-#: company/models.py:107
+#: company/models.py:111
msgid "Company website URL"
msgstr "Сайт компании"
-#: company/models.py:111 company/templates/company/company_base.html:118
+#: company/models.py:115 company/templates/company/company_base.html:118
msgid "Address"
msgstr "Адрес"
-#: company/models.py:112
+#: company/models.py:116
msgid "Company address"
msgstr "Адрес компании"
-#: company/models.py:115
+#: company/models.py:119
msgid "Phone number"
msgstr "Телефон"
-#: company/models.py:116
+#: company/models.py:120
msgid "Contact phone number"
msgstr "Контактный телефон"
-#: company/models.py:119 company/templates/company/company_base.html:132
+#: company/models.py:123 company/templates/company/company_base.html:132
#: templates/InvenTree/settings/user.html:48
msgid "Email"
msgstr "EMail"
-#: company/models.py:119
+#: company/models.py:123
msgid "Contact email address"
msgstr "Контактный EMail"
-#: company/models.py:122 company/templates/company/company_base.html:139
+#: company/models.py:126 company/templates/company/company_base.html:139
msgid "Contact"
msgstr "Контакт"
-#: company/models.py:123
+#: company/models.py:127
msgid "Point of contact"
msgstr "Контактное лицо"
-#: company/models.py:125
+#: company/models.py:129
msgid "Link to external company information"
msgstr "Ссылка на описание компании"
-#: company/models.py:136 part/models.py:829
+#: company/models.py:140 part/models.py:848
msgid "Image"
msgstr "Изображение"
-#: company/models.py:139 company/templates/company/detail.html:185
+#: company/models.py:143 company/templates/company/detail.html:185
msgid "Company Notes"
msgstr "Заметки о компании"
-#: company/models.py:141
+#: company/models.py:145
msgid "is customer"
msgstr "покупатель"
-#: company/models.py:141
+#: company/models.py:145
msgid "Do you sell items to this company?"
msgstr "Вы продаёте детали этой компании?"
-#: company/models.py:143
+#: company/models.py:147
msgid "is supplier"
msgstr "поставщик"
-#: company/models.py:143
+#: company/models.py:147
msgid "Do you purchase items from this company?"
msgstr "Вы закупаете детали у этой компании?"
-#: company/models.py:145
+#: company/models.py:149
msgid "is manufacturer"
msgstr "производитель"
-#: company/models.py:145
+#: company/models.py:149
msgid "Does this company manufacture parts?"
msgstr "Является ли компания производителем деталей?"
-#: company/models.py:149 company/serializers.py:378
-#: company/templates/company/company_base.html:106 part/serializers.py:153
-#: part/serializers.py:184 stock/serializers.py:178
+#: company/models.py:153 company/serializers.py:399
+#: company/templates/company/company_base.html:106 part/models.py:2681
+#: part/serializers.py:153 part/serializers.py:181 stock/serializers.py:182
+#: templates/InvenTree/settings/pricing.html:59
msgid "Currency"
msgstr "Валюта"
-#: company/models.py:152
+#: company/models.py:156
msgid "Default currency used for this company"
msgstr "Для этой компании используется валюта по умолчанию"
-#: company/models.py:249 company/models.py:483 stock/models.py:600
-#: stock/serializers.py:85 stock/templates/stock/item_base.html:143
-#: templates/js/translated/bom.js:568
+#: company/models.py:253 company/models.py:487 stock/models.py:616
+#: stock/serializers.py:89 stock/templates/stock/item_base.html:143
+#: templates/js/translated/bom.js:581
msgid "Base Part"
msgstr "Базовая деталь"
-#: company/models.py:253 company/models.py:487
+#: company/models.py:257 company/models.py:491
msgid "Select part"
msgstr "Выберите деталь"
-#: company/models.py:264 company/templates/company/company_base.html:76
+#: company/models.py:268 company/templates/company/company_base.html:76
#: company/templates/company/manufacturer_part.html:90
#: company/templates/company/supplier_part.html:152
#: stock/templates/stock/item_base.html:210
-#: templates/js/translated/company.js:432
-#: templates/js/translated/company.js:533
-#: templates/js/translated/company.js:668
-#: templates/js/translated/company.js:956 templates/js/translated/part.js:236
-#: templates/js/translated/table_filters.js:427
+#: templates/js/translated/company.js:433
+#: templates/js/translated/company.js:534
+#: templates/js/translated/company.js:669
+#: templates/js/translated/company.js:957 templates/js/translated/part.js:232
+#: templates/js/translated/table_filters.js:431
msgid "Manufacturer"
msgstr "Производитель"
-#: company/models.py:265 templates/js/translated/part.js:237
+#: company/models.py:269 templates/js/translated/part.js:233
msgid "Select manufacturer"
msgstr "Выберите производителя"
-#: company/models.py:271 company/templates/company/manufacturer_part.html:101
+#: company/models.py:275 company/templates/company/manufacturer_part.html:101
#: company/templates/company/supplier_part.html:160
-#: templates/js/translated/company.js:304
-#: templates/js/translated/company.js:532
-#: templates/js/translated/company.js:684
-#: templates/js/translated/company.js:975 templates/js/translated/order.js:2239
-#: templates/js/translated/part.js:247 templates/js/translated/part.js:1025
+#: templates/js/translated/company.js:305
+#: templates/js/translated/company.js:533
+#: templates/js/translated/company.js:685
+#: templates/js/translated/company.js:976 templates/js/translated/order.js:2278
+#: templates/js/translated/part.js:243 templates/js/translated/part.js:1052
msgid "MPN"
msgstr ""
-#: company/models.py:272 templates/js/translated/part.js:248
+#: company/models.py:276 templates/js/translated/part.js:244
msgid "Manufacturer Part Number"
msgstr "Код производителя"
-#: company/models.py:278
+#: company/models.py:282
msgid "URL for external manufacturer part link"
msgstr "Ссылка на сайт производителя"
-#: company/models.py:284
+#: company/models.py:288
msgid "Manufacturer part description"
msgstr ""
-#: company/models.py:329 company/models.py:353 company/models.py:506
+#: company/models.py:333 company/models.py:357 company/models.py:510
#: company/templates/company/manufacturer_part.html:7
#: company/templates/company/manufacturer_part.html:24
#: stock/templates/stock/item_base.html:220
msgid "Manufacturer Part"
msgstr "Деталь производителя"
-#: company/models.py:360
+#: company/models.py:364
msgid "Parameter name"
msgstr "Наименование параметра"
-#: company/models.py:366
+#: company/models.py:370
#: report/templates/report/inventree_test_report_base.html:95
-#: stock/models.py:2097 templates/js/translated/company.js:581
-#: templates/js/translated/company.js:799 templates/js/translated/part.js:847
-#: templates/js/translated/stock.js:1360
+#: stock/models.py:2113 templates/js/translated/company.js:582
+#: templates/js/translated/company.js:800 templates/js/translated/part.js:874
+#: templates/js/translated/stock.js:1379
msgid "Value"
msgstr "Значение"
-#: company/models.py:367
+#: company/models.py:371
msgid "Parameter value"
msgstr "Значение параметра"
-#: company/models.py:373 part/models.py:902 part/models.py:2434
-#: part/templates/part/part_base.html:286
+#: company/models.py:377 part/admin.py:26 part/models.py:921
+#: part/models.py:3047 part/templates/part/part_base.html:286
#: templates/InvenTree/settings/settings.html:349
-#: templates/js/translated/company.js:805 templates/js/translated/part.js:853
+#: templates/js/translated/company.js:806 templates/js/translated/part.js:880
msgid "Units"
msgstr "Ед.изм"
-#: company/models.py:374
+#: company/models.py:378
msgid "Parameter units"
msgstr "Единицы измерения"
-#: company/models.py:451
+#: company/models.py:455
msgid "Linked manufacturer part must reference the same base part"
msgstr ""
-#: company/models.py:493 company/templates/company/company_base.html:81
-#: company/templates/company/supplier_part.html:136 order/models.py:263
-#: order/templates/order/order_base.html:121 part/bom.py:237 part/bom.py:265
+#: company/models.py:497 company/templates/company/company_base.html:81
+#: company/templates/company/supplier_part.html:136 order/models.py:264
+#: order/templates/order/order_base.html:121 part/bom.py:252 part/bom.py:280
#: stock/templates/stock/item_base.html:227
#: templates/email/overdue_purchase_order.html:16
-#: templates/js/translated/company.js:303
-#: templates/js/translated/company.js:436
-#: templates/js/translated/company.js:929 templates/js/translated/order.js:1975
-#: templates/js/translated/part.js:217 templates/js/translated/part.js:993
-#: templates/js/translated/table_filters.js:431
+#: templates/js/translated/company.js:304
+#: templates/js/translated/company.js:437
+#: templates/js/translated/company.js:930 templates/js/translated/order.js:2009
+#: templates/js/translated/part.js:213 templates/js/translated/part.js:1020
+#: templates/js/translated/pricing.js:231
+#: templates/js/translated/table_filters.js:435
msgid "Supplier"
msgstr "Поставщик"
-#: company/models.py:494 templates/js/translated/part.js:218
+#: company/models.py:498 templates/js/translated/part.js:214
msgid "Select supplier"
msgstr "Выберите поставщика"
-#: company/models.py:499 company/templates/company/supplier_part.html:146
-#: part/bom.py:238 part/bom.py:266 templates/js/translated/company.js:302
-#: templates/js/translated/order.js:2226 templates/js/translated/part.js:228
-#: templates/js/translated/part.js:1011
+#: company/models.py:503 company/templates/company/supplier_part.html:146
+#: part/bom.py:253 part/bom.py:281 templates/js/translated/company.js:303
+#: templates/js/translated/order.js:2265 templates/js/translated/part.js:224
+#: templates/js/translated/part.js:1038 templates/js/translated/pricing.js:243
msgid "SKU"
msgstr ""
-#: company/models.py:500 templates/js/translated/part.js:229
+#: company/models.py:504 templates/js/translated/part.js:225
msgid "Supplier stock keeping unit"
msgstr "Код поставщика"
-#: company/models.py:507
+#: company/models.py:511
msgid "Select manufacturer part"
msgstr ""
-#: company/models.py:513
+#: company/models.py:517
msgid "URL for external supplier part link"
msgstr "Ссылка на сайт поставщика"
-#: company/models.py:519
+#: company/models.py:523
msgid "Supplier part description"
msgstr ""
-#: company/models.py:524 company/templates/company/supplier_part.html:181
-#: part/models.py:2687 part/templates/part/upload_bom.html:59
+#: company/models.py:528 company/templates/company/supplier_part.html:181
+#: part/admin.py:225 part/models.py:3300 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_po_report.html:92
-#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:403
+#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:397
msgid "Note"
msgstr "Заметка"
-#: company/models.py:528 part/models.py:1788
+#: company/models.py:532 part/models.py:1817
msgid "base cost"
msgstr ""
-#: company/models.py:528 part/models.py:1788
+#: company/models.py:532 part/models.py:1817
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
-#: company/models.py:530 company/templates/company/supplier_part.html:167
-#: stock/models.py:626 stock/templates/stock/item_base.html:243
-#: templates/js/translated/company.js:991 templates/js/translated/stock.js:1978
+#: company/models.py:534 company/templates/company/supplier_part.html:167
+#: stock/admin.py:101 stock/models.py:642
+#: stock/templates/stock/item_base.html:243
+#: templates/js/translated/company.js:992 templates/js/translated/stock.js:1996
msgid "Packaging"
msgstr "Упаковка"
-#: company/models.py:530
+#: company/models.py:534
msgid "Part packaging"
msgstr ""
-#: company/models.py:533 company/serializers.py:242
+#: company/models.py:537 company/serializers.py:242
#: company/templates/company/supplier_part.html:174
-#: templates/js/translated/company.js:996 templates/js/translated/order.js:820
-#: templates/js/translated/order.js:1215 templates/js/translated/order.js:1470
-#: templates/js/translated/order.js:2270 templates/js/translated/order.js:2287
-#: templates/js/translated/part.js:1043 templates/js/translated/part.js:1095
+#: templates/js/translated/company.js:997 templates/js/translated/order.js:826
+#: templates/js/translated/order.js:1249 templates/js/translated/order.js:1504
+#: templates/js/translated/order.js:2309 templates/js/translated/order.js:2326
+#: templates/js/translated/part.js:1070 templates/js/translated/part.js:1122
msgid "Pack Quantity"
msgstr ""
-#: company/models.py:534
+#: company/models.py:538
msgid "Unit quantity supplied in a single pack"
msgstr ""
-#: company/models.py:540 part/models.py:1790
+#: company/models.py:544 part/models.py:1819
msgid "multiple"
msgstr ""
-#: company/models.py:540
+#: company/models.py:544
msgid "Order multiple"
msgstr ""
-#: company/models.py:548 company/templates/company/supplier_part.html:115
+#: company/models.py:552 company/templates/company/supplier_part.html:115
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:18
-#: templates/js/translated/bom.js:963 templates/js/translated/build.js:1873
-#: templates/js/translated/build.js:2754 templates/js/translated/part.js:598
-#: templates/js/translated/part.js:601
-#: templates/js/translated/table_filters.js:194
+#: templates/js/translated/bom.js:1117 templates/js/translated/build.js:1873
+#: templates/js/translated/build.js:2754 templates/js/translated/part.js:612
+#: templates/js/translated/part.js:615
+#: templates/js/translated/table_filters.js:198
msgid "Available"
msgstr ""
-#: company/models.py:549
+#: company/models.py:553
msgid "Quantity available from supplier"
msgstr ""
-#: company/models.py:553
+#: company/models.py:557
msgid "Availability Updated"
msgstr ""
-#: company/models.py:554
+#: company/models.py:558
msgid "Date of last update of availability data"
msgstr ""
-#: company/models.py:682
+#: company/models.py:686
msgid "last updated"
msgstr ""
@@ -3121,7 +3177,7 @@ msgstr "Код валюты"
#: company/templates/company/company_base.html:8
#: company/templates/company/company_base.html:12
-#: templates/InvenTree/search.html:179 templates/js/translated/company.js:421
+#: templates/InvenTree/search.html:179 templates/js/translated/company.js:422
msgid "Company"
msgstr "Компания"
@@ -3139,7 +3195,7 @@ msgid "Edit company information"
msgstr "Редактировать информацию о компании"
#: company/templates/company/company_base.html:34
-#: templates/js/translated/company.js:364
+#: templates/js/translated/company.js:365
msgid "Edit Company"
msgstr "Редактировать компанию"
@@ -3162,14 +3218,14 @@ msgstr "Загрузить новое изображение"
msgid "Download image from URL"
msgstr "Скачать изображение по ссылке"
-#: company/templates/company/company_base.html:86 order/models.py:646
-#: order/templates/order/sales_order_base.html:116 stock/models.py:645
-#: stock/models.py:646 stock/serializers.py:813
+#: company/templates/company/company_base.html:86 order/models.py:665
+#: order/templates/order/sales_order_base.html:116 stock/models.py:661
+#: stock/models.py:662 stock/serializers.py:812
#: stock/templates/stock/item_base.html:399
#: templates/email/overdue_sales_order.html:16
-#: templates/js/translated/company.js:428 templates/js/translated/order.js:2808
-#: templates/js/translated/stock.js:2569
-#: templates/js/translated/table_filters.js:435
+#: templates/js/translated/company.js:429 templates/js/translated/order.js:2819
+#: templates/js/translated/stock.js:2587
+#: templates/js/translated/table_filters.js:439
msgid "Customer"
msgstr "Покупатель"
@@ -3182,12 +3238,12 @@ msgid "Phone"
msgstr "Телефон"
#: company/templates/company/company_base.html:208
-#: part/templates/part/part_base.html:499
+#: part/templates/part/part_base.html:514
msgid "Upload Image"
msgstr "Загрузить изображение"
#: company/templates/company/company_base.html:223
-#: part/templates/part/part_base.html:554
+#: part/templates/part/part_base.html:569
msgid "Download Image"
msgstr "Скачать изображение"
@@ -3203,7 +3259,7 @@ msgstr "Создать новую деталь поставщика"
#: company/templates/company/detail.html:19
#: company/templates/company/manufacturer_part.html:123
-#: part/templates/part/detail.html:359
+#: part/templates/part/detail.html:357
msgid "New Supplier Part"
msgstr "Новая деталь поставщика"
@@ -3232,7 +3288,7 @@ msgstr "Детали производителей"
msgid "Create new manufacturer part"
msgstr "Создать новую деталь производителя"
-#: company/templates/company/detail.html:66 part/templates/part/detail.html:389
+#: company/templates/company/detail.html:66 part/templates/part/detail.html:387
msgid "New Manufacturer Part"
msgstr "Новая деталь производителя"
@@ -3246,7 +3302,7 @@ msgstr "Склад поставщика"
#: order/templates/order/order_base.html:13
#: order/templates/order/purchase_orders.html:8
#: order/templates/order/purchase_orders.html:12
-#: part/templates/part/detail.html:84 part/templates/part/part_sidebar.html:37
+#: part/templates/part/detail.html:84 part/templates/part/part_sidebar.html:35
#: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200
#: templates/InvenTree/settings/sidebar.html:49
#: templates/js/translated/search.js:293 templates/navbar.html:50
@@ -3269,7 +3325,7 @@ msgstr "Новый заказ на закупку"
#: order/templates/order/sales_order_base.html:13
#: order/templates/order/sales_orders.html:8
#: order/templates/order/sales_orders.html:15
-#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:41
+#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:39
#: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220
#: templates/InvenTree/settings/sidebar.html:51
#: templates/js/translated/search.js:317 templates/navbar.html:61
@@ -3297,8 +3353,7 @@ msgid "Supplier List"
msgstr "Список поставщиков"
#: company/templates/company/manufacturer_part.html:15 company/views.py:38
-#: part/templates/part/prices.html:172 templates/InvenTree/search.html:181
-#: templates/navbar.html:49
+#: templates/InvenTree/search.html:181 templates/navbar.html:49
msgid "Manufacturers"
msgstr "Производители"
@@ -3309,12 +3364,12 @@ msgid "Order part"
msgstr ""
#: company/templates/company/manufacturer_part.html:39
-#: templates/js/translated/company.js:716
+#: templates/js/translated/company.js:717
msgid "Edit manufacturer part"
msgstr ""
#: company/templates/company/manufacturer_part.html:43
-#: templates/js/translated/company.js:717
+#: templates/js/translated/company.js:718
msgid "Delete manufacturer part"
msgstr ""
@@ -3329,35 +3384,36 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:119
#: company/templates/company/supplier_part.html:15 company/views.py:32
-#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:168
+#: part/admin.py:46 part/templates/part/part_sidebar.html:33
#: templates/InvenTree/search.html:191 templates/navbar.html:48
msgid "Suppliers"
msgstr "Поставщики"
#: company/templates/company/manufacturer_part.html:136
-#: part/templates/part/detail.html:370
+#: part/templates/part/detail.html:368
msgid "Delete supplier parts"
msgstr "Удалить деталь поставщика"
#: company/templates/company/manufacturer_part.html:136
#: company/templates/company/manufacturer_part.html:183
-#: part/templates/part/detail.html:371 part/templates/part/detail.html:401
-#: templates/js/translated/forms.js:455 templates/js/translated/helpers.js:36
-#: users/models.py:222
+#: part/templates/part/detail.html:369 part/templates/part/detail.html:399
+#: templates/js/translated/forms.js:455 templates/js/translated/helpers.js:38
+#: templates/js/translated/part.js:340 templates/js/translated/stock.js:184
+#: users/models.py:224
msgid "Delete"
msgstr "Удалить"
#: company/templates/company/manufacturer_part.html:166
#: company/templates/company/manufacturer_part_sidebar.html:5
#: part/templates/part/category_sidebar.html:19
-#: part/templates/part/detail.html:186 part/templates/part/part_sidebar.html:8
+#: part/templates/part/detail.html:184 part/templates/part/part_sidebar.html:8
msgid "Parameters"
msgstr "Параметры"
#: company/templates/company/manufacturer_part.html:170
-#: part/templates/part/detail.html:191
+#: part/templates/part/detail.html:189
#: templates/InvenTree/settings/category.html:12
-#: templates/InvenTree/settings/part.html:68
+#: templates/InvenTree/settings/part.html:62
msgid "New Parameter"
msgstr "Новый параметр"
@@ -3366,7 +3422,7 @@ msgid "Delete parameters"
msgstr "Удалить параметры"
#: company/templates/company/manufacturer_part.html:245
-#: part/templates/part/detail.html:827
+#: part/templates/part/detail.html:825
msgid "Add Parameter"
msgstr "Добавить параметр"
@@ -3387,10 +3443,10 @@ msgid "Assigned Stock Items"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:609
+#: company/templates/company/supplier_part.html:24 stock/models.py:625
#: stock/templates/stock/item_base.html:236
-#: templates/js/translated/company.js:945 templates/js/translated/order.js:1135
-#: templates/js/translated/stock.js:1935
+#: templates/js/translated/company.js:946 templates/js/translated/order.js:1169
+#: templates/js/translated/stock.js:1954
msgid "Supplier Part"
msgstr "Деталь поставщика"
@@ -3441,13 +3497,13 @@ msgstr ""
#: company/templates/company/supplier_part.html:64
#: company/templates/company/supplier_part.html:65
-#: templates/js/translated/company.js:247
+#: templates/js/translated/company.js:248
msgid "Edit Supplier Part"
msgstr "Редактировать деталь поставщика"
#: company/templates/company/supplier_part.html:69
#: company/templates/company/supplier_part.html:70
-#: templates/js/translated/company.js:222
+#: templates/js/translated/company.js:223
msgid "Duplicate Supplier Part"
msgstr ""
@@ -3482,7 +3538,7 @@ msgstr "Создать единицу хранения"
#: company/templates/company/supplier_part.html:204
#: part/templates/part/detail.html:25 stock/templates/stock/location.html:198
-#: templates/js/translated/stock.js:435
+#: templates/js/translated/stock.js:454
msgid "New Stock Item"
msgstr "Новая единица хранения"
@@ -3492,47 +3548,20 @@ msgid "Supplier Part Orders"
msgstr ""
#: company/templates/company/supplier_part.html:242
-#: part/templates/part/prices.html:10
msgid "Pricing Information"
msgstr "Информация о цене"
#: company/templates/company/supplier_part.html:247
-#: company/templates/company/supplier_part.html:388
-#: part/templates/part/prices.html:276 templates/js/translated/part.js:2297
+#: company/templates/company/supplier_part.html:317
+#: templates/js/translated/pricing.js:413
msgid "Add Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:282
+#: company/templates/company/supplier_part.html:285
msgid "Link Barcode to Supplier Part"
msgstr ""
-#: company/templates/company/supplier_part.html:300
-msgid "No price break information found"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:314
-#: templates/js/translated/part.js:2307
-msgid "Delete Price Break"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:328
-#: templates/js/translated/part.js:2321
-msgid "Edit Price Break"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:353
-msgid "Edit price break"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:354
-msgid "Delete price break"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:363
-msgid "Last updated"
-msgstr "Последнее обновление"
-
-#: company/templates/company/supplier_part.html:444
+#: company/templates/company/supplier_part.html:375
msgid "Update Part Availability"
msgstr ""
@@ -3542,9 +3571,9 @@ msgstr ""
#: stock/templates/stock/stock_app_base.html:10
#: templates/InvenTree/search.html:153
#: templates/InvenTree/settings/sidebar.html:45
-#: templates/js/translated/part.js:749 templates/js/translated/part.js:1335
-#: templates/js/translated/part.js:1501 templates/js/translated/stock.js:959
-#: templates/js/translated/stock.js:1760 templates/navbar.html:31
+#: templates/js/translated/part.js:763 templates/js/translated/part.js:1356
+#: templates/js/translated/part.js:1512 templates/js/translated/stock.js:978
+#: templates/js/translated/stock.js:1779 templates/navbar.html:31
msgid "Stock"
msgstr "Склад"
@@ -3558,19 +3587,20 @@ msgid "Supplier Part Pricing"
msgstr ""
#: company/templates/company/supplier_part_navbar.html:29
-#: part/templates/part/part_sidebar.html:31
+#: part/templates/part/part_sidebar.html:30
+#: templates/InvenTree/settings/sidebar.html:35
msgid "Pricing"
msgstr ""
#: company/templates/company/supplier_part_sidebar.html:5
#: part/templates/part/category.html:198
-#: part/templates/part/category_sidebar.html:17
+#: part/templates/part/category_sidebar.html:17 stock/admin.py:31
#: stock/templates/stock/location.html:168
#: stock/templates/stock/location.html:182
#: stock/templates/stock/location.html:194
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:155 templates/js/translated/search.js:225
-#: templates/js/translated/stock.js:2446 users/models.py:40
+#: templates/js/translated/stock.js:2464 users/models.py:40
msgid "Stock Items"
msgstr "Детали на складе"
@@ -3672,438 +3702,439 @@ msgstr ""
msgid "No matching purchase order found"
msgstr ""
-#: order/models.py:82
+#: order/models.py:83
msgid "Order description"
msgstr ""
-#: order/models.py:84 order/models.py:1260
+#: order/models.py:85 order/models.py:1283
msgid "Link to external page"
msgstr ""
-#: order/models.py:92
+#: order/models.py:93
msgid "Created By"
msgstr ""
-#: order/models.py:99
+#: order/models.py:100
msgid "User or group responsible for this order"
msgstr ""
-#: order/models.py:104
+#: order/models.py:105
msgid "Order notes"
msgstr ""
-#: order/models.py:241 order/models.py:633
+#: order/models.py:242 order/models.py:652
msgid "Order reference"
msgstr ""
-#: order/models.py:249 order/models.py:651
+#: order/models.py:250 order/models.py:670
msgid "Purchase order status"
msgstr ""
-#: order/models.py:264
+#: order/models.py:265
msgid "Company from which the items are being ordered"
msgstr "Компания, в которой детали заказываются"
-#: order/models.py:267 order/templates/order/order_base.html:133
-#: templates/js/translated/order.js:1984
+#: order/models.py:268 order/templates/order/order_base.html:133
+#: templates/js/translated/order.js:2018
msgid "Supplier Reference"
msgstr ""
-#: order/models.py:267
+#: order/models.py:268
msgid "Supplier order reference code"
msgstr ""
-#: order/models.py:274
+#: order/models.py:275
msgid "received by"
msgstr ""
-#: order/models.py:279
+#: order/models.py:280
msgid "Issue Date"
msgstr ""
-#: order/models.py:280
+#: order/models.py:281
msgid "Date order was issued"
msgstr ""
-#: order/models.py:285
+#: order/models.py:286
msgid "Target Delivery Date"
msgstr ""
-#: order/models.py:286
+#: order/models.py:287
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr ""
-#: order/models.py:292
+#: order/models.py:293
msgid "Date order was completed"
msgstr ""
-#: order/models.py:328
+#: order/models.py:332
msgid "Part supplier must match PO supplier"
msgstr ""
-#: order/models.py:472
+#: order/models.py:491
msgid "Quantity must be a positive number"
msgstr ""
-#: order/models.py:647
+#: order/models.py:666
msgid "Company to which the items are being sold"
msgstr "Компания, которой детали продаются"
-#: order/models.py:658
+#: order/models.py:677
msgid "Customer Reference "
msgstr ""
-#: order/models.py:658
+#: order/models.py:677
msgid "Customer order reference code"
msgstr ""
-#: order/models.py:663
+#: order/models.py:682
msgid "Target date for order completion. Order will be overdue after this date."
msgstr ""
-#: order/models.py:666 order/models.py:1218
-#: templates/js/translated/order.js:2855 templates/js/translated/order.js:3017
+#: order/models.py:685 order/models.py:1241
+#: templates/js/translated/order.js:2866 templates/js/translated/order.js:3028
msgid "Shipment Date"
msgstr ""
-#: order/models.py:673
+#: order/models.py:692
msgid "shipped by"
msgstr ""
-#: order/models.py:728
+#: order/models.py:747
msgid "Order cannot be completed as no parts have been assigned"
msgstr ""
-#: order/models.py:732
+#: order/models.py:751
msgid "Only a pending order can be marked as complete"
msgstr ""
-#: order/models.py:735 templates/js/translated/order.js:419
+#: order/models.py:754 templates/js/translated/order.js:419
msgid "Order cannot be completed as there are incomplete shipments"
msgstr ""
-#: order/models.py:738
+#: order/models.py:757
msgid "Order cannot be completed as there are incomplete line items"
msgstr ""
-#: order/models.py:912
+#: order/models.py:935
msgid "Item quantity"
msgstr ""
-#: order/models.py:918
+#: order/models.py:941
msgid "Line item reference"
msgstr ""
-#: order/models.py:920
+#: order/models.py:943
msgid "Line item notes"
msgstr ""
-#: order/models.py:925
+#: order/models.py:948
msgid "Target shipping date for this line item"
msgstr ""
-#: order/models.py:943
+#: order/models.py:966
msgid "Context"
msgstr ""
-#: order/models.py:944
+#: order/models.py:967
msgid "Additional context for this line"
msgstr ""
-#: order/models.py:953
+#: order/models.py:976
msgid "Unit price"
msgstr ""
-#: order/models.py:983
+#: order/models.py:1006
msgid "Supplier part must match supplier"
msgstr ""
-#: order/models.py:991
+#: order/models.py:1014
msgid "deleted"
msgstr ""
-#: order/models.py:997 order/models.py:1077 order/models.py:1118
-#: order/models.py:1212 order/models.py:1344
-#: templates/js/translated/order.js:3473
+#: order/models.py:1020 order/models.py:1100 order/models.py:1141
+#: order/models.py:1235 order/models.py:1367
+#: templates/js/translated/order.js:3484
msgid "Order"
msgstr ""
-#: order/models.py:998 order/models.py:1077
+#: order/models.py:1021 order/models.py:1100
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report.html:76
#: stock/templates/stock/item_base.html:182
#: templates/email/overdue_purchase_order.html:15
-#: templates/js/translated/order.js:619 templates/js/translated/order.js:1136
-#: templates/js/translated/order.js:1959 templates/js/translated/part.js:970
-#: templates/js/translated/stock.js:1915 templates/js/translated/stock.js:2550
+#: templates/js/translated/order.js:619 templates/js/translated/order.js:1170
+#: templates/js/translated/order.js:1993 templates/js/translated/part.js:997
+#: templates/js/translated/pricing.js:515 templates/js/translated/stock.js:1934
+#: templates/js/translated/stock.js:2568
msgid "Purchase Order"
msgstr "Заказ на закупку"
-#: order/models.py:1016
+#: order/models.py:1039
msgid "Supplier part"
msgstr ""
-#: order/models.py:1023 order/templates/order/order_base.html:178
-#: templates/js/translated/order.js:1641 templates/js/translated/order.js:2373
-#: templates/js/translated/part.js:1087 templates/js/translated/part.js:1125
-#: templates/js/translated/table_filters.js:346
+#: order/models.py:1046 order/templates/order/order_base.html:178
+#: templates/js/translated/order.js:1675 templates/js/translated/order.js:2396
+#: templates/js/translated/part.js:1114 templates/js/translated/part.js:1146
+#: templates/js/translated/table_filters.js:350
msgid "Received"
msgstr ""
-#: order/models.py:1024
+#: order/models.py:1047
msgid "Number of items received"
msgstr ""
-#: order/models.py:1031 part/templates/part/prices.html:181 stock/models.py:741
-#: stock/serializers.py:169 stock/templates/stock/item_base.html:189
-#: templates/js/translated/stock.js:1966
+#: order/models.py:1054 stock/models.py:757 stock/serializers.py:173
+#: stock/templates/stock/item_base.html:189
+#: templates/js/translated/stock.js:1985
msgid "Purchase Price"
msgstr "Закупочная цена"
-#: order/models.py:1032
+#: order/models.py:1055
msgid "Unit purchase price"
msgstr ""
-#: order/models.py:1040
+#: order/models.py:1063
msgid "Where does the Purchaser want this item to be stored?"
msgstr ""
-#: order/models.py:1106
+#: order/models.py:1129
msgid "Virtual part cannot be assigned to a sales order"
msgstr ""
-#: order/models.py:1111
+#: order/models.py:1134
msgid "Only salable parts can be assigned to a sales order"
msgstr ""
-#: order/models.py:1137 part/templates/part/part_pricing.html:115
-#: part/templates/part/prices.html:121 part/templates/part/prices.html:290
+#: order/models.py:1160 part/templates/part/part_pricing.html:107
+#: part/templates/part/prices.html:139 templates/js/translated/pricing.js:665
msgid "Sale Price"
msgstr "Цена продажи"
-#: order/models.py:1138
+#: order/models.py:1161
msgid "Unit sale price"
msgstr ""
-#: order/models.py:1143
+#: order/models.py:1166
msgid "Shipped quantity"
msgstr ""
-#: order/models.py:1219
+#: order/models.py:1242
msgid "Date of shipment"
msgstr ""
-#: order/models.py:1226
+#: order/models.py:1249
msgid "Checked By"
msgstr ""
-#: order/models.py:1227
+#: order/models.py:1250
msgid "User who checked this shipment"
msgstr ""
-#: order/models.py:1234 order/models.py:1419 order/serializers.py:1228
-#: order/serializers.py:1356 templates/js/translated/model_renderers.js:314
+#: order/models.py:1257 order/models.py:1442 order/serializers.py:1221
+#: order/serializers.py:1349 templates/js/translated/model_renderers.js:314
msgid "Shipment"
msgstr ""
-#: order/models.py:1235
+#: order/models.py:1258
msgid "Shipment number"
msgstr ""
-#: order/models.py:1239
+#: order/models.py:1262
msgid "Shipment notes"
msgstr ""
-#: order/models.py:1245
+#: order/models.py:1268
msgid "Tracking Number"
msgstr ""
-#: order/models.py:1246
+#: order/models.py:1269
msgid "Shipment tracking information"
msgstr ""
-#: order/models.py:1253
+#: order/models.py:1276
msgid "Invoice Number"
msgstr ""
-#: order/models.py:1254
+#: order/models.py:1277
msgid "Reference number for associated invoice"
msgstr ""
-#: order/models.py:1272
+#: order/models.py:1295
msgid "Shipment has already been sent"
msgstr ""
-#: order/models.py:1275
+#: order/models.py:1298
msgid "Shipment has no allocated stock items"
msgstr ""
-#: order/models.py:1378 order/models.py:1380
+#: order/models.py:1401 order/models.py:1403
msgid "Stock item has not been assigned"
msgstr ""
-#: order/models.py:1384
+#: order/models.py:1407
msgid "Cannot allocate stock item to a line with a different part"
msgstr ""
-#: order/models.py:1386
+#: order/models.py:1409
msgid "Cannot allocate stock to a line without a part"
msgstr ""
-#: order/models.py:1389
+#: order/models.py:1412
msgid "Allocation quantity cannot exceed stock quantity"
msgstr ""
-#: order/models.py:1399 order/serializers.py:1090
+#: order/models.py:1422 order/serializers.py:1083
msgid "Quantity must be 1 for serialized stock item"
msgstr ""
-#: order/models.py:1402
+#: order/models.py:1425
msgid "Sales order does not match shipment"
msgstr ""
-#: order/models.py:1403
+#: order/models.py:1426
msgid "Shipment does not match sales order"
msgstr ""
-#: order/models.py:1411
+#: order/models.py:1434
msgid "Line"
msgstr ""
-#: order/models.py:1420
+#: order/models.py:1443
msgid "Sales order shipment reference"
msgstr ""
-#: order/models.py:1433 templates/js/translated/notification.js:55
+#: order/models.py:1456 templates/js/translated/notification.js:55
msgid "Item"
msgstr ""
-#: order/models.py:1434
+#: order/models.py:1457
msgid "Select stock item to allocate"
msgstr ""
-#: order/models.py:1437
+#: order/models.py:1460
msgid "Enter stock allocation quantity"
msgstr ""
-#: order/serializers.py:67
+#: order/serializers.py:63
msgid "Price currency"
msgstr ""
-#: order/serializers.py:199
+#: order/serializers.py:193
msgid "Order cannot be cancelled"
msgstr ""
-#: order/serializers.py:209 order/serializers.py:1108
+#: order/serializers.py:203 order/serializers.py:1101
msgid "Allow order to be closed with incomplete line items"
msgstr ""
-#: order/serializers.py:220 order/serializers.py:1119
+#: order/serializers.py:214 order/serializers.py:1112
msgid "Order has incomplete line items"
msgstr ""
-#: order/serializers.py:311
+#: order/serializers.py:305
msgid "Order is not open"
msgstr ""
-#: order/serializers.py:335
+#: order/serializers.py:327
msgid "Purchase price currency"
msgstr "Курс покупки валюты"
-#: order/serializers.py:354
+#: order/serializers.py:346
msgid "Supplier part must be specified"
msgstr ""
-#: order/serializers.py:359
+#: order/serializers.py:351
msgid "Purchase order must be specified"
msgstr ""
-#: order/serializers.py:365
+#: order/serializers.py:357
msgid "Supplier must match purchase order"
msgstr ""
-#: order/serializers.py:366
+#: order/serializers.py:358
msgid "Purchase order must match supplier"
msgstr ""
-#: order/serializers.py:430 order/serializers.py:1196
+#: order/serializers.py:421 order/serializers.py:1189
msgid "Line Item"
msgstr ""
-#: order/serializers.py:436
+#: order/serializers.py:427
msgid "Line item does not match purchase order"
msgstr ""
-#: order/serializers.py:446 order/serializers.py:557
+#: order/serializers.py:437 order/serializers.py:548
msgid "Select destination location for received items"
msgstr ""
-#: order/serializers.py:465 templates/js/translated/order.js:1497
+#: order/serializers.py:456 templates/js/translated/order.js:1531
msgid "Enter batch code for incoming stock items"
msgstr "Введите код партии для поступающих единиц хранения"
-#: order/serializers.py:473 templates/js/translated/order.js:1508
+#: order/serializers.py:464 templates/js/translated/order.js:1542
msgid "Enter serial numbers for incoming stock items"
msgstr ""
-#: order/serializers.py:487
+#: order/serializers.py:478
msgid "Unique identifier field"
msgstr ""
-#: order/serializers.py:501
+#: order/serializers.py:492
msgid "Barcode is already in use"
msgstr ""
-#: order/serializers.py:527
+#: order/serializers.py:518
msgid "An integer quantity must be provided for trackable parts"
msgstr "Для отслеживаемых деталей должно быть указано целочисленное количество"
-#: order/serializers.py:573
+#: order/serializers.py:564
msgid "Line items must be provided"
msgstr ""
-#: order/serializers.py:590
+#: order/serializers.py:581
msgid "Destination location must be specified"
msgstr ""
-#: order/serializers.py:601
+#: order/serializers.py:592
msgid "Supplied barcode values must be unique"
msgstr ""
-#: order/serializers.py:907
+#: order/serializers.py:900
msgid "Sale price currency"
msgstr "Курс продажи валюты"
-#: order/serializers.py:988
+#: order/serializers.py:981
msgid "No shipment details provided"
msgstr ""
-#: order/serializers.py:1051 order/serializers.py:1205
+#: order/serializers.py:1044 order/serializers.py:1198
msgid "Line item is not associated with this order"
msgstr ""
-#: order/serializers.py:1073
+#: order/serializers.py:1066
msgid "Quantity must be positive"
msgstr ""
-#: order/serializers.py:1218
+#: order/serializers.py:1211
msgid "Enter serial numbers to allocate"
msgstr ""
-#: order/serializers.py:1240 order/serializers.py:1364
+#: order/serializers.py:1233 order/serializers.py:1357
msgid "Shipment has already been shipped"
msgstr ""
-#: order/serializers.py:1243 order/serializers.py:1367
+#: order/serializers.py:1236 order/serializers.py:1360
msgid "Shipment is not associated with this order"
msgstr ""
-#: order/serializers.py:1297
+#: order/serializers.py:1290
msgid "No match found for the following serial numbers"
msgstr ""
-#: order/serializers.py:1307
+#: order/serializers.py:1300
msgid "The following serial numbers are already allocated"
msgstr ""
@@ -4154,7 +4185,8 @@ msgid "Duplicate order"
msgstr ""
#: order/templates/order/order_base.html:61
-msgid "Place order"
+#: order/templates/order/order_base.html:62
+msgid "Submit Order"
msgstr ""
#: order/templates/order/order_base.html:65
@@ -4162,7 +4194,7 @@ msgid "Receive items"
msgstr ""
#: order/templates/order/order_base.html:67
-#: order/templates/order/purchase_order_detail.html:30
+#: order/templates/order/purchase_order_detail.html:32
msgid "Receive Items"
msgstr ""
@@ -4248,9 +4280,9 @@ msgstr "Выберите деталь поставщика"
#: part/templates/part/import_wizard/match_references.html:49
#: templates/js/translated/bom.js:102 templates/js/translated/build.js:479
#: templates/js/translated/build.js:631 templates/js/translated/build.js:2078
-#: templates/js/translated/order.js:1084 templates/js/translated/order.js:1586
-#: templates/js/translated/order.js:3092 templates/js/translated/stock.js:625
-#: templates/js/translated/stock.js:793
+#: templates/js/translated/order.js:1118 templates/js/translated/order.js:1620
+#: templates/js/translated/order.js:3103 templates/js/translated/stock.js:644
+#: templates/js/translated/stock.js:812
#: templates/patterns/wizard/match_fields.html:70
msgid "Remove row"
msgstr "Удалить строку"
@@ -4278,42 +4310,42 @@ msgstr ""
msgid "Received Stock"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:17
+#: order/templates/order/purchase_order_detail.html:19
msgid "Purchase Order Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:26
-#: order/templates/order/sales_order_detail.html:22
-#: order/templates/order/sales_order_detail.html:255
+#: order/templates/order/purchase_order_detail.html:28
+#: order/templates/order/sales_order_detail.html:24
+#: order/templates/order/sales_order_detail.html:260
#: templates/js/translated/order.js:728
msgid "Add Line Item"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:29
+#: order/templates/order/purchase_order_detail.html:31
msgid "Receive selected items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:48
-#: order/templates/order/sales_order_detail.html:42
+#: order/templates/order/purchase_order_detail.html:50
+#: order/templates/order/sales_order_detail.html:45
msgid "Extra Lines"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:53
-#: order/templates/order/sales_order_detail.html:47
-#: order/templates/order/sales_order_detail.html:280
+#: order/templates/order/purchase_order_detail.html:56
+#: order/templates/order/sales_order_detail.html:51
+#: order/templates/order/sales_order_detail.html:291
msgid "Add Extra Line"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:72
+#: order/templates/order/purchase_order_detail.html:76
msgid "Received Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:97
-#: order/templates/order/sales_order_detail.html:150
+#: order/templates/order/purchase_order_detail.html:101
+#: order/templates/order/sales_order_detail.html:155
msgid "Order Notes"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:232
+#: order/templates/order/purchase_order_detail.html:239
msgid "Add Order Line"
msgstr ""
@@ -4345,12 +4377,12 @@ msgid "This Sales Order has not been fully allocated"
msgstr ""
#: order/templates/order/sales_order_base.html:123
-#: templates/js/translated/order.js:2821
+#: templates/js/translated/order.js:2832
msgid "Customer Reference"
msgstr ""
#: order/templates/order/sales_order_base.html:141
-#: order/templates/order/sales_order_detail.html:104
+#: order/templates/order/sales_order_detail.html:109
#: order/templates/order/so_sidebar.html:11
msgid "Completed Shipments"
msgstr ""
@@ -4359,22 +4391,22 @@ msgstr ""
msgid "Edit Sales Order"
msgstr ""
-#: order/templates/order/sales_order_detail.html:17
+#: order/templates/order/sales_order_detail.html:18
msgid "Sales Order Items"
msgstr ""
-#: order/templates/order/sales_order_detail.html:68
+#: order/templates/order/sales_order_detail.html:73
#: order/templates/order/so_sidebar.html:8
msgid "Pending Shipments"
msgstr ""
-#: order/templates/order/sales_order_detail.html:72
-#: templates/attachment_table.html:6 templates/js/translated/bom.js:1158
+#: order/templates/order/sales_order_detail.html:77
+#: templates/attachment_table.html:6 templates/js/translated/bom.js:1223
#: templates/js/translated/build.js:1979
msgid "Actions"
msgstr "Действия"
-#: order/templates/order/sales_order_detail.html:81
+#: order/templates/order/sales_order_detail.html:86
msgid "New Shipment"
msgstr ""
@@ -4400,617 +4432,844 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/api.py:516
-msgid "Incoming Purchase Order"
+#: part/admin.py:19 part/admin.py:219 part/models.py:3181 stock/admin.py:84
+#: templates/js/translated/model_renderers.js:212
+msgid "Part ID"
+msgstr "Артикул"
+
+#: part/admin.py:20 part/admin.py:221 part/models.py:3185 stock/admin.py:85
+msgid "Part Name"
+msgstr "Наименование детали"
+
+#: part/admin.py:21
+msgid "Part Description"
msgstr ""
-#: part/api.py:536
-msgid "Outgoing Sales Order"
+#: part/admin.py:22 part/models.py:822 part/templates/part/part_base.html:272
+#: templates/js/translated/part.js:751 templates/js/translated/part.js:1469
+#: templates/js/translated/stock.js:1745
+msgid "IPN"
msgstr ""
-#: part/api.py:554
-msgid "Stock produced by Build Order"
+#: part/admin.py:23 part/models.py:830 part/templates/part/part_base.html:279
+#: report/models.py:171 templates/js/translated/part.js:755
+msgid "Revision"
+msgstr "Версия"
+
+#: part/admin.py:24 part/admin.py:145 part/models.py:808
+#: part/templates/part/category.html:87 part/templates/part/part_base.html:300
+msgid "Keywords"
+msgstr "Ключевые слова"
+
+#: part/admin.py:28 part/admin.py:139
+#: templates/js/translated/model_renderers.js:338
+msgid "Category ID"
+msgstr "Код категории"
+
+#: part/admin.py:29 part/admin.py:140
+msgid "Category Name"
msgstr ""
-#: part/api.py:640
-msgid "Stock required for Build Order"
+#: part/admin.py:30 part/admin.py:144
+msgid "Default Location ID"
msgstr ""
-#: part/api.py:777
-msgid "Valid"
+#: part/admin.py:31
+msgid "Default Supplier ID"
msgstr ""
-#: part/api.py:778
-msgid "Validate entire Bill of Materials"
-msgstr ""
+#: part/admin.py:33 part/models.py:914 part/templates/part/part_base.html:206
+msgid "Minimum Stock"
+msgstr "Минимальный запас"
-#: part/api.py:784
-msgid "This option must be selected"
-msgstr ""
+#: part/admin.py:47 part/templates/part/part_base.html:200
+#: templates/js/translated/company.js:1028
+#: templates/js/translated/table_filters.js:213
+msgid "In Stock"
+msgstr "На складе"
-#: part/api.py:1207
-msgid "Must be greater than zero"
-msgstr ""
-
-#: part/api.py:1211
-msgid "Must be a valid quantity"
-msgstr ""
-
-#: part/api.py:1226
-msgid "Specify location for initial part stock"
-msgstr ""
-
-#: part/api.py:1257 part/api.py:1261 part/api.py:1276 part/api.py:1280
-msgid "This field is required"
-msgstr ""
-
-#: part/bom.py:127 part/models.py:98 part/models.py:838
-#: part/templates/part/category.html:109 part/templates/part/part_base.html:345
-msgid "Default Location"
-msgstr "Место хранения по умолчанию"
-
-#: part/bom.py:128 templates/email/low_stock_notification.html:17
-msgid "Total Stock"
-msgstr ""
-
-#: part/bom.py:129 part/templates/part/part_base.html:195
-#: templates/js/translated/order.js:3913
-msgid "Available Stock"
-msgstr "Доступный запас"
-
-#: part/bom.py:130 part/templates/part/part_base.html:213
-#: templates/js/translated/bom.js:1001 templates/js/translated/build.js:1925
-#: templates/js/translated/part.js:588 templates/js/translated/part.js:608
-#: templates/js/translated/part.js:1338 templates/js/translated/part.js:1526
+#: part/admin.py:48 part/bom.py:145 part/templates/part/part_base.html:213
+#: templates/js/translated/bom.js:1155 templates/js/translated/build.js:1925
+#: templates/js/translated/part.js:602 templates/js/translated/part.js:622
+#: templates/js/translated/part.js:1359 templates/js/translated/part.js:1537
#: templates/js/translated/table_filters.js:68
msgid "On Order"
msgstr ""
-#: part/forms.py:41
-msgid "Input quantity for price calculation"
+#: part/admin.py:49 part/templates/part/part_sidebar.html:27
+msgid "Used In"
+msgstr "Сборки"
+
+#: part/admin.py:50 templates/js/translated/build.js:1937
+#: templates/js/translated/build.js:2195 templates/js/translated/build.js:2761
+#: templates/js/translated/order.js:3943
+msgid "Allocated"
msgstr ""
-#: part/models.py:99
-msgid "Default location for parts in this category"
-msgstr "Место хранения по умолчанию для деталей этой категории"
-
-#: part/models.py:102
-msgid "Default keywords"
-msgstr "Ключевые слова по умолчанию"
-
-#: part/models.py:102
-msgid "Default keywords for parts in this category"
-msgstr "Ключевые слова по умолчанию для деталей этой категории"
-
-#: part/models.py:107 stock/models.py:85
-msgid "Icon"
+#: part/admin.py:51 part/templates/part/part_base.html:244
+#: templates/js/translated/part.js:605 templates/js/translated/part.js:625
+#: templates/js/translated/part.js:1363 templates/js/translated/part.js:1544
+msgid "Building"
msgstr ""
-#: part/models.py:108 stock/models.py:86
-msgid "Icon (optional)"
+#: part/admin.py:52 part/models.py:2765
+msgid "Minimum Cost"
msgstr ""
-#: part/models.py:122 part/models.py:2517 part/templates/part/category.html:16
-#: part/templates/part/part_app_base.html:10
-msgid "Part Category"
-msgstr "Категория детали"
-
-#: part/models.py:123 part/templates/part/category.html:129
-#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200
-#: users/models.py:37
-msgid "Part Categories"
+#: part/admin.py:53 part/models.py:2771
+msgid "Maximum Cost"
msgstr ""
-#: part/models.py:344 part/templates/part/cat_link.html:3
+#: part/admin.py:142 part/admin.py:216 stock/admin.py:26 stock/admin.py:98
+msgid "Parent ID"
+msgstr ""
+
+#: part/admin.py:143 part/admin.py:218 stock/admin.py:27
+msgid "Parent Name"
+msgstr ""
+
+#: part/admin.py:146 part/templates/part/category.html:81
+#: part/templates/part/category.html:94
+msgid "Category Path"
+msgstr "Путь к категории"
+
+#: part/admin.py:149 part/models.py:363 part/templates/part/cat_link.html:3
#: part/templates/part/category.html:23 part/templates/part/category.html:134
#: part/templates/part/category.html:154
#: part/templates/part/category_sidebar.html:9
#: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84
#: templates/InvenTree/settings/sidebar.html:41
-#: templates/js/translated/part.js:2019 templates/js/translated/search.js:146
+#: templates/js/translated/part.js:2043 templates/js/translated/search.js:146
#: templates/navbar.html:24 users/models.py:38
msgid "Parts"
msgstr "Детали"
-#: part/models.py:429
+#: part/admin.py:211
+msgid "BOM Level"
+msgstr ""
+
+#: part/admin.py:213
+msgid "BOM Item ID"
+msgstr ""
+
+#: part/admin.py:217
+msgid "Parent IPN"
+msgstr ""
+
+#: part/admin.py:220 part/models.py:3189
+msgid "Part IPN"
+msgstr "IPN"
+
+#: part/admin.py:226 templates/js/translated/pricing.js:91
+#: templates/js/translated/pricing.js:727
+msgid "Minimum Price"
+msgstr ""
+
+#: part/admin.py:227 templates/js/translated/pricing.js:86
+#: templates/js/translated/pricing.js:735
+msgid "Maximum Price"
+msgstr ""
+
+#: part/api.py:532
+msgid "Incoming Purchase Order"
+msgstr ""
+
+#: part/api.py:552
+msgid "Outgoing Sales Order"
+msgstr ""
+
+#: part/api.py:570
+msgid "Stock produced by Build Order"
+msgstr ""
+
+#: part/api.py:656
+msgid "Stock required for Build Order"
+msgstr ""
+
+#: part/api.py:814
+msgid "Valid"
+msgstr ""
+
+#: part/api.py:815
+msgid "Validate entire Bill of Materials"
+msgstr ""
+
+#: part/api.py:821
+msgid "This option must be selected"
+msgstr ""
+
+#: part/api.py:1261
+msgid "Must be greater than zero"
+msgstr ""
+
+#: part/api.py:1265
+msgid "Must be a valid quantity"
+msgstr ""
+
+#: part/api.py:1280
+msgid "Specify location for initial part stock"
+msgstr ""
+
+#: part/api.py:1311 part/api.py:1315 part/api.py:1330 part/api.py:1334
+msgid "This field is required"
+msgstr ""
+
+#: part/bom.py:142 part/models.py:116 part/models.py:857
+#: part/templates/part/category.html:109 part/templates/part/part_base.html:360
+msgid "Default Location"
+msgstr "Место хранения по умолчанию"
+
+#: part/bom.py:143 templates/email/low_stock_notification.html:17
+msgid "Total Stock"
+msgstr ""
+
+#: part/bom.py:144 part/templates/part/part_base.html:195
+#: templates/js/translated/order.js:3910
+msgid "Available Stock"
+msgstr "Доступный запас"
+
+#: part/forms.py:41
+msgid "Input quantity for price calculation"
+msgstr ""
+
+#: part/models.py:117
+msgid "Default location for parts in this category"
+msgstr "Место хранения по умолчанию для деталей этой категории"
+
+#: part/models.py:120
+msgid "Default keywords"
+msgstr "Ключевые слова по умолчанию"
+
+#: part/models.py:120
+msgid "Default keywords for parts in this category"
+msgstr "Ключевые слова по умолчанию для деталей этой категории"
+
+#: part/models.py:125 stock/models.py:101
+msgid "Icon"
+msgstr ""
+
+#: part/models.py:126 stock/models.py:102
+msgid "Icon (optional)"
+msgstr ""
+
+#: part/models.py:140 part/models.py:3130 part/templates/part/category.html:16
+#: part/templates/part/part_app_base.html:10
+msgid "Part Category"
+msgstr "Категория детали"
+
+#: part/models.py:141 part/templates/part/category.html:129
+#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200
+#: users/models.py:37
+msgid "Part Categories"
+msgstr ""
+
+#: part/models.py:448
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:499 part/models.py:511
+#: part/models.py:518 part/models.py:530
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:601
+#: part/models.py:620
msgid "Stock item with this serial number already exists"
msgstr ""
-#: part/models.py:732
+#: part/models.py:751
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:759 part/models.py:2573
+#: part/models.py:778 part/models.py:3186
msgid "Part name"
msgstr "Наименование детали"
-#: part/models.py:766
+#: part/models.py:785
msgid "Is Template"
msgstr "Шаблон"
-#: part/models.py:767
+#: part/models.py:786
msgid "Is this part a template part?"
msgstr "Эта деталь является шаблоном для других деталей?"
-#: part/models.py:777
+#: part/models.py:796
msgid "Is this part a variant of another part?"
msgstr "Эта деталь является разновидностью другой детали?"
-#: part/models.py:778
+#: part/models.py:797
msgid "Variant Of"
msgstr "Разновидность"
-#: part/models.py:784
+#: part/models.py:803
msgid "Part description"
msgstr "Описание детали"
-#: part/models.py:789 part/templates/part/category.html:87
-#: part/templates/part/part_base.html:300
-msgid "Keywords"
-msgstr "Ключевые слова"
-
-#: part/models.py:790
+#: part/models.py:809
msgid "Part keywords to improve visibility in search results"
msgstr "Ключевые слова для улучшения видимости в результатах поиска"
-#: part/models.py:797 part/models.py:2272 part/models.py:2516
+#: part/models.py:816 part/models.py:2885 part/models.py:3129
#: part/templates/part/part_base.html:263
#: templates/InvenTree/settings/settings.html:229
#: templates/js/translated/notification.js:50
-#: templates/js/translated/part.js:1480 templates/js/translated/part.js:1724
+#: templates/js/translated/part.js:1491 templates/js/translated/part.js:1748
msgid "Category"
msgstr "Категория"
-#: part/models.py:798
+#: part/models.py:817
msgid "Part category"
msgstr "Категория"
-#: part/models.py:803 part/templates/part/part_base.html:272
-#: templates/js/translated/part.js:737 templates/js/translated/part.js:1431
-#: templates/js/translated/stock.js:1726
-msgid "IPN"
-msgstr ""
-
-#: part/models.py:804
+#: part/models.py:823
msgid "Internal Part Number"
msgstr "Внутренний код детали"
-#: part/models.py:810
+#: part/models.py:829
msgid "Part revision or version number"
msgstr "Версия детали"
-#: part/models.py:811 part/templates/part/part_base.html:279
-#: report/models.py:171 templates/js/translated/part.js:741
-msgid "Revision"
-msgstr "Версия"
-
-#: part/models.py:836
+#: part/models.py:855
msgid "Where is this item normally stored?"
msgstr "Где обычно хранится эта деталь?"
-#: part/models.py:881 part/templates/part/part_base.html:354
+#: part/models.py:900 part/templates/part/part_base.html:369
msgid "Default Supplier"
msgstr ""
-#: part/models.py:882
+#: part/models.py:901
msgid "Default supplier part"
msgstr ""
-#: part/models.py:889
+#: part/models.py:908
msgid "Default Expiry"
msgstr ""
-#: part/models.py:890
+#: part/models.py:909
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:895 part/templates/part/part_base.html:206
-msgid "Minimum Stock"
-msgstr "Минимальный запас"
-
-#: part/models.py:896
+#: part/models.py:915
msgid "Minimum allowed stock level"
msgstr "Минимально допустимый складской запас"
-#: part/models.py:903
+#: part/models.py:922
msgid "Stock keeping units for this part"
msgstr ""
-#: part/models.py:909
+#: part/models.py:928
msgid "Can this part be built from other parts?"
msgstr "Может ли эта деталь быть создана из других деталей?"
-#: part/models.py:915
+#: part/models.py:934
msgid "Can this part be used to build other parts?"
msgstr "Может ли эта деталь использоваться для создания других деталей?"
-#: part/models.py:921
+#: part/models.py:940
msgid "Does this part have tracking for unique items?"
msgstr "Является ли каждый экземпляр этой детали уникальным, обладающим серийным номером?"
-#: part/models.py:926
+#: part/models.py:945
msgid "Can this part be purchased from external suppliers?"
msgstr "Может ли эта деталь быть закуплена у внешних поставщиков?"
-#: part/models.py:931
+#: part/models.py:950
msgid "Can this part be sold to customers?"
msgstr "Может ли эта деталь быть продана покупателям?"
-#: part/models.py:936
+#: part/models.py:955
msgid "Is this part active?"
msgstr "Эта деталь актуальна?"
-#: part/models.py:941
+#: part/models.py:960
msgid "Is this a virtual part, such as a software product or license?"
msgstr "Эта деталь виртуальная, как программный продукт или лицензия?"
-#: part/models.py:943
+#: part/models.py:962
msgid "Part notes"
msgstr ""
-#: part/models.py:945
+#: part/models.py:964
msgid "BOM checksum"
msgstr ""
-#: part/models.py:945
+#: part/models.py:964
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:948
+#: part/models.py:967
msgid "BOM checked by"
msgstr ""
-#: part/models.py:950
+#: part/models.py:969
msgid "BOM checked date"
msgstr ""
-#: part/models.py:954
+#: part/models.py:973
msgid "Creation User"
msgstr ""
-#: part/models.py:1790
+#: part/models.py:1819
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2319
+#: part/models.py:2682
+msgid "Currency used to cache pricing calculations"
+msgstr ""
+
+#: part/models.py:2687
+msgid "Updated"
+msgstr ""
+
+#: part/models.py:2688
+msgid "Timestamp of last pricing update"
+msgstr ""
+
+#: part/models.py:2705
+msgid "Minimum BOM Cost"
+msgstr ""
+
+#: part/models.py:2706
+msgid "Minimum cost of component parts"
+msgstr ""
+
+#: part/models.py:2711
+msgid "Maximum BOM Cost"
+msgstr ""
+
+#: part/models.py:2712
+msgid "Maximum cost of component parts"
+msgstr ""
+
+#: part/models.py:2717
+msgid "Minimum Purchase Cost"
+msgstr ""
+
+#: part/models.py:2718
+msgid "Minimum historical purchase cost"
+msgstr ""
+
+#: part/models.py:2723
+msgid "Maximum Purchase Cost"
+msgstr ""
+
+#: part/models.py:2724
+msgid "Maximum historical purchase cost"
+msgstr ""
+
+#: part/models.py:2729
+msgid "Minimum Internal Price"
+msgstr ""
+
+#: part/models.py:2730
+msgid "Minimum cost based on internal price breaks"
+msgstr ""
+
+#: part/models.py:2735
+msgid "Maximum Internal Price"
+msgstr ""
+
+#: part/models.py:2736
+msgid "Maximum cost based on internal price breaks"
+msgstr ""
+
+#: part/models.py:2741
+msgid "Minimum Supplier Price"
+msgstr ""
+
+#: part/models.py:2742
+msgid "Minimum price of part from external suppliers"
+msgstr ""
+
+#: part/models.py:2747
+msgid "Maximum Supplier Price"
+msgstr ""
+
+#: part/models.py:2748
+msgid "Maximum price of part from external suppliers"
+msgstr ""
+
+#: part/models.py:2753
+msgid "Minimum Variant Cost"
+msgstr ""
+
+#: part/models.py:2754
+msgid "Calculated minimum cost of variant parts"
+msgstr ""
+
+#: part/models.py:2759
+msgid "Maximum Variant Cost"
+msgstr ""
+
+#: part/models.py:2760
+msgid "Calculated maximum cost of variant parts"
+msgstr ""
+
+#: part/models.py:2766
+msgid "Calculated overall minimum cost"
+msgstr ""
+
+#: part/models.py:2772
+msgid "Calculated overall maximum cost"
+msgstr ""
+
+#: part/models.py:2777
+msgid "Minimum Sale Price"
+msgstr ""
+
+#: part/models.py:2778
+msgid "Minimum sale price based on price breaks"
+msgstr ""
+
+#: part/models.py:2783
+msgid "Maximum Sale Price"
+msgstr ""
+
+#: part/models.py:2784
+msgid "Maximum sale price based on price breaks"
+msgstr ""
+
+#: part/models.py:2789
+msgid "Minimum Sale Cost"
+msgstr ""
+
+#: part/models.py:2790
+msgid "Minimum historical sale price"
+msgstr ""
+
+#: part/models.py:2795
+msgid "Maximum Sale Cost"
+msgstr ""
+
+#: part/models.py:2796
+msgid "Maximum historical sale price"
+msgstr ""
+
+#: part/models.py:2932
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:2336
+#: part/models.py:2949
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2356 templates/js/translated/part.js:2070
-#: templates/js/translated/stock.js:1340
+#: part/models.py:2969 templates/js/translated/part.js:2094
+#: templates/js/translated/stock.js:1359
msgid "Test Name"
msgstr ""
-#: part/models.py:2357
+#: part/models.py:2970
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2362
+#: part/models.py:2975
msgid "Test Description"
msgstr ""
-#: part/models.py:2363
+#: part/models.py:2976
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2368 templates/js/translated/part.js:2079
-#: templates/js/translated/table_filters.js:310
+#: part/models.py:2981 templates/js/translated/part.js:2103
+#: templates/js/translated/table_filters.js:314
msgid "Required"
msgstr ""
-#: part/models.py:2369
+#: part/models.py:2982
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2374 templates/js/translated/part.js:2087
+#: part/models.py:2987 templates/js/translated/part.js:2111
msgid "Requires Value"
msgstr ""
-#: part/models.py:2375
+#: part/models.py:2988
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2380 templates/js/translated/part.js:2094
+#: part/models.py:2993 templates/js/translated/part.js:2118
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2381
+#: part/models.py:2994
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:2422
+#: part/models.py:3035
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:2430
+#: part/models.py:3043
msgid "Parameter Name"
msgstr ""
-#: part/models.py:2434
+#: part/models.py:3047
msgid "Parameter Units"
msgstr ""
-#: part/models.py:2439
+#: part/models.py:3052
msgid "Parameter description"
msgstr ""
-#: part/models.py:2472
+#: part/models.py:3085
msgid "Parent Part"
msgstr "Родительская деталь"
-#: part/models.py:2474 part/models.py:2522 part/models.py:2523
+#: part/models.py:3087 part/models.py:3135 part/models.py:3136
#: templates/InvenTree/settings/settings.html:224
msgid "Parameter Template"
msgstr "Шаблон параметра"
-#: part/models.py:2476
+#: part/models.py:3089
msgid "Data"
msgstr ""
-#: part/models.py:2476
+#: part/models.py:3089
msgid "Parameter Value"
msgstr ""
-#: part/models.py:2527 templates/InvenTree/settings/settings.html:233
+#: part/models.py:3140 templates/InvenTree/settings/settings.html:233
msgid "Default Value"
msgstr ""
-#: part/models.py:2528
+#: part/models.py:3141
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:2565
+#: part/models.py:3178
msgid "Part ID or part name"
msgstr "Артикул или наименование детали"
-#: part/models.py:2568 templates/js/translated/model_renderers.js:212
-msgid "Part ID"
-msgstr "Артикул"
-
-#: part/models.py:2569
+#: part/models.py:3182
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:2572
-msgid "Part Name"
-msgstr "Наименование детали"
-
-#: part/models.py:2576
-msgid "Part IPN"
-msgstr "IPN"
-
-#: part/models.py:2577
+#: part/models.py:3190
msgid "Part IPN value"
msgstr "Значение IPN"
-#: part/models.py:2580
+#: part/models.py:3193
msgid "Level"
msgstr ""
-#: part/models.py:2581
+#: part/models.py:3194
msgid "BOM level"
msgstr ""
-#: part/models.py:2650
+#: part/models.py:3263
msgid "Select parent part"
msgstr "Выберите родительскую деталь"
-#: part/models.py:2658
+#: part/models.py:3271
msgid "Sub part"
msgstr ""
-#: part/models.py:2659
+#: part/models.py:3272
msgid "Select part to be used in BOM"
msgstr "Выбрать деталь для использования в BOM"
-#: part/models.py:2665
+#: part/models.py:3278
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:2669 part/templates/part/upload_bom.html:58
-#: templates/js/translated/bom.js:924 templates/js/translated/bom.js:1024
+#: part/models.py:3282 part/templates/part/upload_bom.html:58
+#: templates/js/translated/bom.js:933 templates/js/translated/bom.js:986
#: templates/js/translated/build.js:1858
#: templates/js/translated/table_filters.js:84
-#: templates/js/translated/table_filters.js:108
+#: templates/js/translated/table_filters.js:112
msgid "Optional"
msgstr ""
-#: part/models.py:2670
+#: part/models.py:3283
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:2675 templates/js/translated/bom.js:920
-#: templates/js/translated/bom.js:1033 templates/js/translated/build.js:1849
+#: part/models.py:3288 templates/js/translated/bom.js:929
+#: templates/js/translated/bom.js:995 templates/js/translated/build.js:1849
#: templates/js/translated/table_filters.js:88
msgid "Consumable"
msgstr ""
-#: part/models.py:2676
+#: part/models.py:3289
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:2680 part/templates/part/upload_bom.html:55
+#: part/models.py:3293 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:2681
+#: part/models.py:3294
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:2684
+#: part/models.py:3297
msgid "BOM item reference"
msgstr ""
-#: part/models.py:2687
+#: part/models.py:3300
msgid "BOM item notes"
msgstr ""
-#: part/models.py:2689
+#: part/models.py:3302
msgid "Checksum"
msgstr ""
-#: part/models.py:2689
+#: part/models.py:3302
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:2693 part/templates/part/upload_bom.html:57
-#: templates/js/translated/bom.js:1050
+#: part/models.py:3306 part/templates/part/upload_bom.html:57
+#: templates/js/translated/bom.js:1012
#: templates/js/translated/table_filters.js:76
-#: templates/js/translated/table_filters.js:104
+#: templates/js/translated/table_filters.js:108
msgid "Inherited"
msgstr ""
-#: part/models.py:2694
+#: part/models.py:3307
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:2699 part/templates/part/upload_bom.html:56
-#: templates/js/translated/bom.js:1042
+#: part/models.py:3312 part/templates/part/upload_bom.html:56
+#: templates/js/translated/bom.js:1004
msgid "Allow Variants"
msgstr "Разрешить разновидности"
-#: part/models.py:2700
+#: part/models.py:3313
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:2786 stock/models.py:502
+#: part/models.py:3399 stock/models.py:518
msgid "Quantity must be integer value for trackable parts"
msgstr "Для отслеживаемых деталей количество должно быть целым числом"
-#: part/models.py:2795 part/models.py:2797
+#: part/models.py:3408 part/models.py:3410
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:2902
+#: part/models.py:3537
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:2923
+#: part/models.py:3558
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:2936
+#: part/models.py:3571
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:2944
+#: part/models.py:3579
msgid "Substitute part"
msgstr ""
-#: part/models.py:2959
+#: part/models.py:3594
msgid "Part 1"
msgstr "Часть 1"
-#: part/models.py:2963
+#: part/models.py:3598
msgid "Part 2"
msgstr "Часть 2"
-#: part/models.py:2963
+#: part/models.py:3598
msgid "Select Related Part"
msgstr ""
-#: part/models.py:2981
+#: part/models.py:3616
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:2985
+#: part/models.py:3620
msgid "Duplicate relationship already exists"
msgstr ""
-#: part/serializers.py:154 part/serializers.py:185 stock/serializers.py:179
+#: part/serializers.py:154 part/serializers.py:182 stock/serializers.py:183
msgid "Purchase currency of this stock item"
msgstr "Валюта покупки этой единицы хранения"
-#: part/serializers.py:829
+#: part/serializers.py:542
+msgid "Update"
+msgstr ""
+
+#: part/serializers.py:543
+msgid "Update pricing for this part"
+msgstr ""
+
+#: part/serializers.py:853
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:837
+#: part/serializers.py:861
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:838
+#: part/serializers.py:862
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:843
+#: part/serializers.py:867
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:844
+#: part/serializers.py:868
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:849
+#: part/serializers.py:873
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:850
+#: part/serializers.py:874
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:855
+#: part/serializers.py:879
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:856
+#: part/serializers.py:880
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/serializers.py:896
+#: part/serializers.py:920
msgid "Clear Existing BOM"
msgstr ""
-#: part/serializers.py:897
+#: part/serializers.py:921
msgid "Delete existing BOM items before uploading"
msgstr ""
-#: part/serializers.py:927
+#: part/serializers.py:951
msgid "No part column specified"
msgstr ""
-#: part/serializers.py:970
+#: part/serializers.py:994
msgid "Multiple matching parts found"
msgstr ""
-#: part/serializers.py:973
+#: part/serializers.py:997
msgid "No matching part found"
msgstr "Подходящая деталь не найдена"
-#: part/serializers.py:976
+#: part/serializers.py:1000
msgid "Part is not designated as a component"
msgstr ""
-#: part/serializers.py:985
+#: part/serializers.py:1009
msgid "Quantity not provided"
msgstr ""
-#: part/serializers.py:993
+#: part/serializers.py:1017
msgid "Invalid quantity"
msgstr ""
-#: part/serializers.py:1014
+#: part/serializers.py:1038
msgid "At least one BOM item is required"
msgstr ""
-#: part/tasks.py:21
+#: part/tasks.py:25
msgid "Low stock notification"
msgstr ""
-#: part/tasks.py:22
+#: part/tasks.py:26
#, python-brace-format
msgid "The available stock for {part.name} has fallen below the configured minimum level"
msgstr ""
@@ -5034,7 +5293,7 @@ msgstr ""
msgid "The BOM for %(part)s has not been validated."
msgstr ""
-#: part/templates/part/bom.html:30 part/templates/part/detail.html:269
+#: part/templates/part/bom.html:30 part/templates/part/detail.html:267
msgid "BOM actions"
msgstr "Действия с BOM"
@@ -5070,10 +5329,6 @@ msgstr "Удалить категорию"
msgid "Delete Category"
msgstr "Удалить категорию"
-#: part/templates/part/category.html:81 part/templates/part/category.html:94
-msgid "Category Path"
-msgstr "Путь к категории"
-
#: part/templates/part/category.html:95
msgid "Top level part category"
msgstr ""
@@ -5091,12 +5346,12 @@ msgstr "Детали (включая подкатегории)"
msgid "Create new part"
msgstr "Создать новую деталь"
-#: part/templates/part/category.html:159 templates/js/translated/bom.js:392
+#: part/templates/part/category.html:159 templates/js/translated/bom.js:405
msgid "New Part"
msgstr "Новая деталь"
-#: part/templates/part/category.html:169 part/templates/part/detail.html:368
-#: part/templates/part/detail.html:399
+#: part/templates/part/category.html:169 part/templates/part/detail.html:366
+#: part/templates/part/detail.html:397
msgid "Options"
msgstr "Настройки"
@@ -5144,7 +5399,7 @@ msgstr "Деталь создана успешно"
msgid "Import Parts"
msgstr "Импортировать детали"
-#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:379
+#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:393
msgid "Duplicate Part"
msgstr "Дублировать деталь"
@@ -5176,7 +5431,8 @@ msgstr "Наличие на складе"
msgid "Refresh scheduling data"
msgstr ""
-#: part/templates/part/detail.html:45 templates/js/translated/tables.js:524
+#: part/templates/part/detail.html:45 part/templates/part/prices.html:15
+#: templates/js/translated/tables.js:524
msgid "Refresh"
msgstr "Обновить"
@@ -5192,123 +5448,103 @@ msgstr ""
msgid "Sales Order Allocations"
msgstr ""
-#: part/templates/part/detail.html:143
+#: part/templates/part/detail.html:141
msgid "Part Notes"
msgstr ""
-#: part/templates/part/detail.html:158
+#: part/templates/part/detail.html:156
msgid "Part Variants"
msgstr "Разновидности детали"
-#: part/templates/part/detail.html:162
+#: part/templates/part/detail.html:160
msgid "Create new variant"
msgstr "Создать новую разновидность"
-#: part/templates/part/detail.html:163
+#: part/templates/part/detail.html:161
msgid "New Variant"
msgstr "Новая разновидность"
-#: part/templates/part/detail.html:190
+#: part/templates/part/detail.html:188
msgid "Add new parameter"
msgstr ""
-#: part/templates/part/detail.html:227 part/templates/part/part_sidebar.html:54
+#: part/templates/part/detail.html:225 part/templates/part/part_sidebar.html:52
msgid "Related Parts"
msgstr ""
-#: part/templates/part/detail.html:231 part/templates/part/detail.html:232
+#: part/templates/part/detail.html:229 part/templates/part/detail.html:230
msgid "Add Related"
msgstr ""
-#: part/templates/part/detail.html:252 part/templates/part/part_sidebar.html:17
+#: part/templates/part/detail.html:250 part/templates/part/part_sidebar.html:17
msgid "Bill of Materials"
msgstr "Спецификация"
-#: part/templates/part/detail.html:257
+#: part/templates/part/detail.html:255
msgid "Export actions"
msgstr "Экспорт"
-#: part/templates/part/detail.html:261 templates/js/translated/bom.js:309
+#: part/templates/part/detail.html:259 templates/js/translated/bom.js:309
msgid "Export BOM"
msgstr "Экспорт BOM"
-#: part/templates/part/detail.html:263
+#: part/templates/part/detail.html:261
msgid "Print BOM Report"
msgstr ""
-#: part/templates/part/detail.html:273
+#: part/templates/part/detail.html:271
msgid "Upload BOM"
msgstr ""
-#: part/templates/part/detail.html:274 templates/js/translated/part.js:274
+#: part/templates/part/detail.html:272 templates/js/translated/part.js:270
msgid "Copy BOM"
msgstr ""
-#: part/templates/part/detail.html:275
+#: part/templates/part/detail.html:273
msgid "Validate BOM"
msgstr ""
-#: part/templates/part/detail.html:280 part/templates/part/detail.html:281
-#: templates/js/translated/bom.js:1202 templates/js/translated/bom.js:1203
+#: part/templates/part/detail.html:278 part/templates/part/detail.html:279
+#: templates/js/translated/bom.js:1267 templates/js/translated/bom.js:1268
msgid "Add BOM Item"
msgstr ""
-#: part/templates/part/detail.html:294
+#: part/templates/part/detail.html:292
msgid "Assemblies"
msgstr "Сборки"
-#: part/templates/part/detail.html:312
+#: part/templates/part/detail.html:310
msgid "Part Builds"
msgstr ""
-#: part/templates/part/detail.html:339 stock/templates/stock/item.html:38
+#: part/templates/part/detail.html:337 stock/templates/stock/item.html:38
msgid "Build Order Allocations"
msgstr ""
-#: part/templates/part/detail.html:355
+#: part/templates/part/detail.html:353
msgid "Part Suppliers"
msgstr "Поставщики"
-#: part/templates/part/detail.html:385
+#: part/templates/part/detail.html:383
msgid "Part Manufacturers"
msgstr ""
-#: part/templates/part/detail.html:401
+#: part/templates/part/detail.html:399
msgid "Delete manufacturer parts"
msgstr ""
-#: part/templates/part/detail.html:658
+#: part/templates/part/detail.html:656
msgid "Related Part"
msgstr ""
-#: part/templates/part/detail.html:666
+#: part/templates/part/detail.html:664
msgid "Add Related Part"
msgstr ""
-#: part/templates/part/detail.html:758
+#: part/templates/part/detail.html:756
msgid "Add Test Result Template"
msgstr ""
-#: part/templates/part/detail.html:901
-#, python-format
-msgid "Purchase Unit Price - %(currency)s"
-msgstr ""
-
-#: part/templates/part/detail.html:913
-#, python-format
-msgid "Unit Price-Cost Difference - %(currency)s"
-msgstr ""
-
-#: part/templates/part/detail.html:925
-#, python-format
-msgid "Supplier Unit Cost - %(currency)s"
-msgstr ""
-
-#: part/templates/part/detail.html:1014
-#, python-format
-msgid "Unit Price - %(currency)s"
-msgstr ""
-
#: part/templates/part/import_wizard/ajax_match_fields.html:9
#: templates/patterns/wizard/match_fields.html:8
msgid "Missing selections for the following required columns"
@@ -5439,15 +5675,15 @@ msgid "Part is virtual (not a physical part)"
msgstr ""
#: part/templates/part/part_base.html:148
-#: templates/js/translated/company.js:659
-#: templates/js/translated/company.js:920
+#: templates/js/translated/company.js:660
+#: templates/js/translated/company.js:921
#: templates/js/translated/model_renderers.js:204
-#: templates/js/translated/part.js:652 templates/js/translated/part.js:729
+#: templates/js/translated/part.js:666 templates/js/translated/part.js:743
msgid "Inactive"
msgstr ""
#: part/templates/part/part_base.html:165
-#: part/templates/part/part_base.html:620
+#: part/templates/part/part_base.html:635
msgid "Show Part Details"
msgstr ""
@@ -5456,12 +5692,6 @@ msgstr ""
msgid "This part is a variant of %(link)s"
msgstr "Эта деталь является разновидностью %(link)s"
-#: part/templates/part/part_base.html:200
-#: templates/js/translated/company.js:1027
-#: templates/js/translated/table_filters.js:209
-msgid "In Stock"
-msgstr "На складе"
-
#: part/templates/part/part_base.html:221
#: stock/templates/stock/item_base.html:382
msgid "Allocated to Build Orders"
@@ -5472,100 +5702,91 @@ msgstr ""
msgid "Allocated to Sales Orders"
msgstr ""
-#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1100
+#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1165
msgid "Can Build"
msgstr ""
-#: part/templates/part/part_base.html:244 templates/js/translated/part.js:591
-#: templates/js/translated/part.js:611 templates/js/translated/part.js:1342
-#: templates/js/translated/part.js:1533
-msgid "Building"
-msgstr ""
-
#: part/templates/part/part_base.html:293
msgid "Minimum stock level"
msgstr "Минимальный складской запас"
-#: part/templates/part/part_base.html:330
+#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1032
+#: templates/js/translated/part.js:783 templates/js/translated/part.js:1582
+#: templates/js/translated/pricing.js:124
+#: templates/js/translated/pricing.js:757
+msgid "Price Range"
+msgstr ""
+
+#: part/templates/part/part_base.html:345
msgid "Latest Serial Number"
msgstr ""
-#: part/templates/part/part_base.html:334
+#: part/templates/part/part_base.html:349
#: stock/templates/stock/item_base.html:331
msgid "Search for serial number"
msgstr ""
-#: part/templates/part/part_base.html:431
+#: part/templates/part/part_base.html:446
msgid "Link Barcode to Part"
msgstr ""
-#: part/templates/part/part_base.html:477 part/templates/part/prices.html:149
+#: part/templates/part/part_base.html:492
msgid "Calculate"
msgstr ""
-#: part/templates/part/part_base.html:520
+#: part/templates/part/part_base.html:535
msgid "No matching images found"
msgstr "Подходящие изображения не найдены"
-#: part/templates/part/part_base.html:614
+#: part/templates/part/part_base.html:629
msgid "Hide Part Details"
msgstr ""
-#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:24
+#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:78
+#: part/templates/part/prices.html:238 templates/js/translated/pricing.js:218
msgid "Supplier Pricing"
msgstr ""
#: part/templates/part/part_pricing.html:26
#: part/templates/part/part_pricing.html:52
-#: part/templates/part/part_pricing.html:103
-#: part/templates/part/part_pricing.html:118 part/templates/part/prices.html:28
-#: part/templates/part/prices.html:55 part/templates/part/prices.html:108
-#: part/templates/part/prices.html:125
+#: part/templates/part/part_pricing.html:95
+#: part/templates/part/part_pricing.html:110
msgid "Unit Cost"
msgstr ""
#: part/templates/part/part_pricing.html:32
#: part/templates/part/part_pricing.html:58
-#: part/templates/part/part_pricing.html:107
-#: part/templates/part/part_pricing.html:122 part/templates/part/prices.html:35
-#: part/templates/part/prices.html:62 part/templates/part/prices.html:113
-#: part/templates/part/prices.html:130
+#: part/templates/part/part_pricing.html:99
+#: part/templates/part/part_pricing.html:114
msgid "Total Cost"
msgstr ""
-#: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:43
-#: templates/js/translated/bom.js:1091
+#: part/templates/part/part_pricing.html:40
msgid "No supplier pricing available"
msgstr ""
-#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:52
-#: part/templates/part/prices.html:248
+#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:94
+#: part/templates/part/prices.html:262
msgid "BOM Pricing"
msgstr ""
-#: part/templates/part/part_pricing.html:66 part/templates/part/prices.html:72
+#: part/templates/part/part_pricing.html:66
msgid "Unit Purchase Price"
msgstr ""
-#: part/templates/part/part_pricing.html:72 part/templates/part/prices.html:79
+#: part/templates/part/part_pricing.html:72
msgid "Total Purchase Price"
msgstr ""
-#: part/templates/part/part_pricing.html:82 part/templates/part/prices.html:89
-msgid "Note: BOM pricing is incomplete for this part"
-msgstr ""
-
-#: part/templates/part/part_pricing.html:91 part/templates/part/prices.html:98
+#: part/templates/part/part_pricing.html:83
msgid "No BOM pricing available"
msgstr ""
-#: part/templates/part/part_pricing.html:100
-#: part/templates/part/prices.html:107
+#: part/templates/part/part_pricing.html:92
msgid "Internal Price"
msgstr "Внутренняя цена"
-#: part/templates/part/part_pricing.html:131
-#: part/templates/part/prices.html:139
+#: part/templates/part/part_pricing.html:123
msgid "No pricing information is available for this part."
msgstr ""
@@ -5573,7 +5794,8 @@ msgstr ""
#: report/templates/report/inventree_test_report_base.html:97
#: templates/InvenTree/settings/plugin.html:63
#: templates/InvenTree/settings/plugin_settings.html:38
-#: templates/js/translated/order.js:2001 templates/js/translated/stock.js:2478
+#: templates/js/translated/order.js:2035 templates/js/translated/pricing.js:537
+#: templates/js/translated/pricing.js:658 templates/js/translated/stock.js:2496
msgid "Date"
msgstr ""
@@ -5585,15 +5807,11 @@ msgstr ""
msgid "Variants"
msgstr "Разновидности"
-#: part/templates/part/part_sidebar.html:27
-msgid "Used In"
-msgstr "Сборки"
-
-#: part/templates/part/part_sidebar.html:46
+#: part/templates/part/part_sidebar.html:44
msgid "Scheduling"
msgstr ""
-#: part/templates/part/part_sidebar.html:50
+#: part/templates/part/part_sidebar.html:48
msgid "Test Templates"
msgstr ""
@@ -5601,74 +5819,82 @@ msgstr ""
msgid "Select from existing images"
msgstr ""
-#: part/templates/part/prices.html:19
-msgid "Pricing ranges"
+#: part/templates/part/prices.html:11
+msgid "Pricing Overview"
msgstr ""
-#: part/templates/part/prices.html:25
-msgid "Show supplier cost"
+#: part/templates/part/prices.html:14
+msgid "Refresh Part Pricing"
msgstr ""
-#: part/templates/part/prices.html:26
-msgid "Show purchase price"
-msgstr "Показать закупочную цену"
-
-#: part/templates/part/prices.html:53
-msgid "Show BOM cost"
+#: part/templates/part/prices.html:25 stock/admin.py:106
+#: stock/templates/stock/item_base.html:440
+#: templates/js/translated/company.js:1039
+#: templates/js/translated/stock.js:1920
+msgid "Last Updated"
msgstr ""
-#: part/templates/part/prices.html:122
-msgid "Show sale cost"
+#: part/templates/part/prices.html:34 part/templates/part/prices.html:126
+msgid "Price Category"
msgstr ""
-#: part/templates/part/prices.html:123
-msgid "Show sale price"
+#: part/templates/part/prices.html:35 part/templates/part/prices.html:127
+msgid "Minimum"
msgstr ""
-#: part/templates/part/prices.html:145
-msgid "Calculation parameters"
+#: part/templates/part/prices.html:36 part/templates/part/prices.html:128
+msgid "Maximum"
msgstr ""
-#: part/templates/part/prices.html:160 templates/js/translated/bom.js:1085
-msgid "Supplier Cost"
+#: part/templates/part/prices.html:49 part/templates/part/prices.html:185
+msgid "Internal Pricing"
msgstr ""
-#: part/templates/part/prices.html:161 part/templates/part/prices.html:182
-#: part/templates/part/prices.html:206 part/templates/part/prices.html:236
-#: part/templates/part/prices.html:262 part/templates/part/prices.html:291
+#: part/templates/part/prices.html:64 part/templates/part/prices.html:217
+msgid "Purchase History"
+msgstr ""
+
+#: part/templates/part/prices.html:103 part/templates/part/prices.html:286
+msgid "Variant Pricing"
+msgstr ""
+
+#: part/templates/part/prices.html:111
+msgid "Overall Pricing"
+msgstr ""
+
+#: part/templates/part/prices.html:155 part/templates/part/prices.html:338
+msgid "Sale History"
+msgstr ""
+
+#: part/templates/part/prices.html:168
+msgid "Sale price data is not available for this part"
+msgstr ""
+
+#: part/templates/part/prices.html:175
+msgid "Price range data is not available for this part."
+msgstr ""
+
+#: part/templates/part/prices.html:186 part/templates/part/prices.html:218
+#: part/templates/part/prices.html:239 part/templates/part/prices.html:263
+#: part/templates/part/prices.html:287 part/templates/part/prices.html:310
+#: part/templates/part/prices.html:339
msgid "Jump to overview"
msgstr ""
-#: part/templates/part/prices.html:186
-msgid "Stock Pricing"
-msgstr ""
-
-#: part/templates/part/prices.html:195
-msgid "No stock pricing history is available for this part."
-msgstr ""
-
-#: part/templates/part/prices.html:205
-msgid "Internal Cost"
-msgstr ""
-
-#: part/templates/part/prices.html:220
+#: part/templates/part/prices.html:191
msgid "Add Internal Price Break"
msgstr ""
-#: part/templates/part/prices.html:235
-msgid "BOM Cost"
+#: part/templates/part/prices.html:309
+msgid "Sale Pricing"
msgstr ""
-#: part/templates/part/prices.html:261
-msgid "Sale Cost"
+#: part/templates/part/prices.html:315
+msgid "Add Sell Price Break"
msgstr ""
-#: part/templates/part/prices.html:302
-msgid "No sale pice history available for this part."
-msgstr ""
-
-#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:614
-#: templates/js/translated/part.js:1330 templates/js/translated/part.js:1332
+#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:628
+#: templates/js/translated/part.js:1351 templates/js/translated/part.js:1353
msgid "No Stock"
msgstr ""
@@ -5722,40 +5948,36 @@ msgstr "Создать новую разновидность детали"
msgid "Create a new variant of template '%(full_name)s'."
msgstr "Создать новую разновидность из шаблона '%(full_name)s'."
-#: part/templatetags/inventree_extras.py:177
+#: part/templatetags/inventree_extras.py:210
msgid "Unknown database"
msgstr "Неизвестная база данных"
-#: part/templatetags/inventree_extras.py:229
+#: part/templatetags/inventree_extras.py:262
#, python-brace-format
msgid "{title} v{version}"
msgstr ""
-#: part/views.py:114
+#: part/views.py:109
msgid "Match References"
msgstr ""
-#: part/views.py:415
-msgid "None"
-msgstr ""
-
-#: part/views.py:477
+#: part/views.py:354
msgid "Part QR Code"
msgstr ""
-#: part/views.py:495
+#: part/views.py:372
msgid "Select Part Image"
msgstr ""
-#: part/views.py:521
+#: part/views.py:398
msgid "Updated part image"
msgstr ""
-#: part/views.py:524
+#: part/views.py:401
msgid "Part image not found"
msgstr "Изображение детали не найдено"
-#: part/views.py:613
+#: part/views.py:493
msgid "Part Pricing"
msgstr ""
@@ -6070,12 +6292,12 @@ msgid "Stock Item Test Report"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:79
-#: stock/models.py:650 stock/templates/stock/item_base.html:320
+#: stock/models.py:666 stock/templates/stock/item_base.html:320
#: templates/js/translated/build.js:472 templates/js/translated/build.js:624
#: templates/js/translated/build.js:1234 templates/js/translated/build.js:1735
#: templates/js/translated/model_renderers.js:118
-#: templates/js/translated/order.js:121 templates/js/translated/order.js:3592
-#: templates/js/translated/order.js:3679 templates/js/translated/stock.js:490
+#: templates/js/translated/order.js:121 templates/js/translated/order.js:3603
+#: templates/js/translated/order.js:3690 templates/js/translated/stock.js:509
msgid "Serial Number"
msgstr "Серийный номер"
@@ -6084,12 +6306,12 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:93
-#: stock/models.py:2085
+#: stock/models.py:2101
msgid "Test"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:94
-#: stock/models.py:2091
+#: stock/models.py:2107
msgid "Result"
msgstr ""
@@ -6107,383 +6329,435 @@ msgid "Installed Items"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:137
-#: templates/js/translated/stock.js:610 templates/js/translated/stock.js:780
-#: templates/js/translated/stock.js:2727
+#: stock/admin.py:87 templates/js/translated/stock.js:629
+#: templates/js/translated/stock.js:799 templates/js/translated/stock.js:2745
msgid "Serial"
msgstr ""
-#: stock/api.py:529
+#: stock/admin.py:23 stock/admin.py:90
+#: templates/js/translated/model_renderers.js:159
+msgid "Location ID"
+msgstr "Код места хранения"
+
+#: stock/admin.py:24 stock/admin.py:91
+msgid "Location Name"
+msgstr ""
+
+#: stock/admin.py:28 stock/templates/stock/location.html:123
+#: stock/templates/stock/location.html:129
+msgid "Location Path"
+msgstr ""
+
+#: stock/admin.py:83
+msgid "Stock Item ID"
+msgstr ""
+
+#: stock/admin.py:92 templates/js/translated/model_renderers.js:418
+msgid "Supplier Part ID"
+msgstr "Код детали поставщика"
+
+#: stock/admin.py:93
+msgid "Supplier ID"
+msgstr ""
+
+#: stock/admin.py:94
+msgid "Supplier Name"
+msgstr ""
+
+#: stock/admin.py:95
+msgid "Customer ID"
+msgstr ""
+
+#: stock/admin.py:96 stock/models.py:649
+#: stock/templates/stock/item_base.html:359
+msgid "Installed In"
+msgstr ""
+
+#: stock/admin.py:97 templates/js/translated/model_renderers.js:177
+msgid "Build ID"
+msgstr "Код сборки"
+
+#: stock/admin.py:99
+msgid "Sales Order ID"
+msgstr ""
+
+#: stock/admin.py:100
+msgid "Purchase Order ID"
+msgstr ""
+
+#: stock/admin.py:107 templates/js/translated/stock.js:1890
+msgid "Stocktake"
+msgstr ""
+
+#: stock/admin.py:108 stock/models.py:724
+#: stock/templates/stock/item_base.html:427
+#: templates/js/translated/stock.js:1904
+msgid "Expiry Date"
+msgstr ""
+
+#: stock/api.py:539
msgid "Quantity is required"
msgstr ""
-#: stock/api.py:536
+#: stock/api.py:546
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:561
+#: stock/api.py:571
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/models.py:90 stock/models.py:746
+#: stock/models.py:106 stock/models.py:762
#: stock/templates/stock/item_base.html:250
msgid "Owner"
msgstr ""
-#: stock/models.py:91 stock/models.py:747
+#: stock/models.py:107 stock/models.py:763
msgid "Select Owner"
msgstr ""
-#: stock/models.py:508 stock/serializers.py:93
+#: stock/models.py:524 stock/serializers.py:97
msgid "Stock item cannot be created for virtual parts"
msgstr ""
-#: stock/models.py:525
+#: stock/models.py:541
#, python-brace-format
msgid "Part type ('{pf}') must be {pe}"
msgstr ""
-#: stock/models.py:535 stock/models.py:544
+#: stock/models.py:551 stock/models.py:560
msgid "Quantity must be 1 for item with a serial number"
msgstr ""
-#: stock/models.py:536
+#: stock/models.py:552
msgid "Serial number cannot be set if quantity greater than 1"
msgstr ""
-#: stock/models.py:558
+#: stock/models.py:574
msgid "Item cannot belong to itself"
msgstr ""
-#: stock/models.py:564
+#: stock/models.py:580
msgid "Item must have a build reference if is_building=True"
msgstr ""
-#: stock/models.py:578
+#: stock/models.py:594
msgid "Build reference does not point to the same part object"
msgstr ""
-#: stock/models.py:592
+#: stock/models.py:608
msgid "Parent Stock Item"
msgstr "Родительская единица хранения"
-#: stock/models.py:602
+#: stock/models.py:618
msgid "Base part"
msgstr "Базовая деталь"
-#: stock/models.py:610
+#: stock/models.py:626
msgid "Select a matching supplier part for this stock item"
msgstr ""
-#: stock/models.py:617 stock/templates/stock/location.html:17
+#: stock/models.py:633 stock/templates/stock/location.html:17
#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
msgstr "Место хранения"
-#: stock/models.py:620
+#: stock/models.py:636
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:627
+#: stock/models.py:643
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:633 stock/templates/stock/item_base.html:359
-msgid "Installed In"
-msgstr ""
-
-#: stock/models.py:636
+#: stock/models.py:652
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:652
+#: stock/models.py:668
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:666
+#: stock/models.py:682
msgid "Batch code for this stock item"
msgstr "Код партии для этой единицы хранения"
-#: stock/models.py:671
+#: stock/models.py:687
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:680
+#: stock/models.py:696
msgid "Source Build"
msgstr "Исходная сборка"
-#: stock/models.py:682
+#: stock/models.py:698
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:693
+#: stock/models.py:709
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:696
+#: stock/models.py:712
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:702
+#: stock/models.py:718
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:708 stock/templates/stock/item_base.html:427
-#: templates/js/translated/stock.js:1885
-msgid "Expiry Date"
-msgstr ""
-
-#: stock/models.py:709
+#: stock/models.py:725
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:722
+#: stock/models.py:738
msgid "Delete on deplete"
msgstr "Удалить при обнулении"
-#: stock/models.py:722
+#: stock/models.py:738
msgid "Delete this Stock Item when stock is depleted"
msgstr "Удалить эту единицу хранения при обнулении складского запаса"
-#: stock/models.py:734 stock/templates/stock/item.html:132
+#: stock/models.py:750 stock/templates/stock/item.html:132
msgid "Stock Item Notes"
msgstr "Заметки о единице хранения"
-#: stock/models.py:742
+#: stock/models.py:758
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:770
+#: stock/models.py:786
msgid "Converted to part"
msgstr ""
-#: stock/models.py:1244
+#: stock/models.py:1260
msgid "Part is not set as trackable"
msgstr "Деталь не является отслеживаемой"
-#: stock/models.py:1250
+#: stock/models.py:1266
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1256
+#: stock/models.py:1272
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr ""
-#: stock/models.py:1259
+#: stock/models.py:1275
msgid "Serial numbers must be a list of integers"
msgstr ""
-#: stock/models.py:1262
+#: stock/models.py:1278
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1269
+#: stock/models.py:1285
#, python-brace-format
msgid "Serial numbers already exist: {exists}"
msgstr ""
-#: stock/models.py:1339
+#: stock/models.py:1355
msgid "Stock item has been assigned to a sales order"
msgstr ""
-#: stock/models.py:1342
+#: stock/models.py:1358
msgid "Stock item is installed in another item"
msgstr ""
-#: stock/models.py:1345
+#: stock/models.py:1361
msgid "Stock item contains other items"
msgstr ""
-#: stock/models.py:1348
+#: stock/models.py:1364
msgid "Stock item has been assigned to a customer"
msgstr ""
-#: stock/models.py:1351
+#: stock/models.py:1367
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:1354
+#: stock/models.py:1370
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1361 stock/serializers.py:963
+#: stock/models.py:1377 stock/serializers.py:962
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:1365
+#: stock/models.py:1381
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:1369
+#: stock/models.py:1385
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:1373
+#: stock/models.py:1389
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:1542
+#: stock/models.py:1558
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:2003
+#: stock/models.py:2019
msgid "Entry notes"
msgstr ""
-#: stock/models.py:2061
+#: stock/models.py:2077
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:2067
+#: stock/models.py:2083
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:2086
+#: stock/models.py:2102
msgid "Test name"
msgstr ""
-#: stock/models.py:2092
+#: stock/models.py:2108
msgid "Test result"
msgstr ""
-#: stock/models.py:2098
+#: stock/models.py:2114
msgid "Test output value"
msgstr ""
-#: stock/models.py:2105
+#: stock/models.py:2121
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2111
+#: stock/models.py:2127
msgid "Test notes"
msgstr ""
-#: stock/serializers.py:71
+#: stock/serializers.py:75
msgid "Serial number is too large"
msgstr ""
-#: stock/serializers.py:172
+#: stock/serializers.py:176
msgid "Purchase price of this stock item"
msgstr ""
-#: stock/serializers.py:292
+#: stock/serializers.py:286
msgid "Enter number of stock items to serialize"
msgstr ""
-#: stock/serializers.py:304
+#: stock/serializers.py:298
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({q})"
msgstr ""
-#: stock/serializers.py:310
+#: stock/serializers.py:304
msgid "Enter serial numbers for new items"
msgstr ""
-#: stock/serializers.py:321 stock/serializers.py:920 stock/serializers.py:1153
+#: stock/serializers.py:315 stock/serializers.py:919 stock/serializers.py:1152
msgid "Destination stock location"
msgstr ""
-#: stock/serializers.py:328
+#: stock/serializers.py:322
msgid "Optional note field"
msgstr ""
-#: stock/serializers.py:338
+#: stock/serializers.py:332
msgid "Serial numbers cannot be assigned to this part"
msgstr ""
-#: stock/serializers.py:359
+#: stock/serializers.py:353
msgid "Serial numbers already exist"
msgstr "Серийные номера уже существуют"
-#: stock/serializers.py:399
+#: stock/serializers.py:393
msgid "Select stock item to install"
msgstr ""
-#: stock/serializers.py:412
+#: stock/serializers.py:406
msgid "Stock item is unavailable"
msgstr ""
-#: stock/serializers.py:419
+#: stock/serializers.py:413
msgid "Selected part is not in the Bill of Materials"
msgstr "Выбранная деталь отсутствует в спецификации"
-#: stock/serializers.py:456
+#: stock/serializers.py:450
msgid "Destination location for uninstalled item"
msgstr ""
-#: stock/serializers.py:461 stock/serializers.py:542
+#: stock/serializers.py:455 stock/serializers.py:536
msgid "Add transaction note (optional)"
msgstr ""
-#: stock/serializers.py:495
+#: stock/serializers.py:489
msgid "Select part to convert stock item into"
msgstr ""
-#: stock/serializers.py:506
+#: stock/serializers.py:500
msgid "Selected part is not a valid option for conversion"
msgstr ""
-#: stock/serializers.py:537
+#: stock/serializers.py:531
msgid "Destination location for returned item"
msgstr ""
-#: stock/serializers.py:775
+#: stock/serializers.py:774
msgid "Part must be salable"
msgstr ""
-#: stock/serializers.py:779
+#: stock/serializers.py:778
msgid "Item is allocated to a sales order"
msgstr ""
-#: stock/serializers.py:783
+#: stock/serializers.py:782
msgid "Item is allocated to a build order"
msgstr ""
-#: stock/serializers.py:814
+#: stock/serializers.py:813
msgid "Customer to assign stock items"
msgstr ""
-#: stock/serializers.py:820
+#: stock/serializers.py:819
msgid "Selected company is not a customer"
msgstr "Выбранная компания не является покупателем"
-#: stock/serializers.py:828
+#: stock/serializers.py:827
msgid "Stock assignment notes"
msgstr ""
-#: stock/serializers.py:838 stock/serializers.py:1069
+#: stock/serializers.py:837 stock/serializers.py:1068
msgid "A list of stock items must be provided"
msgstr ""
-#: stock/serializers.py:927
+#: stock/serializers.py:926
msgid "Stock merging notes"
msgstr ""
-#: stock/serializers.py:932
+#: stock/serializers.py:931
msgid "Allow mismatched suppliers"
msgstr ""
-#: stock/serializers.py:933
+#: stock/serializers.py:932
msgid "Allow stock items with different supplier parts to be merged"
msgstr ""
-#: stock/serializers.py:938
+#: stock/serializers.py:937
msgid "Allow mismatched status"
msgstr ""
-#: stock/serializers.py:939
+#: stock/serializers.py:938
msgid "Allow stock items with different status codes to be merged"
msgstr ""
-#: stock/serializers.py:949
+#: stock/serializers.py:948
msgid "At least two stock items must be provided"
msgstr ""
-#: stock/serializers.py:1031
+#: stock/serializers.py:1030
msgid "StockItem primary key value"
msgstr ""
-#: stock/serializers.py:1059
+#: stock/serializers.py:1058
msgid "Stock transaction notes"
msgstr ""
@@ -6520,7 +6794,7 @@ msgstr ""
msgid "Installed Stock Items"
msgstr "Установленные единицы хранения"
-#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2871
+#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2889
msgid "Install Stock Item"
msgstr "Установить единицу хранения"
@@ -6528,7 +6802,7 @@ msgstr "Установить единицу хранения"
msgid "Delete all test results for this stock item"
msgstr ""
-#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1522
+#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1541
msgid "Add Test Result"
msgstr ""
@@ -6687,7 +6961,7 @@ msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:431
-#: templates/js/translated/table_filters.js:277
+#: templates/js/translated/table_filters.js:281
msgid "Expired"
msgstr ""
@@ -6697,16 +6971,10 @@ msgid "This StockItem expires on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/table_filters.js:283
+#: templates/js/translated/table_filters.js:287
msgid "Stale"
msgstr ""
-#: stock/templates/stock/item_base.html:440
-#: templates/js/translated/company.js:1038
-#: templates/js/translated/stock.js:1901
-msgid "Last Updated"
-msgstr ""
-
#: stock/templates/stock/item_base.html:445
msgid "Last Stocktake"
msgstr ""
@@ -6783,11 +7051,6 @@ msgstr "Редактировать место хранения"
msgid "Delete location"
msgstr "Удалить место хранения"
-#: stock/templates/stock/location.html:123
-#: stock/templates/stock/location.html:129
-msgid "Location Path"
-msgstr ""
-
#: stock/templates/stock/location.html:130
msgid "Top level stock location"
msgstr ""
@@ -6960,6 +7223,14 @@ msgstr ""
msgid "Overdue Sales Orders"
msgstr ""
+#: templates/InvenTree/index.html:312
+msgid "InvenTree News"
+msgstr ""
+
+#: templates/InvenTree/index.html:314
+msgid "Current News"
+msgstr ""
+
#: templates/InvenTree/notifications/history.html:9
msgid "Notification History"
msgstr ""
@@ -7026,30 +7297,6 @@ msgstr "Настройки заказа на сборку"
msgid "Category Settings"
msgstr "Настройки категории"
-#: templates/InvenTree/settings/currencies.html:8
-msgid "Currency Settings"
-msgstr "Настройки валюты"
-
-#: templates/InvenTree/settings/currencies.html:19
-msgid "Base Currency"
-msgstr "Базовая валюта"
-
-#: templates/InvenTree/settings/currencies.html:24
-msgid "Exchange Rates"
-msgstr ""
-
-#: templates/InvenTree/settings/currencies.html:38
-msgid "Last Update"
-msgstr ""
-
-#: templates/InvenTree/settings/currencies.html:44
-msgid "Never"
-msgstr ""
-
-#: templates/InvenTree/settings/currencies.html:49
-msgid "Update Now"
-msgstr ""
-
#: templates/InvenTree/settings/global.html:9
msgid "Server Settings"
msgstr "Настройки сервера"
@@ -7090,15 +7337,15 @@ msgstr "Открыть в новой вкладке"
msgid "Part Settings"
msgstr "Настройки деталей"
-#: templates/InvenTree/settings/part.html:46
+#: templates/InvenTree/settings/part.html:40
msgid "Part Import"
msgstr ""
-#: templates/InvenTree/settings/part.html:50
+#: templates/InvenTree/settings/part.html:44
msgid "Import Part"
msgstr ""
-#: templates/InvenTree/settings/part.html:64
+#: templates/InvenTree/settings/part.html:58
msgid "Part Parameter Templates"
msgstr "Шаблон параметра детали"
@@ -7125,11 +7372,6 @@ msgstr ""
msgid "External plugins are not enabled for this InvenTree installation"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:62
-#: templates/InvenTree/settings/plugin_settings.html:33
-msgid "Author"
-msgstr ""
-
#: templates/InvenTree/settings/plugin.html:64
#: templates/InvenTree/settings/plugin_settings.html:43
msgid "Version"
@@ -7239,6 +7481,39 @@ msgstr ""
msgid "Purchase Order Settings"
msgstr "Настройки заказа на закупку"
+#: templates/InvenTree/settings/pricing.html:7
+msgid "Pricing Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:24
+msgid "Currency Settings"
+msgstr "Настройки валюты"
+
+#: templates/InvenTree/settings/pricing.html:30
+msgid "Update Now"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:39
+#: templates/InvenTree/settings/pricing.html:43
+msgid "Last Update"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:43
+msgid "Never"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:53
+msgid "Base Currency"
+msgstr "Базовая валюта"
+
+#: templates/InvenTree/settings/pricing.html:58
+msgid "Exchange Rates"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:60
+msgid "Rate"
+msgstr ""
+
#: templates/InvenTree/settings/report.html:8
#: templates/InvenTree/settings/user_reports.html:9
msgid "Report Settings"
@@ -7295,6 +7570,7 @@ msgid "No part parameter templates found"
msgstr "Шаблоны параметров детали не найдены"
#: templates/InvenTree/settings/settings.html:338
+#: templates/js/translated/news.js:28
#: templates/js/translated/notification.js:36
msgid "ID"
msgstr "Идентификатор"
@@ -7357,10 +7633,6 @@ msgstr "Глобальные настройки"
msgid "Server Configuration"
msgstr ""
-#: templates/InvenTree/settings/sidebar.html:35
-msgid "Currencies"
-msgstr ""
-
#: templates/InvenTree/settings/sidebar.html:43
msgid "Categories"
msgstr ""
@@ -7380,7 +7652,7 @@ msgid "Change Password"
msgstr ""
#: templates/InvenTree/settings/user.html:23
-#: templates/js/translated/helpers.js:31 templates/notes_buttons.html:3
+#: templates/js/translated/helpers.js:33 templates/notes_buttons.html:3
#: templates/notes_buttons.html:4
msgid "Edit"
msgstr ""
@@ -7890,7 +8162,7 @@ msgid "The following parts are low on required stock"
msgstr ""
#: templates/email/build_order_required_stock.html:18
-#: templates/js/translated/bom.js:1566
+#: templates/js/translated/bom.js:1629
msgid "Required Quantity"
msgstr ""
@@ -7904,7 +8176,7 @@ msgid "Click on the following link to view this part"
msgstr ""
#: templates/email/low_stock_notification.html:19
-#: templates/js/translated/part.js:2566
+#: templates/js/translated/part.js:2423
msgid "Minimum Quantity"
msgstr "Минимальное количество"
@@ -8057,7 +8329,7 @@ msgstr ""
msgid "Unlink"
msgstr ""
-#: templates/js/translated/barcode.js:500 templates/js/translated/stock.js:1054
+#: templates/js/translated/barcode.js:500 templates/js/translated/stock.js:1073
msgid "Remove stock item"
msgstr ""
@@ -8127,10 +8399,10 @@ msgstr ""
msgid "Row Data"
msgstr ""
-#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:646
+#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:659
#: templates/js/translated/modals.js:56 templates/js/translated/modals.js:601
#: templates/js/translated/modals.js:695 templates/js/translated/modals.js:1003
-#: templates/js/translated/order.js:1179 templates/modals.html:15
+#: templates/js/translated/order.js:1213 templates/modals.html:15
#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50
msgid "Close"
msgstr ""
@@ -8140,12 +8412,12 @@ msgid "Download BOM Template"
msgstr "Скачать шаблон BOM"
#: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312
-#: templates/js/translated/order.js:960 templates/js/translated/tables.js:145
+#: templates/js/translated/order.js:994 templates/js/translated/tables.js:145
msgid "Format"
msgstr ""
#: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313
-#: templates/js/translated/order.js:961
+#: templates/js/translated/order.js:995
msgid "Select file format"
msgstr ""
@@ -8197,118 +8469,130 @@ msgstr ""
msgid "Include part supplier data in exported BOM"
msgstr ""
-#: templates/js/translated/bom.js:537
+#: templates/js/translated/bom.js:358
+msgid "Include Pricing Data"
+msgstr ""
+
+#: templates/js/translated/bom.js:359
+msgid "Include part pricing data in exported BOM"
+msgstr ""
+
+#: templates/js/translated/bom.js:550
msgid "Remove substitute part"
msgstr ""
-#: templates/js/translated/bom.js:591
+#: templates/js/translated/bom.js:604
msgid "Select and add a new substitute part using the input below"
msgstr ""
-#: templates/js/translated/bom.js:602
+#: templates/js/translated/bom.js:615
msgid "Are you sure you wish to remove this substitute part link?"
msgstr ""
-#: templates/js/translated/bom.js:608
+#: templates/js/translated/bom.js:621
msgid "Remove Substitute Part"
msgstr ""
-#: templates/js/translated/bom.js:647
+#: templates/js/translated/bom.js:660
msgid "Add Substitute"
msgstr ""
-#: templates/js/translated/bom.js:648
+#: templates/js/translated/bom.js:661
msgid "Edit BOM Item Substitutes"
msgstr ""
-#: templates/js/translated/bom.js:710
+#: templates/js/translated/bom.js:723
msgid "All selected BOM items will be deleted"
msgstr ""
-#: templates/js/translated/bom.js:726
+#: templates/js/translated/bom.js:739
msgid "Delete selected BOM items?"
msgstr ""
-#: templates/js/translated/bom.js:860
+#: templates/js/translated/bom.js:868
msgid "Load BOM for subassembly"
msgstr ""
-#: templates/js/translated/bom.js:870
+#: templates/js/translated/bom.js:878
msgid "Substitutes Available"
msgstr ""
-#: templates/js/translated/bom.js:874 templates/js/translated/build.js:1835
+#: templates/js/translated/bom.js:882 templates/js/translated/build.js:1835
msgid "Variant stock allowed"
msgstr ""
-#: templates/js/translated/bom.js:983 templates/js/translated/build.js:1907
-#: templates/js/translated/order.js:3927
-msgid "No Stock Available"
-msgstr ""
-
-#: templates/js/translated/bom.js:988 templates/js/translated/build.js:1911
-msgid "Includes variant and substitute stock"
-msgstr ""
-
-#: templates/js/translated/bom.js:990 templates/js/translated/build.js:1913
-#: templates/js/translated/part.js:761 templates/js/translated/part.js:1539
-msgid "Includes variant stock"
-msgstr ""
-
-#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1915
-msgid "Includes substitute stock"
-msgstr ""
-
-#: templates/js/translated/bom.js:1010
+#: templates/js/translated/bom.js:972
msgid "Substitutes"
msgstr ""
-#: templates/js/translated/bom.js:1061 templates/js/translated/bom.js:1195
+#: templates/js/translated/bom.js:1023 templates/js/translated/bom.js:1260
msgid "View BOM"
msgstr ""
-#: templates/js/translated/bom.js:1071
-msgid "Purchase Price Range"
+#: templates/js/translated/bom.js:1094
+msgid "BOM pricing is complete"
msgstr ""
-#: templates/js/translated/bom.js:1078
-msgid "Purchase Price Average"
+#: templates/js/translated/bom.js:1099
+msgid "BOM pricing is incomplete"
msgstr ""
-#: templates/js/translated/bom.js:1106 templates/js/translated/build.js:1898
+#: templates/js/translated/bom.js:1106
+msgid "No pricing available"
+msgstr ""
+
+#: templates/js/translated/bom.js:1137 templates/js/translated/build.js:1907
+#: templates/js/translated/order.js:3924
+msgid "No Stock Available"
+msgstr ""
+
+#: templates/js/translated/bom.js:1142 templates/js/translated/build.js:1911
+msgid "Includes variant and substitute stock"
+msgstr ""
+
+#: templates/js/translated/bom.js:1144 templates/js/translated/build.js:1913
+#: templates/js/translated/part.js:775 templates/js/translated/part.js:1550
+msgid "Includes variant stock"
+msgstr ""
+
+#: templates/js/translated/bom.js:1146 templates/js/translated/build.js:1915
+msgid "Includes substitute stock"
+msgstr ""
+
+#: templates/js/translated/bom.js:1171 templates/js/translated/build.js:1898
#: templates/js/translated/build.js:1985
msgid "Consumable item"
msgstr ""
-#: templates/js/translated/bom.js:1166
+#: templates/js/translated/bom.js:1231
msgid "Validate BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1168
+#: templates/js/translated/bom.js:1233
msgid "This line has been validated"
msgstr ""
-#: templates/js/translated/bom.js:1170
+#: templates/js/translated/bom.js:1235
msgid "Edit substitute parts"
msgstr ""
-#: templates/js/translated/bom.js:1172 templates/js/translated/bom.js:1369
+#: templates/js/translated/bom.js:1237 templates/js/translated/bom.js:1433
msgid "Edit BOM Item"
msgstr "Редактировать элемент BOM"
-#: templates/js/translated/bom.js:1174
+#: templates/js/translated/bom.js:1239
msgid "Delete BOM Item"
msgstr "Удалить элемент BOM"
-#: templates/js/translated/bom.js:1280 templates/js/translated/build.js:1679
+#: templates/js/translated/bom.js:1344 templates/js/translated/build.js:1679
msgid "No BOM items found"
msgstr "Элементы BOM не найдены"
-#: templates/js/translated/bom.js:1549 templates/js/translated/build.js:1818
+#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1818
msgid "Required Part"
msgstr ""
-#: templates/js/translated/bom.js:1575
+#: templates/js/translated/bom.js:1638
msgid "Inherited from parent BOM"
msgstr "Унаследовано от родительского BOM"
@@ -8353,12 +8637,12 @@ msgid "Complete Build Order"
msgstr ""
#: templates/js/translated/build.js:311 templates/js/translated/stock.js:92
-#: templates/js/translated/stock.js:214
+#: templates/js/translated/stock.js:233
msgid "Next available serial number"
msgstr ""
#: templates/js/translated/build.js:313 templates/js/translated/stock.js:94
-#: templates/js/translated/stock.js:216
+#: templates/js/translated/stock.js:235
msgid "Latest serial number"
msgstr ""
@@ -8455,12 +8739,12 @@ msgid "No required tests for this build"
msgstr ""
#: templates/js/translated/build.js:1775 templates/js/translated/build.js:2765
-#: templates/js/translated/order.js:3627
+#: templates/js/translated/order.js:3638
msgid "Edit stock allocation"
msgstr ""
#: templates/js/translated/build.js:1777 templates/js/translated/build.js:2766
-#: templates/js/translated/order.js:3628
+#: templates/js/translated/order.js:3639
msgid "Delete stock allocation"
msgstr ""
@@ -8480,20 +8764,15 @@ msgstr ""
msgid "Quantity Per"
msgstr ""
-#: templates/js/translated/build.js:1901 templates/js/translated/order.js:3934
+#: templates/js/translated/build.js:1901 templates/js/translated/order.js:3931
msgid "Insufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3932
+#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3929
msgid "Sufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1937 templates/js/translated/build.js:2195
-#: templates/js/translated/build.js:2761 templates/js/translated/order.js:3946
-msgid "Allocated"
-msgstr ""
-
-#: templates/js/translated/build.js:1993 templates/js/translated/order.js:4026
+#: templates/js/translated/build.js:1993 templates/js/translated/order.js:4023
msgid "Build stock"
msgstr ""
@@ -8501,21 +8780,21 @@ msgstr ""
msgid "Order stock"
msgstr ""
-#: templates/js/translated/build.js:2000 templates/js/translated/order.js:4019
+#: templates/js/translated/build.js:2000 templates/js/translated/order.js:4016
msgid "Allocate stock"
msgstr ""
#: templates/js/translated/build.js:2039 templates/js/translated/label.js:172
-#: templates/js/translated/order.js:1007 templates/js/translated/order.js:3154
+#: templates/js/translated/order.js:1041 templates/js/translated/order.js:3165
#: templates/js/translated/report.js:225
msgid "Select Parts"
msgstr ""
-#: templates/js/translated/build.js:2040 templates/js/translated/order.js:3155
+#: templates/js/translated/build.js:2040 templates/js/translated/order.js:3166
msgid "You must select at least one part to allocate"
msgstr ""
-#: templates/js/translated/build.js:2089 templates/js/translated/order.js:3103
+#: templates/js/translated/build.js:2089 templates/js/translated/order.js:3114
msgid "Specify stock allocation quantity"
msgstr ""
@@ -8527,7 +8806,7 @@ msgstr ""
msgid "All selected parts have been fully allocated"
msgstr ""
-#: templates/js/translated/build.js:2183 templates/js/translated/order.js:3169
+#: templates/js/translated/build.js:2183 templates/js/translated/order.js:3180
msgid "Select source location (leave blank to take from all locations)"
msgstr ""
@@ -8535,11 +8814,11 @@ msgstr ""
msgid "Allocate Stock Items to Build Order"
msgstr ""
-#: templates/js/translated/build.js:2222 templates/js/translated/order.js:3266
+#: templates/js/translated/build.js:2222 templates/js/translated/order.js:3277
msgid "No matching stock locations"
msgstr ""
-#: templates/js/translated/build.js:2294 templates/js/translated/order.js:3343
+#: templates/js/translated/build.js:2294 templates/js/translated/order.js:3354
msgid "No matching stock items"
msgstr ""
@@ -8571,9 +8850,9 @@ msgstr ""
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:2558 templates/js/translated/part.js:1423
-#: templates/js/translated/part.js:1957 templates/js/translated/stock.js:1686
-#: templates/js/translated/stock.js:2390
+#: templates/js/translated/build.js:2558 templates/js/translated/part.js:1444
+#: templates/js/translated/part.js:1981 templates/js/translated/stock.js:1705
+#: templates/js/translated/stock.js:2408
msgid "Select"
msgstr ""
@@ -8585,7 +8864,7 @@ msgstr ""
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2636 templates/js/translated/stock.js:2657
+#: templates/js/translated/build.js:2636 templates/js/translated/stock.js:2675
msgid "No user information"
msgstr ""
@@ -8593,118 +8872,144 @@ msgstr ""
msgid "No parts allocated for"
msgstr ""
-#: templates/js/translated/company.js:66
+#: templates/js/translated/company.js:67
msgid "Add Manufacturer"
msgstr "Добавить производителя"
-#: templates/js/translated/company.js:79 templates/js/translated/company.js:181
+#: templates/js/translated/company.js:80 templates/js/translated/company.js:182
msgid "Add Manufacturer Part"
msgstr "Добавить деталь производителя"
-#: templates/js/translated/company.js:100
+#: templates/js/translated/company.js:101
msgid "Edit Manufacturer Part"
msgstr "Редактировать деталь производителя"
-#: templates/js/translated/company.js:169 templates/js/translated/order.js:576
+#: templates/js/translated/company.js:170 templates/js/translated/order.js:576
msgid "Add Supplier"
msgstr "Добавить поставщика"
-#: templates/js/translated/company.js:197 templates/js/translated/order.js:828
+#: templates/js/translated/company.js:198 templates/js/translated/order.js:862
msgid "Add Supplier Part"
msgstr "Добавить деталь поставщика"
-#: templates/js/translated/company.js:297
+#: templates/js/translated/company.js:298
msgid "All selected supplier parts will be deleted"
msgstr "Все выбранные детали поставщика будут удалены"
-#: templates/js/translated/company.js:313
+#: templates/js/translated/company.js:314
msgid "Delete Supplier Parts"
msgstr ""
-#: templates/js/translated/company.js:385
+#: templates/js/translated/company.js:386
msgid "Add new Company"
msgstr "Добавить новую компанию"
-#: templates/js/translated/company.js:462
+#: templates/js/translated/company.js:463
msgid "Parts Supplied"
msgstr ""
-#: templates/js/translated/company.js:471
+#: templates/js/translated/company.js:472
msgid "Parts Manufactured"
msgstr ""
-#: templates/js/translated/company.js:486
+#: templates/js/translated/company.js:487
msgid "No company information found"
msgstr "Информация о компании не найдена"
-#: templates/js/translated/company.js:527
+#: templates/js/translated/company.js:528
msgid "All selected manufacturer parts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:542
+#: templates/js/translated/company.js:543
msgid "Delete Manufacturer Parts"
msgstr ""
-#: templates/js/translated/company.js:576
+#: templates/js/translated/company.js:577
msgid "All selected parameters will be deleted"
msgstr ""
-#: templates/js/translated/company.js:590
+#: templates/js/translated/company.js:591
msgid "Delete Parameters"
msgstr "Удалить параметры"
-#: templates/js/translated/company.js:631
+#: templates/js/translated/company.js:632
msgid "No manufacturer parts found"
msgstr "Информация о детали производителя не найдена"
-#: templates/js/translated/company.js:651
-#: templates/js/translated/company.js:912 templates/js/translated/part.js:636
-#: templates/js/translated/part.js:721
+#: templates/js/translated/company.js:652
+#: templates/js/translated/company.js:913 templates/js/translated/part.js:650
+#: templates/js/translated/part.js:735
msgid "Template part"
msgstr "Деталь-шаблон"
-#: templates/js/translated/company.js:655
-#: templates/js/translated/company.js:916 templates/js/translated/part.js:640
-#: templates/js/translated/part.js:725
+#: templates/js/translated/company.js:656
+#: templates/js/translated/company.js:917 templates/js/translated/part.js:654
+#: templates/js/translated/part.js:739
msgid "Assembled part"
msgstr ""
-#: templates/js/translated/company.js:783 templates/js/translated/part.js:828
+#: templates/js/translated/company.js:784 templates/js/translated/part.js:855
msgid "No parameters found"
msgstr "Параметры не найдены"
-#: templates/js/translated/company.js:820 templates/js/translated/part.js:870
+#: templates/js/translated/company.js:821 templates/js/translated/part.js:897
msgid "Edit parameter"
msgstr "Редактировать параметр"
-#: templates/js/translated/company.js:821 templates/js/translated/part.js:871
+#: templates/js/translated/company.js:822 templates/js/translated/part.js:898
msgid "Delete parameter"
msgstr "Удалить параметр"
-#: templates/js/translated/company.js:840 templates/js/translated/part.js:888
+#: templates/js/translated/company.js:841 templates/js/translated/part.js:915
msgid "Edit Parameter"
msgstr "Редактировать параметр"
-#: templates/js/translated/company.js:851 templates/js/translated/part.js:900
+#: templates/js/translated/company.js:852 templates/js/translated/part.js:927
msgid "Delete Parameter"
msgstr "Удалить параметр"
-#: templates/js/translated/company.js:891
+#: templates/js/translated/company.js:892
msgid "No supplier parts found"
msgstr "Информация о детали поставщика не найдена"
-#: templates/js/translated/company.js:1032
+#: templates/js/translated/company.js:1033
msgid "Availability"
msgstr ""
-#: templates/js/translated/company.js:1055
+#: templates/js/translated/company.js:1056
msgid "Edit supplier part"
msgstr "Редактировать деталь поставщика"
-#: templates/js/translated/company.js:1056
+#: templates/js/translated/company.js:1057
msgid "Delete supplier part"
msgstr "Удалить деталь поставщика"
+#: templates/js/translated/company.js:1112
+#: templates/js/translated/pricing.js:423
+msgid "Delete Price Break"
+msgstr ""
+
+#: templates/js/translated/company.js:1128
+#: templates/js/translated/pricing.js:437
+msgid "Edit Price Break"
+msgstr ""
+
+#: templates/js/translated/company.js:1145
+msgid "No price break information found"
+msgstr ""
+
+#: templates/js/translated/company.js:1174
+msgid "Last updated"
+msgstr "Последнее обновление"
+
+#: templates/js/translated/company.js:1180
+msgid "Edit price break"
+msgstr ""
+
+#: templates/js/translated/company.js:1181
+msgid "Delete price break"
+msgstr ""
+
#: templates/js/translated/filters.js:178
#: templates/js/translated/filters.js:441
msgid "true"
@@ -8785,27 +9090,27 @@ msgstr ""
msgid "Clear input"
msgstr ""
-#: templates/js/translated/forms.js:2638
+#: templates/js/translated/forms.js:2628
msgid "File Column"
msgstr ""
-#: templates/js/translated/forms.js:2638
+#: templates/js/translated/forms.js:2628
msgid "Field Name"
msgstr ""
-#: templates/js/translated/forms.js:2650
+#: templates/js/translated/forms.js:2640
msgid "Select Columns"
msgstr ""
-#: templates/js/translated/helpers.js:24
+#: templates/js/translated/helpers.js:26
msgid "YES"
msgstr ""
-#: templates/js/translated/helpers.js:26
+#: templates/js/translated/helpers.js:28
msgid "NO"
msgstr ""
-#: templates/js/translated/helpers.js:363
+#: templates/js/translated/helpers.js:434
msgid "Notes updated"
msgstr ""
@@ -8814,7 +9119,7 @@ msgid "Labels sent to printer"
msgstr ""
#: templates/js/translated/label.js:60 templates/js/translated/report.js:118
-#: templates/js/translated/stock.js:1078
+#: templates/js/translated/stock.js:1097
msgid "Select Stock Items"
msgstr ""
@@ -8934,14 +9239,6 @@ msgstr "Код компании"
msgid "Stock ID"
msgstr "Код склада"
-#: templates/js/translated/model_renderers.js:159
-msgid "Location ID"
-msgstr "Код места хранения"
-
-#: templates/js/translated/model_renderers.js:177
-msgid "Build ID"
-msgstr "Код сборки"
-
#: templates/js/translated/model_renderers.js:278
#: templates/js/translated/model_renderers.js:303
msgid "Order ID"
@@ -8952,17 +9249,13 @@ msgstr "Код заказа"
msgid "Shipment ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:338
-msgid "Category ID"
-msgstr "Код категории"
-
#: templates/js/translated/model_renderers.js:381
msgid "Manufacturer Part ID"
msgstr "Код детали производителя"
-#: templates/js/translated/model_renderers.js:418
-msgid "Supplier Part ID"
-msgstr "Код детали поставщика"
+#: templates/js/translated/news.js:23
+msgid "No news found"
+msgstr ""
#: templates/js/translated/notification.js:42
msgid "Age"
@@ -9104,659 +9397,688 @@ msgstr "Редактировать заказ на закупку"
msgid "Duplication Options"
msgstr ""
-#: templates/js/translated/order.js:957
+#: templates/js/translated/order.js:991
msgid "Export Order"
msgstr ""
-#: templates/js/translated/order.js:1008
+#: templates/js/translated/order.js:1042
msgid "At least one purchaseable part must be selected"
msgstr ""
-#: templates/js/translated/order.js:1033
+#: templates/js/translated/order.js:1067
msgid "Quantity to order"
msgstr ""
-#: templates/js/translated/order.js:1042
+#: templates/js/translated/order.js:1076
msgid "New supplier part"
msgstr ""
-#: templates/js/translated/order.js:1060
+#: templates/js/translated/order.js:1094
msgid "New purchase order"
msgstr ""
-#: templates/js/translated/order.js:1093
+#: templates/js/translated/order.js:1127
msgid "Add to purchase order"
msgstr ""
-#: templates/js/translated/order.js:1233
+#: templates/js/translated/order.js:1267
msgid "No matching supplier parts"
msgstr ""
-#: templates/js/translated/order.js:1252
+#: templates/js/translated/order.js:1286
msgid "No matching purchase orders"
msgstr ""
-#: templates/js/translated/order.js:1429
+#: templates/js/translated/order.js:1463
msgid "Select Line Items"
msgstr ""
-#: templates/js/translated/order.js:1430
+#: templates/js/translated/order.js:1464
msgid "At least one line item must be selected"
msgstr ""
-#: templates/js/translated/order.js:1450 templates/js/translated/order.js:1563
+#: templates/js/translated/order.js:1484 templates/js/translated/order.js:1597
msgid "Add batch code"
msgstr "Добавить код партии"
-#: templates/js/translated/order.js:1456 templates/js/translated/order.js:1574
+#: templates/js/translated/order.js:1490 templates/js/translated/order.js:1608
msgid "Add serial numbers"
msgstr ""
-#: templates/js/translated/order.js:1471
+#: templates/js/translated/order.js:1505
msgid "Received Quantity"
msgstr ""
-#: templates/js/translated/order.js:1482
+#: templates/js/translated/order.js:1516
msgid "Quantity to receive"
msgstr ""
-#: templates/js/translated/order.js:1546 templates/js/translated/stock.js:2146
+#: templates/js/translated/order.js:1580 templates/js/translated/stock.js:2164
msgid "Stock Status"
msgstr ""
-#: templates/js/translated/order.js:1639
+#: templates/js/translated/order.js:1673
msgid "Order Code"
msgstr ""
-#: templates/js/translated/order.js:1640
+#: templates/js/translated/order.js:1674
msgid "Ordered"
msgstr ""
-#: templates/js/translated/order.js:1642
+#: templates/js/translated/order.js:1676
msgid "Quantity to Receive"
msgstr ""
-#: templates/js/translated/order.js:1661
+#: templates/js/translated/order.js:1695
msgid "Confirm receipt of items"
msgstr ""
-#: templates/js/translated/order.js:1662
+#: templates/js/translated/order.js:1696
msgid "Receive Purchase Order Items"
msgstr ""
-#: templates/js/translated/order.js:1940 templates/js/translated/part.js:941
+#: templates/js/translated/order.js:1974 templates/js/translated/part.js:968
msgid "No purchase orders found"
msgstr "Заказов на закупку не найдено"
-#: templates/js/translated/order.js:1967 templates/js/translated/order.js:2798
+#: templates/js/translated/order.js:2001 templates/js/translated/order.js:2809
msgid "Order is overdue"
msgstr ""
-#: templates/js/translated/order.js:2017 templates/js/translated/order.js:2863
-#: templates/js/translated/order.js:3004
+#: templates/js/translated/order.js:2051 templates/js/translated/order.js:2874
+#: templates/js/translated/order.js:3015
msgid "Items"
msgstr ""
-#: templates/js/translated/order.js:2115 templates/js/translated/order.js:4078
+#: templates/js/translated/order.js:2154 templates/js/translated/order.js:4075
msgid "Duplicate Line Item"
msgstr ""
-#: templates/js/translated/order.js:2132 templates/js/translated/order.js:4100
+#: templates/js/translated/order.js:2171 templates/js/translated/order.js:4097
msgid "Edit Line Item"
msgstr ""
-#: templates/js/translated/order.js:2145 templates/js/translated/order.js:4111
+#: templates/js/translated/order.js:2184 templates/js/translated/order.js:4108
msgid "Delete Line Item"
msgstr ""
-#: templates/js/translated/order.js:2188
+#: templates/js/translated/order.js:2227
msgid "No line items found"
msgstr ""
-#: templates/js/translated/order.js:2215 templates/js/translated/order.js:3812
+#: templates/js/translated/order.js:2254 templates/js/translated/order.js:3827
msgid "Total"
msgstr ""
-#: templates/js/translated/order.js:2270 templates/js/translated/part.js:1043
-#: templates/js/translated/part.js:1095
+#: templates/js/translated/order.js:2309 templates/js/translated/part.js:1070
+#: templates/js/translated/part.js:1122
msgid "Total Quantity"
msgstr ""
-#: templates/js/translated/order.js:2301 templates/js/translated/order.js:2500
-#: templates/js/translated/order.js:3837 templates/js/translated/order.js:4342
-#: templates/js/translated/part.js:2199 templates/js/translated/part.js:2797
+#: templates/js/translated/order.js:2340 templates/js/translated/order.js:2527
+#: templates/js/translated/order.js:3852 templates/js/translated/order.js:4343
+#: templates/js/translated/pricing.js:260
+#: templates/js/translated/pricing.js:329
+#: templates/js/translated/pricing.js:545
msgid "Unit Price"
msgstr ""
-#: templates/js/translated/order.js:2316 templates/js/translated/order.js:2516
-#: templates/js/translated/order.js:3853 templates/js/translated/order.js:4358
+#: templates/js/translated/order.js:2350 templates/js/translated/order.js:2537
+#: templates/js/translated/order.js:3862 templates/js/translated/order.js:4353
msgid "Total Price"
msgstr "Общая стоимость"
-#: templates/js/translated/order.js:2357 templates/js/translated/order.js:3895
-#: templates/js/translated/part.js:1079
+#: templates/js/translated/order.js:2380 templates/js/translated/order.js:3892
+#: templates/js/translated/part.js:1106
msgid "This line item is overdue"
msgstr ""
-#: templates/js/translated/order.js:2416 templates/js/translated/part.js:1130
+#: templates/js/translated/order.js:2439 templates/js/translated/part.js:1151
msgid "Receive line item"
msgstr ""
-#: templates/js/translated/order.js:2420 templates/js/translated/order.js:4032
+#: templates/js/translated/order.js:2443 templates/js/translated/order.js:4029
msgid "Duplicate line item"
msgstr ""
-#: templates/js/translated/order.js:2421 templates/js/translated/order.js:4033
+#: templates/js/translated/order.js:2444 templates/js/translated/order.js:4030
msgid "Edit line item"
msgstr ""
-#: templates/js/translated/order.js:2422 templates/js/translated/order.js:4037
+#: templates/js/translated/order.js:2445 templates/js/translated/order.js:4034
msgid "Delete line item"
msgstr ""
-#: templates/js/translated/order.js:2564 templates/js/translated/order.js:4406
+#: templates/js/translated/order.js:2574 templates/js/translated/order.js:4389
msgid "Duplicate line"
msgstr ""
-#: templates/js/translated/order.js:2565 templates/js/translated/order.js:4407
+#: templates/js/translated/order.js:2575 templates/js/translated/order.js:4390
msgid "Edit line"
msgstr ""
-#: templates/js/translated/order.js:2566 templates/js/translated/order.js:4408
+#: templates/js/translated/order.js:2576 templates/js/translated/order.js:4391
msgid "Delete line"
msgstr ""
-#: templates/js/translated/order.js:2595 templates/js/translated/order.js:4437
+#: templates/js/translated/order.js:2606 templates/js/translated/order.js:4420
msgid "Duplicate Line"
msgstr ""
-#: templates/js/translated/order.js:2616 templates/js/translated/order.js:4458
+#: templates/js/translated/order.js:2627 templates/js/translated/order.js:4441
msgid "Edit Line"
msgstr ""
-#: templates/js/translated/order.js:2627 templates/js/translated/order.js:4469
+#: templates/js/translated/order.js:2638 templates/js/translated/order.js:4452
msgid "Delete Line"
msgstr ""
-#: templates/js/translated/order.js:2638
+#: templates/js/translated/order.js:2649
msgid "No matching line"
msgstr ""
-#: templates/js/translated/order.js:2749
+#: templates/js/translated/order.js:2760
msgid "No sales orders found"
msgstr "Заказы на продажу не найдены"
-#: templates/js/translated/order.js:2812
+#: templates/js/translated/order.js:2823
msgid "Invalid Customer"
msgstr ""
-#: templates/js/translated/order.js:2910
+#: templates/js/translated/order.js:2921
msgid "Edit shipment"
msgstr ""
-#: templates/js/translated/order.js:2913
+#: templates/js/translated/order.js:2924
msgid "Complete shipment"
msgstr ""
-#: templates/js/translated/order.js:2918
+#: templates/js/translated/order.js:2929
msgid "Delete shipment"
msgstr ""
-#: templates/js/translated/order.js:2938
+#: templates/js/translated/order.js:2949
msgid "Edit Shipment"
msgstr ""
-#: templates/js/translated/order.js:2955
+#: templates/js/translated/order.js:2966
msgid "Delete Shipment"
msgstr ""
-#: templates/js/translated/order.js:2989
+#: templates/js/translated/order.js:3000
msgid "No matching shipments found"
msgstr ""
-#: templates/js/translated/order.js:2999
+#: templates/js/translated/order.js:3010
msgid "Shipment Reference"
msgstr ""
-#: templates/js/translated/order.js:3023
+#: templates/js/translated/order.js:3034
msgid "Not shipped"
msgstr ""
-#: templates/js/translated/order.js:3029
+#: templates/js/translated/order.js:3040
msgid "Tracking"
msgstr ""
-#: templates/js/translated/order.js:3033
+#: templates/js/translated/order.js:3044
msgid "Invoice"
msgstr ""
-#: templates/js/translated/order.js:3202
+#: templates/js/translated/order.js:3213
msgid "Add Shipment"
msgstr ""
-#: templates/js/translated/order.js:3253
+#: templates/js/translated/order.js:3264
msgid "Confirm stock allocation"
msgstr "Подтвердите выделение запасов"
-#: templates/js/translated/order.js:3254
+#: templates/js/translated/order.js:3265
msgid "Allocate Stock Items to Sales Order"
msgstr ""
-#: templates/js/translated/order.js:3462
+#: templates/js/translated/order.js:3473
msgid "No sales order allocations found"
msgstr ""
-#: templates/js/translated/order.js:3541
+#: templates/js/translated/order.js:3552
msgid "Edit Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:3558
+#: templates/js/translated/order.js:3569
msgid "Confirm Delete Operation"
msgstr ""
-#: templates/js/translated/order.js:3559
+#: templates/js/translated/order.js:3570
msgid "Delete Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:3604 templates/js/translated/order.js:3693
-#: templates/js/translated/stock.js:1602
+#: templates/js/translated/order.js:3615 templates/js/translated/order.js:3704
+#: templates/js/translated/stock.js:1621
msgid "Shipped to customer"
msgstr ""
-#: templates/js/translated/order.js:3612 templates/js/translated/order.js:3702
+#: templates/js/translated/order.js:3623 templates/js/translated/order.js:3713
msgid "Stock location not specified"
msgstr ""
-#: templates/js/translated/order.js:4016
+#: templates/js/translated/order.js:4013
msgid "Allocate serial numbers"
msgstr ""
-#: templates/js/translated/order.js:4022
+#: templates/js/translated/order.js:4019
msgid "Purchase stock"
msgstr ""
-#: templates/js/translated/order.js:4029 templates/js/translated/order.js:4227
+#: templates/js/translated/order.js:4026 templates/js/translated/order.js:4224
msgid "Calculate price"
msgstr ""
-#: templates/js/translated/order.js:4041
+#: templates/js/translated/order.js:4038
msgid "Cannot be deleted as items have been shipped"
msgstr ""
-#: templates/js/translated/order.js:4044
+#: templates/js/translated/order.js:4041
msgid "Cannot be deleted as items have been allocated"
msgstr ""
-#: templates/js/translated/order.js:4126
+#: templates/js/translated/order.js:4123
msgid "Allocate Serial Numbers"
msgstr ""
-#: templates/js/translated/order.js:4235
+#: templates/js/translated/order.js:4232
msgid "Update Unit Price"
msgstr ""
-#: templates/js/translated/order.js:4249
+#: templates/js/translated/order.js:4246
msgid "No matching line items"
msgstr ""
-#: templates/js/translated/order.js:4480
+#: templates/js/translated/order.js:4463
msgid "No matching lines"
msgstr ""
-#: templates/js/translated/part.js:56
+#: templates/js/translated/part.js:52
msgid "Part Attributes"
msgstr "Атрибуты детали"
-#: templates/js/translated/part.js:60
+#: templates/js/translated/part.js:56
msgid "Part Creation Options"
msgstr "Настройки создания детали"
-#: templates/js/translated/part.js:64
+#: templates/js/translated/part.js:60
msgid "Part Duplication Options"
msgstr "Настройки дублирования детали"
-#: templates/js/translated/part.js:68
+#: templates/js/translated/part.js:64
msgid "Supplier Options"
msgstr "Настройки поставщика"
-#: templates/js/translated/part.js:82
+#: templates/js/translated/part.js:78
msgid "Add Part Category"
msgstr "Добавить категорию"
-#: templates/js/translated/part.js:166
+#: templates/js/translated/part.js:162
msgid "Create Initial Stock"
msgstr ""
-#: templates/js/translated/part.js:167
+#: templates/js/translated/part.js:163
msgid "Create an initial stock item for this part"
msgstr ""
-#: templates/js/translated/part.js:174
+#: templates/js/translated/part.js:170
msgid "Initial Stock Quantity"
msgstr ""
-#: templates/js/translated/part.js:175
+#: templates/js/translated/part.js:171
msgid "Specify initial stock quantity for this part"
msgstr ""
-#: templates/js/translated/part.js:182
+#: templates/js/translated/part.js:178
msgid "Select destination stock location"
msgstr ""
-#: templates/js/translated/part.js:200
+#: templates/js/translated/part.js:196
msgid "Copy Category Parameters"
msgstr "Копировать параметры категории"
-#: templates/js/translated/part.js:201
+#: templates/js/translated/part.js:197
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: templates/js/translated/part.js:209
+#: templates/js/translated/part.js:205
msgid "Add Supplier Data"
msgstr "Добавить данные поставщика"
-#: templates/js/translated/part.js:210
+#: templates/js/translated/part.js:206
msgid "Create initial supplier data for this part"
msgstr "Создать начальные данные поставщика для этой детали"
-#: templates/js/translated/part.js:266
+#: templates/js/translated/part.js:262
msgid "Copy Image"
msgstr ""
-#: templates/js/translated/part.js:267
+#: templates/js/translated/part.js:263
msgid "Copy image from original part"
msgstr ""
-#: templates/js/translated/part.js:275
+#: templates/js/translated/part.js:271
msgid "Copy bill of materials from original part"
msgstr ""
-#: templates/js/translated/part.js:282
+#: templates/js/translated/part.js:278
msgid "Copy Parameters"
msgstr ""
-#: templates/js/translated/part.js:283
+#: templates/js/translated/part.js:279
msgid "Copy parameter data from original part"
msgstr ""
-#: templates/js/translated/part.js:296
+#: templates/js/translated/part.js:292
msgid "Parent part category"
msgstr "Родительская категория"
-#: templates/js/translated/part.js:306 templates/js/translated/stock.js:118
+#: templates/js/translated/part.js:302 templates/js/translated/stock.js:118
msgid "Icon (optional) - Explore all available icons on"
msgstr ""
-#: templates/js/translated/part.js:322
+#: templates/js/translated/part.js:318
msgid "Edit Part Category"
msgstr "Редактировать категорию"
-#: templates/js/translated/part.js:335
+#: templates/js/translated/part.js:331
msgid "Are you sure you want to delete this part category?"
msgstr "Вы уверены, что хотите удалить эту категорию?"
-#: templates/js/translated/part.js:337
-msgid "Any child categories will be moved to the parent of this category"
+#: templates/js/translated/part.js:336
+msgid "Move to parent category"
msgstr ""
-#: templates/js/translated/part.js:338
-msgid "Any parts in this category will be moved to the parent of this category"
-msgstr ""
-
-#: templates/js/translated/part.js:343
+#: templates/js/translated/part.js:345
msgid "Delete Part Category"
msgstr "Удалить категорию"
-#: templates/js/translated/part.js:369
+#: templates/js/translated/part.js:349
+msgid "Action for parts in this category"
+msgstr ""
+
+#: templates/js/translated/part.js:354
+msgid "Action for child categories"
+msgstr ""
+
+#: templates/js/translated/part.js:383
msgid "Edit Part"
msgstr ""
-#: templates/js/translated/part.js:371
+#: templates/js/translated/part.js:385
msgid "Part edited"
msgstr ""
-#: templates/js/translated/part.js:382
+#: templates/js/translated/part.js:396
msgid "Create Part Variant"
msgstr "Создать разновидность детали"
-#: templates/js/translated/part.js:434
+#: templates/js/translated/part.js:448
msgid "Active Part"
msgstr ""
-#: templates/js/translated/part.js:435
+#: templates/js/translated/part.js:449
msgid "Part cannot be deleted as it is currently active"
msgstr ""
-#: templates/js/translated/part.js:449
+#: templates/js/translated/part.js:463
msgid "Deleting this part cannot be reversed"
msgstr ""
-#: templates/js/translated/part.js:451
+#: templates/js/translated/part.js:465
msgid "Any stock items for this part will be deleted"
msgstr ""
-#: templates/js/translated/part.js:452
+#: templates/js/translated/part.js:466
msgid "This part will be removed from any Bills of Material"
msgstr ""
-#: templates/js/translated/part.js:453
+#: templates/js/translated/part.js:467
msgid "All manufacturer and supplier information for this part will be deleted"
msgstr ""
-#: templates/js/translated/part.js:460
+#: templates/js/translated/part.js:474
msgid "Delete Part"
msgstr ""
-#: templates/js/translated/part.js:496
+#: templates/js/translated/part.js:510
msgid "You are subscribed to notifications for this item"
msgstr "Вы подписаны на уведомления для данного элемента"
-#: templates/js/translated/part.js:498
+#: templates/js/translated/part.js:512
msgid "You have subscribed to notifications for this item"
msgstr "Вы подписались на уведомления для данного элемента"
-#: templates/js/translated/part.js:503
+#: templates/js/translated/part.js:517
msgid "Subscribe to notifications for this item"
msgstr "Включить уведомления для данного элемента"
-#: templates/js/translated/part.js:505
+#: templates/js/translated/part.js:519
msgid "You have unsubscribed to notifications for this item"
msgstr "Вы отписались от уведомлений для данного элемента"
-#: templates/js/translated/part.js:522
+#: templates/js/translated/part.js:536
msgid "Validating the BOM will mark each line item as valid"
msgstr ""
-#: templates/js/translated/part.js:532
+#: templates/js/translated/part.js:546
msgid "Validate Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:535
+#: templates/js/translated/part.js:549
msgid "Validated Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:560
+#: templates/js/translated/part.js:574
msgid "Copy Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:584 templates/js/translated/part.js:1521
-#: templates/js/translated/table_filters.js:476
+#: templates/js/translated/part.js:598 templates/js/translated/part.js:1532
+#: templates/js/translated/table_filters.js:480
msgid "Low stock"
msgstr ""
-#: templates/js/translated/part.js:594
+#: templates/js/translated/part.js:608
msgid "No stock available"
msgstr ""
-#: templates/js/translated/part.js:628 templates/js/translated/part.js:713
+#: templates/js/translated/part.js:642 templates/js/translated/part.js:727
msgid "Trackable part"
msgstr "Отслеживаемая деталь"
-#: templates/js/translated/part.js:632 templates/js/translated/part.js:717
+#: templates/js/translated/part.js:646 templates/js/translated/part.js:731
msgid "Virtual part"
msgstr ""
-#: templates/js/translated/part.js:644
+#: templates/js/translated/part.js:658
msgid "Subscribed part"
msgstr ""
-#: templates/js/translated/part.js:648
+#: templates/js/translated/part.js:662
msgid "Salable part"
msgstr ""
-#: templates/js/translated/part.js:776
+#: templates/js/translated/part.js:800
msgid "No variants found"
msgstr "Разновидности не найдены"
-#: templates/js/translated/part.js:1200
+#: templates/js/translated/part.js:1221
msgid "Delete part relationship"
msgstr ""
-#: templates/js/translated/part.js:1224
+#: templates/js/translated/part.js:1245
msgid "Delete Part Relationship"
msgstr ""
-#: templates/js/translated/part.js:1291 templates/js/translated/part.js:1609
+#: templates/js/translated/part.js:1312 templates/js/translated/part.js:1633
msgid "No parts found"
msgstr "Детали не найдены"
-#: templates/js/translated/part.js:1488
+#: templates/js/translated/part.js:1499
msgid "No category"
msgstr "Нет категории"
-#: templates/js/translated/part.js:1519
+#: templates/js/translated/part.js:1530
msgid "No stock"
msgstr ""
-#: templates/js/translated/part.js:1543
+#: templates/js/translated/part.js:1554
msgid "Allocated to build orders"
msgstr ""
-#: templates/js/translated/part.js:1547
+#: templates/js/translated/part.js:1558
msgid "Allocated to sales orders"
msgstr ""
-#: templates/js/translated/part.js:1633 templates/js/translated/part.js:1876
-#: templates/js/translated/stock.js:2349
+#: templates/js/translated/part.js:1657 templates/js/translated/part.js:1900
+#: templates/js/translated/stock.js:2367
msgid "Display as list"
msgstr "Список"
-#: templates/js/translated/part.js:1649
+#: templates/js/translated/part.js:1673
msgid "Display as grid"
msgstr "Таблица"
-#: templates/js/translated/part.js:1715
+#: templates/js/translated/part.js:1739
msgid "Set the part category for the selected parts"
msgstr ""
-#: templates/js/translated/part.js:1720
+#: templates/js/translated/part.js:1744
msgid "Set Part Category"
msgstr "Укажите категорию"
-#: templates/js/translated/part.js:1725
+#: templates/js/translated/part.js:1749
msgid "Select Part Category"
msgstr ""
-#: templates/js/translated/part.js:1738
+#: templates/js/translated/part.js:1762
msgid "Category is required"
msgstr ""
-#: templates/js/translated/part.js:1896 templates/js/translated/stock.js:2369
+#: templates/js/translated/part.js:1920 templates/js/translated/stock.js:2387
msgid "Display as tree"
msgstr "Дерево"
-#: templates/js/translated/part.js:1976
+#: templates/js/translated/part.js:2000
msgid "Load Subcategories"
msgstr ""
-#: templates/js/translated/part.js:1992
+#: templates/js/translated/part.js:2016
msgid "Subscribed category"
msgstr ""
-#: templates/js/translated/part.js:2056
+#: templates/js/translated/part.js:2080
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:2107 templates/js/translated/stock.js:1299
+#: templates/js/translated/part.js:2131 templates/js/translated/stock.js:1318
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:2108 templates/js/translated/stock.js:1300
-#: templates/js/translated/stock.js:1560
+#: templates/js/translated/part.js:2132 templates/js/translated/stock.js:1319
+#: templates/js/translated/stock.js:1579
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:2114
+#: templates/js/translated/part.js:2138
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:2136
+#: templates/js/translated/part.js:2160
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2150
+#: templates/js/translated/part.js:2174
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2175
-#, python-brace-format
-msgid "No ${human_name} information found"
-msgstr ""
-
-#: templates/js/translated/part.js:2232
-#, python-brace-format
-msgid "Edit ${human_name}"
-msgstr ""
-
-#: templates/js/translated/part.js:2233
-#, python-brace-format
-msgid "Delete ${human_name}"
-msgstr ""
-
-#: templates/js/translated/part.js:2398 templates/js/translated/part.js:2399
+#: templates/js/translated/part.js:2255 templates/js/translated/part.js:2256
msgid "No date specified"
msgstr ""
-#: templates/js/translated/part.js:2401
+#: templates/js/translated/part.js:2258
msgid "Specified date is in the past"
msgstr ""
-#: templates/js/translated/part.js:2407
+#: templates/js/translated/part.js:2264
msgid "Speculative"
msgstr ""
-#: templates/js/translated/part.js:2457
+#: templates/js/translated/part.js:2314
msgid "No scheduling information available for this part"
msgstr ""
-#: templates/js/translated/part.js:2463
+#: templates/js/translated/part.js:2320
msgid "Error fetching scheduling information for this part"
msgstr ""
-#: templates/js/translated/part.js:2559
+#: templates/js/translated/part.js:2416
msgid "Scheduled Stock Quantities"
msgstr ""
-#: templates/js/translated/part.js:2575
+#: templates/js/translated/part.js:2432
msgid "Maximum Quantity"
msgstr ""
-#: templates/js/translated/part.js:2620
+#: templates/js/translated/part.js:2477
msgid "Minimum Stock Level"
msgstr ""
-#: templates/js/translated/part.js:2721
-msgid "Single Price"
-msgstr ""
-
-#: templates/js/translated/part.js:2740
-msgid "Single Price Difference"
-msgstr ""
-
#: templates/js/translated/plugin.js:23
msgid "The Plugin was installed"
msgstr ""
+#: templates/js/translated/pricing.js:54
+msgid "No BOM data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:196
+msgid "No supplier pricing data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:305
+msgid "No price break data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:361
+#, python-brace-format
+msgid "Edit ${human_name}"
+msgstr ""
+
+#: templates/js/translated/pricing.js:362
+#, python-brace-format
+msgid "Delete ${human_name}"
+msgstr ""
+
+#: templates/js/translated/pricing.js:480
+msgid "No purchase history data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:502
+msgid "Purchase Price History"
+msgstr ""
+
+#: templates/js/translated/pricing.js:602
+msgid "No sales history data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:624
+msgid "Sale Price History"
+msgstr ""
+
+#: templates/js/translated/pricing.js:708
+msgid "No variant data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:748
+msgid "Variant Part"
+msgstr ""
+
#: templates/js/translated/report.js:67
msgid "items selected"
msgstr ""
@@ -9855,364 +10177,364 @@ msgstr ""
msgid "Are you sure you want to delete this stock location?"
msgstr "Вы уверены, что хотите удалить место хранения?"
-#: templates/js/translated/stock.js:175
-msgid "Any child locations will be moved to the parent of this location"
+#: templates/js/translated/stock.js:180
+msgid "Move to parent stock location"
msgstr ""
-#: templates/js/translated/stock.js:176
-msgid "Any stock items in this location will be moved to the parent of this location"
-msgstr ""
-
-#: templates/js/translated/stock.js:182
+#: templates/js/translated/stock.js:189
msgid "Delete Stock Location"
msgstr ""
-#: templates/js/translated/stock.js:227
+#: templates/js/translated/stock.js:193
+msgid "Action for stock items in this stock location"
+msgstr ""
+
+#: templates/js/translated/stock.js:198
+msgid "Action for sub-locations"
+msgstr ""
+
+#: templates/js/translated/stock.js:246
msgid "This part cannot be serialized"
msgstr ""
-#: templates/js/translated/stock.js:266
+#: templates/js/translated/stock.js:285
msgid "Enter initial quantity for this stock item"
msgstr ""
-#: templates/js/translated/stock.js:272
+#: templates/js/translated/stock.js:291
msgid "Enter serial numbers for new stock (or leave blank)"
msgstr ""
-#: templates/js/translated/stock.js:337
+#: templates/js/translated/stock.js:356
msgid "Stock item duplicated"
msgstr ""
-#: templates/js/translated/stock.js:357
+#: templates/js/translated/stock.js:376
msgid "Duplicate Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:373
+#: templates/js/translated/stock.js:392
msgid "Are you sure you want to delete this stock item?"
msgstr ""
-#: templates/js/translated/stock.js:378
+#: templates/js/translated/stock.js:397
msgid "Delete Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:399
+#: templates/js/translated/stock.js:418
msgid "Edit Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:449
+#: templates/js/translated/stock.js:468
msgid "Created new stock item"
msgstr ""
-#: templates/js/translated/stock.js:462
+#: templates/js/translated/stock.js:481
msgid "Created multiple stock items"
msgstr "Создано несколько единиц хранения"
-#: templates/js/translated/stock.js:487
+#: templates/js/translated/stock.js:506
msgid "Find Serial Number"
msgstr ""
-#: templates/js/translated/stock.js:491 templates/js/translated/stock.js:492
+#: templates/js/translated/stock.js:510 templates/js/translated/stock.js:511
msgid "Enter serial number"
msgstr ""
-#: templates/js/translated/stock.js:508
+#: templates/js/translated/stock.js:527
msgid "Enter a serial number"
msgstr ""
-#: templates/js/translated/stock.js:528
+#: templates/js/translated/stock.js:547
msgid "No matching serial number"
msgstr ""
-#: templates/js/translated/stock.js:537
+#: templates/js/translated/stock.js:556
msgid "More than one matching result found"
msgstr ""
-#: templates/js/translated/stock.js:660
+#: templates/js/translated/stock.js:679
msgid "Confirm stock assignment"
msgstr ""
-#: templates/js/translated/stock.js:661
+#: templates/js/translated/stock.js:680
msgid "Assign Stock to Customer"
msgstr ""
-#: templates/js/translated/stock.js:738
+#: templates/js/translated/stock.js:757
msgid "Warning: Merge operation cannot be reversed"
msgstr "Предупреждение: Операция объединения не может быть отменена"
-#: templates/js/translated/stock.js:739
+#: templates/js/translated/stock.js:758
msgid "Some information will be lost when merging stock items"
msgstr "Следующие данные будут потеряны в процессе объединения"
-#: templates/js/translated/stock.js:741
+#: templates/js/translated/stock.js:760
msgid "Stock transaction history will be deleted for merged items"
msgstr "История складских перемещений будет удалена для объединённых элементов"
-#: templates/js/translated/stock.js:742
+#: templates/js/translated/stock.js:761
msgid "Supplier part information will be deleted for merged items"
msgstr "Информация о деталях поставщика будет удалена для объединённых элементов"
-#: templates/js/translated/stock.js:828
+#: templates/js/translated/stock.js:847
msgid "Confirm stock item merge"
msgstr ""
-#: templates/js/translated/stock.js:829
+#: templates/js/translated/stock.js:848
msgid "Merge Stock Items"
msgstr ""
-#: templates/js/translated/stock.js:924
+#: templates/js/translated/stock.js:943
msgid "Transfer Stock"
msgstr ""
-#: templates/js/translated/stock.js:925
+#: templates/js/translated/stock.js:944
msgid "Move"
msgstr ""
-#: templates/js/translated/stock.js:931
+#: templates/js/translated/stock.js:950
msgid "Count Stock"
msgstr ""
-#: templates/js/translated/stock.js:932
+#: templates/js/translated/stock.js:951
msgid "Count"
msgstr ""
-#: templates/js/translated/stock.js:936
+#: templates/js/translated/stock.js:955
msgid "Remove Stock"
msgstr ""
-#: templates/js/translated/stock.js:937
+#: templates/js/translated/stock.js:956
msgid "Take"
msgstr ""
-#: templates/js/translated/stock.js:941
+#: templates/js/translated/stock.js:960
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:942 users/models.py:218
+#: templates/js/translated/stock.js:961 users/models.py:220
msgid "Add"
msgstr ""
-#: templates/js/translated/stock.js:946
+#: templates/js/translated/stock.js:965
msgid "Delete Stock"
msgstr ""
-#: templates/js/translated/stock.js:1039
+#: templates/js/translated/stock.js:1058
msgid "Quantity cannot be adjusted for serialized stock"
msgstr ""
-#: templates/js/translated/stock.js:1039
+#: templates/js/translated/stock.js:1058
msgid "Specify stock quantity"
msgstr ""
-#: templates/js/translated/stock.js:1079
+#: templates/js/translated/stock.js:1098
msgid "You must select at least one available stock item"
msgstr ""
-#: templates/js/translated/stock.js:1102
+#: templates/js/translated/stock.js:1121
msgid "Confirm stock adjustment"
msgstr ""
-#: templates/js/translated/stock.js:1238
+#: templates/js/translated/stock.js:1257
msgid "PASS"
msgstr ""
-#: templates/js/translated/stock.js:1240
+#: templates/js/translated/stock.js:1259
msgid "FAIL"
msgstr ""
-#: templates/js/translated/stock.js:1245
+#: templates/js/translated/stock.js:1264
msgid "NO RESULT"
msgstr ""
-#: templates/js/translated/stock.js:1292
+#: templates/js/translated/stock.js:1311
msgid "Pass test"
msgstr ""
-#: templates/js/translated/stock.js:1295
+#: templates/js/translated/stock.js:1314
msgid "Add test result"
msgstr ""
-#: templates/js/translated/stock.js:1321
+#: templates/js/translated/stock.js:1340
msgid "No test results found"
msgstr ""
-#: templates/js/translated/stock.js:1378
+#: templates/js/translated/stock.js:1397
msgid "Test Date"
msgstr ""
-#: templates/js/translated/stock.js:1543
+#: templates/js/translated/stock.js:1562
msgid "Edit Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1565
+#: templates/js/translated/stock.js:1584
msgid "Delete Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1594
+#: templates/js/translated/stock.js:1613
msgid "In production"
msgstr ""
-#: templates/js/translated/stock.js:1598
+#: templates/js/translated/stock.js:1617
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:1606
+#: templates/js/translated/stock.js:1625
msgid "Assigned to Sales Order"
msgstr ""
-#: templates/js/translated/stock.js:1612
+#: templates/js/translated/stock.js:1631
msgid "No stock location set"
msgstr ""
-#: templates/js/translated/stock.js:1781
+#: templates/js/translated/stock.js:1800
msgid "Stock item is in production"
msgstr ""
-#: templates/js/translated/stock.js:1786
+#: templates/js/translated/stock.js:1805
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/translated/stock.js:1789
+#: templates/js/translated/stock.js:1808
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/translated/stock.js:1792
+#: templates/js/translated/stock.js:1811
msgid "Serialized stock item has been allocated"
msgstr ""
-#: templates/js/translated/stock.js:1794
+#: templates/js/translated/stock.js:1813
msgid "Stock item has been fully allocated"
msgstr ""
-#: templates/js/translated/stock.js:1796
+#: templates/js/translated/stock.js:1815
msgid "Stock item has been partially allocated"
msgstr ""
-#: templates/js/translated/stock.js:1799
+#: templates/js/translated/stock.js:1818
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:1803
+#: templates/js/translated/stock.js:1822
msgid "Stock item has expired"
msgstr ""
-#: templates/js/translated/stock.js:1805
+#: templates/js/translated/stock.js:1824
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/translated/stock.js:1812
+#: templates/js/translated/stock.js:1831
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/translated/stock.js:1814
+#: templates/js/translated/stock.js:1833
msgid "Stock item is lost"
msgstr ""
-#: templates/js/translated/stock.js:1816
+#: templates/js/translated/stock.js:1835
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/translated/stock.js:1820
-#: templates/js/translated/table_filters.js:204
+#: templates/js/translated/stock.js:1839
+#: templates/js/translated/table_filters.js:208
msgid "Depleted"
msgstr ""
-#: templates/js/translated/stock.js:1871
-msgid "Stocktake"
-msgstr ""
-
-#: templates/js/translated/stock.js:1950
+#: templates/js/translated/stock.js:1969
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/translated/stock.js:1988
+#: templates/js/translated/stock.js:2006
msgid "No stock items matching query"
msgstr ""
-#: templates/js/translated/stock.js:2161
+#: templates/js/translated/stock.js:2179
msgid "Set Stock Status"
msgstr ""
-#: templates/js/translated/stock.js:2175
+#: templates/js/translated/stock.js:2193
msgid "Select Status Code"
msgstr ""
-#: templates/js/translated/stock.js:2176
+#: templates/js/translated/stock.js:2194
msgid "Status code must be selected"
msgstr ""
-#: templates/js/translated/stock.js:2408
+#: templates/js/translated/stock.js:2426
msgid "Load Subloactions"
msgstr ""
-#: templates/js/translated/stock.js:2503
+#: templates/js/translated/stock.js:2521
msgid "Details"
msgstr ""
-#: templates/js/translated/stock.js:2519
+#: templates/js/translated/stock.js:2537
msgid "Part information unavailable"
msgstr ""
-#: templates/js/translated/stock.js:2541
+#: templates/js/translated/stock.js:2559
msgid "Location no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2560
+#: templates/js/translated/stock.js:2578
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2579
+#: templates/js/translated/stock.js:2597
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2597
+#: templates/js/translated/stock.js:2615
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2620
+#: templates/js/translated/stock.js:2638
msgid "Added"
msgstr ""
-#: templates/js/translated/stock.js:2628
+#: templates/js/translated/stock.js:2646
msgid "Removed"
msgstr ""
-#: templates/js/translated/stock.js:2704
+#: templates/js/translated/stock.js:2722
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:2755 templates/js/translated/stock.js:2791
+#: templates/js/translated/stock.js:2773 templates/js/translated/stock.js:2809
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2804
+#: templates/js/translated/stock.js:2822
msgid "Select stock item to uninstall"
msgstr ""
-#: templates/js/translated/stock.js:2825
+#: templates/js/translated/stock.js:2843
msgid "Install another stock item into this item"
msgstr ""
-#: templates/js/translated/stock.js:2826
+#: templates/js/translated/stock.js:2844
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: templates/js/translated/stock.js:2828
+#: templates/js/translated/stock.js:2846
msgid "The Stock Item links to a Part which is the BOM for this Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2829
+#: templates/js/translated/stock.js:2847
msgid "The Stock Item is currently available in stock"
msgstr ""
-#: templates/js/translated/stock.js:2830
+#: templates/js/translated/stock.js:2848
msgid "The Stock Item is not already installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:2831
+#: templates/js/translated/stock.js:2849
msgid "The Stock Item is tracked by either a batch code or serial number"
msgstr ""
-#: templates/js/translated/stock.js:2844
+#: templates/js/translated/stock.js:2862
msgid "Select part to install"
msgstr ""
@@ -10236,215 +10558,220 @@ msgstr ""
msgid "Allow Variant Stock"
msgstr ""
-#: templates/js/translated/table_filters.js:126
-#: templates/js/translated/table_filters.js:199
+#: templates/js/translated/table_filters.js:92
+#: templates/js/translated/table_filters.js:508
+msgid "Has Pricing"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:130
+#: templates/js/translated/table_filters.js:203
msgid "Include sublocations"
msgstr ""
-#: templates/js/translated/table_filters.js:127
+#: templates/js/translated/table_filters.js:131
msgid "Include locations"
msgstr ""
-#: templates/js/translated/table_filters.js:137
-#: templates/js/translated/table_filters.js:138
-#: templates/js/translated/table_filters.js:445
+#: templates/js/translated/table_filters.js:141
+#: templates/js/translated/table_filters.js:142
+#: templates/js/translated/table_filters.js:449
msgid "Include subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:142
-#: templates/js/translated/table_filters.js:488
+#: templates/js/translated/table_filters.js:146
+#: templates/js/translated/table_filters.js:492
msgid "Subscribed"
msgstr ""
-#: templates/js/translated/table_filters.js:152
-#: templates/js/translated/table_filters.js:234
-msgid "Is Serialized"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:155
-#: templates/js/translated/table_filters.js:241
-msgid "Serial number GTE"
-msgstr ""
-
#: templates/js/translated/table_filters.js:156
-#: templates/js/translated/table_filters.js:242
-msgid "Serial number greater than or equal to"
+#: templates/js/translated/table_filters.js:238
+msgid "Is Serialized"
msgstr ""
#: templates/js/translated/table_filters.js:159
#: templates/js/translated/table_filters.js:245
-msgid "Serial number LTE"
+msgid "Serial number GTE"
msgstr ""
#: templates/js/translated/table_filters.js:160
#: templates/js/translated/table_filters.js:246
-msgid "Serial number less than or equal to"
+msgid "Serial number greater than or equal to"
msgstr ""
#: templates/js/translated/table_filters.js:163
+#: templates/js/translated/table_filters.js:249
+msgid "Serial number LTE"
+msgstr ""
+
#: templates/js/translated/table_filters.js:164
-#: templates/js/translated/table_filters.js:237
-#: templates/js/translated/table_filters.js:238
+#: templates/js/translated/table_filters.js:250
+msgid "Serial number less than or equal to"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:167
+#: templates/js/translated/table_filters.js:168
+#: templates/js/translated/table_filters.js:241
+#: templates/js/translated/table_filters.js:242
msgid "Serial number"
msgstr ""
-#: templates/js/translated/table_filters.js:168
-#: templates/js/translated/table_filters.js:259
+#: templates/js/translated/table_filters.js:172
+#: templates/js/translated/table_filters.js:263
msgid "Batch code"
msgstr "Код партии"
-#: templates/js/translated/table_filters.js:179
-#: templates/js/translated/table_filters.js:417
+#: templates/js/translated/table_filters.js:183
+#: templates/js/translated/table_filters.js:421
msgid "Active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:180
+#: templates/js/translated/table_filters.js:184
msgid "Show stock for active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:185
+#: templates/js/translated/table_filters.js:189
msgid "Part is an assembly"
msgstr ""
-#: templates/js/translated/table_filters.js:189
+#: templates/js/translated/table_filters.js:193
msgid "Is allocated"
msgstr ""
-#: templates/js/translated/table_filters.js:190
+#: templates/js/translated/table_filters.js:194
msgid "Item has been allocated"
msgstr ""
-#: templates/js/translated/table_filters.js:195
+#: templates/js/translated/table_filters.js:199
msgid "Stock is available for use"
msgstr ""
-#: templates/js/translated/table_filters.js:200
+#: templates/js/translated/table_filters.js:204
msgid "Include stock in sublocations"
msgstr ""
-#: templates/js/translated/table_filters.js:205
+#: templates/js/translated/table_filters.js:209
msgid "Show stock items which are depleted"
msgstr ""
-#: templates/js/translated/table_filters.js:210
+#: templates/js/translated/table_filters.js:214
msgid "Show items which are in stock"
msgstr ""
-#: templates/js/translated/table_filters.js:214
+#: templates/js/translated/table_filters.js:218
msgid "In Production"
msgstr ""
-#: templates/js/translated/table_filters.js:215
+#: templates/js/translated/table_filters.js:219
msgid "Show items which are in production"
msgstr ""
-#: templates/js/translated/table_filters.js:219
+#: templates/js/translated/table_filters.js:223
msgid "Include Variants"
msgstr ""
-#: templates/js/translated/table_filters.js:220
+#: templates/js/translated/table_filters.js:224
msgid "Include stock items for variant parts"
msgstr ""
-#: templates/js/translated/table_filters.js:224
+#: templates/js/translated/table_filters.js:228
msgid "Installed"
msgstr ""
-#: templates/js/translated/table_filters.js:225
+#: templates/js/translated/table_filters.js:229
msgid "Show stock items which are installed in another item"
msgstr ""
-#: templates/js/translated/table_filters.js:230
+#: templates/js/translated/table_filters.js:234
msgid "Show items which have been assigned to a customer"
msgstr ""
-#: templates/js/translated/table_filters.js:250
-#: templates/js/translated/table_filters.js:251
+#: templates/js/translated/table_filters.js:254
+#: templates/js/translated/table_filters.js:255
msgid "Stock status"
msgstr ""
-#: templates/js/translated/table_filters.js:254
+#: templates/js/translated/table_filters.js:258
msgid "Has batch code"
msgstr ""
-#: templates/js/translated/table_filters.js:262
+#: templates/js/translated/table_filters.js:266
msgid "Tracked"
msgstr ""
-#: templates/js/translated/table_filters.js:263
+#: templates/js/translated/table_filters.js:267
msgid "Stock item is tracked by either batch code or serial number"
msgstr ""
-#: templates/js/translated/table_filters.js:268
+#: templates/js/translated/table_filters.js:272
msgid "Has purchase price"
msgstr ""
-#: templates/js/translated/table_filters.js:269
+#: templates/js/translated/table_filters.js:273
msgid "Show stock items which have a purchase price set"
msgstr ""
-#: templates/js/translated/table_filters.js:278
+#: templates/js/translated/table_filters.js:282
msgid "Show stock items which have expired"
msgstr ""
-#: templates/js/translated/table_filters.js:284
+#: templates/js/translated/table_filters.js:288
msgid "Show stock which is close to expiring"
msgstr ""
-#: templates/js/translated/table_filters.js:296
+#: templates/js/translated/table_filters.js:300
msgid "Test Passed"
msgstr ""
-#: templates/js/translated/table_filters.js:300
+#: templates/js/translated/table_filters.js:304
msgid "Include Installed Items"
msgstr ""
-#: templates/js/translated/table_filters.js:319
+#: templates/js/translated/table_filters.js:323
msgid "Build status"
msgstr "Статус сборки"
-#: templates/js/translated/table_filters.js:332
-#: templates/js/translated/table_filters.js:373
+#: templates/js/translated/table_filters.js:336
+#: templates/js/translated/table_filters.js:377
msgid "Assigned to me"
msgstr ""
-#: templates/js/translated/table_filters.js:349
-#: templates/js/translated/table_filters.js:360
-#: templates/js/translated/table_filters.js:390
+#: templates/js/translated/table_filters.js:353
+#: templates/js/translated/table_filters.js:364
+#: templates/js/translated/table_filters.js:394
msgid "Order status"
msgstr ""
-#: templates/js/translated/table_filters.js:365
-#: templates/js/translated/table_filters.js:382
-#: templates/js/translated/table_filters.js:395
+#: templates/js/translated/table_filters.js:369
+#: templates/js/translated/table_filters.js:386
+#: templates/js/translated/table_filters.js:399
msgid "Outstanding"
msgstr ""
-#: templates/js/translated/table_filters.js:446
+#: templates/js/translated/table_filters.js:450
msgid "Include parts in subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:451
+#: templates/js/translated/table_filters.js:455
msgid "Show active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:459
+#: templates/js/translated/table_filters.js:463
msgid "Available stock"
msgstr ""
-#: templates/js/translated/table_filters.js:467
+#: templates/js/translated/table_filters.js:471
msgid "Has IPN"
msgstr ""
-#: templates/js/translated/table_filters.js:468
+#: templates/js/translated/table_filters.js:472
msgid "Part has internal part number"
msgstr ""
-#: templates/js/translated/table_filters.js:472
+#: templates/js/translated/table_filters.js:476
msgid "In stock"
msgstr ""
-#: templates/js/translated/table_filters.js:480
+#: templates/js/translated/table_filters.js:484
msgid "Purchasable"
msgstr ""
@@ -10554,6 +10881,10 @@ msgstr ""
msgid "Show all notifications and history"
msgstr ""
+#: templates/price_data.html:7
+msgid "No data"
+msgstr ""
+
#: templates/qr_code.html:11
msgid "QR data not provided"
msgstr ""
@@ -10738,35 +11069,35 @@ msgstr "Права доступа"
msgid "Important dates"
msgstr ""
-#: users/models.py:205
+#: users/models.py:207
msgid "Permission set"
msgstr "Права доступа"
-#: users/models.py:213
+#: users/models.py:215
msgid "Group"
msgstr ""
-#: users/models.py:216
+#: users/models.py:218
msgid "View"
msgstr "Вид"
-#: users/models.py:216
+#: users/models.py:218
msgid "Permission to view items"
msgstr "Разрешение на просмотр элементов"
-#: users/models.py:218
+#: users/models.py:220
msgid "Permission to add items"
msgstr "Разрешение на добавление элементов"
-#: users/models.py:220
+#: users/models.py:222
msgid "Change"
msgstr ""
-#: users/models.py:220
+#: users/models.py:222
msgid "Permissions to edit items"
msgstr "Разрешение на редактирование элементов"
-#: users/models.py:222
+#: users/models.py:224
msgid "Permission to delete items"
msgstr "Разрешение на удаление элементов"
diff --git a/InvenTree/locale/sv/LC_MESSAGES/django.po b/InvenTree/locale/sv/LC_MESSAGES/django.po
index 11c065ae90..e9ba26bd06 100644
--- a/InvenTree/locale/sv/LC_MESSAGES/django.po
+++ b/InvenTree/locale/sv/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-11-04 14:07+0000\n"
-"PO-Revision-Date: 2022-11-04 19:02\n"
+"POT-Creation-Date: 2022-11-14 04:59+0000\n"
+"PO-Revision-Date: 2022-11-14 14:51\n"
"Last-Translator: \n"
"Language-Team: Swedish\n"
"Language: sv_SE\n"
@@ -17,7 +17,7 @@ msgstr ""
"X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n"
"X-Crowdin-File-ID: 154\n"
-#: InvenTree/api.py:54
+#: InvenTree/api.py:61
msgid "API endpoint not found"
msgstr "API-slutpunkt hittades inte"
@@ -25,27 +25,27 @@ msgstr "API-slutpunkt hittades inte"
msgid "Error details can be found in the admin panel"
msgstr "Information om felet finns under Error i adminpanelen"
-#: InvenTree/fields.py:120
+#: InvenTree/fields.py:129
msgid "Enter date"
msgstr "Ange datum"
-#: InvenTree/fields.py:195 build/serializers.py:387
-#: build/templates/build/sidebar.html:21 company/models.py:525
-#: company/templates/company/sidebar.html:25 order/models.py:920
+#: InvenTree/fields.py:204 build/serializers.py:387
+#: build/templates/build/sidebar.html:21 company/models.py:529
+#: company/templates/company/sidebar.html:25 order/models.py:943
#: order/templates/order/po_sidebar.html:11
-#: order/templates/order/so_sidebar.html:17
-#: part/templates/part/part_sidebar.html:59
+#: order/templates/order/so_sidebar.html:17 part/admin.py:27
+#: part/templates/part/part_sidebar.html:57
#: report/templates/report/inventree_build_order_base.html:172
-#: stock/models.py:2002 stock/models.py:2110 stock/serializers.py:327
-#: stock/serializers.py:460 stock/serializers.py:541 stock/serializers.py:827
-#: stock/serializers.py:926 stock/serializers.py:1058
+#: stock/admin.py:103 stock/models.py:2018 stock/models.py:2126
+#: stock/serializers.py:321 stock/serializers.py:454 stock/serializers.py:535
+#: stock/serializers.py:826 stock/serializers.py:925 stock/serializers.py:1057
#: stock/templates/stock/stock_sidebar.html:25
-#: templates/js/translated/barcode.js:108 templates/js/translated/bom.js:1146
-#: templates/js/translated/company.js:1022
-#: templates/js/translated/order.js:2404 templates/js/translated/order.js:2552
-#: templates/js/translated/order.js:3048 templates/js/translated/order.js:3999
-#: templates/js/translated/order.js:4394 templates/js/translated/stock.js:1374
-#: templates/js/translated/stock.js:1982
+#: templates/js/translated/barcode.js:108 templates/js/translated/bom.js:1211
+#: templates/js/translated/company.js:1023
+#: templates/js/translated/order.js:2427 templates/js/translated/order.js:2561
+#: templates/js/translated/order.js:3059 templates/js/translated/order.js:3996
+#: templates/js/translated/order.js:4377 templates/js/translated/stock.js:1393
+#: templates/js/translated/stock.js:2000
msgid "Notes"
msgstr "Anteeckningar"
@@ -122,43 +122,43 @@ msgstr "Fjärrservern returnerade tomt svar"
msgid "Supplied URL is not a valid image file"
msgstr "Angiven URL är inte en giltig bildfil"
-#: InvenTree/helpers.py:602 order/models.py:325 order/models.py:477
+#: InvenTree/helpers.py:589 order/models.py:329 order/models.py:496
msgid "Invalid quantity provided"
msgstr "Ogiltigt antal angivet"
-#: InvenTree/helpers.py:610
+#: InvenTree/helpers.py:597
msgid "Empty serial number string"
msgstr "Tom serienummersträng"
-#: InvenTree/helpers.py:640
+#: InvenTree/helpers.py:627
msgid "Duplicate serial"
msgstr ""
-#: InvenTree/helpers.py:673 InvenTree/helpers.py:708
+#: InvenTree/helpers.py:660 InvenTree/helpers.py:695
#, python-brace-format
msgid "Invalid group range: {g}"
msgstr "Ogiltigt gruppområde: {g}"
-#: InvenTree/helpers.py:702
+#: InvenTree/helpers.py:689
#, python-brace-format
msgid "Group range {g} exceeds allowed quantity ({q})"
msgstr ""
-#: InvenTree/helpers.py:726 InvenTree/helpers.py:733 InvenTree/helpers.py:748
+#: InvenTree/helpers.py:713 InvenTree/helpers.py:720 InvenTree/helpers.py:735
#, python-brace-format
msgid "Invalid group sequence: {g}"
msgstr "Ogiltig gruppsekvens: {g}"
-#: InvenTree/helpers.py:758
+#: InvenTree/helpers.py:745
msgid "No serial numbers found"
msgstr "Inga serienummer hittades"
-#: InvenTree/helpers.py:761
+#: InvenTree/helpers.py:748
#, python-brace-format
msgid "Number of unique serial numbers ({s}) must match quantity ({q})"
msgstr "Antal unika serienummer ({s}) måste matcha antal ({q})"
-#: InvenTree/helpers.py:960
+#: InvenTree/helpers.py:947
msgid "Remove HTML tags from this value"
msgstr "Ta bort HTML-taggar från detta värde"
@@ -194,7 +194,7 @@ msgstr "Saknad fil"
msgid "Missing external link"
msgstr "Extern länk saknas"
-#: InvenTree/models.py:405 stock/models.py:2104
+#: InvenTree/models.py:405 stock/models.py:2120
#: templates/js/translated/attachment.js:103
#: templates/js/translated/attachment.js:241
msgid "Attachment"
@@ -204,18 +204,19 @@ msgstr "Bilaga"
msgid "Select file to attach"
msgstr "Välj fil att bifoga"
-#: InvenTree/models.py:412 company/models.py:125 company/models.py:277
-#: company/models.py:512 order/models.py:84 order/models.py:1259
-#: part/models.py:816 part/templates/part/part_scheduling.html:11
+#: InvenTree/models.py:412 common/models.py:2313 company/models.py:129
+#: company/models.py:281 company/models.py:516 order/models.py:85
+#: order/models.py:1282 part/admin.py:25 part/models.py:835
+#: part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
-#: templates/js/translated/company.js:691
-#: templates/js/translated/company.js:1011
-#: templates/js/translated/order.js:3037 templates/js/translated/part.js:1569
+#: stock/admin.py:102 templates/js/translated/company.js:692
+#: templates/js/translated/company.js:1012
+#: templates/js/translated/order.js:3048 templates/js/translated/part.js:1593
msgid "Link"
msgstr "Länk"
-#: InvenTree/models.py:413 build/models.py:290 part/models.py:817
-#: stock/models.py:660
+#: InvenTree/models.py:413 build/models.py:290 part/models.py:836
+#: stock/models.py:676
msgid "Link to external URL"
msgstr "Länk till extern URL"
@@ -228,12 +229,12 @@ msgstr "Kommentar"
msgid "File comment"
msgstr "Fil kommentar"
-#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1744
-#: common/models.py:1745 common/models.py:1968 common/models.py:1969
-#: common/models.py:2231 common/models.py:2232 part/models.py:2254
-#: part/models.py:2274 plugin/models.py:264 plugin/models.py:265
+#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1756
+#: common/models.py:1757 common/models.py:1980 common/models.py:1981
+#: common/models.py:2243 common/models.py:2244 part/models.py:2867
+#: part/models.py:2887 plugin/models.py:264 plugin/models.py:265
#: report/templates/report/inventree_test_report_base.html:96
-#: templates/js/translated/stock.js:2651
+#: templates/js/translated/stock.js:2669
msgid "User"
msgstr "Användare"
@@ -270,44 +271,45 @@ msgstr "Fel vid namnbyte av fil"
msgid "Invalid choice"
msgstr "Ogiltigt val"
-#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1954
-#: company/models.py:359 label/models.py:101 part/models.py:760
-#: part/models.py:2429 plugin/models.py:94 report/models.py:152
+#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1966
+#: company/models.py:363 label/models.py:101 part/models.py:779
+#: part/models.py:3042 plugin/models.py:94 report/models.py:152
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/plugin.html:60
#: templates/InvenTree/settings/plugin.html:104
#: templates/InvenTree/settings/plugin_settings.html:23
#: templates/InvenTree/settings/settings.html:344
-#: templates/js/translated/company.js:580
-#: templates/js/translated/company.js:793
+#: templates/js/translated/company.js:581
+#: templates/js/translated/company.js:794
#: templates/js/translated/notification.js:71
-#: templates/js/translated/part.js:686 templates/js/translated/part.js:838
-#: templates/js/translated/part.js:1964 templates/js/translated/stock.js:2396
+#: templates/js/translated/part.js:700 templates/js/translated/part.js:865
+#: templates/js/translated/part.js:1988 templates/js/translated/stock.js:2414
msgid "Name"
msgstr "Namn"
#: InvenTree/models.py:564 build/models.py:163
-#: build/templates/build/detail.html:24 company/models.py:283
-#: company/models.py:518 company/templates/company/company_base.html:71
+#: build/templates/build/detail.html:24 company/models.py:287
+#: company/models.py:522 company/templates/company/company_base.html:71
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:108 label/models.py:108
-#: order/models.py:82 part/models.py:783 part/models.py:2438
-#: part/templates/part/category.html:75 part/templates/part/part_base.html:172
+#: order/models.py:83 part/admin.py:141 part/admin.py:222 part/models.py:802
+#: part/models.py:3051 part/templates/part/category.html:75
+#: part/templates/part/part_base.html:172
#: part/templates/part/part_scheduling.html:12 report/models.py:165
#: report/models.py:507 report/models.py:551
#: report/templates/report/inventree_build_order_base.html:117
-#: stock/templates/stock/location.html:117
+#: stock/admin.py:25 stock/templates/stock/location.html:117
#: templates/InvenTree/settings/plugin_settings.html:28
#: templates/InvenTree/settings/settings.html:355
-#: templates/js/translated/bom.js:579 templates/js/translated/bom.js:887
-#: templates/js/translated/build.js:2580 templates/js/translated/company.js:444
-#: templates/js/translated/company.js:702
-#: templates/js/translated/company.js:986 templates/js/translated/order.js:1988
-#: templates/js/translated/order.js:2220 templates/js/translated/order.js:2826
-#: templates/js/translated/part.js:745 templates/js/translated/part.js:1187
-#: templates/js/translated/part.js:1464 templates/js/translated/part.js:2000
-#: templates/js/translated/part.js:2075 templates/js/translated/stock.js:1748
-#: templates/js/translated/stock.js:2428 templates/js/translated/stock.js:2488
+#: templates/js/translated/bom.js:592 templates/js/translated/bom.js:895
+#: templates/js/translated/build.js:2580 templates/js/translated/company.js:445
+#: templates/js/translated/company.js:703
+#: templates/js/translated/company.js:987 templates/js/translated/order.js:2022
+#: templates/js/translated/order.js:2259 templates/js/translated/order.js:2837
+#: templates/js/translated/part.js:759 templates/js/translated/part.js:1208
+#: templates/js/translated/part.js:1475 templates/js/translated/part.js:2024
+#: templates/js/translated/part.js:2099 templates/js/translated/stock.js:1767
+#: templates/js/translated/stock.js:2446 templates/js/translated/stock.js:2506
msgid "Description"
msgstr "Beskrivning"
@@ -320,7 +322,7 @@ msgid "parent"
msgstr "överordnad"
#: InvenTree/models.py:580 InvenTree/models.py:581
-#: templates/js/translated/part.js:2009 templates/js/translated/stock.js:2437
+#: templates/js/translated/part.js:2033 templates/js/translated/stock.js:2455
msgid "Path"
msgstr "Sökväg"
@@ -332,7 +334,7 @@ msgstr ""
msgid "Third party barcode data"
msgstr ""
-#: InvenTree/models.py:688 order/serializers.py:486
+#: InvenTree/models.py:688 order/serializers.py:477
msgid "Barcode Hash"
msgstr ""
@@ -352,187 +354,187 @@ msgstr "Serverfel"
msgid "An error has been logged by the server."
msgstr "Ett fel har loggats av servern."
-#: InvenTree/serializers.py:58 part/models.py:2774
+#: InvenTree/serializers.py:58 part/models.py:3387
msgid "Must be a valid number"
msgstr "Måste vara ett giltigt nummer"
-#: InvenTree/serializers.py:265
+#: InvenTree/serializers.py:266
msgid "Filename"
msgstr "Filnamn"
-#: InvenTree/serializers.py:300
+#: InvenTree/serializers.py:301
msgid "Invalid value"
msgstr "Ogiltigt värde"
-#: InvenTree/serializers.py:322
+#: InvenTree/serializers.py:323
msgid "Data File"
msgstr "Datafil"
-#: InvenTree/serializers.py:323
+#: InvenTree/serializers.py:324
msgid "Select data file for upload"
msgstr "Välj fil för uppladdning"
-#: InvenTree/serializers.py:344
+#: InvenTree/serializers.py:345
msgid "Unsupported file type"
msgstr "Filtypen stöds inte"
-#: InvenTree/serializers.py:350
+#: InvenTree/serializers.py:351
msgid "File is too large"
msgstr "Filen är för stor"
-#: InvenTree/serializers.py:371
+#: InvenTree/serializers.py:372
msgid "No columns found in file"
msgstr "Inga kolumner hittades i filen"
-#: InvenTree/serializers.py:374
+#: InvenTree/serializers.py:375
msgid "No data rows found in file"
msgstr "Inga rader hittades i filen"
-#: InvenTree/serializers.py:497
+#: InvenTree/serializers.py:498
msgid "No data rows provided"
msgstr "Inga rader angivna"
-#: InvenTree/serializers.py:500
+#: InvenTree/serializers.py:501
msgid "No data columns supplied"
msgstr "Inga datakolumner har angetts"
-#: InvenTree/serializers.py:577
+#: InvenTree/serializers.py:578
#, python-brace-format
msgid "Missing required column: '{name}'"
msgstr "Saknar obligatorisk kolumn: '{name}'"
-#: InvenTree/serializers.py:586
+#: InvenTree/serializers.py:587
#, python-brace-format
msgid "Duplicate column: '{col}'"
msgstr "Duplicerad kolumn: '{col}'"
-#: InvenTree/serializers.py:605
+#: InvenTree/serializers.py:606
#: templates/InvenTree/settings/mixins/urls.html:14
msgid "URL"
msgstr "URL"
-#: InvenTree/serializers.py:606
+#: InvenTree/serializers.py:607
msgid "URL of remote image file"
msgstr "URL för fjärrbildsfil"
-#: InvenTree/serializers.py:620
+#: InvenTree/serializers.py:621
msgid "Downloading images from remote URL is not enabled"
msgstr "Nedladdning av bilder från fjärr-URL är inte aktiverad"
-#: InvenTree/settings.py:621
+#: InvenTree/settings.py:627
msgid "Czech"
msgstr "Tjeckiska"
-#: InvenTree/settings.py:622
+#: InvenTree/settings.py:628
msgid "Danish"
msgstr ""
-#: InvenTree/settings.py:623
+#: InvenTree/settings.py:629
msgid "German"
msgstr "Tyska"
-#: InvenTree/settings.py:624
+#: InvenTree/settings.py:630
msgid "Greek"
msgstr "Grekiska"
-#: InvenTree/settings.py:625
+#: InvenTree/settings.py:631
msgid "English"
msgstr "Engelska"
-#: InvenTree/settings.py:626
+#: InvenTree/settings.py:632
msgid "Spanish"
msgstr "Spanska"
-#: InvenTree/settings.py:627
+#: InvenTree/settings.py:633
msgid "Spanish (Mexican)"
msgstr "Spanska (Mexikanska)"
-#: InvenTree/settings.py:628
+#: InvenTree/settings.py:634
msgid "Farsi / Persian"
msgstr "Farsi / Persiska"
-#: InvenTree/settings.py:629
+#: InvenTree/settings.py:635
msgid "French"
msgstr "Franska"
-#: InvenTree/settings.py:630
+#: InvenTree/settings.py:636
msgid "Hebrew"
msgstr "Hebreiska"
-#: InvenTree/settings.py:631
+#: InvenTree/settings.py:637
msgid "Hungarian"
msgstr "Ungerska"
-#: InvenTree/settings.py:632
+#: InvenTree/settings.py:638
msgid "Italian"
msgstr "Italienska"
-#: InvenTree/settings.py:633
+#: InvenTree/settings.py:639
msgid "Japanese"
msgstr "Japanska"
-#: InvenTree/settings.py:634
+#: InvenTree/settings.py:640
msgid "Korean"
msgstr "Koreanska"
-#: InvenTree/settings.py:635
+#: InvenTree/settings.py:641
msgid "Dutch"
msgstr "Nederländska"
-#: InvenTree/settings.py:636
+#: InvenTree/settings.py:642
msgid "Norwegian"
msgstr "Norska"
-#: InvenTree/settings.py:637
+#: InvenTree/settings.py:643
msgid "Polish"
msgstr "Polska"
-#: InvenTree/settings.py:638
+#: InvenTree/settings.py:644
msgid "Portuguese"
msgstr "Portugisiska"
-#: InvenTree/settings.py:639
+#: InvenTree/settings.py:645
msgid "Portuguese (Brazilian)"
msgstr "Portugisiska (brasiliansk)"
-#: InvenTree/settings.py:640
+#: InvenTree/settings.py:646
msgid "Russian"
msgstr "Ryska"
-#: InvenTree/settings.py:641
+#: InvenTree/settings.py:647
msgid "Swedish"
msgstr "Svenska"
-#: InvenTree/settings.py:642
+#: InvenTree/settings.py:648
msgid "Thai"
msgstr "Thailändska"
-#: InvenTree/settings.py:643
+#: InvenTree/settings.py:649
msgid "Turkish"
msgstr "Turkiska"
-#: InvenTree/settings.py:644
+#: InvenTree/settings.py:650
msgid "Vietnamese"
msgstr "Vietnamesiska"
-#: InvenTree/settings.py:645
+#: InvenTree/settings.py:651
msgid "Chinese"
msgstr "Kinesiska"
-#: InvenTree/status.py:99
+#: InvenTree/status.py:98
msgid "Background worker check failed"
msgstr "Kontroll av bakgrundsarbetare misslyckades"
-#: InvenTree/status.py:103
+#: InvenTree/status.py:102
msgid "Email backend not configured"
msgstr "Backend för e-post är inte konfigurerad"
-#: InvenTree/status.py:106
+#: InvenTree/status.py:105
msgid "InvenTree system health checks failed"
msgstr "InvenTree systemhälsokontroll misslyckades"
#: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140
-#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:342
+#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:346
msgid "Pending"
msgstr "Väntar"
@@ -561,8 +563,8 @@ msgstr "Förlorad"
msgid "Returned"
msgstr "Återlämnad"
-#: InvenTree/status_codes.py:141 order/models.py:1142
-#: templates/js/translated/order.js:3625 templates/js/translated/order.js:3974
+#: InvenTree/status_codes.py:141 order/models.py:1165
+#: templates/js/translated/order.js:3636 templates/js/translated/order.js:3971
msgid "Shipped"
msgstr "Skickad"
@@ -646,7 +648,7 @@ msgstr "Dela från överordnat objekt"
msgid "Split child item"
msgstr "Dela underordnat objekt"
-#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2086
+#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2104
msgid "Merged stock items"
msgstr "Sammanfogade lagerposter"
@@ -654,7 +656,7 @@ msgstr "Sammanfogade lagerposter"
msgid "Converted to variant"
msgstr "Konverterad till variant"
-#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:229
+#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:233
msgid "Sent to customer"
msgstr "Skickat till kund"
@@ -746,7 +748,7 @@ msgstr "Byggorder"
#: build/models.py:111 build/templates/build/build_base.html:13
#: build/templates/build/index.html:8 build/templates/build/index.html:12
-#: order/templates/order/sales_order_detail.html:120
+#: order/templates/order/sales_order_detail.html:125
#: order/templates/order/so_sidebar.html:13
#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221
#: templates/InvenTree/search.html:141
@@ -759,15 +761,15 @@ msgstr "Byggordrar"
msgid "Build Order Reference"
msgstr "Byggorderreferens"
-#: build/models.py:155 order/models.py:240 order/models.py:632
-#: order/models.py:918 part/models.py:2684
+#: build/models.py:155 order/models.py:241 order/models.py:651
+#: order/models.py:941 part/admin.py:224 part/models.py:3297
#: part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:92
-#: templates/js/translated/bom.js:716 templates/js/translated/bom.js:897
-#: templates/js/translated/build.js:1843 templates/js/translated/order.js:2251
-#: templates/js/translated/order.js:2481 templates/js/translated/order.js:3818
-#: templates/js/translated/order.js:4323
+#: templates/js/translated/bom.js:729 templates/js/translated/bom.js:905
+#: templates/js/translated/build.js:1843 templates/js/translated/order.js:2290
+#: templates/js/translated/order.js:2508 templates/js/translated/order.js:3833
+#: templates/js/translated/order.js:4324 templates/js/translated/pricing.js:119
msgid "Reference"
msgstr "Referens"
@@ -785,39 +787,40 @@ msgid "BuildOrder to which this build is allocated"
msgstr "Byggorder till vilken detta bygge är tilldelad"
#: build/models.py:180 build/templates/build/build_base.html:80
-#: build/templates/build/detail.html:29 company/models.py:680
-#: order/models.py:1015 order/models.py:1126 order/models.py:1127
-#: part/models.py:343 part/models.py:2200 part/models.py:2215
-#: part/models.py:2234 part/models.py:2252 part/models.py:2351
-#: part/models.py:2472 part/models.py:2564 part/models.py:2649
-#: part/models.py:2943 part/serializers.py:828
+#: build/templates/build/detail.html:29 company/models.py:684
+#: order/models.py:1038 order/models.py:1149 order/models.py:1150
+#: part/models.py:362 part/models.py:2700 part/models.py:2813
+#: part/models.py:2828 part/models.py:2847 part/models.py:2865
+#: part/models.py:2964 part/models.py:3085 part/models.py:3177
+#: part/models.py:3262 part/models.py:3578 part/serializers.py:852
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
#: report/templates/report/inventree_build_order_base.html:109
#: report/templates/report/inventree_po_report.html:89
-#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:86
-#: stock/serializers.py:494 templates/InvenTree/search.html:82
+#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:90
+#: stock/serializers.py:488 templates/InvenTree/search.html:82
#: templates/email/build_order_completed.html:17
#: templates/email/build_order_required_stock.html:17
#: templates/email/low_stock_notification.html:16
#: templates/email/overdue_build_order.html:16
-#: templates/js/translated/barcode.js:479 templates/js/translated/bom.js:578
-#: templates/js/translated/bom.js:715 templates/js/translated/bom.js:841
+#: templates/js/translated/barcode.js:479 templates/js/translated/bom.js:591
+#: templates/js/translated/bom.js:728 templates/js/translated/bom.js:849
#: templates/js/translated/build.js:1214 templates/js/translated/build.js:1711
#: templates/js/translated/build.js:2194 templates/js/translated/build.js:2585
-#: templates/js/translated/company.js:301
-#: templates/js/translated/company.js:531
-#: templates/js/translated/company.js:643
-#: templates/js/translated/company.js:904 templates/js/translated/order.js:106
-#: templates/js/translated/order.js:1134 templates/js/translated/order.js:1638
-#: templates/js/translated/order.js:2205 templates/js/translated/order.js:3180
-#: templates/js/translated/order.js:3576 templates/js/translated/order.js:3802
-#: templates/js/translated/part.js:1172 templates/js/translated/part.js:1244
-#: templates/js/translated/part.js:1442 templates/js/translated/stock.js:586
-#: templates/js/translated/stock.js:751 templates/js/translated/stock.js:958
-#: templates/js/translated/stock.js:1700 templates/js/translated/stock.js:2514
-#: templates/js/translated/stock.js:2709 templates/js/translated/stock.js:2843
+#: templates/js/translated/company.js:302
+#: templates/js/translated/company.js:532
+#: templates/js/translated/company.js:644
+#: templates/js/translated/company.js:905 templates/js/translated/order.js:106
+#: templates/js/translated/order.js:1168 templates/js/translated/order.js:1672
+#: templates/js/translated/order.js:2244 templates/js/translated/order.js:3191
+#: templates/js/translated/order.js:3587 templates/js/translated/order.js:3817
+#: templates/js/translated/part.js:1193 templates/js/translated/part.js:1265
+#: templates/js/translated/part.js:1452 templates/js/translated/pricing.js:102
+#: templates/js/translated/stock.js:605 templates/js/translated/stock.js:770
+#: templates/js/translated/stock.js:977 templates/js/translated/stock.js:1719
+#: templates/js/translated/stock.js:2532 templates/js/translated/stock.js:2727
+#: templates/js/translated/stock.js:2861
msgid "Part"
msgstr "Del"
@@ -834,7 +837,7 @@ msgid "SalesOrder to which this build is allocated"
msgstr "Försäljningsorder till vilken detta bygge allokeras"
#: build/models.py:202 build/serializers.py:822
-#: templates/js/translated/build.js:2182 templates/js/translated/order.js:3168
+#: templates/js/translated/build.js:2182 templates/js/translated/order.js:3179
msgid "Source Location"
msgstr "Källa Plats"
@@ -874,8 +877,8 @@ msgstr "Byggstatus"
msgid "Build status code"
msgstr "Bygg statuskod"
-#: build/models.py:245 build/serializers.py:224 order/serializers.py:464
-#: stock/models.py:664 templates/js/translated/order.js:1496
+#: build/models.py:245 build/serializers.py:224 order/serializers.py:455
+#: stock/models.py:680 templates/js/translated/order.js:1530
msgid "Batch Code"
msgstr "Batchkod"
@@ -883,12 +886,12 @@ msgstr "Batchkod"
msgid "Batch code for this build output"
msgstr "Batch-kod för denna byggutdata"
-#: build/models.py:252 order/models.py:86 part/models.py:952
-#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2839
+#: build/models.py:252 order/models.py:87 part/models.py:971
+#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2850
msgid "Creation Date"
msgstr "Skapad"
-#: build/models.py:256 order/models.py:662
+#: build/models.py:256 order/models.py:681
msgid "Target completion date"
msgstr "Datum för slutförande"
@@ -896,7 +899,7 @@ msgstr "Datum för slutförande"
msgid "Target date for build completion. Build will be overdue after this date."
msgstr "Måldatum för färdigställande. Byggandet kommer att förfallas efter detta datum."
-#: build/models.py:260 order/models.py:291
+#: build/models.py:260 order/models.py:292
#: templates/js/translated/build.js:2662
msgid "Completion Date"
msgstr "Slutförandedatum"
@@ -914,11 +917,11 @@ msgid "User who issued this build order"
msgstr "Användare som utfärdade denna byggorder"
#: build/models.py:283 build/templates/build/build_base.html:193
-#: build/templates/build/detail.html:115 order/models.py:100
+#: build/templates/build/detail.html:115 order/models.py:101
#: order/templates/order/order_base.html:185
-#: order/templates/order/sales_order_base.html:183 part/models.py:956
+#: order/templates/order/sales_order_base.html:183 part/models.py:975
#: report/templates/report/inventree_build_order_base.html:158
-#: templates/js/translated/build.js:2642 templates/js/translated/order.js:2022
+#: templates/js/translated/build.js:2642 templates/js/translated/order.js:2056
msgid "Responsible"
msgstr "Ansvarig"
@@ -929,7 +932,7 @@ msgstr "Användare som ansvarar för denna byggorder"
#: build/models.py:289 build/templates/build/detail.html:101
#: company/templates/company/manufacturer_part.html:107
#: company/templates/company/supplier_part.html:188
-#: part/templates/part/part_base.html:361 stock/models.py:658
+#: part/templates/part/part_base.html:376 stock/models.py:674
#: stock/templates/stock/item_base.html:203
msgid "External Link"
msgstr "Extern länk"
@@ -968,11 +971,11 @@ msgstr "Byggobjekt måste ange en byggutgång, eftersom huvuddelen är markerad
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr "Tilldelad kvantitet ({q}) får inte överstiga tillgängligt lagersaldo ({a})"
-#: build/models.py:1191 order/models.py:1393
+#: build/models.py:1191 order/models.py:1416
msgid "Stock item is over-allocated"
msgstr "Lagerposten är överallokerad"
-#: build/models.py:1197 order/models.py:1396
+#: build/models.py:1197 order/models.py:1419
msgid "Allocation quantity must be greater than zero"
msgstr "Allokeringsmängden måste vara större än noll"
@@ -994,18 +997,18 @@ msgstr "Bygg"
msgid "Build to allocate parts"
msgstr "Bygg för att allokera delar"
-#: build/models.py:1346 build/serializers.py:663 order/serializers.py:1039
-#: order/serializers.py:1060 stock/serializers.py:398 stock/serializers.py:758
-#: stock/serializers.py:884 stock/templates/stock/item_base.html:10
+#: build/models.py:1346 build/serializers.py:663 order/serializers.py:1032
+#: order/serializers.py:1053 stock/serializers.py:392 stock/serializers.py:757
+#: stock/serializers.py:883 stock/templates/stock/item_base.html:10
#: stock/templates/stock/item_base.html:23
#: stock/templates/stock/item_base.html:197
#: templates/js/translated/build.js:790 templates/js/translated/build.js:795
#: templates/js/translated/build.js:2196 templates/js/translated/build.js:2747
-#: templates/js/translated/order.js:107 templates/js/translated/order.js:3181
-#: templates/js/translated/order.js:3483 templates/js/translated/order.js:3488
-#: templates/js/translated/order.js:3583 templates/js/translated/order.js:3675
-#: templates/js/translated/stock.js:587 templates/js/translated/stock.js:752
-#: templates/js/translated/stock.js:2587
+#: templates/js/translated/order.js:107 templates/js/translated/order.js:3192
+#: templates/js/translated/order.js:3494 templates/js/translated/order.js:3499
+#: templates/js/translated/order.js:3594 templates/js/translated/order.js:3686
+#: templates/js/translated/stock.js:606 templates/js/translated/stock.js:771
+#: templates/js/translated/stock.js:2605
msgid "Stock Item"
msgstr "Artikel i lager"
@@ -1015,12 +1018,10 @@ msgstr "Källa lagervara"
#: build/models.py:1359 build/serializers.py:192
#: build/templates/build/build_base.html:85
-#: build/templates/build/detail.html:34 common/models.py:1776
-#: company/templates/company/supplier_part.html:341 order/models.py:911
-#: order/models.py:1437 order/serializers.py:1213
-#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:40
-#: part/models.py:2665 part/templates/part/detail.html:938
-#: part/templates/part/detail.html:1024
+#: build/templates/build/detail.html:34 common/models.py:1788
+#: order/models.py:934 order/models.py:1460 order/serializers.py:1206
+#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:223
+#: part/forms.py:40 part/models.py:3278
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_build_order_base.html:113
@@ -1028,25 +1029,29 @@ msgstr "Källa lagervara"
#: report/templates/report/inventree_so_report.html:91
#: report/templates/report/inventree_test_report_base.html:81
#: report/templates/report/inventree_test_report_base.html:139
-#: stock/serializers.py:291 stock/templates/stock/item_base.html:290
+#: stock/admin.py:86 stock/serializers.py:285
+#: stock/templates/stock/item_base.html:290
#: stock/templates/stock/item_base.html:298
#: templates/email/build_order_completed.html:18
-#: templates/js/translated/barcode.js:481 templates/js/translated/bom.js:717
-#: templates/js/translated/bom.js:905 templates/js/translated/build.js:474
+#: templates/js/translated/barcode.js:481 templates/js/translated/bom.js:730
+#: templates/js/translated/bom.js:913 templates/js/translated/build.js:474
#: templates/js/translated/build.js:626 templates/js/translated/build.js:817
#: templates/js/translated/build.js:1236 templates/js/translated/build.js:1737
#: templates/js/translated/build.js:2197
+#: templates/js/translated/company.js:1159
#: templates/js/translated/model_renderers.js:120
-#: templates/js/translated/order.js:123 templates/js/translated/order.js:1137
-#: templates/js/translated/order.js:2257 templates/js/translated/order.js:2487
-#: templates/js/translated/order.js:3182 templates/js/translated/order.js:3502
-#: templates/js/translated/order.js:3589 templates/js/translated/order.js:3681
-#: templates/js/translated/order.js:3824 templates/js/translated/order.js:4329
-#: templates/js/translated/part.js:1036 templates/js/translated/part.js:2220
-#: templates/js/translated/part.js:2689 templates/js/translated/part.js:2730
-#: templates/js/translated/part.js:2808 templates/js/translated/stock.js:458
-#: templates/js/translated/stock.js:612 templates/js/translated/stock.js:782
-#: templates/js/translated/stock.js:2636 templates/js/translated/stock.js:2721
+#: templates/js/translated/order.js:123 templates/js/translated/order.js:1171
+#: templates/js/translated/order.js:2296 templates/js/translated/order.js:2514
+#: templates/js/translated/order.js:3193 templates/js/translated/order.js:3513
+#: templates/js/translated/order.js:3600 templates/js/translated/order.js:3692
+#: templates/js/translated/order.js:3839 templates/js/translated/order.js:4330
+#: templates/js/translated/part.js:1063 templates/js/translated/part.js:2546
+#: templates/js/translated/pricing.js:114
+#: templates/js/translated/pricing.js:207
+#: templates/js/translated/pricing.js:255
+#: templates/js/translated/pricing.js:349 templates/js/translated/stock.js:477
+#: templates/js/translated/stock.js:631 templates/js/translated/stock.js:801
+#: templates/js/translated/stock.js:2654 templates/js/translated/stock.js:2739
msgid "Quantity"
msgstr "Antal"
@@ -1087,10 +1092,10 @@ msgstr ""
msgid "Enter quantity for build output"
msgstr ""
-#: build/serializers.py:207 build/serializers.py:683 order/models.py:323
-#: order/serializers.py:304 order/serializers.py:459 part/serializers.py:558
-#: part/serializers.py:991 stock/models.py:518 stock/models.py:1253
-#: stock/serializers.py:300
+#: build/serializers.py:207 build/serializers.py:683 order/models.py:327
+#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:644
+#: part/serializers.py:1015 stock/models.py:534 stock/models.py:1269
+#: stock/serializers.py:294
msgid "Quantity must be greater than zero"
msgstr ""
@@ -1102,9 +1107,9 @@ msgstr ""
msgid "Integer quantity required, as the bill of materials contains trackable parts"
msgstr ""
-#: build/serializers.py:231 order/serializers.py:472 order/serializers.py:1217
-#: stock/serializers.py:309 templates/js/translated/order.js:1507
-#: templates/js/translated/stock.js:271 templates/js/translated/stock.js:459
+#: build/serializers.py:231 order/serializers.py:463 order/serializers.py:1210
+#: stock/serializers.py:303 templates/js/translated/order.js:1541
+#: templates/js/translated/stock.js:290 templates/js/translated/stock.js:478
msgid "Serial Numbers"
msgstr "Serienummer"
@@ -1120,7 +1125,7 @@ msgstr ""
msgid "Automatically allocate required items with matching serial numbers"
msgstr ""
-#: build/serializers.py:281 stock/api.py:589
+#: build/serializers.py:281 stock/api.py:599
msgid "The following serial numbers already exist or are invalid"
msgstr ""
@@ -1128,18 +1133,18 @@ msgstr ""
msgid "A list of build outputs must be provided"
msgstr ""
-#: build/serializers.py:369 order/serializers.py:445 order/serializers.py:556
-#: stock/serializers.py:320 stock/serializers.py:455 stock/serializers.py:536
-#: stock/serializers.py:919 stock/serializers.py:1152
+#: build/serializers.py:369 order/serializers.py:436 order/serializers.py:547
+#: stock/serializers.py:314 stock/serializers.py:449 stock/serializers.py:530
+#: stock/serializers.py:918 stock/serializers.py:1151
#: stock/templates/stock/item_base.html:388
#: templates/js/translated/barcode.js:480
#: templates/js/translated/barcode.js:724 templates/js/translated/build.js:802
-#: templates/js/translated/build.js:1749 templates/js/translated/order.js:1534
-#: templates/js/translated/order.js:3495 templates/js/translated/order.js:3600
-#: templates/js/translated/order.js:3608 templates/js/translated/order.js:3689
-#: templates/js/translated/part.js:181 templates/js/translated/stock.js:588
-#: templates/js/translated/stock.js:753 templates/js/translated/stock.js:960
-#: templates/js/translated/stock.js:1856 templates/js/translated/stock.js:2528
+#: templates/js/translated/build.js:1749 templates/js/translated/order.js:1568
+#: templates/js/translated/order.js:3506 templates/js/translated/order.js:3611
+#: templates/js/translated/order.js:3619 templates/js/translated/order.js:3700
+#: templates/js/translated/part.js:177 templates/js/translated/stock.js:607
+#: templates/js/translated/stock.js:772 templates/js/translated/stock.js:979
+#: templates/js/translated/stock.js:1875 templates/js/translated/stock.js:2546
msgid "Location"
msgstr "Plats"
@@ -1148,12 +1153,13 @@ msgid "Location for completed build outputs"
msgstr ""
#: build/serializers.py:376 build/templates/build/build_base.html:145
-#: build/templates/build/detail.html:62 order/models.py:651
-#: order/serializers.py:482 stock/templates/stock/item_base.html:421
+#: build/templates/build/detail.html:62 order/models.py:670
+#: order/serializers.py:473 stock/admin.py:89
+#: stock/templates/stock/item_base.html:421
#: templates/js/translated/barcode.js:214 templates/js/translated/build.js:2614
-#: templates/js/translated/order.js:1643 templates/js/translated/order.js:1992
-#: templates/js/translated/order.js:2831 templates/js/translated/stock.js:1831
-#: templates/js/translated/stock.js:2605 templates/js/translated/stock.js:2737
+#: templates/js/translated/order.js:1677 templates/js/translated/order.js:2026
+#: templates/js/translated/order.js:2842 templates/js/translated/stock.js:1850
+#: templates/js/translated/stock.js:2623 templates/js/translated/stock.js:2755
msgid "Status"
msgstr "Status"
@@ -1213,7 +1219,7 @@ msgstr ""
msgid "Required stock has not been fully allocated"
msgstr ""
-#: build/serializers.py:545 order/serializers.py:208 order/serializers.py:1107
+#: build/serializers.py:545 order/serializers.py:202 order/serializers.py:1100
msgid "Accept Incomplete"
msgstr "Acceptera ofullständig"
@@ -1229,8 +1235,8 @@ msgstr ""
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:595 build/serializers.py:640 part/models.py:2801
-#: part/models.py:2935
+#: build/serializers.py:595 build/serializers.py:640 part/models.py:3414
+#: part/models.py:3570
msgid "BOM Item"
msgstr ""
@@ -1246,11 +1252,11 @@ msgstr ""
msgid "bom_item.part must point to the same part as the build order"
msgstr ""
-#: build/serializers.py:669 stock/serializers.py:771
+#: build/serializers.py:669 stock/serializers.py:770
msgid "Item must be in stock"
msgstr ""
-#: build/serializers.py:727 order/serializers.py:1097
+#: build/serializers.py:727 order/serializers.py:1090
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr ""
@@ -1267,7 +1273,7 @@ msgstr ""
msgid "This stock item has already been allocated to this build output"
msgstr ""
-#: build/serializers.py:768 order/serializers.py:1381
+#: build/serializers.py:768 order/serializers.py:1374
msgid "Allocation items must be provided"
msgstr ""
@@ -1382,13 +1388,13 @@ msgid "Stock has not been fully allocated to this Build Order"
msgstr ""
#: build/templates/build/build_base.html:154
-#: build/templates/build/detail.html:131 order/models.py:924
+#: build/templates/build/detail.html:131 order/models.py:947
#: order/templates/order/order_base.html:171
#: order/templates/order/sales_order_base.html:164
#: report/templates/report/inventree_build_order_base.html:125
-#: templates/js/translated/build.js:2654 templates/js/translated/order.js:2009
-#: templates/js/translated/order.js:2351 templates/js/translated/order.js:2847
-#: templates/js/translated/order.js:3887 templates/js/translated/part.js:1051
+#: templates/js/translated/build.js:2654 templates/js/translated/order.js:2043
+#: templates/js/translated/order.js:2374 templates/js/translated/order.js:2858
+#: templates/js/translated/order.js:3884 templates/js/translated/part.js:1078
msgid "Target Date"
msgstr "Måldatum"
@@ -1401,29 +1407,29 @@ msgstr ""
#: build/templates/build/build_base.html:204
#: order/templates/order/order_base.html:107
#: order/templates/order/sales_order_base.html:94
-#: templates/js/translated/table_filters.js:328
-#: templates/js/translated/table_filters.js:369
-#: templates/js/translated/table_filters.js:399
+#: templates/js/translated/table_filters.js:332
+#: templates/js/translated/table_filters.js:373
+#: templates/js/translated/table_filters.js:403
msgid "Overdue"
msgstr "Försenad"
#: build/templates/build/build_base.html:166
#: build/templates/build/detail.html:67 build/templates/build/detail.html:142
#: order/templates/order/sales_order_base.html:171
-#: templates/js/translated/table_filters.js:408
+#: templates/js/translated/table_filters.js:412
msgid "Completed"
msgstr "Slutförd"
#: build/templates/build/build_base.html:179
-#: build/templates/build/detail.html:94 order/models.py:1119
-#: order/models.py:1213 order/models.py:1344
+#: build/templates/build/detail.html:94 order/models.py:1142
+#: order/models.py:1236 order/models.py:1367
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
#: report/templates/report/inventree_build_order_base.html:135
#: report/templates/report/inventree_so_report.html:77
#: stock/templates/stock/item_base.html:368
#: templates/email/overdue_sales_order.html:15
-#: templates/js/translated/order.js:2793
+#: templates/js/translated/order.js:2804 templates/js/translated/pricing.js:637
msgid "Sales Order"
msgstr "Försäljningsorder"
@@ -1449,8 +1455,8 @@ msgstr ""
msgid "Stock can be taken from any available location."
msgstr ""
-#: build/templates/build/detail.html:49 order/models.py:1037
-#: templates/js/translated/order.js:1644 templates/js/translated/order.js:2393
+#: build/templates/build/detail.html:49 order/models.py:1060
+#: templates/js/translated/order.js:1678 templates/js/translated/order.js:2416
msgid "Destination"
msgstr "Mål"
@@ -1462,14 +1468,14 @@ msgstr ""
msgid "Allocated Parts"
msgstr ""
-#: build/templates/build/detail.html:80
+#: build/templates/build/detail.html:80 stock/admin.py:88
#: stock/templates/stock/item_base.html:168
#: templates/js/translated/build.js:1240
#: templates/js/translated/model_renderers.js:124
-#: templates/js/translated/stock.js:1026 templates/js/translated/stock.js:1845
-#: templates/js/translated/stock.js:2744
-#: templates/js/translated/table_filters.js:167
-#: templates/js/translated/table_filters.js:258
+#: templates/js/translated/stock.js:1045 templates/js/translated/stock.js:1864
+#: templates/js/translated/stock.js:2762
+#: templates/js/translated/table_filters.js:171
+#: templates/js/translated/table_filters.js:262
msgid "Batch"
msgstr ""
@@ -1527,7 +1533,7 @@ msgstr "Beställ obligatoriska delar"
#: build/templates/build/detail.html:187
#: company/templates/company/detail.html:37
#: company/templates/company/detail.html:85
-#: part/templates/part/category.html:178 templates/js/translated/order.js:1177
+#: part/templates/part/category.html:178 templates/js/translated/order.js:1211
msgid "Order Parts"
msgstr "Beställ delar"
@@ -1597,10 +1603,10 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:151
#: company/templates/company/manufacturer_part_sidebar.html:9
#: order/templates/order/po_sidebar.html:9
-#: order/templates/order/purchase_order_detail.html:82
-#: order/templates/order/sales_order_detail.html:135
-#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:212
-#: part/templates/part/part_sidebar.html:57 stock/templates/stock/item.html:117
+#: order/templates/order/purchase_order_detail.html:86
+#: order/templates/order/sales_order_detail.html:140
+#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:210
+#: part/templates/part/part_sidebar.html:55 stock/templates/stock/item.html:117
#: stock/templates/stock/stock_sidebar.html:23
msgid "Attachments"
msgstr "Bilagor"
@@ -1617,7 +1623,7 @@ msgstr ""
msgid "All untracked stock items have been allocated"
msgstr ""
-#: build/templates/build/index.html:18 part/templates/part/detail.html:318
+#: build/templates/build/index.html:18 part/templates/part/detail.html:316
msgid "New Build Order"
msgstr "Ny byggorder"
@@ -1734,7 +1740,7 @@ msgstr ""
msgid "Show the `about` modal only to superusers"
msgstr ""
-#: common/models.py:833 company/models.py:94 company/models.py:95
+#: common/models.py:833 company/models.py:98 company/models.py:99
msgid "Company name"
msgstr "Företagsnamn"
@@ -1902,9 +1908,9 @@ msgstr ""
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:1002 part/models.py:2474 report/models.py:158
-#: templates/js/translated/table_filters.js:38
-#: templates/js/translated/table_filters.js:492
+#: common/models.py:1002 part/admin.py:41 part/models.py:3087
+#: report/models.py:158 templates/js/translated/table_filters.js:38
+#: templates/js/translated/table_filters.js:496
msgid "Template"
msgstr ""
@@ -1912,9 +1918,10 @@ msgstr ""
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:1009 part/models.py:908 templates/js/translated/bom.js:1531
-#: templates/js/translated/table_filters.js:184
-#: templates/js/translated/table_filters.js:455
+#: common/models.py:1009 part/admin.py:37 part/admin.py:229 part/models.py:927
+#: templates/js/translated/bom.js:1594
+#: templates/js/translated/table_filters.js:188
+#: templates/js/translated/table_filters.js:459
msgid "Assembly"
msgstr ""
@@ -1922,8 +1929,8 @@ msgstr ""
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:1016 part/models.py:914
-#: templates/js/translated/table_filters.js:463
+#: common/models.py:1016 part/admin.py:38 part/models.py:933
+#: templates/js/translated/table_filters.js:467
msgid "Component"
msgstr ""
@@ -1931,7 +1938,7 @@ msgstr ""
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:1023 part/models.py:925
+#: common/models.py:1023 part/admin.py:39 part/models.py:944
msgid "Purchaseable"
msgstr ""
@@ -1939,8 +1946,8 @@ msgstr ""
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:1030 part/models.py:930
-#: templates/js/translated/table_filters.js:484
+#: common/models.py:1030 part/admin.py:40 part/models.py:949
+#: templates/js/translated/table_filters.js:488
msgid "Salable"
msgstr ""
@@ -1948,10 +1955,10 @@ msgstr ""
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:1037 part/models.py:920
+#: common/models.py:1037 part/admin.py:42 part/models.py:939
#: templates/js/translated/table_filters.js:46
-#: templates/js/translated/table_filters.js:116
-#: templates/js/translated/table_filters.js:496
+#: templates/js/translated/table_filters.js:120
+#: templates/js/translated/table_filters.js:500
msgid "Trackable"
msgstr ""
@@ -1959,10 +1966,10 @@ msgstr ""
msgid "Parts are trackable by default"
msgstr ""
-#: common/models.py:1044 part/models.py:940
+#: common/models.py:1044 part/admin.py:43 part/models.py:959
#: part/templates/part/part_base.html:156
#: templates/js/translated/table_filters.js:42
-#: templates/js/translated/table_filters.js:500
+#: templates/js/translated/table_filters.js:504
msgid "Virtual"
msgstr "Virtuell"
@@ -1979,791 +1986,837 @@ msgid "Display the import wizard in some part views"
msgstr "Visa importguiden i vissa delvyer"
#: common/models.py:1058
-msgid "Show Price in Forms"
-msgstr "Visa pris i formulär"
-
-#: common/models.py:1059
-msgid "Display part price in some forms"
-msgstr "Visa delars pris i vissa formulär"
-
-#: common/models.py:1070
-msgid "Show Price in BOM"
-msgstr ""
-
-#: common/models.py:1071
-msgid "Include pricing information in BOM tables"
-msgstr ""
-
-#: common/models.py:1082
-msgid "Show Price History"
-msgstr "Visa prishistorik"
-
-#: common/models.py:1083
-msgid "Display historical pricing for Part"
-msgstr "Visa historisk prissättning för del"
-
-#: common/models.py:1089
msgid "Show related parts"
msgstr "Visa relaterade delar"
-#: common/models.py:1090
+#: common/models.py:1059
msgid "Display related parts for a part"
msgstr "Visa relaterade delar för en del"
-#: common/models.py:1096
+#: common/models.py:1065
msgid "Create initial stock"
msgstr "Skapa ursprungligt lager"
-#: common/models.py:1097
+#: common/models.py:1066
msgid "Create initial stock on part creation"
msgstr "Skapa ursprungligt lager när delen skapas"
-#: common/models.py:1103
-msgid "Internal Prices"
-msgstr "Interna priser"
-
-#: common/models.py:1104
-msgid "Enable internal prices for parts"
-msgstr ""
-
-#: common/models.py:1110
-msgid "Internal Price as BOM-Price"
-msgstr ""
-
-#: common/models.py:1111
-msgid "Use the internal price (if set) in BOM-price calculations"
-msgstr ""
-
-#: common/models.py:1117
+#: common/models.py:1072
msgid "Part Name Display Format"
msgstr "Visningsformat för delnamn"
-#: common/models.py:1118
+#: common/models.py:1073
msgid "Format to display the part name"
msgstr "Formatera för att visa artikelnamnet"
-#: common/models.py:1125
+#: common/models.py:1080
msgid "Part Category Default Icon"
msgstr ""
-#: common/models.py:1126
+#: common/models.py:1081
msgid "Part category default icon (empty means no icon)"
msgstr ""
-#: common/models.py:1131
-msgid "Enable label printing"
-msgstr "Aktivera etikettutskrift"
-
-#: common/models.py:1132
-msgid "Enable label printing from the web interface"
-msgstr "Aktivera etikettutskrift från webbgränssnittet"
-
-#: common/models.py:1138
-msgid "Label Image DPI"
-msgstr "Etikettbild DPI"
-
-#: common/models.py:1139
-msgid "DPI resolution when generating image files to supply to label printing plugins"
+#: common/models.py:1086
+msgid "Pricing Decimal Places"
msgstr ""
-#: common/models.py:1148
-msgid "Enable Reports"
-msgstr "Aktivera rapporter"
-
-#: common/models.py:1149
-msgid "Enable generation of reports"
-msgstr "Aktivera generering av rapporter"
-
-#: common/models.py:1155 templates/stats.html:25
-msgid "Debug Mode"
-msgstr "Debugläge"
-
-#: common/models.py:1156
-msgid "Generate reports in debug mode (HTML output)"
+#: common/models.py:1087
+msgid "Number of decimal places to display when rendering pricing data"
msgstr ""
-#: common/models.py:1162
-msgid "Page Size"
-msgstr "Sidstorlek"
-
-#: common/models.py:1163
-msgid "Default page size for PDF reports"
-msgstr "Standard sidstorlek för PDF-rapporter"
-
-#: common/models.py:1173
-msgid "Enable Test Reports"
-msgstr "Aktivera testrapporter"
-
-#: common/models.py:1174
-msgid "Enable generation of test reports"
+#: common/models.py:1097
+msgid "Pricing Rebuild Time"
msgstr ""
-#: common/models.py:1180
-msgid "Attach Test Reports"
+#: common/models.py:1098
+msgid "Number of days before part pricing is automatically updated"
msgstr ""
-#: common/models.py:1181
-msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item"
-msgstr ""
-
-#: common/models.py:1187
-msgid "Globally Unique Serials"
-msgstr ""
-
-#: common/models.py:1188
-msgid "Serial numbers for stock items must be globally unique"
-msgstr ""
-
-#: common/models.py:1194
-msgid "Batch Code Template"
-msgstr ""
-
-#: common/models.py:1195
-msgid "Template for generating default batch codes for stock items"
-msgstr ""
-
-#: common/models.py:1200
-msgid "Stock Expiry"
-msgstr ""
-
-#: common/models.py:1201
-msgid "Enable stock expiry functionality"
-msgstr ""
-
-#: common/models.py:1207
-msgid "Sell Expired Stock"
-msgstr ""
-
-#: common/models.py:1208
-msgid "Allow sale of expired stock"
-msgstr ""
-
-#: common/models.py:1214
-msgid "Stock Stale Time"
-msgstr ""
-
-#: common/models.py:1215
-msgid "Number of days stock items are considered stale before expiring"
-msgstr ""
-
-#: common/models.py:1217
+#: common/models.py:1099 common/models.py:1208
msgid "days"
msgstr ""
-#: common/models.py:1222
+#: common/models.py:1108
+msgid "Internal Prices"
+msgstr "Interna priser"
+
+#: common/models.py:1109
+msgid "Enable internal prices for parts"
+msgstr ""
+
+#: common/models.py:1115
+msgid "Internal Price Override"
+msgstr ""
+
+#: common/models.py:1116
+msgid "If available, internal prices override price range calculations"
+msgstr ""
+
+#: common/models.py:1122
+msgid "Enable label printing"
+msgstr "Aktivera etikettutskrift"
+
+#: common/models.py:1123
+msgid "Enable label printing from the web interface"
+msgstr "Aktivera etikettutskrift från webbgränssnittet"
+
+#: common/models.py:1129
+msgid "Label Image DPI"
+msgstr "Etikettbild DPI"
+
+#: common/models.py:1130
+msgid "DPI resolution when generating image files to supply to label printing plugins"
+msgstr ""
+
+#: common/models.py:1139
+msgid "Enable Reports"
+msgstr "Aktivera rapporter"
+
+#: common/models.py:1140
+msgid "Enable generation of reports"
+msgstr "Aktivera generering av rapporter"
+
+#: common/models.py:1146 templates/stats.html:25
+msgid "Debug Mode"
+msgstr "Debugläge"
+
+#: common/models.py:1147
+msgid "Generate reports in debug mode (HTML output)"
+msgstr ""
+
+#: common/models.py:1153
+msgid "Page Size"
+msgstr "Sidstorlek"
+
+#: common/models.py:1154
+msgid "Default page size for PDF reports"
+msgstr "Standard sidstorlek för PDF-rapporter"
+
+#: common/models.py:1164
+msgid "Enable Test Reports"
+msgstr "Aktivera testrapporter"
+
+#: common/models.py:1165
+msgid "Enable generation of test reports"
+msgstr ""
+
+#: common/models.py:1171
+msgid "Attach Test Reports"
+msgstr ""
+
+#: common/models.py:1172
+msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item"
+msgstr ""
+
+#: common/models.py:1178
+msgid "Globally Unique Serials"
+msgstr ""
+
+#: common/models.py:1179
+msgid "Serial numbers for stock items must be globally unique"
+msgstr ""
+
+#: common/models.py:1185
+msgid "Batch Code Template"
+msgstr ""
+
+#: common/models.py:1186
+msgid "Template for generating default batch codes for stock items"
+msgstr ""
+
+#: common/models.py:1191
+msgid "Stock Expiry"
+msgstr ""
+
+#: common/models.py:1192
+msgid "Enable stock expiry functionality"
+msgstr ""
+
+#: common/models.py:1198
+msgid "Sell Expired Stock"
+msgstr ""
+
+#: common/models.py:1199
+msgid "Allow sale of expired stock"
+msgstr ""
+
+#: common/models.py:1205
+msgid "Stock Stale Time"
+msgstr ""
+
+#: common/models.py:1206
+msgid "Number of days stock items are considered stale before expiring"
+msgstr ""
+
+#: common/models.py:1213
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:1223
+#: common/models.py:1214
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:1229
+#: common/models.py:1220
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:1230
+#: common/models.py:1221
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:1236
+#: common/models.py:1227
msgid "Stock Location Default Icon"
msgstr ""
-#: common/models.py:1237
+#: common/models.py:1228
msgid "Stock location default icon (empty means no icon)"
msgstr ""
-#: common/models.py:1242
+#: common/models.py:1233
msgid "Build Order Reference Pattern"
msgstr ""
-#: common/models.py:1243
+#: common/models.py:1234
msgid "Required pattern for generating Build Order reference field"
msgstr ""
-#: common/models.py:1249
+#: common/models.py:1240
msgid "Sales Order Reference Pattern"
msgstr ""
-#: common/models.py:1250
+#: common/models.py:1241
msgid "Required pattern for generating Sales Order reference field"
msgstr ""
-#: common/models.py:1256
+#: common/models.py:1247
msgid "Sales Order Default Shipment"
msgstr ""
-#: common/models.py:1257
+#: common/models.py:1248
msgid "Enable creation of default shipment with sales orders"
msgstr ""
-#: common/models.py:1263
+#: common/models.py:1254
+msgid "Edit Completed Sales Orders"
+msgstr ""
+
+#: common/models.py:1255
+msgid "Allow editing of sales orders after they have been shipped or completed"
+msgstr ""
+
+#: common/models.py:1261
msgid "Purchase Order Reference Pattern"
msgstr ""
-#: common/models.py:1264
+#: common/models.py:1262
msgid "Required pattern for generating Purchase Order reference field"
msgstr ""
-#: common/models.py:1271
+#: common/models.py:1268
+msgid "Edit Completed Purchase Orders"
+msgstr ""
+
+#: common/models.py:1269
+msgid "Allow editing of purchase orders after they have been shipped or completed"
+msgstr ""
+
+#: common/models.py:1276
msgid "Enable password forgot"
msgstr ""
-#: common/models.py:1272
+#: common/models.py:1277
msgid "Enable password forgot function on the login pages"
msgstr ""
-#: common/models.py:1278
+#: common/models.py:1283
msgid "Enable registration"
msgstr ""
-#: common/models.py:1279
+#: common/models.py:1284
msgid "Enable self-registration for users on the login pages"
msgstr ""
-#: common/models.py:1285
+#: common/models.py:1290
msgid "Enable SSO"
msgstr ""
-#: common/models.py:1286
+#: common/models.py:1291
msgid "Enable SSO on the login pages"
msgstr ""
-#: common/models.py:1292
+#: common/models.py:1297
msgid "Email required"
msgstr ""
-#: common/models.py:1293
+#: common/models.py:1298
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/models.py:1299
+#: common/models.py:1304
msgid "Auto-fill SSO users"
msgstr ""
-#: common/models.py:1300
+#: common/models.py:1305
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/models.py:1306
+#: common/models.py:1311
msgid "Mail twice"
msgstr ""
-#: common/models.py:1307
+#: common/models.py:1312
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/models.py:1313
+#: common/models.py:1318
msgid "Password twice"
msgstr ""
-#: common/models.py:1314
+#: common/models.py:1319
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/models.py:1320
+#: common/models.py:1325
msgid "Group on signup"
msgstr ""
-#: common/models.py:1321
+#: common/models.py:1326
msgid "Group to which new users are assigned on registration"
msgstr ""
-#: common/models.py:1327
+#: common/models.py:1332
msgid "Enforce MFA"
msgstr ""
-#: common/models.py:1328
+#: common/models.py:1333
msgid "Users must use multifactor security."
msgstr ""
-#: common/models.py:1334
+#: common/models.py:1339
msgid "Check plugins on startup"
msgstr ""
-#: common/models.py:1335
+#: common/models.py:1340
msgid "Check that all plugins are installed on startup - enable in container environments"
msgstr ""
-#: common/models.py:1342
+#: common/models.py:1347
msgid "Check plugin signatures"
msgstr ""
-#: common/models.py:1343
+#: common/models.py:1348
msgid "Check and show signatures for plugins"
msgstr ""
-#: common/models.py:1350
+#: common/models.py:1355
msgid "Enable URL integration"
msgstr ""
-#: common/models.py:1351
+#: common/models.py:1356
msgid "Enable plugins to add URL routes"
msgstr ""
-#: common/models.py:1358
+#: common/models.py:1363
msgid "Enable navigation integration"
msgstr ""
-#: common/models.py:1359
+#: common/models.py:1364
msgid "Enable plugins to integrate into navigation"
msgstr ""
-#: common/models.py:1366
+#: common/models.py:1371
msgid "Enable app integration"
msgstr ""
-#: common/models.py:1367
+#: common/models.py:1372
msgid "Enable plugins to add apps"
msgstr ""
-#: common/models.py:1374
+#: common/models.py:1379
msgid "Enable schedule integration"
msgstr ""
-#: common/models.py:1375
+#: common/models.py:1380
msgid "Enable plugins to run scheduled tasks"
msgstr ""
-#: common/models.py:1382
+#: common/models.py:1387
msgid "Enable event integration"
msgstr ""
-#: common/models.py:1383
+#: common/models.py:1388
msgid "Enable plugins to respond to internal events"
msgstr ""
-#: common/models.py:1402 common/models.py:1737
+#: common/models.py:1407 common/models.py:1749
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:1424
+#: common/models.py:1429
msgid "Show subscribed parts"
msgstr ""
-#: common/models.py:1425
+#: common/models.py:1430
msgid "Show subscribed parts on the homepage"
msgstr ""
-#: common/models.py:1431
+#: common/models.py:1436
msgid "Show subscribed categories"
msgstr ""
-#: common/models.py:1432
+#: common/models.py:1437
msgid "Show subscribed part categories on the homepage"
msgstr ""
-#: common/models.py:1438
+#: common/models.py:1443
msgid "Show latest parts"
msgstr ""
-#: common/models.py:1439
+#: common/models.py:1444
msgid "Show latest parts on the homepage"
msgstr ""
-#: common/models.py:1445
+#: common/models.py:1450
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:1446
+#: common/models.py:1451
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:1452
+#: common/models.py:1457
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:1453
+#: common/models.py:1458
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:1459
+#: common/models.py:1464
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:1460
+#: common/models.py:1465
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:1466
+#: common/models.py:1471
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:1467
+#: common/models.py:1472
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:1473
+#: common/models.py:1478
msgid "Show low stock"
msgstr ""
-#: common/models.py:1474
+#: common/models.py:1479
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:1480
+#: common/models.py:1485
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:1481
+#: common/models.py:1486
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:1487
+#: common/models.py:1492
msgid "Show needed stock"
msgstr ""
-#: common/models.py:1488
+#: common/models.py:1493
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:1494
+#: common/models.py:1499
msgid "Show expired stock"
msgstr ""
-#: common/models.py:1495
+#: common/models.py:1500
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:1501
+#: common/models.py:1506
msgid "Show stale stock"
msgstr ""
-#: common/models.py:1502
+#: common/models.py:1507
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:1508
+#: common/models.py:1513
msgid "Show pending builds"
msgstr ""
-#: common/models.py:1509
+#: common/models.py:1514
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:1515
+#: common/models.py:1520
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:1516
+#: common/models.py:1521
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:1522
+#: common/models.py:1527
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:1523
+#: common/models.py:1528
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:1529
+#: common/models.py:1534
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:1530
+#: common/models.py:1535
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:1536
+#: common/models.py:1541
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:1537
+#: common/models.py:1542
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:1543
+#: common/models.py:1548
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:1544
+#: common/models.py:1549
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:1550
+#: common/models.py:1555
+msgid "Show News"
+msgstr ""
+
+#: common/models.py:1556
+msgid "Show news on the homepage"
+msgstr ""
+
+#: common/models.py:1562
msgid "Inline label display"
msgstr ""
-#: common/models.py:1551
+#: common/models.py:1563
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1557
+#: common/models.py:1569
msgid "Inline report display"
msgstr ""
-#: common/models.py:1558
+#: common/models.py:1570
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1564
+#: common/models.py:1576
msgid "Search Parts"
msgstr ""
-#: common/models.py:1565
+#: common/models.py:1577
msgid "Display parts in search preview window"
msgstr ""
-#: common/models.py:1571
+#: common/models.py:1583
msgid "Seach Supplier Parts"
msgstr ""
-#: common/models.py:1572
+#: common/models.py:1584
msgid "Display supplier parts in search preview window"
msgstr ""
-#: common/models.py:1578
+#: common/models.py:1590
msgid "Search Manufacturer Parts"
msgstr ""
-#: common/models.py:1579
+#: common/models.py:1591
msgid "Display manufacturer parts in search preview window"
msgstr ""
-#: common/models.py:1585
+#: common/models.py:1597
msgid "Hide Inactive Parts"
msgstr ""
-#: common/models.py:1586
+#: common/models.py:1598
msgid "Excluded inactive parts from search preview window"
msgstr ""
-#: common/models.py:1592
+#: common/models.py:1604
msgid "Search Categories"
msgstr ""
-#: common/models.py:1593
+#: common/models.py:1605
msgid "Display part categories in search preview window"
msgstr ""
-#: common/models.py:1599
+#: common/models.py:1611
msgid "Search Stock"
msgstr ""
-#: common/models.py:1600
+#: common/models.py:1612
msgid "Display stock items in search preview window"
msgstr ""
-#: common/models.py:1606
+#: common/models.py:1618
msgid "Hide Unavailable Stock Items"
msgstr ""
-#: common/models.py:1607
+#: common/models.py:1619
msgid "Exclude stock items which are not available from the search preview window"
msgstr ""
-#: common/models.py:1613
+#: common/models.py:1625
msgid "Search Locations"
msgstr ""
-#: common/models.py:1614
+#: common/models.py:1626
msgid "Display stock locations in search preview window"
msgstr ""
-#: common/models.py:1620
+#: common/models.py:1632
msgid "Search Companies"
msgstr ""
-#: common/models.py:1621
+#: common/models.py:1633
msgid "Display companies in search preview window"
msgstr ""
-#: common/models.py:1627
+#: common/models.py:1639
msgid "Search Build Orders"
msgstr ""
-#: common/models.py:1628
+#: common/models.py:1640
msgid "Display build orders in search preview window"
msgstr ""
-#: common/models.py:1634
+#: common/models.py:1646
msgid "Search Purchase Orders"
msgstr ""
-#: common/models.py:1635
+#: common/models.py:1647
msgid "Display purchase orders in search preview window"
msgstr ""
-#: common/models.py:1641
+#: common/models.py:1653
msgid "Exclude Inactive Purchase Orders"
msgstr ""
-#: common/models.py:1642
+#: common/models.py:1654
msgid "Exclude inactive purchase orders from search preview window"
msgstr ""
-#: common/models.py:1648
+#: common/models.py:1660
msgid "Search Sales Orders"
msgstr ""
-#: common/models.py:1649
+#: common/models.py:1661
msgid "Display sales orders in search preview window"
msgstr ""
-#: common/models.py:1655
+#: common/models.py:1667
msgid "Exclude Inactive Sales Orders"
msgstr ""
-#: common/models.py:1656
+#: common/models.py:1668
msgid "Exclude inactive sales orders from search preview window"
msgstr ""
-#: common/models.py:1662
+#: common/models.py:1674
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:1663
+#: common/models.py:1675
msgid "Number of results to show in each section of the search preview window"
msgstr ""
-#: common/models.py:1669
+#: common/models.py:1681
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:1670
+#: common/models.py:1682
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:1676
+#: common/models.py:1688
msgid "Escape Key Closes Forms"
msgstr ""
-#: common/models.py:1677
+#: common/models.py:1689
msgid "Use the escape key to close modal forms"
msgstr ""
-#: common/models.py:1683
+#: common/models.py:1695
msgid "Fixed Navbar"
msgstr ""
-#: common/models.py:1684
+#: common/models.py:1696
msgid "The navbar position is fixed to the top of the screen"
msgstr ""
-#: common/models.py:1690
+#: common/models.py:1702
msgid "Date Format"
msgstr ""
-#: common/models.py:1691
+#: common/models.py:1703
msgid "Preferred format for displaying dates"
msgstr ""
-#: common/models.py:1705 part/templates/part/detail.html:41
+#: common/models.py:1717 part/templates/part/detail.html:41
msgid "Part Scheduling"
msgstr ""
-#: common/models.py:1706
+#: common/models.py:1718
msgid "Display part scheduling information"
msgstr ""
-#: common/models.py:1712
+#: common/models.py:1724
msgid "Table String Length"
msgstr ""
-#: common/models.py:1713
+#: common/models.py:1725
msgid "Maximimum length limit for strings displayed in table views"
msgstr ""
-#: common/models.py:1777
+#: common/models.py:1789
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1784 company/serializers.py:372
-#: company/templates/company/supplier_part.html:346 order/models.py:952
-#: templates/js/translated/part.js:1103 templates/js/translated/part.js:2225
+#: common/models.py:1796 company/serializers.py:393 order/models.py:975
+#: templates/js/translated/company.js:1164 templates/js/translated/part.js:1130
+#: templates/js/translated/pricing.js:354
msgid "Price"
msgstr ""
-#: common/models.py:1785
+#: common/models.py:1797
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1945 common/models.py:2123
+#: common/models.py:1957 common/models.py:2135
msgid "Endpoint"
msgstr ""
-#: common/models.py:1946
+#: common/models.py:1958
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:1955
+#: common/models.py:1967
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:1960 part/models.py:935 plugin/models.py:100
-#: templates/js/translated/table_filters.js:34
-#: templates/js/translated/table_filters.js:112
-#: templates/js/translated/table_filters.js:324
-#: templates/js/translated/table_filters.js:450
+#: common/models.py:1972 part/admin.py:36 part/models.py:954
+#: plugin/models.py:100 templates/js/translated/table_filters.js:34
+#: templates/js/translated/table_filters.js:116
+#: templates/js/translated/table_filters.js:328
+#: templates/js/translated/table_filters.js:454
msgid "Active"
msgstr ""
-#: common/models.py:1961
+#: common/models.py:1973
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:1975
+#: common/models.py:1987
msgid "Token"
msgstr ""
-#: common/models.py:1976
+#: common/models.py:1988
msgid "Token for access"
msgstr ""
-#: common/models.py:1983
+#: common/models.py:1995
msgid "Secret"
msgstr ""
-#: common/models.py:1984
+#: common/models.py:1996
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:2090
+#: common/models.py:2102
msgid "Message ID"
msgstr ""
-#: common/models.py:2091
+#: common/models.py:2103
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:2099
+#: common/models.py:2111
msgid "Host"
msgstr ""
-#: common/models.py:2100
+#: common/models.py:2112
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:2107
+#: common/models.py:2119
msgid "Header"
msgstr ""
-#: common/models.py:2108
+#: common/models.py:2120
msgid "Header of this message"
msgstr ""
-#: common/models.py:2114
+#: common/models.py:2126
msgid "Body"
msgstr ""
-#: common/models.py:2115
+#: common/models.py:2127
msgid "Body of this message"
msgstr ""
-#: common/models.py:2124
+#: common/models.py:2136
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:2129
+#: common/models.py:2141
msgid "Worked on"
msgstr ""
-#: common/models.py:2130
+#: common/models.py:2142
msgid "Was the work on this message finished?"
msgstr ""
+#: common/models.py:2302
+msgid "Id"
+msgstr ""
+
+#: common/models.py:2308 templates/js/translated/news.js:34
+msgid "Title"
+msgstr ""
+
+#: common/models.py:2318 templates/js/translated/news.js:50
+msgid "Published"
+msgstr ""
+
+#: common/models.py:2323 templates/InvenTree/settings/plugin.html:62
+#: templates/InvenTree/settings/plugin_settings.html:33
+#: templates/js/translated/news.js:46
+msgid "Author"
+msgstr ""
+
+#: common/models.py:2328 templates/js/translated/news.js:42
+msgid "Summary"
+msgstr ""
+
+#: common/models.py:2333
+msgid "Read"
+msgstr ""
+
+#: common/models.py:2334
+msgid "Was this news item read?"
+msgstr ""
+
#: common/notifications.py:293
#, python-brace-format
msgid "New {verbose_name}"
@@ -2785,15 +2838,15 @@ msgstr ""
msgid "Error raised by plugin"
msgstr ""
-#: common/views.py:85 order/templates/order/purchase_order_detail.html:23
-#: order/views.py:102 part/views.py:112
+#: common/views.py:85 order/templates/order/purchase_order_detail.html:25
+#: order/views.py:102 part/views.py:107
#: templates/patterns/wizard/upload.html:37
msgid "Upload File"
msgstr ""
#: common/views.py:86 order/views.py:103
#: part/templates/part/import_wizard/ajax_match_fields.html:45
-#: part/views.py:113 templates/patterns/wizard/match_fields.html:51
+#: part/views.py:108 templates/patterns/wizard/match_fields.html:51
msgid "Match Fields"
msgstr ""
@@ -2816,298 +2869,301 @@ msgstr ""
msgid "Previous Step"
msgstr ""
-#: company/models.py:99
+#: company/models.py:103
msgid "Company description"
msgstr ""
-#: company/models.py:100
+#: company/models.py:104
msgid "Description of the company"
msgstr ""
-#: company/models.py:106 company/templates/company/company_base.html:100
+#: company/models.py:110 company/templates/company/company_base.html:100
#: templates/InvenTree/settings/plugin_settings.html:55
-#: templates/js/translated/company.js:448
+#: templates/js/translated/company.js:449
msgid "Website"
msgstr ""
-#: company/models.py:107
+#: company/models.py:111
msgid "Company website URL"
msgstr ""
-#: company/models.py:111 company/templates/company/company_base.html:118
+#: company/models.py:115 company/templates/company/company_base.html:118
msgid "Address"
msgstr ""
-#: company/models.py:112
+#: company/models.py:116
msgid "Company address"
msgstr ""
-#: company/models.py:115
+#: company/models.py:119
msgid "Phone number"
msgstr ""
-#: company/models.py:116
+#: company/models.py:120
msgid "Contact phone number"
msgstr ""
-#: company/models.py:119 company/templates/company/company_base.html:132
+#: company/models.py:123 company/templates/company/company_base.html:132
#: templates/InvenTree/settings/user.html:48
msgid "Email"
msgstr ""
-#: company/models.py:119
+#: company/models.py:123
msgid "Contact email address"
msgstr ""
-#: company/models.py:122 company/templates/company/company_base.html:139
+#: company/models.py:126 company/templates/company/company_base.html:139
msgid "Contact"
msgstr ""
-#: company/models.py:123
+#: company/models.py:127
msgid "Point of contact"
msgstr ""
-#: company/models.py:125
+#: company/models.py:129
msgid "Link to external company information"
msgstr ""
-#: company/models.py:136 part/models.py:829
+#: company/models.py:140 part/models.py:848
msgid "Image"
msgstr ""
-#: company/models.py:139 company/templates/company/detail.html:185
+#: company/models.py:143 company/templates/company/detail.html:185
msgid "Company Notes"
msgstr ""
-#: company/models.py:141
+#: company/models.py:145
msgid "is customer"
msgstr ""
-#: company/models.py:141
+#: company/models.py:145
msgid "Do you sell items to this company?"
msgstr ""
-#: company/models.py:143
+#: company/models.py:147
msgid "is supplier"
msgstr ""
-#: company/models.py:143
+#: company/models.py:147
msgid "Do you purchase items from this company?"
msgstr ""
-#: company/models.py:145
+#: company/models.py:149
msgid "is manufacturer"
msgstr ""
-#: company/models.py:145
+#: company/models.py:149
msgid "Does this company manufacture parts?"
msgstr ""
-#: company/models.py:149 company/serializers.py:378
-#: company/templates/company/company_base.html:106 part/serializers.py:153
-#: part/serializers.py:184 stock/serializers.py:178
+#: company/models.py:153 company/serializers.py:399
+#: company/templates/company/company_base.html:106 part/models.py:2681
+#: part/serializers.py:153 part/serializers.py:181 stock/serializers.py:182
+#: templates/InvenTree/settings/pricing.html:59
msgid "Currency"
msgstr ""
-#: company/models.py:152
+#: company/models.py:156
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:249 company/models.py:483 stock/models.py:600
-#: stock/serializers.py:85 stock/templates/stock/item_base.html:143
-#: templates/js/translated/bom.js:568
+#: company/models.py:253 company/models.py:487 stock/models.py:616
+#: stock/serializers.py:89 stock/templates/stock/item_base.html:143
+#: templates/js/translated/bom.js:581
msgid "Base Part"
msgstr ""
-#: company/models.py:253 company/models.py:487
+#: company/models.py:257 company/models.py:491
msgid "Select part"
msgstr ""
-#: company/models.py:264 company/templates/company/company_base.html:76
+#: company/models.py:268 company/templates/company/company_base.html:76
#: company/templates/company/manufacturer_part.html:90
#: company/templates/company/supplier_part.html:152
#: stock/templates/stock/item_base.html:210
-#: templates/js/translated/company.js:432
-#: templates/js/translated/company.js:533
-#: templates/js/translated/company.js:668
-#: templates/js/translated/company.js:956 templates/js/translated/part.js:236
-#: templates/js/translated/table_filters.js:427
+#: templates/js/translated/company.js:433
+#: templates/js/translated/company.js:534
+#: templates/js/translated/company.js:669
+#: templates/js/translated/company.js:957 templates/js/translated/part.js:232
+#: templates/js/translated/table_filters.js:431
msgid "Manufacturer"
msgstr ""
-#: company/models.py:265 templates/js/translated/part.js:237
+#: company/models.py:269 templates/js/translated/part.js:233
msgid "Select manufacturer"
msgstr ""
-#: company/models.py:271 company/templates/company/manufacturer_part.html:101
+#: company/models.py:275 company/templates/company/manufacturer_part.html:101
#: company/templates/company/supplier_part.html:160
-#: templates/js/translated/company.js:304
-#: templates/js/translated/company.js:532
-#: templates/js/translated/company.js:684
-#: templates/js/translated/company.js:975 templates/js/translated/order.js:2239
-#: templates/js/translated/part.js:247 templates/js/translated/part.js:1025
+#: templates/js/translated/company.js:305
+#: templates/js/translated/company.js:533
+#: templates/js/translated/company.js:685
+#: templates/js/translated/company.js:976 templates/js/translated/order.js:2278
+#: templates/js/translated/part.js:243 templates/js/translated/part.js:1052
msgid "MPN"
msgstr ""
-#: company/models.py:272 templates/js/translated/part.js:248
+#: company/models.py:276 templates/js/translated/part.js:244
msgid "Manufacturer Part Number"
msgstr ""
-#: company/models.py:278
+#: company/models.py:282
msgid "URL for external manufacturer part link"
msgstr ""
-#: company/models.py:284
+#: company/models.py:288
msgid "Manufacturer part description"
msgstr ""
-#: company/models.py:329 company/models.py:353 company/models.py:506
+#: company/models.py:333 company/models.py:357 company/models.py:510
#: company/templates/company/manufacturer_part.html:7
#: company/templates/company/manufacturer_part.html:24
#: stock/templates/stock/item_base.html:220
msgid "Manufacturer Part"
msgstr ""
-#: company/models.py:360
+#: company/models.py:364
msgid "Parameter name"
msgstr ""
-#: company/models.py:366
+#: company/models.py:370
#: report/templates/report/inventree_test_report_base.html:95
-#: stock/models.py:2097 templates/js/translated/company.js:581
-#: templates/js/translated/company.js:799 templates/js/translated/part.js:847
-#: templates/js/translated/stock.js:1360
+#: stock/models.py:2113 templates/js/translated/company.js:582
+#: templates/js/translated/company.js:800 templates/js/translated/part.js:874
+#: templates/js/translated/stock.js:1379
msgid "Value"
msgstr ""
-#: company/models.py:367
+#: company/models.py:371
msgid "Parameter value"
msgstr ""
-#: company/models.py:373 part/models.py:902 part/models.py:2434
-#: part/templates/part/part_base.html:286
+#: company/models.py:377 part/admin.py:26 part/models.py:921
+#: part/models.py:3047 part/templates/part/part_base.html:286
#: templates/InvenTree/settings/settings.html:349
-#: templates/js/translated/company.js:805 templates/js/translated/part.js:853
+#: templates/js/translated/company.js:806 templates/js/translated/part.js:880
msgid "Units"
msgstr ""
-#: company/models.py:374
+#: company/models.py:378
msgid "Parameter units"
msgstr ""
-#: company/models.py:451
+#: company/models.py:455
msgid "Linked manufacturer part must reference the same base part"
msgstr ""
-#: company/models.py:493 company/templates/company/company_base.html:81
-#: company/templates/company/supplier_part.html:136 order/models.py:263
-#: order/templates/order/order_base.html:121 part/bom.py:237 part/bom.py:265
+#: company/models.py:497 company/templates/company/company_base.html:81
+#: company/templates/company/supplier_part.html:136 order/models.py:264
+#: order/templates/order/order_base.html:121 part/bom.py:252 part/bom.py:280
#: stock/templates/stock/item_base.html:227
#: templates/email/overdue_purchase_order.html:16
-#: templates/js/translated/company.js:303
-#: templates/js/translated/company.js:436
-#: templates/js/translated/company.js:929 templates/js/translated/order.js:1975
-#: templates/js/translated/part.js:217 templates/js/translated/part.js:993
-#: templates/js/translated/table_filters.js:431
+#: templates/js/translated/company.js:304
+#: templates/js/translated/company.js:437
+#: templates/js/translated/company.js:930 templates/js/translated/order.js:2009
+#: templates/js/translated/part.js:213 templates/js/translated/part.js:1020
+#: templates/js/translated/pricing.js:231
+#: templates/js/translated/table_filters.js:435
msgid "Supplier"
msgstr ""
-#: company/models.py:494 templates/js/translated/part.js:218
+#: company/models.py:498 templates/js/translated/part.js:214
msgid "Select supplier"
msgstr ""
-#: company/models.py:499 company/templates/company/supplier_part.html:146
-#: part/bom.py:238 part/bom.py:266 templates/js/translated/company.js:302
-#: templates/js/translated/order.js:2226 templates/js/translated/part.js:228
-#: templates/js/translated/part.js:1011
+#: company/models.py:503 company/templates/company/supplier_part.html:146
+#: part/bom.py:253 part/bom.py:281 templates/js/translated/company.js:303
+#: templates/js/translated/order.js:2265 templates/js/translated/part.js:224
+#: templates/js/translated/part.js:1038 templates/js/translated/pricing.js:243
msgid "SKU"
msgstr ""
-#: company/models.py:500 templates/js/translated/part.js:229
+#: company/models.py:504 templates/js/translated/part.js:225
msgid "Supplier stock keeping unit"
msgstr ""
-#: company/models.py:507
+#: company/models.py:511
msgid "Select manufacturer part"
msgstr ""
-#: company/models.py:513
+#: company/models.py:517
msgid "URL for external supplier part link"
msgstr ""
-#: company/models.py:519
+#: company/models.py:523
msgid "Supplier part description"
msgstr ""
-#: company/models.py:524 company/templates/company/supplier_part.html:181
-#: part/models.py:2687 part/templates/part/upload_bom.html:59
+#: company/models.py:528 company/templates/company/supplier_part.html:181
+#: part/admin.py:225 part/models.py:3300 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_po_report.html:92
-#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:403
+#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:397
msgid "Note"
msgstr ""
-#: company/models.py:528 part/models.py:1788
+#: company/models.py:532 part/models.py:1817
msgid "base cost"
msgstr ""
-#: company/models.py:528 part/models.py:1788
+#: company/models.py:532 part/models.py:1817
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
-#: company/models.py:530 company/templates/company/supplier_part.html:167
-#: stock/models.py:626 stock/templates/stock/item_base.html:243
-#: templates/js/translated/company.js:991 templates/js/translated/stock.js:1978
+#: company/models.py:534 company/templates/company/supplier_part.html:167
+#: stock/admin.py:101 stock/models.py:642
+#: stock/templates/stock/item_base.html:243
+#: templates/js/translated/company.js:992 templates/js/translated/stock.js:1996
msgid "Packaging"
msgstr ""
-#: company/models.py:530
+#: company/models.py:534
msgid "Part packaging"
msgstr ""
-#: company/models.py:533 company/serializers.py:242
+#: company/models.py:537 company/serializers.py:242
#: company/templates/company/supplier_part.html:174
-#: templates/js/translated/company.js:996 templates/js/translated/order.js:820
-#: templates/js/translated/order.js:1215 templates/js/translated/order.js:1470
-#: templates/js/translated/order.js:2270 templates/js/translated/order.js:2287
-#: templates/js/translated/part.js:1043 templates/js/translated/part.js:1095
+#: templates/js/translated/company.js:997 templates/js/translated/order.js:826
+#: templates/js/translated/order.js:1249 templates/js/translated/order.js:1504
+#: templates/js/translated/order.js:2309 templates/js/translated/order.js:2326
+#: templates/js/translated/part.js:1070 templates/js/translated/part.js:1122
msgid "Pack Quantity"
msgstr ""
-#: company/models.py:534
+#: company/models.py:538
msgid "Unit quantity supplied in a single pack"
msgstr ""
-#: company/models.py:540 part/models.py:1790
+#: company/models.py:544 part/models.py:1819
msgid "multiple"
msgstr ""
-#: company/models.py:540
+#: company/models.py:544
msgid "Order multiple"
msgstr ""
-#: company/models.py:548 company/templates/company/supplier_part.html:115
+#: company/models.py:552 company/templates/company/supplier_part.html:115
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:18
-#: templates/js/translated/bom.js:963 templates/js/translated/build.js:1873
-#: templates/js/translated/build.js:2754 templates/js/translated/part.js:598
-#: templates/js/translated/part.js:601
-#: templates/js/translated/table_filters.js:194
+#: templates/js/translated/bom.js:1117 templates/js/translated/build.js:1873
+#: templates/js/translated/build.js:2754 templates/js/translated/part.js:612
+#: templates/js/translated/part.js:615
+#: templates/js/translated/table_filters.js:198
msgid "Available"
msgstr ""
-#: company/models.py:549
+#: company/models.py:553
msgid "Quantity available from supplier"
msgstr ""
-#: company/models.py:553
+#: company/models.py:557
msgid "Availability Updated"
msgstr ""
-#: company/models.py:554
+#: company/models.py:558
msgid "Date of last update of availability data"
msgstr ""
-#: company/models.py:682
+#: company/models.py:686
msgid "last updated"
msgstr ""
@@ -3121,7 +3177,7 @@ msgstr ""
#: company/templates/company/company_base.html:8
#: company/templates/company/company_base.html:12
-#: templates/InvenTree/search.html:179 templates/js/translated/company.js:421
+#: templates/InvenTree/search.html:179 templates/js/translated/company.js:422
msgid "Company"
msgstr ""
@@ -3139,7 +3195,7 @@ msgid "Edit company information"
msgstr ""
#: company/templates/company/company_base.html:34
-#: templates/js/translated/company.js:364
+#: templates/js/translated/company.js:365
msgid "Edit Company"
msgstr ""
@@ -3162,14 +3218,14 @@ msgstr ""
msgid "Download image from URL"
msgstr ""
-#: company/templates/company/company_base.html:86 order/models.py:646
-#: order/templates/order/sales_order_base.html:116 stock/models.py:645
-#: stock/models.py:646 stock/serializers.py:813
+#: company/templates/company/company_base.html:86 order/models.py:665
+#: order/templates/order/sales_order_base.html:116 stock/models.py:661
+#: stock/models.py:662 stock/serializers.py:812
#: stock/templates/stock/item_base.html:399
#: templates/email/overdue_sales_order.html:16
-#: templates/js/translated/company.js:428 templates/js/translated/order.js:2808
-#: templates/js/translated/stock.js:2569
-#: templates/js/translated/table_filters.js:435
+#: templates/js/translated/company.js:429 templates/js/translated/order.js:2819
+#: templates/js/translated/stock.js:2587
+#: templates/js/translated/table_filters.js:439
msgid "Customer"
msgstr ""
@@ -3182,12 +3238,12 @@ msgid "Phone"
msgstr ""
#: company/templates/company/company_base.html:208
-#: part/templates/part/part_base.html:499
+#: part/templates/part/part_base.html:514
msgid "Upload Image"
msgstr ""
#: company/templates/company/company_base.html:223
-#: part/templates/part/part_base.html:554
+#: part/templates/part/part_base.html:569
msgid "Download Image"
msgstr ""
@@ -3203,7 +3259,7 @@ msgstr ""
#: company/templates/company/detail.html:19
#: company/templates/company/manufacturer_part.html:123
-#: part/templates/part/detail.html:359
+#: part/templates/part/detail.html:357
msgid "New Supplier Part"
msgstr ""
@@ -3232,7 +3288,7 @@ msgstr ""
msgid "Create new manufacturer part"
msgstr ""
-#: company/templates/company/detail.html:66 part/templates/part/detail.html:389
+#: company/templates/company/detail.html:66 part/templates/part/detail.html:387
msgid "New Manufacturer Part"
msgstr ""
@@ -3246,7 +3302,7 @@ msgstr ""
#: order/templates/order/order_base.html:13
#: order/templates/order/purchase_orders.html:8
#: order/templates/order/purchase_orders.html:12
-#: part/templates/part/detail.html:84 part/templates/part/part_sidebar.html:37
+#: part/templates/part/detail.html:84 part/templates/part/part_sidebar.html:35
#: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200
#: templates/InvenTree/settings/sidebar.html:49
#: templates/js/translated/search.js:293 templates/navbar.html:50
@@ -3269,7 +3325,7 @@ msgstr ""
#: order/templates/order/sales_order_base.html:13
#: order/templates/order/sales_orders.html:8
#: order/templates/order/sales_orders.html:15
-#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:41
+#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:39
#: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220
#: templates/InvenTree/settings/sidebar.html:51
#: templates/js/translated/search.js:317 templates/navbar.html:61
@@ -3297,8 +3353,7 @@ msgid "Supplier List"
msgstr ""
#: company/templates/company/manufacturer_part.html:15 company/views.py:38
-#: part/templates/part/prices.html:172 templates/InvenTree/search.html:181
-#: templates/navbar.html:49
+#: templates/InvenTree/search.html:181 templates/navbar.html:49
msgid "Manufacturers"
msgstr ""
@@ -3309,12 +3364,12 @@ msgid "Order part"
msgstr ""
#: company/templates/company/manufacturer_part.html:39
-#: templates/js/translated/company.js:716
+#: templates/js/translated/company.js:717
msgid "Edit manufacturer part"
msgstr ""
#: company/templates/company/manufacturer_part.html:43
-#: templates/js/translated/company.js:717
+#: templates/js/translated/company.js:718
msgid "Delete manufacturer part"
msgstr ""
@@ -3329,35 +3384,36 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:119
#: company/templates/company/supplier_part.html:15 company/views.py:32
-#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:168
+#: part/admin.py:46 part/templates/part/part_sidebar.html:33
#: templates/InvenTree/search.html:191 templates/navbar.html:48
msgid "Suppliers"
msgstr ""
#: company/templates/company/manufacturer_part.html:136
-#: part/templates/part/detail.html:370
+#: part/templates/part/detail.html:368
msgid "Delete supplier parts"
msgstr ""
#: company/templates/company/manufacturer_part.html:136
#: company/templates/company/manufacturer_part.html:183
-#: part/templates/part/detail.html:371 part/templates/part/detail.html:401
-#: templates/js/translated/forms.js:455 templates/js/translated/helpers.js:36
-#: users/models.py:222
+#: part/templates/part/detail.html:369 part/templates/part/detail.html:399
+#: templates/js/translated/forms.js:455 templates/js/translated/helpers.js:38
+#: templates/js/translated/part.js:340 templates/js/translated/stock.js:184
+#: users/models.py:224
msgid "Delete"
msgstr ""
#: company/templates/company/manufacturer_part.html:166
#: company/templates/company/manufacturer_part_sidebar.html:5
#: part/templates/part/category_sidebar.html:19
-#: part/templates/part/detail.html:186 part/templates/part/part_sidebar.html:8
+#: part/templates/part/detail.html:184 part/templates/part/part_sidebar.html:8
msgid "Parameters"
msgstr ""
#: company/templates/company/manufacturer_part.html:170
-#: part/templates/part/detail.html:191
+#: part/templates/part/detail.html:189
#: templates/InvenTree/settings/category.html:12
-#: templates/InvenTree/settings/part.html:68
+#: templates/InvenTree/settings/part.html:62
msgid "New Parameter"
msgstr ""
@@ -3366,7 +3422,7 @@ msgid "Delete parameters"
msgstr ""
#: company/templates/company/manufacturer_part.html:245
-#: part/templates/part/detail.html:827
+#: part/templates/part/detail.html:825
msgid "Add Parameter"
msgstr ""
@@ -3387,10 +3443,10 @@ msgid "Assigned Stock Items"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:609
+#: company/templates/company/supplier_part.html:24 stock/models.py:625
#: stock/templates/stock/item_base.html:236
-#: templates/js/translated/company.js:945 templates/js/translated/order.js:1135
-#: templates/js/translated/stock.js:1935
+#: templates/js/translated/company.js:946 templates/js/translated/order.js:1169
+#: templates/js/translated/stock.js:1954
msgid "Supplier Part"
msgstr ""
@@ -3441,13 +3497,13 @@ msgstr ""
#: company/templates/company/supplier_part.html:64
#: company/templates/company/supplier_part.html:65
-#: templates/js/translated/company.js:247
+#: templates/js/translated/company.js:248
msgid "Edit Supplier Part"
msgstr ""
#: company/templates/company/supplier_part.html:69
#: company/templates/company/supplier_part.html:70
-#: templates/js/translated/company.js:222
+#: templates/js/translated/company.js:223
msgid "Duplicate Supplier Part"
msgstr ""
@@ -3482,7 +3538,7 @@ msgstr ""
#: company/templates/company/supplier_part.html:204
#: part/templates/part/detail.html:25 stock/templates/stock/location.html:198
-#: templates/js/translated/stock.js:435
+#: templates/js/translated/stock.js:454
msgid "New Stock Item"
msgstr ""
@@ -3492,47 +3548,20 @@ msgid "Supplier Part Orders"
msgstr ""
#: company/templates/company/supplier_part.html:242
-#: part/templates/part/prices.html:10
msgid "Pricing Information"
msgstr ""
#: company/templates/company/supplier_part.html:247
-#: company/templates/company/supplier_part.html:388
-#: part/templates/part/prices.html:276 templates/js/translated/part.js:2297
+#: company/templates/company/supplier_part.html:317
+#: templates/js/translated/pricing.js:413
msgid "Add Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:282
+#: company/templates/company/supplier_part.html:285
msgid "Link Barcode to Supplier Part"
msgstr ""
-#: company/templates/company/supplier_part.html:300
-msgid "No price break information found"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:314
-#: templates/js/translated/part.js:2307
-msgid "Delete Price Break"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:328
-#: templates/js/translated/part.js:2321
-msgid "Edit Price Break"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:353
-msgid "Edit price break"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:354
-msgid "Delete price break"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:363
-msgid "Last updated"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:444
+#: company/templates/company/supplier_part.html:375
msgid "Update Part Availability"
msgstr ""
@@ -3542,9 +3571,9 @@ msgstr ""
#: stock/templates/stock/stock_app_base.html:10
#: templates/InvenTree/search.html:153
#: templates/InvenTree/settings/sidebar.html:45
-#: templates/js/translated/part.js:749 templates/js/translated/part.js:1335
-#: templates/js/translated/part.js:1501 templates/js/translated/stock.js:959
-#: templates/js/translated/stock.js:1760 templates/navbar.html:31
+#: templates/js/translated/part.js:763 templates/js/translated/part.js:1356
+#: templates/js/translated/part.js:1512 templates/js/translated/stock.js:978
+#: templates/js/translated/stock.js:1779 templates/navbar.html:31
msgid "Stock"
msgstr ""
@@ -3558,19 +3587,20 @@ msgid "Supplier Part Pricing"
msgstr ""
#: company/templates/company/supplier_part_navbar.html:29
-#: part/templates/part/part_sidebar.html:31
+#: part/templates/part/part_sidebar.html:30
+#: templates/InvenTree/settings/sidebar.html:35
msgid "Pricing"
msgstr ""
#: company/templates/company/supplier_part_sidebar.html:5
#: part/templates/part/category.html:198
-#: part/templates/part/category_sidebar.html:17
+#: part/templates/part/category_sidebar.html:17 stock/admin.py:31
#: stock/templates/stock/location.html:168
#: stock/templates/stock/location.html:182
#: stock/templates/stock/location.html:194
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:155 templates/js/translated/search.js:225
-#: templates/js/translated/stock.js:2446 users/models.py:40
+#: templates/js/translated/stock.js:2464 users/models.py:40
msgid "Stock Items"
msgstr ""
@@ -3672,438 +3702,439 @@ msgstr ""
msgid "No matching purchase order found"
msgstr ""
-#: order/models.py:82
+#: order/models.py:83
msgid "Order description"
msgstr ""
-#: order/models.py:84 order/models.py:1260
+#: order/models.py:85 order/models.py:1283
msgid "Link to external page"
msgstr ""
-#: order/models.py:92
+#: order/models.py:93
msgid "Created By"
msgstr ""
-#: order/models.py:99
+#: order/models.py:100
msgid "User or group responsible for this order"
msgstr ""
-#: order/models.py:104
+#: order/models.py:105
msgid "Order notes"
msgstr ""
-#: order/models.py:241 order/models.py:633
+#: order/models.py:242 order/models.py:652
msgid "Order reference"
msgstr ""
-#: order/models.py:249 order/models.py:651
+#: order/models.py:250 order/models.py:670
msgid "Purchase order status"
msgstr ""
-#: order/models.py:264
+#: order/models.py:265
msgid "Company from which the items are being ordered"
msgstr ""
-#: order/models.py:267 order/templates/order/order_base.html:133
-#: templates/js/translated/order.js:1984
+#: order/models.py:268 order/templates/order/order_base.html:133
+#: templates/js/translated/order.js:2018
msgid "Supplier Reference"
msgstr ""
-#: order/models.py:267
+#: order/models.py:268
msgid "Supplier order reference code"
msgstr ""
-#: order/models.py:274
+#: order/models.py:275
msgid "received by"
msgstr ""
-#: order/models.py:279
+#: order/models.py:280
msgid "Issue Date"
msgstr ""
-#: order/models.py:280
+#: order/models.py:281
msgid "Date order was issued"
msgstr ""
-#: order/models.py:285
+#: order/models.py:286
msgid "Target Delivery Date"
msgstr ""
-#: order/models.py:286
+#: order/models.py:287
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr ""
-#: order/models.py:292
+#: order/models.py:293
msgid "Date order was completed"
msgstr ""
-#: order/models.py:328
+#: order/models.py:332
msgid "Part supplier must match PO supplier"
msgstr ""
-#: order/models.py:472
+#: order/models.py:491
msgid "Quantity must be a positive number"
msgstr ""
-#: order/models.py:647
+#: order/models.py:666
msgid "Company to which the items are being sold"
msgstr ""
-#: order/models.py:658
+#: order/models.py:677
msgid "Customer Reference "
msgstr ""
-#: order/models.py:658
+#: order/models.py:677
msgid "Customer order reference code"
msgstr ""
-#: order/models.py:663
+#: order/models.py:682
msgid "Target date for order completion. Order will be overdue after this date."
msgstr ""
-#: order/models.py:666 order/models.py:1218
-#: templates/js/translated/order.js:2855 templates/js/translated/order.js:3017
+#: order/models.py:685 order/models.py:1241
+#: templates/js/translated/order.js:2866 templates/js/translated/order.js:3028
msgid "Shipment Date"
msgstr ""
-#: order/models.py:673
+#: order/models.py:692
msgid "shipped by"
msgstr ""
-#: order/models.py:728
+#: order/models.py:747
msgid "Order cannot be completed as no parts have been assigned"
msgstr ""
-#: order/models.py:732
+#: order/models.py:751
msgid "Only a pending order can be marked as complete"
msgstr ""
-#: order/models.py:735 templates/js/translated/order.js:419
+#: order/models.py:754 templates/js/translated/order.js:419
msgid "Order cannot be completed as there are incomplete shipments"
msgstr ""
-#: order/models.py:738
+#: order/models.py:757
msgid "Order cannot be completed as there are incomplete line items"
msgstr ""
-#: order/models.py:912
+#: order/models.py:935
msgid "Item quantity"
msgstr ""
-#: order/models.py:918
+#: order/models.py:941
msgid "Line item reference"
msgstr ""
-#: order/models.py:920
+#: order/models.py:943
msgid "Line item notes"
msgstr ""
-#: order/models.py:925
+#: order/models.py:948
msgid "Target shipping date for this line item"
msgstr ""
-#: order/models.py:943
+#: order/models.py:966
msgid "Context"
msgstr ""
-#: order/models.py:944
+#: order/models.py:967
msgid "Additional context for this line"
msgstr ""
-#: order/models.py:953
+#: order/models.py:976
msgid "Unit price"
msgstr ""
-#: order/models.py:983
+#: order/models.py:1006
msgid "Supplier part must match supplier"
msgstr ""
-#: order/models.py:991
+#: order/models.py:1014
msgid "deleted"
msgstr ""
-#: order/models.py:997 order/models.py:1077 order/models.py:1118
-#: order/models.py:1212 order/models.py:1344
-#: templates/js/translated/order.js:3473
+#: order/models.py:1020 order/models.py:1100 order/models.py:1141
+#: order/models.py:1235 order/models.py:1367
+#: templates/js/translated/order.js:3484
msgid "Order"
msgstr ""
-#: order/models.py:998 order/models.py:1077
+#: order/models.py:1021 order/models.py:1100
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report.html:76
#: stock/templates/stock/item_base.html:182
#: templates/email/overdue_purchase_order.html:15
-#: templates/js/translated/order.js:619 templates/js/translated/order.js:1136
-#: templates/js/translated/order.js:1959 templates/js/translated/part.js:970
-#: templates/js/translated/stock.js:1915 templates/js/translated/stock.js:2550
+#: templates/js/translated/order.js:619 templates/js/translated/order.js:1170
+#: templates/js/translated/order.js:1993 templates/js/translated/part.js:997
+#: templates/js/translated/pricing.js:515 templates/js/translated/stock.js:1934
+#: templates/js/translated/stock.js:2568
msgid "Purchase Order"
msgstr ""
-#: order/models.py:1016
+#: order/models.py:1039
msgid "Supplier part"
msgstr ""
-#: order/models.py:1023 order/templates/order/order_base.html:178
-#: templates/js/translated/order.js:1641 templates/js/translated/order.js:2373
-#: templates/js/translated/part.js:1087 templates/js/translated/part.js:1125
-#: templates/js/translated/table_filters.js:346
+#: order/models.py:1046 order/templates/order/order_base.html:178
+#: templates/js/translated/order.js:1675 templates/js/translated/order.js:2396
+#: templates/js/translated/part.js:1114 templates/js/translated/part.js:1146
+#: templates/js/translated/table_filters.js:350
msgid "Received"
msgstr ""
-#: order/models.py:1024
+#: order/models.py:1047
msgid "Number of items received"
msgstr ""
-#: order/models.py:1031 part/templates/part/prices.html:181 stock/models.py:741
-#: stock/serializers.py:169 stock/templates/stock/item_base.html:189
-#: templates/js/translated/stock.js:1966
+#: order/models.py:1054 stock/models.py:757 stock/serializers.py:173
+#: stock/templates/stock/item_base.html:189
+#: templates/js/translated/stock.js:1985
msgid "Purchase Price"
msgstr ""
-#: order/models.py:1032
+#: order/models.py:1055
msgid "Unit purchase price"
msgstr ""
-#: order/models.py:1040
+#: order/models.py:1063
msgid "Where does the Purchaser want this item to be stored?"
msgstr ""
-#: order/models.py:1106
+#: order/models.py:1129
msgid "Virtual part cannot be assigned to a sales order"
msgstr ""
-#: order/models.py:1111
+#: order/models.py:1134
msgid "Only salable parts can be assigned to a sales order"
msgstr ""
-#: order/models.py:1137 part/templates/part/part_pricing.html:115
-#: part/templates/part/prices.html:121 part/templates/part/prices.html:290
+#: order/models.py:1160 part/templates/part/part_pricing.html:107
+#: part/templates/part/prices.html:139 templates/js/translated/pricing.js:665
msgid "Sale Price"
msgstr ""
-#: order/models.py:1138
+#: order/models.py:1161
msgid "Unit sale price"
msgstr ""
-#: order/models.py:1143
+#: order/models.py:1166
msgid "Shipped quantity"
msgstr ""
-#: order/models.py:1219
+#: order/models.py:1242
msgid "Date of shipment"
msgstr ""
-#: order/models.py:1226
+#: order/models.py:1249
msgid "Checked By"
msgstr ""
-#: order/models.py:1227
+#: order/models.py:1250
msgid "User who checked this shipment"
msgstr ""
-#: order/models.py:1234 order/models.py:1419 order/serializers.py:1228
-#: order/serializers.py:1356 templates/js/translated/model_renderers.js:314
+#: order/models.py:1257 order/models.py:1442 order/serializers.py:1221
+#: order/serializers.py:1349 templates/js/translated/model_renderers.js:314
msgid "Shipment"
msgstr ""
-#: order/models.py:1235
+#: order/models.py:1258
msgid "Shipment number"
msgstr ""
-#: order/models.py:1239
+#: order/models.py:1262
msgid "Shipment notes"
msgstr ""
-#: order/models.py:1245
+#: order/models.py:1268
msgid "Tracking Number"
msgstr ""
-#: order/models.py:1246
+#: order/models.py:1269
msgid "Shipment tracking information"
msgstr ""
-#: order/models.py:1253
+#: order/models.py:1276
msgid "Invoice Number"
msgstr ""
-#: order/models.py:1254
+#: order/models.py:1277
msgid "Reference number for associated invoice"
msgstr ""
-#: order/models.py:1272
+#: order/models.py:1295
msgid "Shipment has already been sent"
msgstr ""
-#: order/models.py:1275
+#: order/models.py:1298
msgid "Shipment has no allocated stock items"
msgstr ""
-#: order/models.py:1378 order/models.py:1380
+#: order/models.py:1401 order/models.py:1403
msgid "Stock item has not been assigned"
msgstr ""
-#: order/models.py:1384
+#: order/models.py:1407
msgid "Cannot allocate stock item to a line with a different part"
msgstr ""
-#: order/models.py:1386
+#: order/models.py:1409
msgid "Cannot allocate stock to a line without a part"
msgstr ""
-#: order/models.py:1389
+#: order/models.py:1412
msgid "Allocation quantity cannot exceed stock quantity"
msgstr ""
-#: order/models.py:1399 order/serializers.py:1090
+#: order/models.py:1422 order/serializers.py:1083
msgid "Quantity must be 1 for serialized stock item"
msgstr ""
-#: order/models.py:1402
+#: order/models.py:1425
msgid "Sales order does not match shipment"
msgstr ""
-#: order/models.py:1403
+#: order/models.py:1426
msgid "Shipment does not match sales order"
msgstr ""
-#: order/models.py:1411
+#: order/models.py:1434
msgid "Line"
msgstr ""
-#: order/models.py:1420
+#: order/models.py:1443
msgid "Sales order shipment reference"
msgstr ""
-#: order/models.py:1433 templates/js/translated/notification.js:55
+#: order/models.py:1456 templates/js/translated/notification.js:55
msgid "Item"
msgstr ""
-#: order/models.py:1434
+#: order/models.py:1457
msgid "Select stock item to allocate"
msgstr ""
-#: order/models.py:1437
+#: order/models.py:1460
msgid "Enter stock allocation quantity"
msgstr ""
-#: order/serializers.py:67
+#: order/serializers.py:63
msgid "Price currency"
msgstr ""
-#: order/serializers.py:199
+#: order/serializers.py:193
msgid "Order cannot be cancelled"
msgstr ""
-#: order/serializers.py:209 order/serializers.py:1108
+#: order/serializers.py:203 order/serializers.py:1101
msgid "Allow order to be closed with incomplete line items"
msgstr ""
-#: order/serializers.py:220 order/serializers.py:1119
+#: order/serializers.py:214 order/serializers.py:1112
msgid "Order has incomplete line items"
msgstr ""
-#: order/serializers.py:311
+#: order/serializers.py:305
msgid "Order is not open"
msgstr ""
-#: order/serializers.py:335
+#: order/serializers.py:327
msgid "Purchase price currency"
msgstr ""
-#: order/serializers.py:354
+#: order/serializers.py:346
msgid "Supplier part must be specified"
msgstr ""
-#: order/serializers.py:359
+#: order/serializers.py:351
msgid "Purchase order must be specified"
msgstr ""
-#: order/serializers.py:365
+#: order/serializers.py:357
msgid "Supplier must match purchase order"
msgstr ""
-#: order/serializers.py:366
+#: order/serializers.py:358
msgid "Purchase order must match supplier"
msgstr ""
-#: order/serializers.py:430 order/serializers.py:1196
+#: order/serializers.py:421 order/serializers.py:1189
msgid "Line Item"
msgstr ""
-#: order/serializers.py:436
+#: order/serializers.py:427
msgid "Line item does not match purchase order"
msgstr ""
-#: order/serializers.py:446 order/serializers.py:557
+#: order/serializers.py:437 order/serializers.py:548
msgid "Select destination location for received items"
msgstr ""
-#: order/serializers.py:465 templates/js/translated/order.js:1497
+#: order/serializers.py:456 templates/js/translated/order.js:1531
msgid "Enter batch code for incoming stock items"
msgstr ""
-#: order/serializers.py:473 templates/js/translated/order.js:1508
+#: order/serializers.py:464 templates/js/translated/order.js:1542
msgid "Enter serial numbers for incoming stock items"
msgstr ""
-#: order/serializers.py:487
+#: order/serializers.py:478
msgid "Unique identifier field"
msgstr ""
-#: order/serializers.py:501
+#: order/serializers.py:492
msgid "Barcode is already in use"
msgstr ""
-#: order/serializers.py:527
+#: order/serializers.py:518
msgid "An integer quantity must be provided for trackable parts"
msgstr ""
-#: order/serializers.py:573
+#: order/serializers.py:564
msgid "Line items must be provided"
msgstr ""
-#: order/serializers.py:590
+#: order/serializers.py:581
msgid "Destination location must be specified"
msgstr ""
-#: order/serializers.py:601
+#: order/serializers.py:592
msgid "Supplied barcode values must be unique"
msgstr ""
-#: order/serializers.py:907
+#: order/serializers.py:900
msgid "Sale price currency"
msgstr ""
-#: order/serializers.py:988
+#: order/serializers.py:981
msgid "No shipment details provided"
msgstr ""
-#: order/serializers.py:1051 order/serializers.py:1205
+#: order/serializers.py:1044 order/serializers.py:1198
msgid "Line item is not associated with this order"
msgstr ""
-#: order/serializers.py:1073
+#: order/serializers.py:1066
msgid "Quantity must be positive"
msgstr ""
-#: order/serializers.py:1218
+#: order/serializers.py:1211
msgid "Enter serial numbers to allocate"
msgstr ""
-#: order/serializers.py:1240 order/serializers.py:1364
+#: order/serializers.py:1233 order/serializers.py:1357
msgid "Shipment has already been shipped"
msgstr ""
-#: order/serializers.py:1243 order/serializers.py:1367
+#: order/serializers.py:1236 order/serializers.py:1360
msgid "Shipment is not associated with this order"
msgstr ""
-#: order/serializers.py:1297
+#: order/serializers.py:1290
msgid "No match found for the following serial numbers"
msgstr ""
-#: order/serializers.py:1307
+#: order/serializers.py:1300
msgid "The following serial numbers are already allocated"
msgstr ""
@@ -4154,7 +4185,8 @@ msgid "Duplicate order"
msgstr ""
#: order/templates/order/order_base.html:61
-msgid "Place order"
+#: order/templates/order/order_base.html:62
+msgid "Submit Order"
msgstr ""
#: order/templates/order/order_base.html:65
@@ -4162,7 +4194,7 @@ msgid "Receive items"
msgstr ""
#: order/templates/order/order_base.html:67
-#: order/templates/order/purchase_order_detail.html:30
+#: order/templates/order/purchase_order_detail.html:32
msgid "Receive Items"
msgstr ""
@@ -4248,9 +4280,9 @@ msgstr ""
#: part/templates/part/import_wizard/match_references.html:49
#: templates/js/translated/bom.js:102 templates/js/translated/build.js:479
#: templates/js/translated/build.js:631 templates/js/translated/build.js:2078
-#: templates/js/translated/order.js:1084 templates/js/translated/order.js:1586
-#: templates/js/translated/order.js:3092 templates/js/translated/stock.js:625
-#: templates/js/translated/stock.js:793
+#: templates/js/translated/order.js:1118 templates/js/translated/order.js:1620
+#: templates/js/translated/order.js:3103 templates/js/translated/stock.js:644
+#: templates/js/translated/stock.js:812
#: templates/patterns/wizard/match_fields.html:70
msgid "Remove row"
msgstr ""
@@ -4278,42 +4310,42 @@ msgstr ""
msgid "Received Stock"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:17
+#: order/templates/order/purchase_order_detail.html:19
msgid "Purchase Order Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:26
-#: order/templates/order/sales_order_detail.html:22
-#: order/templates/order/sales_order_detail.html:255
+#: order/templates/order/purchase_order_detail.html:28
+#: order/templates/order/sales_order_detail.html:24
+#: order/templates/order/sales_order_detail.html:260
#: templates/js/translated/order.js:728
msgid "Add Line Item"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:29
+#: order/templates/order/purchase_order_detail.html:31
msgid "Receive selected items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:48
-#: order/templates/order/sales_order_detail.html:42
+#: order/templates/order/purchase_order_detail.html:50
+#: order/templates/order/sales_order_detail.html:45
msgid "Extra Lines"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:53
-#: order/templates/order/sales_order_detail.html:47
-#: order/templates/order/sales_order_detail.html:280
+#: order/templates/order/purchase_order_detail.html:56
+#: order/templates/order/sales_order_detail.html:51
+#: order/templates/order/sales_order_detail.html:291
msgid "Add Extra Line"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:72
+#: order/templates/order/purchase_order_detail.html:76
msgid "Received Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:97
-#: order/templates/order/sales_order_detail.html:150
+#: order/templates/order/purchase_order_detail.html:101
+#: order/templates/order/sales_order_detail.html:155
msgid "Order Notes"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:232
+#: order/templates/order/purchase_order_detail.html:239
msgid "Add Order Line"
msgstr ""
@@ -4345,12 +4377,12 @@ msgid "This Sales Order has not been fully allocated"
msgstr ""
#: order/templates/order/sales_order_base.html:123
-#: templates/js/translated/order.js:2821
+#: templates/js/translated/order.js:2832
msgid "Customer Reference"
msgstr ""
#: order/templates/order/sales_order_base.html:141
-#: order/templates/order/sales_order_detail.html:104
+#: order/templates/order/sales_order_detail.html:109
#: order/templates/order/so_sidebar.html:11
msgid "Completed Shipments"
msgstr ""
@@ -4359,22 +4391,22 @@ msgstr ""
msgid "Edit Sales Order"
msgstr ""
-#: order/templates/order/sales_order_detail.html:17
+#: order/templates/order/sales_order_detail.html:18
msgid "Sales Order Items"
msgstr ""
-#: order/templates/order/sales_order_detail.html:68
+#: order/templates/order/sales_order_detail.html:73
#: order/templates/order/so_sidebar.html:8
msgid "Pending Shipments"
msgstr ""
-#: order/templates/order/sales_order_detail.html:72
-#: templates/attachment_table.html:6 templates/js/translated/bom.js:1158
+#: order/templates/order/sales_order_detail.html:77
+#: templates/attachment_table.html:6 templates/js/translated/bom.js:1223
#: templates/js/translated/build.js:1979
msgid "Actions"
msgstr ""
-#: order/templates/order/sales_order_detail.html:81
+#: order/templates/order/sales_order_detail.html:86
msgid "New Shipment"
msgstr ""
@@ -4400,617 +4432,844 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/api.py:516
+#: part/admin.py:19 part/admin.py:219 part/models.py:3181 stock/admin.py:84
+#: templates/js/translated/model_renderers.js:212
+msgid "Part ID"
+msgstr ""
+
+#: part/admin.py:20 part/admin.py:221 part/models.py:3185 stock/admin.py:85
+msgid "Part Name"
+msgstr ""
+
+#: part/admin.py:21
+msgid "Part Description"
+msgstr ""
+
+#: part/admin.py:22 part/models.py:822 part/templates/part/part_base.html:272
+#: templates/js/translated/part.js:751 templates/js/translated/part.js:1469
+#: templates/js/translated/stock.js:1745
+msgid "IPN"
+msgstr ""
+
+#: part/admin.py:23 part/models.py:830 part/templates/part/part_base.html:279
+#: report/models.py:171 templates/js/translated/part.js:755
+msgid "Revision"
+msgstr ""
+
+#: part/admin.py:24 part/admin.py:145 part/models.py:808
+#: part/templates/part/category.html:87 part/templates/part/part_base.html:300
+msgid "Keywords"
+msgstr ""
+
+#: part/admin.py:28 part/admin.py:139
+#: templates/js/translated/model_renderers.js:338
+msgid "Category ID"
+msgstr ""
+
+#: part/admin.py:29 part/admin.py:140
+msgid "Category Name"
+msgstr ""
+
+#: part/admin.py:30 part/admin.py:144
+msgid "Default Location ID"
+msgstr ""
+
+#: part/admin.py:31
+msgid "Default Supplier ID"
+msgstr ""
+
+#: part/admin.py:33 part/models.py:914 part/templates/part/part_base.html:206
+msgid "Minimum Stock"
+msgstr ""
+
+#: part/admin.py:47 part/templates/part/part_base.html:200
+#: templates/js/translated/company.js:1028
+#: templates/js/translated/table_filters.js:213
+msgid "In Stock"
+msgstr ""
+
+#: part/admin.py:48 part/bom.py:145 part/templates/part/part_base.html:213
+#: templates/js/translated/bom.js:1155 templates/js/translated/build.js:1925
+#: templates/js/translated/part.js:602 templates/js/translated/part.js:622
+#: templates/js/translated/part.js:1359 templates/js/translated/part.js:1537
+#: templates/js/translated/table_filters.js:68
+msgid "On Order"
+msgstr ""
+
+#: part/admin.py:49 part/templates/part/part_sidebar.html:27
+msgid "Used In"
+msgstr ""
+
+#: part/admin.py:50 templates/js/translated/build.js:1937
+#: templates/js/translated/build.js:2195 templates/js/translated/build.js:2761
+#: templates/js/translated/order.js:3943
+msgid "Allocated"
+msgstr ""
+
+#: part/admin.py:51 part/templates/part/part_base.html:244
+#: templates/js/translated/part.js:605 templates/js/translated/part.js:625
+#: templates/js/translated/part.js:1363 templates/js/translated/part.js:1544
+msgid "Building"
+msgstr ""
+
+#: part/admin.py:52 part/models.py:2765
+msgid "Minimum Cost"
+msgstr ""
+
+#: part/admin.py:53 part/models.py:2771
+msgid "Maximum Cost"
+msgstr ""
+
+#: part/admin.py:142 part/admin.py:216 stock/admin.py:26 stock/admin.py:98
+msgid "Parent ID"
+msgstr ""
+
+#: part/admin.py:143 part/admin.py:218 stock/admin.py:27
+msgid "Parent Name"
+msgstr ""
+
+#: part/admin.py:146 part/templates/part/category.html:81
+#: part/templates/part/category.html:94
+msgid "Category Path"
+msgstr ""
+
+#: part/admin.py:149 part/models.py:363 part/templates/part/cat_link.html:3
+#: part/templates/part/category.html:23 part/templates/part/category.html:134
+#: part/templates/part/category.html:154
+#: part/templates/part/category_sidebar.html:9
+#: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84
+#: templates/InvenTree/settings/sidebar.html:41
+#: templates/js/translated/part.js:2043 templates/js/translated/search.js:146
+#: templates/navbar.html:24 users/models.py:38
+msgid "Parts"
+msgstr ""
+
+#: part/admin.py:211
+msgid "BOM Level"
+msgstr ""
+
+#: part/admin.py:213
+msgid "BOM Item ID"
+msgstr ""
+
+#: part/admin.py:217
+msgid "Parent IPN"
+msgstr ""
+
+#: part/admin.py:220 part/models.py:3189
+msgid "Part IPN"
+msgstr ""
+
+#: part/admin.py:226 templates/js/translated/pricing.js:91
+#: templates/js/translated/pricing.js:727
+msgid "Minimum Price"
+msgstr ""
+
+#: part/admin.py:227 templates/js/translated/pricing.js:86
+#: templates/js/translated/pricing.js:735
+msgid "Maximum Price"
+msgstr ""
+
+#: part/api.py:532
msgid "Incoming Purchase Order"
msgstr ""
-#: part/api.py:536
+#: part/api.py:552
msgid "Outgoing Sales Order"
msgstr ""
-#: part/api.py:554
+#: part/api.py:570
msgid "Stock produced by Build Order"
msgstr ""
-#: part/api.py:640
+#: part/api.py:656
msgid "Stock required for Build Order"
msgstr ""
-#: part/api.py:777
+#: part/api.py:814
msgid "Valid"
msgstr ""
-#: part/api.py:778
+#: part/api.py:815
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/api.py:784
+#: part/api.py:821
msgid "This option must be selected"
msgstr ""
-#: part/api.py:1207
+#: part/api.py:1261
msgid "Must be greater than zero"
msgstr ""
-#: part/api.py:1211
+#: part/api.py:1265
msgid "Must be a valid quantity"
msgstr ""
-#: part/api.py:1226
+#: part/api.py:1280
msgid "Specify location for initial part stock"
msgstr ""
-#: part/api.py:1257 part/api.py:1261 part/api.py:1276 part/api.py:1280
+#: part/api.py:1311 part/api.py:1315 part/api.py:1330 part/api.py:1334
msgid "This field is required"
msgstr ""
-#: part/bom.py:127 part/models.py:98 part/models.py:838
-#: part/templates/part/category.html:109 part/templates/part/part_base.html:345
+#: part/bom.py:142 part/models.py:116 part/models.py:857
+#: part/templates/part/category.html:109 part/templates/part/part_base.html:360
msgid "Default Location"
msgstr ""
-#: part/bom.py:128 templates/email/low_stock_notification.html:17
+#: part/bom.py:143 templates/email/low_stock_notification.html:17
msgid "Total Stock"
msgstr ""
-#: part/bom.py:129 part/templates/part/part_base.html:195
-#: templates/js/translated/order.js:3913
+#: part/bom.py:144 part/templates/part/part_base.html:195
+#: templates/js/translated/order.js:3910
msgid "Available Stock"
msgstr ""
-#: part/bom.py:130 part/templates/part/part_base.html:213
-#: templates/js/translated/bom.js:1001 templates/js/translated/build.js:1925
-#: templates/js/translated/part.js:588 templates/js/translated/part.js:608
-#: templates/js/translated/part.js:1338 templates/js/translated/part.js:1526
-#: templates/js/translated/table_filters.js:68
-msgid "On Order"
-msgstr ""
-
#: part/forms.py:41
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:99
+#: part/models.py:117
msgid "Default location for parts in this category"
msgstr ""
-#: part/models.py:102
+#: part/models.py:120
msgid "Default keywords"
msgstr ""
-#: part/models.py:102
+#: part/models.py:120
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:107 stock/models.py:85
+#: part/models.py:125 stock/models.py:101
msgid "Icon"
msgstr ""
-#: part/models.py:108 stock/models.py:86
+#: part/models.py:126 stock/models.py:102
msgid "Icon (optional)"
msgstr ""
-#: part/models.py:122 part/models.py:2517 part/templates/part/category.html:16
+#: part/models.py:140 part/models.py:3130 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
-#: part/models.py:123 part/templates/part/category.html:129
+#: part/models.py:141 part/templates/part/category.html:129
#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200
#: users/models.py:37
msgid "Part Categories"
msgstr ""
-#: part/models.py:344 part/templates/part/cat_link.html:3
-#: part/templates/part/category.html:23 part/templates/part/category.html:134
-#: part/templates/part/category.html:154
-#: part/templates/part/category_sidebar.html:9
-#: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84
-#: templates/InvenTree/settings/sidebar.html:41
-#: templates/js/translated/part.js:2019 templates/js/translated/search.js:146
-#: templates/navbar.html:24 users/models.py:38
-msgid "Parts"
-msgstr ""
-
-#: part/models.py:429
+#: part/models.py:448
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:499 part/models.py:511
+#: part/models.py:518 part/models.py:530
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:601
+#: part/models.py:620
msgid "Stock item with this serial number already exists"
msgstr ""
-#: part/models.py:732
+#: part/models.py:751
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:759 part/models.py:2573
+#: part/models.py:778 part/models.py:3186
msgid "Part name"
msgstr ""
-#: part/models.py:766
+#: part/models.py:785
msgid "Is Template"
msgstr ""
-#: part/models.py:767
+#: part/models.py:786
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:777
+#: part/models.py:796
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:778
+#: part/models.py:797
msgid "Variant Of"
msgstr ""
-#: part/models.py:784
+#: part/models.py:803
msgid "Part description"
msgstr ""
-#: part/models.py:789 part/templates/part/category.html:87
-#: part/templates/part/part_base.html:300
-msgid "Keywords"
-msgstr ""
-
-#: part/models.py:790
+#: part/models.py:809
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:797 part/models.py:2272 part/models.py:2516
+#: part/models.py:816 part/models.py:2885 part/models.py:3129
#: part/templates/part/part_base.html:263
#: templates/InvenTree/settings/settings.html:229
#: templates/js/translated/notification.js:50
-#: templates/js/translated/part.js:1480 templates/js/translated/part.js:1724
+#: templates/js/translated/part.js:1491 templates/js/translated/part.js:1748
msgid "Category"
msgstr ""
-#: part/models.py:798
+#: part/models.py:817
msgid "Part category"
msgstr ""
-#: part/models.py:803 part/templates/part/part_base.html:272
-#: templates/js/translated/part.js:737 templates/js/translated/part.js:1431
-#: templates/js/translated/stock.js:1726
-msgid "IPN"
-msgstr ""
-
-#: part/models.py:804
+#: part/models.py:823
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:810
+#: part/models.py:829
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:811 part/templates/part/part_base.html:279
-#: report/models.py:171 templates/js/translated/part.js:741
-msgid "Revision"
-msgstr ""
-
-#: part/models.py:836
+#: part/models.py:855
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:881 part/templates/part/part_base.html:354
+#: part/models.py:900 part/templates/part/part_base.html:369
msgid "Default Supplier"
msgstr ""
-#: part/models.py:882
+#: part/models.py:901
msgid "Default supplier part"
msgstr ""
-#: part/models.py:889
+#: part/models.py:908
msgid "Default Expiry"
msgstr ""
-#: part/models.py:890
+#: part/models.py:909
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:895 part/templates/part/part_base.html:206
-msgid "Minimum Stock"
-msgstr ""
-
-#: part/models.py:896
+#: part/models.py:915
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:903
+#: part/models.py:922
msgid "Stock keeping units for this part"
msgstr ""
-#: part/models.py:909
+#: part/models.py:928
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:915
+#: part/models.py:934
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:921
+#: part/models.py:940
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:926
+#: part/models.py:945
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:931
+#: part/models.py:950
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:936
+#: part/models.py:955
msgid "Is this part active?"
msgstr ""
-#: part/models.py:941
+#: part/models.py:960
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:943
+#: part/models.py:962
msgid "Part notes"
msgstr ""
-#: part/models.py:945
+#: part/models.py:964
msgid "BOM checksum"
msgstr ""
-#: part/models.py:945
+#: part/models.py:964
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:948
+#: part/models.py:967
msgid "BOM checked by"
msgstr ""
-#: part/models.py:950
+#: part/models.py:969
msgid "BOM checked date"
msgstr ""
-#: part/models.py:954
+#: part/models.py:973
msgid "Creation User"
msgstr ""
-#: part/models.py:1790
+#: part/models.py:1819
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2319
+#: part/models.py:2682
+msgid "Currency used to cache pricing calculations"
+msgstr ""
+
+#: part/models.py:2687
+msgid "Updated"
+msgstr ""
+
+#: part/models.py:2688
+msgid "Timestamp of last pricing update"
+msgstr ""
+
+#: part/models.py:2705
+msgid "Minimum BOM Cost"
+msgstr ""
+
+#: part/models.py:2706
+msgid "Minimum cost of component parts"
+msgstr ""
+
+#: part/models.py:2711
+msgid "Maximum BOM Cost"
+msgstr ""
+
+#: part/models.py:2712
+msgid "Maximum cost of component parts"
+msgstr ""
+
+#: part/models.py:2717
+msgid "Minimum Purchase Cost"
+msgstr ""
+
+#: part/models.py:2718
+msgid "Minimum historical purchase cost"
+msgstr ""
+
+#: part/models.py:2723
+msgid "Maximum Purchase Cost"
+msgstr ""
+
+#: part/models.py:2724
+msgid "Maximum historical purchase cost"
+msgstr ""
+
+#: part/models.py:2729
+msgid "Minimum Internal Price"
+msgstr ""
+
+#: part/models.py:2730
+msgid "Minimum cost based on internal price breaks"
+msgstr ""
+
+#: part/models.py:2735
+msgid "Maximum Internal Price"
+msgstr ""
+
+#: part/models.py:2736
+msgid "Maximum cost based on internal price breaks"
+msgstr ""
+
+#: part/models.py:2741
+msgid "Minimum Supplier Price"
+msgstr ""
+
+#: part/models.py:2742
+msgid "Minimum price of part from external suppliers"
+msgstr ""
+
+#: part/models.py:2747
+msgid "Maximum Supplier Price"
+msgstr ""
+
+#: part/models.py:2748
+msgid "Maximum price of part from external suppliers"
+msgstr ""
+
+#: part/models.py:2753
+msgid "Minimum Variant Cost"
+msgstr ""
+
+#: part/models.py:2754
+msgid "Calculated minimum cost of variant parts"
+msgstr ""
+
+#: part/models.py:2759
+msgid "Maximum Variant Cost"
+msgstr ""
+
+#: part/models.py:2760
+msgid "Calculated maximum cost of variant parts"
+msgstr ""
+
+#: part/models.py:2766
+msgid "Calculated overall minimum cost"
+msgstr ""
+
+#: part/models.py:2772
+msgid "Calculated overall maximum cost"
+msgstr ""
+
+#: part/models.py:2777
+msgid "Minimum Sale Price"
+msgstr ""
+
+#: part/models.py:2778
+msgid "Minimum sale price based on price breaks"
+msgstr ""
+
+#: part/models.py:2783
+msgid "Maximum Sale Price"
+msgstr ""
+
+#: part/models.py:2784
+msgid "Maximum sale price based on price breaks"
+msgstr ""
+
+#: part/models.py:2789
+msgid "Minimum Sale Cost"
+msgstr ""
+
+#: part/models.py:2790
+msgid "Minimum historical sale price"
+msgstr ""
+
+#: part/models.py:2795
+msgid "Maximum Sale Cost"
+msgstr ""
+
+#: part/models.py:2796
+msgid "Maximum historical sale price"
+msgstr ""
+
+#: part/models.py:2932
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:2336
+#: part/models.py:2949
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2356 templates/js/translated/part.js:2070
-#: templates/js/translated/stock.js:1340
+#: part/models.py:2969 templates/js/translated/part.js:2094
+#: templates/js/translated/stock.js:1359
msgid "Test Name"
msgstr ""
-#: part/models.py:2357
+#: part/models.py:2970
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2362
+#: part/models.py:2975
msgid "Test Description"
msgstr ""
-#: part/models.py:2363
+#: part/models.py:2976
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2368 templates/js/translated/part.js:2079
-#: templates/js/translated/table_filters.js:310
+#: part/models.py:2981 templates/js/translated/part.js:2103
+#: templates/js/translated/table_filters.js:314
msgid "Required"
msgstr ""
-#: part/models.py:2369
+#: part/models.py:2982
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2374 templates/js/translated/part.js:2087
+#: part/models.py:2987 templates/js/translated/part.js:2111
msgid "Requires Value"
msgstr ""
-#: part/models.py:2375
+#: part/models.py:2988
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2380 templates/js/translated/part.js:2094
+#: part/models.py:2993 templates/js/translated/part.js:2118
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2381
+#: part/models.py:2994
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:2422
+#: part/models.py:3035
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:2430
+#: part/models.py:3043
msgid "Parameter Name"
msgstr ""
-#: part/models.py:2434
+#: part/models.py:3047
msgid "Parameter Units"
msgstr ""
-#: part/models.py:2439
+#: part/models.py:3052
msgid "Parameter description"
msgstr ""
-#: part/models.py:2472
+#: part/models.py:3085
msgid "Parent Part"
msgstr ""
-#: part/models.py:2474 part/models.py:2522 part/models.py:2523
+#: part/models.py:3087 part/models.py:3135 part/models.py:3136
#: templates/InvenTree/settings/settings.html:224
msgid "Parameter Template"
msgstr ""
-#: part/models.py:2476
+#: part/models.py:3089
msgid "Data"
msgstr ""
-#: part/models.py:2476
+#: part/models.py:3089
msgid "Parameter Value"
msgstr ""
-#: part/models.py:2527 templates/InvenTree/settings/settings.html:233
+#: part/models.py:3140 templates/InvenTree/settings/settings.html:233
msgid "Default Value"
msgstr ""
-#: part/models.py:2528
+#: part/models.py:3141
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:2565
+#: part/models.py:3178
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:2568 templates/js/translated/model_renderers.js:212
-msgid "Part ID"
-msgstr ""
-
-#: part/models.py:2569
+#: part/models.py:3182
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:2572
-msgid "Part Name"
-msgstr ""
-
-#: part/models.py:2576
-msgid "Part IPN"
-msgstr ""
-
-#: part/models.py:2577
+#: part/models.py:3190
msgid "Part IPN value"
msgstr ""
-#: part/models.py:2580
+#: part/models.py:3193
msgid "Level"
msgstr ""
-#: part/models.py:2581
+#: part/models.py:3194
msgid "BOM level"
msgstr ""
-#: part/models.py:2650
+#: part/models.py:3263
msgid "Select parent part"
msgstr ""
-#: part/models.py:2658
+#: part/models.py:3271
msgid "Sub part"
msgstr ""
-#: part/models.py:2659
+#: part/models.py:3272
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:2665
+#: part/models.py:3278
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:2669 part/templates/part/upload_bom.html:58
-#: templates/js/translated/bom.js:924 templates/js/translated/bom.js:1024
+#: part/models.py:3282 part/templates/part/upload_bom.html:58
+#: templates/js/translated/bom.js:933 templates/js/translated/bom.js:986
#: templates/js/translated/build.js:1858
#: templates/js/translated/table_filters.js:84
-#: templates/js/translated/table_filters.js:108
+#: templates/js/translated/table_filters.js:112
msgid "Optional"
msgstr ""
-#: part/models.py:2670
+#: part/models.py:3283
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:2675 templates/js/translated/bom.js:920
-#: templates/js/translated/bom.js:1033 templates/js/translated/build.js:1849
+#: part/models.py:3288 templates/js/translated/bom.js:929
+#: templates/js/translated/bom.js:995 templates/js/translated/build.js:1849
#: templates/js/translated/table_filters.js:88
msgid "Consumable"
msgstr ""
-#: part/models.py:2676
+#: part/models.py:3289
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:2680 part/templates/part/upload_bom.html:55
+#: part/models.py:3293 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:2681
+#: part/models.py:3294
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:2684
+#: part/models.py:3297
msgid "BOM item reference"
msgstr ""
-#: part/models.py:2687
+#: part/models.py:3300
msgid "BOM item notes"
msgstr ""
-#: part/models.py:2689
+#: part/models.py:3302
msgid "Checksum"
msgstr ""
-#: part/models.py:2689
+#: part/models.py:3302
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:2693 part/templates/part/upload_bom.html:57
-#: templates/js/translated/bom.js:1050
+#: part/models.py:3306 part/templates/part/upload_bom.html:57
+#: templates/js/translated/bom.js:1012
#: templates/js/translated/table_filters.js:76
-#: templates/js/translated/table_filters.js:104
+#: templates/js/translated/table_filters.js:108
msgid "Inherited"
msgstr ""
-#: part/models.py:2694
+#: part/models.py:3307
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:2699 part/templates/part/upload_bom.html:56
-#: templates/js/translated/bom.js:1042
+#: part/models.py:3312 part/templates/part/upload_bom.html:56
+#: templates/js/translated/bom.js:1004
msgid "Allow Variants"
msgstr ""
-#: part/models.py:2700
+#: part/models.py:3313
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:2786 stock/models.py:502
+#: part/models.py:3399 stock/models.py:518
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:2795 part/models.py:2797
+#: part/models.py:3408 part/models.py:3410
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:2902
+#: part/models.py:3537
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:2923
+#: part/models.py:3558
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:2936
+#: part/models.py:3571
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:2944
+#: part/models.py:3579
msgid "Substitute part"
msgstr ""
-#: part/models.py:2959
+#: part/models.py:3594
msgid "Part 1"
msgstr ""
-#: part/models.py:2963
+#: part/models.py:3598
msgid "Part 2"
msgstr ""
-#: part/models.py:2963
+#: part/models.py:3598
msgid "Select Related Part"
msgstr ""
-#: part/models.py:2981
+#: part/models.py:3616
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:2985
+#: part/models.py:3620
msgid "Duplicate relationship already exists"
msgstr ""
-#: part/serializers.py:154 part/serializers.py:185 stock/serializers.py:179
+#: part/serializers.py:154 part/serializers.py:182 stock/serializers.py:183
msgid "Purchase currency of this stock item"
msgstr ""
-#: part/serializers.py:829
+#: part/serializers.py:542
+msgid "Update"
+msgstr ""
+
+#: part/serializers.py:543
+msgid "Update pricing for this part"
+msgstr ""
+
+#: part/serializers.py:853
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:837
+#: part/serializers.py:861
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:838
+#: part/serializers.py:862
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:843
+#: part/serializers.py:867
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:844
+#: part/serializers.py:868
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:849
+#: part/serializers.py:873
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:850
+#: part/serializers.py:874
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:855
+#: part/serializers.py:879
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:856
+#: part/serializers.py:880
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/serializers.py:896
+#: part/serializers.py:920
msgid "Clear Existing BOM"
msgstr ""
-#: part/serializers.py:897
+#: part/serializers.py:921
msgid "Delete existing BOM items before uploading"
msgstr ""
-#: part/serializers.py:927
+#: part/serializers.py:951
msgid "No part column specified"
msgstr ""
-#: part/serializers.py:970
+#: part/serializers.py:994
msgid "Multiple matching parts found"
msgstr ""
-#: part/serializers.py:973
+#: part/serializers.py:997
msgid "No matching part found"
msgstr ""
-#: part/serializers.py:976
+#: part/serializers.py:1000
msgid "Part is not designated as a component"
msgstr ""
-#: part/serializers.py:985
+#: part/serializers.py:1009
msgid "Quantity not provided"
msgstr ""
-#: part/serializers.py:993
+#: part/serializers.py:1017
msgid "Invalid quantity"
msgstr ""
-#: part/serializers.py:1014
+#: part/serializers.py:1038
msgid "At least one BOM item is required"
msgstr ""
-#: part/tasks.py:21
+#: part/tasks.py:25
msgid "Low stock notification"
msgstr ""
-#: part/tasks.py:22
+#: part/tasks.py:26
#, python-brace-format
msgid "The available stock for {part.name} has fallen below the configured minimum level"
msgstr ""
@@ -5034,7 +5293,7 @@ msgstr ""
msgid "The BOM for %(part)s has not been validated."
msgstr ""
-#: part/templates/part/bom.html:30 part/templates/part/detail.html:269
+#: part/templates/part/bom.html:30 part/templates/part/detail.html:267
msgid "BOM actions"
msgstr ""
@@ -5070,10 +5329,6 @@ msgstr ""
msgid "Delete Category"
msgstr ""
-#: part/templates/part/category.html:81 part/templates/part/category.html:94
-msgid "Category Path"
-msgstr ""
-
#: part/templates/part/category.html:95
msgid "Top level part category"
msgstr ""
@@ -5091,12 +5346,12 @@ msgstr ""
msgid "Create new part"
msgstr ""
-#: part/templates/part/category.html:159 templates/js/translated/bom.js:392
+#: part/templates/part/category.html:159 templates/js/translated/bom.js:405
msgid "New Part"
msgstr ""
-#: part/templates/part/category.html:169 part/templates/part/detail.html:368
-#: part/templates/part/detail.html:399
+#: part/templates/part/category.html:169 part/templates/part/detail.html:366
+#: part/templates/part/detail.html:397
msgid "Options"
msgstr ""
@@ -5144,7 +5399,7 @@ msgstr ""
msgid "Import Parts"
msgstr ""
-#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:379
+#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:393
msgid "Duplicate Part"
msgstr ""
@@ -5176,7 +5431,8 @@ msgstr ""
msgid "Refresh scheduling data"
msgstr ""
-#: part/templates/part/detail.html:45 templates/js/translated/tables.js:524
+#: part/templates/part/detail.html:45 part/templates/part/prices.html:15
+#: templates/js/translated/tables.js:524
msgid "Refresh"
msgstr ""
@@ -5192,123 +5448,103 @@ msgstr ""
msgid "Sales Order Allocations"
msgstr ""
-#: part/templates/part/detail.html:143
+#: part/templates/part/detail.html:141
msgid "Part Notes"
msgstr ""
-#: part/templates/part/detail.html:158
+#: part/templates/part/detail.html:156
msgid "Part Variants"
msgstr ""
-#: part/templates/part/detail.html:162
+#: part/templates/part/detail.html:160
msgid "Create new variant"
msgstr ""
-#: part/templates/part/detail.html:163
+#: part/templates/part/detail.html:161
msgid "New Variant"
msgstr ""
-#: part/templates/part/detail.html:190
+#: part/templates/part/detail.html:188
msgid "Add new parameter"
msgstr ""
-#: part/templates/part/detail.html:227 part/templates/part/part_sidebar.html:54
+#: part/templates/part/detail.html:225 part/templates/part/part_sidebar.html:52
msgid "Related Parts"
msgstr ""
-#: part/templates/part/detail.html:231 part/templates/part/detail.html:232
+#: part/templates/part/detail.html:229 part/templates/part/detail.html:230
msgid "Add Related"
msgstr ""
-#: part/templates/part/detail.html:252 part/templates/part/part_sidebar.html:17
+#: part/templates/part/detail.html:250 part/templates/part/part_sidebar.html:17
msgid "Bill of Materials"
msgstr ""
-#: part/templates/part/detail.html:257
+#: part/templates/part/detail.html:255
msgid "Export actions"
msgstr ""
-#: part/templates/part/detail.html:261 templates/js/translated/bom.js:309
+#: part/templates/part/detail.html:259 templates/js/translated/bom.js:309
msgid "Export BOM"
msgstr ""
-#: part/templates/part/detail.html:263
+#: part/templates/part/detail.html:261
msgid "Print BOM Report"
msgstr ""
-#: part/templates/part/detail.html:273
+#: part/templates/part/detail.html:271
msgid "Upload BOM"
msgstr ""
-#: part/templates/part/detail.html:274 templates/js/translated/part.js:274
+#: part/templates/part/detail.html:272 templates/js/translated/part.js:270
msgid "Copy BOM"
msgstr ""
-#: part/templates/part/detail.html:275
+#: part/templates/part/detail.html:273
msgid "Validate BOM"
msgstr ""
-#: part/templates/part/detail.html:280 part/templates/part/detail.html:281
-#: templates/js/translated/bom.js:1202 templates/js/translated/bom.js:1203
+#: part/templates/part/detail.html:278 part/templates/part/detail.html:279
+#: templates/js/translated/bom.js:1267 templates/js/translated/bom.js:1268
msgid "Add BOM Item"
msgstr ""
-#: part/templates/part/detail.html:294
+#: part/templates/part/detail.html:292
msgid "Assemblies"
msgstr ""
-#: part/templates/part/detail.html:312
+#: part/templates/part/detail.html:310
msgid "Part Builds"
msgstr ""
-#: part/templates/part/detail.html:339 stock/templates/stock/item.html:38
+#: part/templates/part/detail.html:337 stock/templates/stock/item.html:38
msgid "Build Order Allocations"
msgstr ""
-#: part/templates/part/detail.html:355
+#: part/templates/part/detail.html:353
msgid "Part Suppliers"
msgstr ""
-#: part/templates/part/detail.html:385
+#: part/templates/part/detail.html:383
msgid "Part Manufacturers"
msgstr ""
-#: part/templates/part/detail.html:401
+#: part/templates/part/detail.html:399
msgid "Delete manufacturer parts"
msgstr ""
-#: part/templates/part/detail.html:658
+#: part/templates/part/detail.html:656
msgid "Related Part"
msgstr ""
-#: part/templates/part/detail.html:666
+#: part/templates/part/detail.html:664
msgid "Add Related Part"
msgstr ""
-#: part/templates/part/detail.html:758
+#: part/templates/part/detail.html:756
msgid "Add Test Result Template"
msgstr ""
-#: part/templates/part/detail.html:901
-#, python-format
-msgid "Purchase Unit Price - %(currency)s"
-msgstr ""
-
-#: part/templates/part/detail.html:913
-#, python-format
-msgid "Unit Price-Cost Difference - %(currency)s"
-msgstr ""
-
-#: part/templates/part/detail.html:925
-#, python-format
-msgid "Supplier Unit Cost - %(currency)s"
-msgstr ""
-
-#: part/templates/part/detail.html:1014
-#, python-format
-msgid "Unit Price - %(currency)s"
-msgstr ""
-
#: part/templates/part/import_wizard/ajax_match_fields.html:9
#: templates/patterns/wizard/match_fields.html:8
msgid "Missing selections for the following required columns"
@@ -5439,15 +5675,15 @@ msgid "Part is virtual (not a physical part)"
msgstr ""
#: part/templates/part/part_base.html:148
-#: templates/js/translated/company.js:659
-#: templates/js/translated/company.js:920
+#: templates/js/translated/company.js:660
+#: templates/js/translated/company.js:921
#: templates/js/translated/model_renderers.js:204
-#: templates/js/translated/part.js:652 templates/js/translated/part.js:729
+#: templates/js/translated/part.js:666 templates/js/translated/part.js:743
msgid "Inactive"
msgstr ""
#: part/templates/part/part_base.html:165
-#: part/templates/part/part_base.html:620
+#: part/templates/part/part_base.html:635
msgid "Show Part Details"
msgstr ""
@@ -5456,12 +5692,6 @@ msgstr ""
msgid "This part is a variant of %(link)s"
msgstr ""
-#: part/templates/part/part_base.html:200
-#: templates/js/translated/company.js:1027
-#: templates/js/translated/table_filters.js:209
-msgid "In Stock"
-msgstr ""
-
#: part/templates/part/part_base.html:221
#: stock/templates/stock/item_base.html:382
msgid "Allocated to Build Orders"
@@ -5472,100 +5702,91 @@ msgstr ""
msgid "Allocated to Sales Orders"
msgstr ""
-#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1100
+#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1165
msgid "Can Build"
msgstr ""
-#: part/templates/part/part_base.html:244 templates/js/translated/part.js:591
-#: templates/js/translated/part.js:611 templates/js/translated/part.js:1342
-#: templates/js/translated/part.js:1533
-msgid "Building"
-msgstr ""
-
#: part/templates/part/part_base.html:293
msgid "Minimum stock level"
msgstr ""
-#: part/templates/part/part_base.html:330
+#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1032
+#: templates/js/translated/part.js:783 templates/js/translated/part.js:1582
+#: templates/js/translated/pricing.js:124
+#: templates/js/translated/pricing.js:757
+msgid "Price Range"
+msgstr ""
+
+#: part/templates/part/part_base.html:345
msgid "Latest Serial Number"
msgstr ""
-#: part/templates/part/part_base.html:334
+#: part/templates/part/part_base.html:349
#: stock/templates/stock/item_base.html:331
msgid "Search for serial number"
msgstr ""
-#: part/templates/part/part_base.html:431
+#: part/templates/part/part_base.html:446
msgid "Link Barcode to Part"
msgstr ""
-#: part/templates/part/part_base.html:477 part/templates/part/prices.html:149
+#: part/templates/part/part_base.html:492
msgid "Calculate"
msgstr ""
-#: part/templates/part/part_base.html:520
+#: part/templates/part/part_base.html:535
msgid "No matching images found"
msgstr ""
-#: part/templates/part/part_base.html:614
+#: part/templates/part/part_base.html:629
msgid "Hide Part Details"
msgstr ""
-#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:24
+#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:78
+#: part/templates/part/prices.html:238 templates/js/translated/pricing.js:218
msgid "Supplier Pricing"
msgstr ""
#: part/templates/part/part_pricing.html:26
#: part/templates/part/part_pricing.html:52
-#: part/templates/part/part_pricing.html:103
-#: part/templates/part/part_pricing.html:118 part/templates/part/prices.html:28
-#: part/templates/part/prices.html:55 part/templates/part/prices.html:108
-#: part/templates/part/prices.html:125
+#: part/templates/part/part_pricing.html:95
+#: part/templates/part/part_pricing.html:110
msgid "Unit Cost"
msgstr ""
#: part/templates/part/part_pricing.html:32
#: part/templates/part/part_pricing.html:58
-#: part/templates/part/part_pricing.html:107
-#: part/templates/part/part_pricing.html:122 part/templates/part/prices.html:35
-#: part/templates/part/prices.html:62 part/templates/part/prices.html:113
-#: part/templates/part/prices.html:130
+#: part/templates/part/part_pricing.html:99
+#: part/templates/part/part_pricing.html:114
msgid "Total Cost"
msgstr ""
-#: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:43
-#: templates/js/translated/bom.js:1091
+#: part/templates/part/part_pricing.html:40
msgid "No supplier pricing available"
msgstr ""
-#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:52
-#: part/templates/part/prices.html:248
+#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:94
+#: part/templates/part/prices.html:262
msgid "BOM Pricing"
msgstr ""
-#: part/templates/part/part_pricing.html:66 part/templates/part/prices.html:72
+#: part/templates/part/part_pricing.html:66
msgid "Unit Purchase Price"
msgstr ""
-#: part/templates/part/part_pricing.html:72 part/templates/part/prices.html:79
+#: part/templates/part/part_pricing.html:72
msgid "Total Purchase Price"
msgstr ""
-#: part/templates/part/part_pricing.html:82 part/templates/part/prices.html:89
-msgid "Note: BOM pricing is incomplete for this part"
-msgstr ""
-
-#: part/templates/part/part_pricing.html:91 part/templates/part/prices.html:98
+#: part/templates/part/part_pricing.html:83
msgid "No BOM pricing available"
msgstr ""
-#: part/templates/part/part_pricing.html:100
-#: part/templates/part/prices.html:107
+#: part/templates/part/part_pricing.html:92
msgid "Internal Price"
msgstr ""
-#: part/templates/part/part_pricing.html:131
-#: part/templates/part/prices.html:139
+#: part/templates/part/part_pricing.html:123
msgid "No pricing information is available for this part."
msgstr ""
@@ -5573,7 +5794,8 @@ msgstr ""
#: report/templates/report/inventree_test_report_base.html:97
#: templates/InvenTree/settings/plugin.html:63
#: templates/InvenTree/settings/plugin_settings.html:38
-#: templates/js/translated/order.js:2001 templates/js/translated/stock.js:2478
+#: templates/js/translated/order.js:2035 templates/js/translated/pricing.js:537
+#: templates/js/translated/pricing.js:658 templates/js/translated/stock.js:2496
msgid "Date"
msgstr ""
@@ -5585,15 +5807,11 @@ msgstr ""
msgid "Variants"
msgstr ""
-#: part/templates/part/part_sidebar.html:27
-msgid "Used In"
-msgstr ""
-
-#: part/templates/part/part_sidebar.html:46
+#: part/templates/part/part_sidebar.html:44
msgid "Scheduling"
msgstr ""
-#: part/templates/part/part_sidebar.html:50
+#: part/templates/part/part_sidebar.html:48
msgid "Test Templates"
msgstr ""
@@ -5601,74 +5819,82 @@ msgstr ""
msgid "Select from existing images"
msgstr ""
-#: part/templates/part/prices.html:19
-msgid "Pricing ranges"
+#: part/templates/part/prices.html:11
+msgid "Pricing Overview"
msgstr ""
-#: part/templates/part/prices.html:25
-msgid "Show supplier cost"
+#: part/templates/part/prices.html:14
+msgid "Refresh Part Pricing"
msgstr ""
-#: part/templates/part/prices.html:26
-msgid "Show purchase price"
+#: part/templates/part/prices.html:25 stock/admin.py:106
+#: stock/templates/stock/item_base.html:440
+#: templates/js/translated/company.js:1039
+#: templates/js/translated/stock.js:1920
+msgid "Last Updated"
msgstr ""
-#: part/templates/part/prices.html:53
-msgid "Show BOM cost"
+#: part/templates/part/prices.html:34 part/templates/part/prices.html:126
+msgid "Price Category"
msgstr ""
-#: part/templates/part/prices.html:122
-msgid "Show sale cost"
+#: part/templates/part/prices.html:35 part/templates/part/prices.html:127
+msgid "Minimum"
msgstr ""
-#: part/templates/part/prices.html:123
-msgid "Show sale price"
+#: part/templates/part/prices.html:36 part/templates/part/prices.html:128
+msgid "Maximum"
msgstr ""
-#: part/templates/part/prices.html:145
-msgid "Calculation parameters"
+#: part/templates/part/prices.html:49 part/templates/part/prices.html:185
+msgid "Internal Pricing"
msgstr ""
-#: part/templates/part/prices.html:160 templates/js/translated/bom.js:1085
-msgid "Supplier Cost"
+#: part/templates/part/prices.html:64 part/templates/part/prices.html:217
+msgid "Purchase History"
msgstr ""
-#: part/templates/part/prices.html:161 part/templates/part/prices.html:182
-#: part/templates/part/prices.html:206 part/templates/part/prices.html:236
-#: part/templates/part/prices.html:262 part/templates/part/prices.html:291
+#: part/templates/part/prices.html:103 part/templates/part/prices.html:286
+msgid "Variant Pricing"
+msgstr ""
+
+#: part/templates/part/prices.html:111
+msgid "Overall Pricing"
+msgstr ""
+
+#: part/templates/part/prices.html:155 part/templates/part/prices.html:338
+msgid "Sale History"
+msgstr ""
+
+#: part/templates/part/prices.html:168
+msgid "Sale price data is not available for this part"
+msgstr ""
+
+#: part/templates/part/prices.html:175
+msgid "Price range data is not available for this part."
+msgstr ""
+
+#: part/templates/part/prices.html:186 part/templates/part/prices.html:218
+#: part/templates/part/prices.html:239 part/templates/part/prices.html:263
+#: part/templates/part/prices.html:287 part/templates/part/prices.html:310
+#: part/templates/part/prices.html:339
msgid "Jump to overview"
msgstr ""
-#: part/templates/part/prices.html:186
-msgid "Stock Pricing"
-msgstr ""
-
-#: part/templates/part/prices.html:195
-msgid "No stock pricing history is available for this part."
-msgstr ""
-
-#: part/templates/part/prices.html:205
-msgid "Internal Cost"
-msgstr ""
-
-#: part/templates/part/prices.html:220
+#: part/templates/part/prices.html:191
msgid "Add Internal Price Break"
msgstr ""
-#: part/templates/part/prices.html:235
-msgid "BOM Cost"
+#: part/templates/part/prices.html:309
+msgid "Sale Pricing"
msgstr ""
-#: part/templates/part/prices.html:261
-msgid "Sale Cost"
+#: part/templates/part/prices.html:315
+msgid "Add Sell Price Break"
msgstr ""
-#: part/templates/part/prices.html:302
-msgid "No sale pice history available for this part."
-msgstr ""
-
-#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:614
-#: templates/js/translated/part.js:1330 templates/js/translated/part.js:1332
+#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:628
+#: templates/js/translated/part.js:1351 templates/js/translated/part.js:1353
msgid "No Stock"
msgstr ""
@@ -5722,40 +5948,36 @@ msgstr ""
msgid "Create a new variant of template '%(full_name)s'."
msgstr ""
-#: part/templatetags/inventree_extras.py:177
+#: part/templatetags/inventree_extras.py:210
msgid "Unknown database"
msgstr ""
-#: part/templatetags/inventree_extras.py:229
+#: part/templatetags/inventree_extras.py:262
#, python-brace-format
msgid "{title} v{version}"
msgstr ""
-#: part/views.py:114
+#: part/views.py:109
msgid "Match References"
msgstr ""
-#: part/views.py:415
-msgid "None"
-msgstr ""
-
-#: part/views.py:477
+#: part/views.py:354
msgid "Part QR Code"
msgstr ""
-#: part/views.py:495
+#: part/views.py:372
msgid "Select Part Image"
msgstr ""
-#: part/views.py:521
+#: part/views.py:398
msgid "Updated part image"
msgstr ""
-#: part/views.py:524
+#: part/views.py:401
msgid "Part image not found"
msgstr ""
-#: part/views.py:613
+#: part/views.py:493
msgid "Part Pricing"
msgstr ""
@@ -6070,12 +6292,12 @@ msgid "Stock Item Test Report"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:79
-#: stock/models.py:650 stock/templates/stock/item_base.html:320
+#: stock/models.py:666 stock/templates/stock/item_base.html:320
#: templates/js/translated/build.js:472 templates/js/translated/build.js:624
#: templates/js/translated/build.js:1234 templates/js/translated/build.js:1735
#: templates/js/translated/model_renderers.js:118
-#: templates/js/translated/order.js:121 templates/js/translated/order.js:3592
-#: templates/js/translated/order.js:3679 templates/js/translated/stock.js:490
+#: templates/js/translated/order.js:121 templates/js/translated/order.js:3603
+#: templates/js/translated/order.js:3690 templates/js/translated/stock.js:509
msgid "Serial Number"
msgstr ""
@@ -6084,12 +6306,12 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:93
-#: stock/models.py:2085
+#: stock/models.py:2101
msgid "Test"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:94
-#: stock/models.py:2091
+#: stock/models.py:2107
msgid "Result"
msgstr ""
@@ -6107,383 +6329,435 @@ msgid "Installed Items"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:137
-#: templates/js/translated/stock.js:610 templates/js/translated/stock.js:780
-#: templates/js/translated/stock.js:2727
+#: stock/admin.py:87 templates/js/translated/stock.js:629
+#: templates/js/translated/stock.js:799 templates/js/translated/stock.js:2745
msgid "Serial"
msgstr ""
-#: stock/api.py:529
+#: stock/admin.py:23 stock/admin.py:90
+#: templates/js/translated/model_renderers.js:159
+msgid "Location ID"
+msgstr ""
+
+#: stock/admin.py:24 stock/admin.py:91
+msgid "Location Name"
+msgstr ""
+
+#: stock/admin.py:28 stock/templates/stock/location.html:123
+#: stock/templates/stock/location.html:129
+msgid "Location Path"
+msgstr ""
+
+#: stock/admin.py:83
+msgid "Stock Item ID"
+msgstr ""
+
+#: stock/admin.py:92 templates/js/translated/model_renderers.js:418
+msgid "Supplier Part ID"
+msgstr ""
+
+#: stock/admin.py:93
+msgid "Supplier ID"
+msgstr ""
+
+#: stock/admin.py:94
+msgid "Supplier Name"
+msgstr ""
+
+#: stock/admin.py:95
+msgid "Customer ID"
+msgstr ""
+
+#: stock/admin.py:96 stock/models.py:649
+#: stock/templates/stock/item_base.html:359
+msgid "Installed In"
+msgstr ""
+
+#: stock/admin.py:97 templates/js/translated/model_renderers.js:177
+msgid "Build ID"
+msgstr ""
+
+#: stock/admin.py:99
+msgid "Sales Order ID"
+msgstr ""
+
+#: stock/admin.py:100
+msgid "Purchase Order ID"
+msgstr ""
+
+#: stock/admin.py:107 templates/js/translated/stock.js:1890
+msgid "Stocktake"
+msgstr ""
+
+#: stock/admin.py:108 stock/models.py:724
+#: stock/templates/stock/item_base.html:427
+#: templates/js/translated/stock.js:1904
+msgid "Expiry Date"
+msgstr ""
+
+#: stock/api.py:539
msgid "Quantity is required"
msgstr ""
-#: stock/api.py:536
+#: stock/api.py:546
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:561
+#: stock/api.py:571
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/models.py:90 stock/models.py:746
+#: stock/models.py:106 stock/models.py:762
#: stock/templates/stock/item_base.html:250
msgid "Owner"
msgstr ""
-#: stock/models.py:91 stock/models.py:747
+#: stock/models.py:107 stock/models.py:763
msgid "Select Owner"
msgstr ""
-#: stock/models.py:508 stock/serializers.py:93
+#: stock/models.py:524 stock/serializers.py:97
msgid "Stock item cannot be created for virtual parts"
msgstr ""
-#: stock/models.py:525
+#: stock/models.py:541
#, python-brace-format
msgid "Part type ('{pf}') must be {pe}"
msgstr ""
-#: stock/models.py:535 stock/models.py:544
+#: stock/models.py:551 stock/models.py:560
msgid "Quantity must be 1 for item with a serial number"
msgstr ""
-#: stock/models.py:536
+#: stock/models.py:552
msgid "Serial number cannot be set if quantity greater than 1"
msgstr ""
-#: stock/models.py:558
+#: stock/models.py:574
msgid "Item cannot belong to itself"
msgstr ""
-#: stock/models.py:564
+#: stock/models.py:580
msgid "Item must have a build reference if is_building=True"
msgstr ""
-#: stock/models.py:578
+#: stock/models.py:594
msgid "Build reference does not point to the same part object"
msgstr ""
-#: stock/models.py:592
+#: stock/models.py:608
msgid "Parent Stock Item"
msgstr ""
-#: stock/models.py:602
+#: stock/models.py:618
msgid "Base part"
msgstr ""
-#: stock/models.py:610
+#: stock/models.py:626
msgid "Select a matching supplier part for this stock item"
msgstr ""
-#: stock/models.py:617 stock/templates/stock/location.html:17
+#: stock/models.py:633 stock/templates/stock/location.html:17
#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
msgstr ""
-#: stock/models.py:620
+#: stock/models.py:636
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:627
+#: stock/models.py:643
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:633 stock/templates/stock/item_base.html:359
-msgid "Installed In"
-msgstr ""
-
-#: stock/models.py:636
+#: stock/models.py:652
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:652
+#: stock/models.py:668
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:666
+#: stock/models.py:682
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:671
+#: stock/models.py:687
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:680
+#: stock/models.py:696
msgid "Source Build"
msgstr ""
-#: stock/models.py:682
+#: stock/models.py:698
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:693
+#: stock/models.py:709
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:696
+#: stock/models.py:712
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:702
+#: stock/models.py:718
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:708 stock/templates/stock/item_base.html:427
-#: templates/js/translated/stock.js:1885
-msgid "Expiry Date"
-msgstr ""
-
-#: stock/models.py:709
+#: stock/models.py:725
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:722
+#: stock/models.py:738
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:722
+#: stock/models.py:738
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:734 stock/templates/stock/item.html:132
+#: stock/models.py:750 stock/templates/stock/item.html:132
msgid "Stock Item Notes"
msgstr ""
-#: stock/models.py:742
+#: stock/models.py:758
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:770
+#: stock/models.py:786
msgid "Converted to part"
msgstr ""
-#: stock/models.py:1244
+#: stock/models.py:1260
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1250
+#: stock/models.py:1266
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1256
+#: stock/models.py:1272
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr ""
-#: stock/models.py:1259
+#: stock/models.py:1275
msgid "Serial numbers must be a list of integers"
msgstr ""
-#: stock/models.py:1262
+#: stock/models.py:1278
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1269
+#: stock/models.py:1285
#, python-brace-format
msgid "Serial numbers already exist: {exists}"
msgstr ""
-#: stock/models.py:1339
+#: stock/models.py:1355
msgid "Stock item has been assigned to a sales order"
msgstr ""
-#: stock/models.py:1342
+#: stock/models.py:1358
msgid "Stock item is installed in another item"
msgstr ""
-#: stock/models.py:1345
+#: stock/models.py:1361
msgid "Stock item contains other items"
msgstr ""
-#: stock/models.py:1348
+#: stock/models.py:1364
msgid "Stock item has been assigned to a customer"
msgstr ""
-#: stock/models.py:1351
+#: stock/models.py:1367
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:1354
+#: stock/models.py:1370
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1361 stock/serializers.py:963
+#: stock/models.py:1377 stock/serializers.py:962
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:1365
+#: stock/models.py:1381
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:1369
+#: stock/models.py:1385
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:1373
+#: stock/models.py:1389
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:1542
+#: stock/models.py:1558
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:2003
+#: stock/models.py:2019
msgid "Entry notes"
msgstr ""
-#: stock/models.py:2061
+#: stock/models.py:2077
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:2067
+#: stock/models.py:2083
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:2086
+#: stock/models.py:2102
msgid "Test name"
msgstr ""
-#: stock/models.py:2092
+#: stock/models.py:2108
msgid "Test result"
msgstr ""
-#: stock/models.py:2098
+#: stock/models.py:2114
msgid "Test output value"
msgstr ""
-#: stock/models.py:2105
+#: stock/models.py:2121
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2111
+#: stock/models.py:2127
msgid "Test notes"
msgstr ""
-#: stock/serializers.py:71
+#: stock/serializers.py:75
msgid "Serial number is too large"
msgstr ""
-#: stock/serializers.py:172
+#: stock/serializers.py:176
msgid "Purchase price of this stock item"
msgstr ""
-#: stock/serializers.py:292
+#: stock/serializers.py:286
msgid "Enter number of stock items to serialize"
msgstr ""
-#: stock/serializers.py:304
+#: stock/serializers.py:298
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({q})"
msgstr ""
-#: stock/serializers.py:310
+#: stock/serializers.py:304
msgid "Enter serial numbers for new items"
msgstr ""
-#: stock/serializers.py:321 stock/serializers.py:920 stock/serializers.py:1153
+#: stock/serializers.py:315 stock/serializers.py:919 stock/serializers.py:1152
msgid "Destination stock location"
msgstr ""
-#: stock/serializers.py:328
+#: stock/serializers.py:322
msgid "Optional note field"
msgstr ""
-#: stock/serializers.py:338
+#: stock/serializers.py:332
msgid "Serial numbers cannot be assigned to this part"
msgstr ""
-#: stock/serializers.py:359
+#: stock/serializers.py:353
msgid "Serial numbers already exist"
msgstr ""
-#: stock/serializers.py:399
+#: stock/serializers.py:393
msgid "Select stock item to install"
msgstr ""
-#: stock/serializers.py:412
+#: stock/serializers.py:406
msgid "Stock item is unavailable"
msgstr ""
-#: stock/serializers.py:419
+#: stock/serializers.py:413
msgid "Selected part is not in the Bill of Materials"
msgstr ""
-#: stock/serializers.py:456
+#: stock/serializers.py:450
msgid "Destination location for uninstalled item"
msgstr ""
-#: stock/serializers.py:461 stock/serializers.py:542
+#: stock/serializers.py:455 stock/serializers.py:536
msgid "Add transaction note (optional)"
msgstr ""
-#: stock/serializers.py:495
+#: stock/serializers.py:489
msgid "Select part to convert stock item into"
msgstr ""
-#: stock/serializers.py:506
+#: stock/serializers.py:500
msgid "Selected part is not a valid option for conversion"
msgstr ""
-#: stock/serializers.py:537
+#: stock/serializers.py:531
msgid "Destination location for returned item"
msgstr ""
-#: stock/serializers.py:775
+#: stock/serializers.py:774
msgid "Part must be salable"
msgstr ""
-#: stock/serializers.py:779
+#: stock/serializers.py:778
msgid "Item is allocated to a sales order"
msgstr ""
-#: stock/serializers.py:783
+#: stock/serializers.py:782
msgid "Item is allocated to a build order"
msgstr ""
-#: stock/serializers.py:814
+#: stock/serializers.py:813
msgid "Customer to assign stock items"
msgstr ""
-#: stock/serializers.py:820
+#: stock/serializers.py:819
msgid "Selected company is not a customer"
msgstr ""
-#: stock/serializers.py:828
+#: stock/serializers.py:827
msgid "Stock assignment notes"
msgstr ""
-#: stock/serializers.py:838 stock/serializers.py:1069
+#: stock/serializers.py:837 stock/serializers.py:1068
msgid "A list of stock items must be provided"
msgstr ""
-#: stock/serializers.py:927
+#: stock/serializers.py:926
msgid "Stock merging notes"
msgstr ""
-#: stock/serializers.py:932
+#: stock/serializers.py:931
msgid "Allow mismatched suppliers"
msgstr ""
-#: stock/serializers.py:933
+#: stock/serializers.py:932
msgid "Allow stock items with different supplier parts to be merged"
msgstr ""
-#: stock/serializers.py:938
+#: stock/serializers.py:937
msgid "Allow mismatched status"
msgstr ""
-#: stock/serializers.py:939
+#: stock/serializers.py:938
msgid "Allow stock items with different status codes to be merged"
msgstr ""
-#: stock/serializers.py:949
+#: stock/serializers.py:948
msgid "At least two stock items must be provided"
msgstr ""
-#: stock/serializers.py:1031
+#: stock/serializers.py:1030
msgid "StockItem primary key value"
msgstr ""
-#: stock/serializers.py:1059
+#: stock/serializers.py:1058
msgid "Stock transaction notes"
msgstr ""
@@ -6520,7 +6794,7 @@ msgstr ""
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2871
+#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2889
msgid "Install Stock Item"
msgstr ""
@@ -6528,7 +6802,7 @@ msgstr ""
msgid "Delete all test results for this stock item"
msgstr ""
-#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1522
+#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1541
msgid "Add Test Result"
msgstr ""
@@ -6687,7 +6961,7 @@ msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:431
-#: templates/js/translated/table_filters.js:277
+#: templates/js/translated/table_filters.js:281
msgid "Expired"
msgstr ""
@@ -6697,16 +6971,10 @@ msgid "This StockItem expires on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/table_filters.js:283
+#: templates/js/translated/table_filters.js:287
msgid "Stale"
msgstr ""
-#: stock/templates/stock/item_base.html:440
-#: templates/js/translated/company.js:1038
-#: templates/js/translated/stock.js:1901
-msgid "Last Updated"
-msgstr ""
-
#: stock/templates/stock/item_base.html:445
msgid "Last Stocktake"
msgstr ""
@@ -6783,11 +7051,6 @@ msgstr ""
msgid "Delete location"
msgstr ""
-#: stock/templates/stock/location.html:123
-#: stock/templates/stock/location.html:129
-msgid "Location Path"
-msgstr ""
-
#: stock/templates/stock/location.html:130
msgid "Top level stock location"
msgstr ""
@@ -6960,6 +7223,14 @@ msgstr ""
msgid "Overdue Sales Orders"
msgstr ""
+#: templates/InvenTree/index.html:312
+msgid "InvenTree News"
+msgstr ""
+
+#: templates/InvenTree/index.html:314
+msgid "Current News"
+msgstr ""
+
#: templates/InvenTree/notifications/history.html:9
msgid "Notification History"
msgstr ""
@@ -7026,30 +7297,6 @@ msgstr ""
msgid "Category Settings"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:8
-msgid "Currency Settings"
-msgstr ""
-
-#: templates/InvenTree/settings/currencies.html:19
-msgid "Base Currency"
-msgstr ""
-
-#: templates/InvenTree/settings/currencies.html:24
-msgid "Exchange Rates"
-msgstr ""
-
-#: templates/InvenTree/settings/currencies.html:38
-msgid "Last Update"
-msgstr ""
-
-#: templates/InvenTree/settings/currencies.html:44
-msgid "Never"
-msgstr ""
-
-#: templates/InvenTree/settings/currencies.html:49
-msgid "Update Now"
-msgstr ""
-
#: templates/InvenTree/settings/global.html:9
msgid "Server Settings"
msgstr ""
@@ -7090,15 +7337,15 @@ msgstr ""
msgid "Part Settings"
msgstr ""
-#: templates/InvenTree/settings/part.html:46
+#: templates/InvenTree/settings/part.html:40
msgid "Part Import"
msgstr ""
-#: templates/InvenTree/settings/part.html:50
+#: templates/InvenTree/settings/part.html:44
msgid "Import Part"
msgstr ""
-#: templates/InvenTree/settings/part.html:64
+#: templates/InvenTree/settings/part.html:58
msgid "Part Parameter Templates"
msgstr ""
@@ -7125,11 +7372,6 @@ msgstr ""
msgid "External plugins are not enabled for this InvenTree installation"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:62
-#: templates/InvenTree/settings/plugin_settings.html:33
-msgid "Author"
-msgstr ""
-
#: templates/InvenTree/settings/plugin.html:64
#: templates/InvenTree/settings/plugin_settings.html:43
msgid "Version"
@@ -7239,6 +7481,39 @@ msgstr ""
msgid "Purchase Order Settings"
msgstr ""
+#: templates/InvenTree/settings/pricing.html:7
+msgid "Pricing Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:24
+msgid "Currency Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:30
+msgid "Update Now"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:39
+#: templates/InvenTree/settings/pricing.html:43
+msgid "Last Update"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:43
+msgid "Never"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:53
+msgid "Base Currency"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:58
+msgid "Exchange Rates"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:60
+msgid "Rate"
+msgstr ""
+
#: templates/InvenTree/settings/report.html:8
#: templates/InvenTree/settings/user_reports.html:9
msgid "Report Settings"
@@ -7295,6 +7570,7 @@ msgid "No part parameter templates found"
msgstr ""
#: templates/InvenTree/settings/settings.html:338
+#: templates/js/translated/news.js:28
#: templates/js/translated/notification.js:36
msgid "ID"
msgstr ""
@@ -7357,10 +7633,6 @@ msgstr ""
msgid "Server Configuration"
msgstr ""
-#: templates/InvenTree/settings/sidebar.html:35
-msgid "Currencies"
-msgstr ""
-
#: templates/InvenTree/settings/sidebar.html:43
msgid "Categories"
msgstr ""
@@ -7380,7 +7652,7 @@ msgid "Change Password"
msgstr ""
#: templates/InvenTree/settings/user.html:23
-#: templates/js/translated/helpers.js:31 templates/notes_buttons.html:3
+#: templates/js/translated/helpers.js:33 templates/notes_buttons.html:3
#: templates/notes_buttons.html:4
msgid "Edit"
msgstr ""
@@ -7890,7 +8162,7 @@ msgid "The following parts are low on required stock"
msgstr ""
#: templates/email/build_order_required_stock.html:18
-#: templates/js/translated/bom.js:1566
+#: templates/js/translated/bom.js:1629
msgid "Required Quantity"
msgstr ""
@@ -7904,7 +8176,7 @@ msgid "Click on the following link to view this part"
msgstr ""
#: templates/email/low_stock_notification.html:19
-#: templates/js/translated/part.js:2566
+#: templates/js/translated/part.js:2423
msgid "Minimum Quantity"
msgstr ""
@@ -8057,7 +8329,7 @@ msgstr ""
msgid "Unlink"
msgstr ""
-#: templates/js/translated/barcode.js:500 templates/js/translated/stock.js:1054
+#: templates/js/translated/barcode.js:500 templates/js/translated/stock.js:1073
msgid "Remove stock item"
msgstr ""
@@ -8127,10 +8399,10 @@ msgstr ""
msgid "Row Data"
msgstr ""
-#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:646
+#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:659
#: templates/js/translated/modals.js:56 templates/js/translated/modals.js:601
#: templates/js/translated/modals.js:695 templates/js/translated/modals.js:1003
-#: templates/js/translated/order.js:1179 templates/modals.html:15
+#: templates/js/translated/order.js:1213 templates/modals.html:15
#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50
msgid "Close"
msgstr ""
@@ -8140,12 +8412,12 @@ msgid "Download BOM Template"
msgstr ""
#: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312
-#: templates/js/translated/order.js:960 templates/js/translated/tables.js:145
+#: templates/js/translated/order.js:994 templates/js/translated/tables.js:145
msgid "Format"
msgstr ""
#: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313
-#: templates/js/translated/order.js:961
+#: templates/js/translated/order.js:995
msgid "Select file format"
msgstr ""
@@ -8197,118 +8469,130 @@ msgstr ""
msgid "Include part supplier data in exported BOM"
msgstr ""
-#: templates/js/translated/bom.js:537
+#: templates/js/translated/bom.js:358
+msgid "Include Pricing Data"
+msgstr ""
+
+#: templates/js/translated/bom.js:359
+msgid "Include part pricing data in exported BOM"
+msgstr ""
+
+#: templates/js/translated/bom.js:550
msgid "Remove substitute part"
msgstr ""
-#: templates/js/translated/bom.js:591
+#: templates/js/translated/bom.js:604
msgid "Select and add a new substitute part using the input below"
msgstr ""
-#: templates/js/translated/bom.js:602
+#: templates/js/translated/bom.js:615
msgid "Are you sure you wish to remove this substitute part link?"
msgstr ""
-#: templates/js/translated/bom.js:608
+#: templates/js/translated/bom.js:621
msgid "Remove Substitute Part"
msgstr ""
-#: templates/js/translated/bom.js:647
+#: templates/js/translated/bom.js:660
msgid "Add Substitute"
msgstr ""
-#: templates/js/translated/bom.js:648
+#: templates/js/translated/bom.js:661
msgid "Edit BOM Item Substitutes"
msgstr ""
-#: templates/js/translated/bom.js:710
+#: templates/js/translated/bom.js:723
msgid "All selected BOM items will be deleted"
msgstr ""
-#: templates/js/translated/bom.js:726
+#: templates/js/translated/bom.js:739
msgid "Delete selected BOM items?"
msgstr ""
-#: templates/js/translated/bom.js:860
+#: templates/js/translated/bom.js:868
msgid "Load BOM for subassembly"
msgstr ""
-#: templates/js/translated/bom.js:870
+#: templates/js/translated/bom.js:878
msgid "Substitutes Available"
msgstr ""
-#: templates/js/translated/bom.js:874 templates/js/translated/build.js:1835
+#: templates/js/translated/bom.js:882 templates/js/translated/build.js:1835
msgid "Variant stock allowed"
msgstr ""
-#: templates/js/translated/bom.js:983 templates/js/translated/build.js:1907
-#: templates/js/translated/order.js:3927
-msgid "No Stock Available"
-msgstr ""
-
-#: templates/js/translated/bom.js:988 templates/js/translated/build.js:1911
-msgid "Includes variant and substitute stock"
-msgstr ""
-
-#: templates/js/translated/bom.js:990 templates/js/translated/build.js:1913
-#: templates/js/translated/part.js:761 templates/js/translated/part.js:1539
-msgid "Includes variant stock"
-msgstr ""
-
-#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1915
-msgid "Includes substitute stock"
-msgstr ""
-
-#: templates/js/translated/bom.js:1010
+#: templates/js/translated/bom.js:972
msgid "Substitutes"
msgstr ""
-#: templates/js/translated/bom.js:1061 templates/js/translated/bom.js:1195
+#: templates/js/translated/bom.js:1023 templates/js/translated/bom.js:1260
msgid "View BOM"
msgstr ""
-#: templates/js/translated/bom.js:1071
-msgid "Purchase Price Range"
+#: templates/js/translated/bom.js:1094
+msgid "BOM pricing is complete"
msgstr ""
-#: templates/js/translated/bom.js:1078
-msgid "Purchase Price Average"
+#: templates/js/translated/bom.js:1099
+msgid "BOM pricing is incomplete"
msgstr ""
-#: templates/js/translated/bom.js:1106 templates/js/translated/build.js:1898
+#: templates/js/translated/bom.js:1106
+msgid "No pricing available"
+msgstr ""
+
+#: templates/js/translated/bom.js:1137 templates/js/translated/build.js:1907
+#: templates/js/translated/order.js:3924
+msgid "No Stock Available"
+msgstr ""
+
+#: templates/js/translated/bom.js:1142 templates/js/translated/build.js:1911
+msgid "Includes variant and substitute stock"
+msgstr ""
+
+#: templates/js/translated/bom.js:1144 templates/js/translated/build.js:1913
+#: templates/js/translated/part.js:775 templates/js/translated/part.js:1550
+msgid "Includes variant stock"
+msgstr ""
+
+#: templates/js/translated/bom.js:1146 templates/js/translated/build.js:1915
+msgid "Includes substitute stock"
+msgstr ""
+
+#: templates/js/translated/bom.js:1171 templates/js/translated/build.js:1898
#: templates/js/translated/build.js:1985
msgid "Consumable item"
msgstr ""
-#: templates/js/translated/bom.js:1166
+#: templates/js/translated/bom.js:1231
msgid "Validate BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1168
+#: templates/js/translated/bom.js:1233
msgid "This line has been validated"
msgstr ""
-#: templates/js/translated/bom.js:1170
+#: templates/js/translated/bom.js:1235
msgid "Edit substitute parts"
msgstr ""
-#: templates/js/translated/bom.js:1172 templates/js/translated/bom.js:1369
+#: templates/js/translated/bom.js:1237 templates/js/translated/bom.js:1433
msgid "Edit BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1174
+#: templates/js/translated/bom.js:1239
msgid "Delete BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1280 templates/js/translated/build.js:1679
+#: templates/js/translated/bom.js:1344 templates/js/translated/build.js:1679
msgid "No BOM items found"
msgstr ""
-#: templates/js/translated/bom.js:1549 templates/js/translated/build.js:1818
+#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1818
msgid "Required Part"
msgstr ""
-#: templates/js/translated/bom.js:1575
+#: templates/js/translated/bom.js:1638
msgid "Inherited from parent BOM"
msgstr ""
@@ -8353,12 +8637,12 @@ msgid "Complete Build Order"
msgstr ""
#: templates/js/translated/build.js:311 templates/js/translated/stock.js:92
-#: templates/js/translated/stock.js:214
+#: templates/js/translated/stock.js:233
msgid "Next available serial number"
msgstr ""
#: templates/js/translated/build.js:313 templates/js/translated/stock.js:94
-#: templates/js/translated/stock.js:216
+#: templates/js/translated/stock.js:235
msgid "Latest serial number"
msgstr ""
@@ -8455,12 +8739,12 @@ msgid "No required tests for this build"
msgstr ""
#: templates/js/translated/build.js:1775 templates/js/translated/build.js:2765
-#: templates/js/translated/order.js:3627
+#: templates/js/translated/order.js:3638
msgid "Edit stock allocation"
msgstr ""
#: templates/js/translated/build.js:1777 templates/js/translated/build.js:2766
-#: templates/js/translated/order.js:3628
+#: templates/js/translated/order.js:3639
msgid "Delete stock allocation"
msgstr ""
@@ -8480,20 +8764,15 @@ msgstr ""
msgid "Quantity Per"
msgstr ""
-#: templates/js/translated/build.js:1901 templates/js/translated/order.js:3934
+#: templates/js/translated/build.js:1901 templates/js/translated/order.js:3931
msgid "Insufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3932
+#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3929
msgid "Sufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1937 templates/js/translated/build.js:2195
-#: templates/js/translated/build.js:2761 templates/js/translated/order.js:3946
-msgid "Allocated"
-msgstr ""
-
-#: templates/js/translated/build.js:1993 templates/js/translated/order.js:4026
+#: templates/js/translated/build.js:1993 templates/js/translated/order.js:4023
msgid "Build stock"
msgstr ""
@@ -8501,21 +8780,21 @@ msgstr ""
msgid "Order stock"
msgstr ""
-#: templates/js/translated/build.js:2000 templates/js/translated/order.js:4019
+#: templates/js/translated/build.js:2000 templates/js/translated/order.js:4016
msgid "Allocate stock"
msgstr ""
#: templates/js/translated/build.js:2039 templates/js/translated/label.js:172
-#: templates/js/translated/order.js:1007 templates/js/translated/order.js:3154
+#: templates/js/translated/order.js:1041 templates/js/translated/order.js:3165
#: templates/js/translated/report.js:225
msgid "Select Parts"
msgstr ""
-#: templates/js/translated/build.js:2040 templates/js/translated/order.js:3155
+#: templates/js/translated/build.js:2040 templates/js/translated/order.js:3166
msgid "You must select at least one part to allocate"
msgstr ""
-#: templates/js/translated/build.js:2089 templates/js/translated/order.js:3103
+#: templates/js/translated/build.js:2089 templates/js/translated/order.js:3114
msgid "Specify stock allocation quantity"
msgstr ""
@@ -8527,7 +8806,7 @@ msgstr ""
msgid "All selected parts have been fully allocated"
msgstr ""
-#: templates/js/translated/build.js:2183 templates/js/translated/order.js:3169
+#: templates/js/translated/build.js:2183 templates/js/translated/order.js:3180
msgid "Select source location (leave blank to take from all locations)"
msgstr ""
@@ -8535,11 +8814,11 @@ msgstr ""
msgid "Allocate Stock Items to Build Order"
msgstr ""
-#: templates/js/translated/build.js:2222 templates/js/translated/order.js:3266
+#: templates/js/translated/build.js:2222 templates/js/translated/order.js:3277
msgid "No matching stock locations"
msgstr ""
-#: templates/js/translated/build.js:2294 templates/js/translated/order.js:3343
+#: templates/js/translated/build.js:2294 templates/js/translated/order.js:3354
msgid "No matching stock items"
msgstr ""
@@ -8571,9 +8850,9 @@ msgstr ""
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:2558 templates/js/translated/part.js:1423
-#: templates/js/translated/part.js:1957 templates/js/translated/stock.js:1686
-#: templates/js/translated/stock.js:2390
+#: templates/js/translated/build.js:2558 templates/js/translated/part.js:1444
+#: templates/js/translated/part.js:1981 templates/js/translated/stock.js:1705
+#: templates/js/translated/stock.js:2408
msgid "Select"
msgstr ""
@@ -8585,7 +8864,7 @@ msgstr ""
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2636 templates/js/translated/stock.js:2657
+#: templates/js/translated/build.js:2636 templates/js/translated/stock.js:2675
msgid "No user information"
msgstr ""
@@ -8593,118 +8872,144 @@ msgstr ""
msgid "No parts allocated for"
msgstr ""
-#: templates/js/translated/company.js:66
+#: templates/js/translated/company.js:67
msgid "Add Manufacturer"
msgstr ""
-#: templates/js/translated/company.js:79 templates/js/translated/company.js:181
+#: templates/js/translated/company.js:80 templates/js/translated/company.js:182
msgid "Add Manufacturer Part"
msgstr ""
-#: templates/js/translated/company.js:100
+#: templates/js/translated/company.js:101
msgid "Edit Manufacturer Part"
msgstr ""
-#: templates/js/translated/company.js:169 templates/js/translated/order.js:576
+#: templates/js/translated/company.js:170 templates/js/translated/order.js:576
msgid "Add Supplier"
msgstr ""
-#: templates/js/translated/company.js:197 templates/js/translated/order.js:828
+#: templates/js/translated/company.js:198 templates/js/translated/order.js:862
msgid "Add Supplier Part"
msgstr ""
-#: templates/js/translated/company.js:297
+#: templates/js/translated/company.js:298
msgid "All selected supplier parts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:313
+#: templates/js/translated/company.js:314
msgid "Delete Supplier Parts"
msgstr ""
-#: templates/js/translated/company.js:385
+#: templates/js/translated/company.js:386
msgid "Add new Company"
msgstr ""
-#: templates/js/translated/company.js:462
+#: templates/js/translated/company.js:463
msgid "Parts Supplied"
msgstr ""
-#: templates/js/translated/company.js:471
+#: templates/js/translated/company.js:472
msgid "Parts Manufactured"
msgstr ""
-#: templates/js/translated/company.js:486
+#: templates/js/translated/company.js:487
msgid "No company information found"
msgstr ""
-#: templates/js/translated/company.js:527
+#: templates/js/translated/company.js:528
msgid "All selected manufacturer parts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:542
+#: templates/js/translated/company.js:543
msgid "Delete Manufacturer Parts"
msgstr ""
-#: templates/js/translated/company.js:576
+#: templates/js/translated/company.js:577
msgid "All selected parameters will be deleted"
msgstr ""
-#: templates/js/translated/company.js:590
+#: templates/js/translated/company.js:591
msgid "Delete Parameters"
msgstr ""
-#: templates/js/translated/company.js:631
+#: templates/js/translated/company.js:632
msgid "No manufacturer parts found"
msgstr ""
-#: templates/js/translated/company.js:651
-#: templates/js/translated/company.js:912 templates/js/translated/part.js:636
-#: templates/js/translated/part.js:721
+#: templates/js/translated/company.js:652
+#: templates/js/translated/company.js:913 templates/js/translated/part.js:650
+#: templates/js/translated/part.js:735
msgid "Template part"
msgstr ""
-#: templates/js/translated/company.js:655
-#: templates/js/translated/company.js:916 templates/js/translated/part.js:640
-#: templates/js/translated/part.js:725
+#: templates/js/translated/company.js:656
+#: templates/js/translated/company.js:917 templates/js/translated/part.js:654
+#: templates/js/translated/part.js:739
msgid "Assembled part"
msgstr ""
-#: templates/js/translated/company.js:783 templates/js/translated/part.js:828
+#: templates/js/translated/company.js:784 templates/js/translated/part.js:855
msgid "No parameters found"
msgstr ""
-#: templates/js/translated/company.js:820 templates/js/translated/part.js:870
+#: templates/js/translated/company.js:821 templates/js/translated/part.js:897
msgid "Edit parameter"
msgstr ""
-#: templates/js/translated/company.js:821 templates/js/translated/part.js:871
+#: templates/js/translated/company.js:822 templates/js/translated/part.js:898
msgid "Delete parameter"
msgstr ""
-#: templates/js/translated/company.js:840 templates/js/translated/part.js:888
+#: templates/js/translated/company.js:841 templates/js/translated/part.js:915
msgid "Edit Parameter"
msgstr ""
-#: templates/js/translated/company.js:851 templates/js/translated/part.js:900
+#: templates/js/translated/company.js:852 templates/js/translated/part.js:927
msgid "Delete Parameter"
msgstr ""
-#: templates/js/translated/company.js:891
+#: templates/js/translated/company.js:892
msgid "No supplier parts found"
msgstr ""
-#: templates/js/translated/company.js:1032
+#: templates/js/translated/company.js:1033
msgid "Availability"
msgstr ""
-#: templates/js/translated/company.js:1055
+#: templates/js/translated/company.js:1056
msgid "Edit supplier part"
msgstr ""
-#: templates/js/translated/company.js:1056
+#: templates/js/translated/company.js:1057
msgid "Delete supplier part"
msgstr ""
+#: templates/js/translated/company.js:1112
+#: templates/js/translated/pricing.js:423
+msgid "Delete Price Break"
+msgstr ""
+
+#: templates/js/translated/company.js:1128
+#: templates/js/translated/pricing.js:437
+msgid "Edit Price Break"
+msgstr ""
+
+#: templates/js/translated/company.js:1145
+msgid "No price break information found"
+msgstr ""
+
+#: templates/js/translated/company.js:1174
+msgid "Last updated"
+msgstr ""
+
+#: templates/js/translated/company.js:1180
+msgid "Edit price break"
+msgstr ""
+
+#: templates/js/translated/company.js:1181
+msgid "Delete price break"
+msgstr ""
+
#: templates/js/translated/filters.js:178
#: templates/js/translated/filters.js:441
msgid "true"
@@ -8785,27 +9090,27 @@ msgstr ""
msgid "Clear input"
msgstr ""
-#: templates/js/translated/forms.js:2638
+#: templates/js/translated/forms.js:2628
msgid "File Column"
msgstr ""
-#: templates/js/translated/forms.js:2638
+#: templates/js/translated/forms.js:2628
msgid "Field Name"
msgstr ""
-#: templates/js/translated/forms.js:2650
+#: templates/js/translated/forms.js:2640
msgid "Select Columns"
msgstr ""
-#: templates/js/translated/helpers.js:24
+#: templates/js/translated/helpers.js:26
msgid "YES"
msgstr ""
-#: templates/js/translated/helpers.js:26
+#: templates/js/translated/helpers.js:28
msgid "NO"
msgstr ""
-#: templates/js/translated/helpers.js:363
+#: templates/js/translated/helpers.js:434
msgid "Notes updated"
msgstr ""
@@ -8814,7 +9119,7 @@ msgid "Labels sent to printer"
msgstr ""
#: templates/js/translated/label.js:60 templates/js/translated/report.js:118
-#: templates/js/translated/stock.js:1078
+#: templates/js/translated/stock.js:1097
msgid "Select Stock Items"
msgstr ""
@@ -8934,14 +9239,6 @@ msgstr ""
msgid "Stock ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:159
-msgid "Location ID"
-msgstr ""
-
-#: templates/js/translated/model_renderers.js:177
-msgid "Build ID"
-msgstr ""
-
#: templates/js/translated/model_renderers.js:278
#: templates/js/translated/model_renderers.js:303
msgid "Order ID"
@@ -8952,16 +9249,12 @@ msgstr ""
msgid "Shipment ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:338
-msgid "Category ID"
-msgstr ""
-
#: templates/js/translated/model_renderers.js:381
msgid "Manufacturer Part ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:418
-msgid "Supplier Part ID"
+#: templates/js/translated/news.js:23
+msgid "No news found"
msgstr ""
#: templates/js/translated/notification.js:42
@@ -9104,659 +9397,688 @@ msgstr ""
msgid "Duplication Options"
msgstr ""
-#: templates/js/translated/order.js:957
+#: templates/js/translated/order.js:991
msgid "Export Order"
msgstr ""
-#: templates/js/translated/order.js:1008
+#: templates/js/translated/order.js:1042
msgid "At least one purchaseable part must be selected"
msgstr ""
-#: templates/js/translated/order.js:1033
+#: templates/js/translated/order.js:1067
msgid "Quantity to order"
msgstr ""
-#: templates/js/translated/order.js:1042
+#: templates/js/translated/order.js:1076
msgid "New supplier part"
msgstr ""
-#: templates/js/translated/order.js:1060
+#: templates/js/translated/order.js:1094
msgid "New purchase order"
msgstr ""
-#: templates/js/translated/order.js:1093
+#: templates/js/translated/order.js:1127
msgid "Add to purchase order"
msgstr ""
-#: templates/js/translated/order.js:1233
+#: templates/js/translated/order.js:1267
msgid "No matching supplier parts"
msgstr ""
-#: templates/js/translated/order.js:1252
+#: templates/js/translated/order.js:1286
msgid "No matching purchase orders"
msgstr ""
-#: templates/js/translated/order.js:1429
+#: templates/js/translated/order.js:1463
msgid "Select Line Items"
msgstr ""
-#: templates/js/translated/order.js:1430
+#: templates/js/translated/order.js:1464
msgid "At least one line item must be selected"
msgstr ""
-#: templates/js/translated/order.js:1450 templates/js/translated/order.js:1563
+#: templates/js/translated/order.js:1484 templates/js/translated/order.js:1597
msgid "Add batch code"
msgstr ""
-#: templates/js/translated/order.js:1456 templates/js/translated/order.js:1574
+#: templates/js/translated/order.js:1490 templates/js/translated/order.js:1608
msgid "Add serial numbers"
msgstr ""
-#: templates/js/translated/order.js:1471
+#: templates/js/translated/order.js:1505
msgid "Received Quantity"
msgstr ""
-#: templates/js/translated/order.js:1482
+#: templates/js/translated/order.js:1516
msgid "Quantity to receive"
msgstr ""
-#: templates/js/translated/order.js:1546 templates/js/translated/stock.js:2146
+#: templates/js/translated/order.js:1580 templates/js/translated/stock.js:2164
msgid "Stock Status"
msgstr ""
-#: templates/js/translated/order.js:1639
+#: templates/js/translated/order.js:1673
msgid "Order Code"
msgstr ""
-#: templates/js/translated/order.js:1640
+#: templates/js/translated/order.js:1674
msgid "Ordered"
msgstr ""
-#: templates/js/translated/order.js:1642
+#: templates/js/translated/order.js:1676
msgid "Quantity to Receive"
msgstr ""
-#: templates/js/translated/order.js:1661
+#: templates/js/translated/order.js:1695
msgid "Confirm receipt of items"
msgstr ""
-#: templates/js/translated/order.js:1662
+#: templates/js/translated/order.js:1696
msgid "Receive Purchase Order Items"
msgstr ""
-#: templates/js/translated/order.js:1940 templates/js/translated/part.js:941
+#: templates/js/translated/order.js:1974 templates/js/translated/part.js:968
msgid "No purchase orders found"
msgstr ""
-#: templates/js/translated/order.js:1967 templates/js/translated/order.js:2798
+#: templates/js/translated/order.js:2001 templates/js/translated/order.js:2809
msgid "Order is overdue"
msgstr ""
-#: templates/js/translated/order.js:2017 templates/js/translated/order.js:2863
-#: templates/js/translated/order.js:3004
+#: templates/js/translated/order.js:2051 templates/js/translated/order.js:2874
+#: templates/js/translated/order.js:3015
msgid "Items"
msgstr ""
-#: templates/js/translated/order.js:2115 templates/js/translated/order.js:4078
+#: templates/js/translated/order.js:2154 templates/js/translated/order.js:4075
msgid "Duplicate Line Item"
msgstr ""
-#: templates/js/translated/order.js:2132 templates/js/translated/order.js:4100
+#: templates/js/translated/order.js:2171 templates/js/translated/order.js:4097
msgid "Edit Line Item"
msgstr ""
-#: templates/js/translated/order.js:2145 templates/js/translated/order.js:4111
+#: templates/js/translated/order.js:2184 templates/js/translated/order.js:4108
msgid "Delete Line Item"
msgstr ""
-#: templates/js/translated/order.js:2188
+#: templates/js/translated/order.js:2227
msgid "No line items found"
msgstr ""
-#: templates/js/translated/order.js:2215 templates/js/translated/order.js:3812
+#: templates/js/translated/order.js:2254 templates/js/translated/order.js:3827
msgid "Total"
msgstr ""
-#: templates/js/translated/order.js:2270 templates/js/translated/part.js:1043
-#: templates/js/translated/part.js:1095
+#: templates/js/translated/order.js:2309 templates/js/translated/part.js:1070
+#: templates/js/translated/part.js:1122
msgid "Total Quantity"
msgstr ""
-#: templates/js/translated/order.js:2301 templates/js/translated/order.js:2500
-#: templates/js/translated/order.js:3837 templates/js/translated/order.js:4342
-#: templates/js/translated/part.js:2199 templates/js/translated/part.js:2797
+#: templates/js/translated/order.js:2340 templates/js/translated/order.js:2527
+#: templates/js/translated/order.js:3852 templates/js/translated/order.js:4343
+#: templates/js/translated/pricing.js:260
+#: templates/js/translated/pricing.js:329
+#: templates/js/translated/pricing.js:545
msgid "Unit Price"
msgstr ""
-#: templates/js/translated/order.js:2316 templates/js/translated/order.js:2516
-#: templates/js/translated/order.js:3853 templates/js/translated/order.js:4358
+#: templates/js/translated/order.js:2350 templates/js/translated/order.js:2537
+#: templates/js/translated/order.js:3862 templates/js/translated/order.js:4353
msgid "Total Price"
msgstr ""
-#: templates/js/translated/order.js:2357 templates/js/translated/order.js:3895
-#: templates/js/translated/part.js:1079
+#: templates/js/translated/order.js:2380 templates/js/translated/order.js:3892
+#: templates/js/translated/part.js:1106
msgid "This line item is overdue"
msgstr ""
-#: templates/js/translated/order.js:2416 templates/js/translated/part.js:1130
+#: templates/js/translated/order.js:2439 templates/js/translated/part.js:1151
msgid "Receive line item"
msgstr ""
-#: templates/js/translated/order.js:2420 templates/js/translated/order.js:4032
+#: templates/js/translated/order.js:2443 templates/js/translated/order.js:4029
msgid "Duplicate line item"
msgstr ""
-#: templates/js/translated/order.js:2421 templates/js/translated/order.js:4033
+#: templates/js/translated/order.js:2444 templates/js/translated/order.js:4030
msgid "Edit line item"
msgstr ""
-#: templates/js/translated/order.js:2422 templates/js/translated/order.js:4037
+#: templates/js/translated/order.js:2445 templates/js/translated/order.js:4034
msgid "Delete line item"
msgstr ""
-#: templates/js/translated/order.js:2564 templates/js/translated/order.js:4406
+#: templates/js/translated/order.js:2574 templates/js/translated/order.js:4389
msgid "Duplicate line"
msgstr ""
-#: templates/js/translated/order.js:2565 templates/js/translated/order.js:4407
+#: templates/js/translated/order.js:2575 templates/js/translated/order.js:4390
msgid "Edit line"
msgstr ""
-#: templates/js/translated/order.js:2566 templates/js/translated/order.js:4408
+#: templates/js/translated/order.js:2576 templates/js/translated/order.js:4391
msgid "Delete line"
msgstr ""
-#: templates/js/translated/order.js:2595 templates/js/translated/order.js:4437
+#: templates/js/translated/order.js:2606 templates/js/translated/order.js:4420
msgid "Duplicate Line"
msgstr ""
-#: templates/js/translated/order.js:2616 templates/js/translated/order.js:4458
+#: templates/js/translated/order.js:2627 templates/js/translated/order.js:4441
msgid "Edit Line"
msgstr ""
-#: templates/js/translated/order.js:2627 templates/js/translated/order.js:4469
+#: templates/js/translated/order.js:2638 templates/js/translated/order.js:4452
msgid "Delete Line"
msgstr ""
-#: templates/js/translated/order.js:2638
+#: templates/js/translated/order.js:2649
msgid "No matching line"
msgstr ""
-#: templates/js/translated/order.js:2749
+#: templates/js/translated/order.js:2760
msgid "No sales orders found"
msgstr ""
-#: templates/js/translated/order.js:2812
+#: templates/js/translated/order.js:2823
msgid "Invalid Customer"
msgstr ""
-#: templates/js/translated/order.js:2910
+#: templates/js/translated/order.js:2921
msgid "Edit shipment"
msgstr ""
-#: templates/js/translated/order.js:2913
+#: templates/js/translated/order.js:2924
msgid "Complete shipment"
msgstr ""
-#: templates/js/translated/order.js:2918
+#: templates/js/translated/order.js:2929
msgid "Delete shipment"
msgstr ""
-#: templates/js/translated/order.js:2938
+#: templates/js/translated/order.js:2949
msgid "Edit Shipment"
msgstr ""
-#: templates/js/translated/order.js:2955
+#: templates/js/translated/order.js:2966
msgid "Delete Shipment"
msgstr ""
-#: templates/js/translated/order.js:2989
+#: templates/js/translated/order.js:3000
msgid "No matching shipments found"
msgstr ""
-#: templates/js/translated/order.js:2999
+#: templates/js/translated/order.js:3010
msgid "Shipment Reference"
msgstr ""
-#: templates/js/translated/order.js:3023
+#: templates/js/translated/order.js:3034
msgid "Not shipped"
msgstr ""
-#: templates/js/translated/order.js:3029
+#: templates/js/translated/order.js:3040
msgid "Tracking"
msgstr ""
-#: templates/js/translated/order.js:3033
+#: templates/js/translated/order.js:3044
msgid "Invoice"
msgstr ""
-#: templates/js/translated/order.js:3202
+#: templates/js/translated/order.js:3213
msgid "Add Shipment"
msgstr ""
-#: templates/js/translated/order.js:3253
+#: templates/js/translated/order.js:3264
msgid "Confirm stock allocation"
msgstr ""
-#: templates/js/translated/order.js:3254
+#: templates/js/translated/order.js:3265
msgid "Allocate Stock Items to Sales Order"
msgstr ""
-#: templates/js/translated/order.js:3462
+#: templates/js/translated/order.js:3473
msgid "No sales order allocations found"
msgstr ""
-#: templates/js/translated/order.js:3541
+#: templates/js/translated/order.js:3552
msgid "Edit Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:3558
+#: templates/js/translated/order.js:3569
msgid "Confirm Delete Operation"
msgstr ""
-#: templates/js/translated/order.js:3559
+#: templates/js/translated/order.js:3570
msgid "Delete Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:3604 templates/js/translated/order.js:3693
-#: templates/js/translated/stock.js:1602
+#: templates/js/translated/order.js:3615 templates/js/translated/order.js:3704
+#: templates/js/translated/stock.js:1621
msgid "Shipped to customer"
msgstr ""
-#: templates/js/translated/order.js:3612 templates/js/translated/order.js:3702
+#: templates/js/translated/order.js:3623 templates/js/translated/order.js:3713
msgid "Stock location not specified"
msgstr ""
-#: templates/js/translated/order.js:4016
+#: templates/js/translated/order.js:4013
msgid "Allocate serial numbers"
msgstr ""
-#: templates/js/translated/order.js:4022
+#: templates/js/translated/order.js:4019
msgid "Purchase stock"
msgstr ""
-#: templates/js/translated/order.js:4029 templates/js/translated/order.js:4227
+#: templates/js/translated/order.js:4026 templates/js/translated/order.js:4224
msgid "Calculate price"
msgstr ""
-#: templates/js/translated/order.js:4041
+#: templates/js/translated/order.js:4038
msgid "Cannot be deleted as items have been shipped"
msgstr ""
-#: templates/js/translated/order.js:4044
+#: templates/js/translated/order.js:4041
msgid "Cannot be deleted as items have been allocated"
msgstr ""
-#: templates/js/translated/order.js:4126
+#: templates/js/translated/order.js:4123
msgid "Allocate Serial Numbers"
msgstr ""
-#: templates/js/translated/order.js:4235
+#: templates/js/translated/order.js:4232
msgid "Update Unit Price"
msgstr ""
-#: templates/js/translated/order.js:4249
+#: templates/js/translated/order.js:4246
msgid "No matching line items"
msgstr ""
-#: templates/js/translated/order.js:4480
+#: templates/js/translated/order.js:4463
msgid "No matching lines"
msgstr ""
-#: templates/js/translated/part.js:56
+#: templates/js/translated/part.js:52
msgid "Part Attributes"
msgstr ""
-#: templates/js/translated/part.js:60
+#: templates/js/translated/part.js:56
msgid "Part Creation Options"
msgstr ""
-#: templates/js/translated/part.js:64
+#: templates/js/translated/part.js:60
msgid "Part Duplication Options"
msgstr ""
-#: templates/js/translated/part.js:68
+#: templates/js/translated/part.js:64
msgid "Supplier Options"
msgstr ""
-#: templates/js/translated/part.js:82
+#: templates/js/translated/part.js:78
msgid "Add Part Category"
msgstr ""
-#: templates/js/translated/part.js:166
+#: templates/js/translated/part.js:162
msgid "Create Initial Stock"
msgstr ""
-#: templates/js/translated/part.js:167
+#: templates/js/translated/part.js:163
msgid "Create an initial stock item for this part"
msgstr ""
-#: templates/js/translated/part.js:174
+#: templates/js/translated/part.js:170
msgid "Initial Stock Quantity"
msgstr ""
-#: templates/js/translated/part.js:175
+#: templates/js/translated/part.js:171
msgid "Specify initial stock quantity for this part"
msgstr ""
-#: templates/js/translated/part.js:182
+#: templates/js/translated/part.js:178
msgid "Select destination stock location"
msgstr ""
-#: templates/js/translated/part.js:200
+#: templates/js/translated/part.js:196
msgid "Copy Category Parameters"
msgstr ""
-#: templates/js/translated/part.js:201
+#: templates/js/translated/part.js:197
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: templates/js/translated/part.js:209
+#: templates/js/translated/part.js:205
msgid "Add Supplier Data"
msgstr ""
-#: templates/js/translated/part.js:210
+#: templates/js/translated/part.js:206
msgid "Create initial supplier data for this part"
msgstr ""
-#: templates/js/translated/part.js:266
+#: templates/js/translated/part.js:262
msgid "Copy Image"
msgstr ""
-#: templates/js/translated/part.js:267
+#: templates/js/translated/part.js:263
msgid "Copy image from original part"
msgstr ""
-#: templates/js/translated/part.js:275
+#: templates/js/translated/part.js:271
msgid "Copy bill of materials from original part"
msgstr ""
-#: templates/js/translated/part.js:282
+#: templates/js/translated/part.js:278
msgid "Copy Parameters"
msgstr ""
-#: templates/js/translated/part.js:283
+#: templates/js/translated/part.js:279
msgid "Copy parameter data from original part"
msgstr ""
-#: templates/js/translated/part.js:296
+#: templates/js/translated/part.js:292
msgid "Parent part category"
msgstr ""
-#: templates/js/translated/part.js:306 templates/js/translated/stock.js:118
+#: templates/js/translated/part.js:302 templates/js/translated/stock.js:118
msgid "Icon (optional) - Explore all available icons on"
msgstr ""
-#: templates/js/translated/part.js:322
+#: templates/js/translated/part.js:318
msgid "Edit Part Category"
msgstr ""
-#: templates/js/translated/part.js:335
+#: templates/js/translated/part.js:331
msgid "Are you sure you want to delete this part category?"
msgstr ""
-#: templates/js/translated/part.js:337
-msgid "Any child categories will be moved to the parent of this category"
+#: templates/js/translated/part.js:336
+msgid "Move to parent category"
msgstr ""
-#: templates/js/translated/part.js:338
-msgid "Any parts in this category will be moved to the parent of this category"
-msgstr ""
-
-#: templates/js/translated/part.js:343
+#: templates/js/translated/part.js:345
msgid "Delete Part Category"
msgstr ""
-#: templates/js/translated/part.js:369
+#: templates/js/translated/part.js:349
+msgid "Action for parts in this category"
+msgstr ""
+
+#: templates/js/translated/part.js:354
+msgid "Action for child categories"
+msgstr ""
+
+#: templates/js/translated/part.js:383
msgid "Edit Part"
msgstr ""
-#: templates/js/translated/part.js:371
+#: templates/js/translated/part.js:385
msgid "Part edited"
msgstr ""
-#: templates/js/translated/part.js:382
+#: templates/js/translated/part.js:396
msgid "Create Part Variant"
msgstr ""
-#: templates/js/translated/part.js:434
+#: templates/js/translated/part.js:448
msgid "Active Part"
msgstr ""
-#: templates/js/translated/part.js:435
+#: templates/js/translated/part.js:449
msgid "Part cannot be deleted as it is currently active"
msgstr ""
-#: templates/js/translated/part.js:449
+#: templates/js/translated/part.js:463
msgid "Deleting this part cannot be reversed"
msgstr ""
-#: templates/js/translated/part.js:451
+#: templates/js/translated/part.js:465
msgid "Any stock items for this part will be deleted"
msgstr ""
-#: templates/js/translated/part.js:452
+#: templates/js/translated/part.js:466
msgid "This part will be removed from any Bills of Material"
msgstr ""
-#: templates/js/translated/part.js:453
+#: templates/js/translated/part.js:467
msgid "All manufacturer and supplier information for this part will be deleted"
msgstr ""
-#: templates/js/translated/part.js:460
+#: templates/js/translated/part.js:474
msgid "Delete Part"
msgstr ""
-#: templates/js/translated/part.js:496
+#: templates/js/translated/part.js:510
msgid "You are subscribed to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:498
+#: templates/js/translated/part.js:512
msgid "You have subscribed to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:503
+#: templates/js/translated/part.js:517
msgid "Subscribe to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:505
+#: templates/js/translated/part.js:519
msgid "You have unsubscribed to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:522
+#: templates/js/translated/part.js:536
msgid "Validating the BOM will mark each line item as valid"
msgstr ""
-#: templates/js/translated/part.js:532
+#: templates/js/translated/part.js:546
msgid "Validate Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:535
+#: templates/js/translated/part.js:549
msgid "Validated Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:560
+#: templates/js/translated/part.js:574
msgid "Copy Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:584 templates/js/translated/part.js:1521
-#: templates/js/translated/table_filters.js:476
+#: templates/js/translated/part.js:598 templates/js/translated/part.js:1532
+#: templates/js/translated/table_filters.js:480
msgid "Low stock"
msgstr ""
-#: templates/js/translated/part.js:594
+#: templates/js/translated/part.js:608
msgid "No stock available"
msgstr ""
-#: templates/js/translated/part.js:628 templates/js/translated/part.js:713
+#: templates/js/translated/part.js:642 templates/js/translated/part.js:727
msgid "Trackable part"
msgstr ""
-#: templates/js/translated/part.js:632 templates/js/translated/part.js:717
+#: templates/js/translated/part.js:646 templates/js/translated/part.js:731
msgid "Virtual part"
msgstr ""
-#: templates/js/translated/part.js:644
+#: templates/js/translated/part.js:658
msgid "Subscribed part"
msgstr ""
-#: templates/js/translated/part.js:648
+#: templates/js/translated/part.js:662
msgid "Salable part"
msgstr ""
-#: templates/js/translated/part.js:776
+#: templates/js/translated/part.js:800
msgid "No variants found"
msgstr ""
-#: templates/js/translated/part.js:1200
+#: templates/js/translated/part.js:1221
msgid "Delete part relationship"
msgstr ""
-#: templates/js/translated/part.js:1224
+#: templates/js/translated/part.js:1245
msgid "Delete Part Relationship"
msgstr ""
-#: templates/js/translated/part.js:1291 templates/js/translated/part.js:1609
+#: templates/js/translated/part.js:1312 templates/js/translated/part.js:1633
msgid "No parts found"
msgstr ""
-#: templates/js/translated/part.js:1488
+#: templates/js/translated/part.js:1499
msgid "No category"
msgstr ""
-#: templates/js/translated/part.js:1519
+#: templates/js/translated/part.js:1530
msgid "No stock"
msgstr ""
-#: templates/js/translated/part.js:1543
+#: templates/js/translated/part.js:1554
msgid "Allocated to build orders"
msgstr ""
-#: templates/js/translated/part.js:1547
+#: templates/js/translated/part.js:1558
msgid "Allocated to sales orders"
msgstr ""
-#: templates/js/translated/part.js:1633 templates/js/translated/part.js:1876
-#: templates/js/translated/stock.js:2349
+#: templates/js/translated/part.js:1657 templates/js/translated/part.js:1900
+#: templates/js/translated/stock.js:2367
msgid "Display as list"
msgstr ""
-#: templates/js/translated/part.js:1649
+#: templates/js/translated/part.js:1673
msgid "Display as grid"
msgstr ""
-#: templates/js/translated/part.js:1715
+#: templates/js/translated/part.js:1739
msgid "Set the part category for the selected parts"
msgstr ""
-#: templates/js/translated/part.js:1720
+#: templates/js/translated/part.js:1744
msgid "Set Part Category"
msgstr ""
-#: templates/js/translated/part.js:1725
+#: templates/js/translated/part.js:1749
msgid "Select Part Category"
msgstr ""
-#: templates/js/translated/part.js:1738
+#: templates/js/translated/part.js:1762
msgid "Category is required"
msgstr ""
-#: templates/js/translated/part.js:1896 templates/js/translated/stock.js:2369
+#: templates/js/translated/part.js:1920 templates/js/translated/stock.js:2387
msgid "Display as tree"
msgstr ""
-#: templates/js/translated/part.js:1976
+#: templates/js/translated/part.js:2000
msgid "Load Subcategories"
msgstr ""
-#: templates/js/translated/part.js:1992
+#: templates/js/translated/part.js:2016
msgid "Subscribed category"
msgstr ""
-#: templates/js/translated/part.js:2056
+#: templates/js/translated/part.js:2080
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:2107 templates/js/translated/stock.js:1299
+#: templates/js/translated/part.js:2131 templates/js/translated/stock.js:1318
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:2108 templates/js/translated/stock.js:1300
-#: templates/js/translated/stock.js:1560
+#: templates/js/translated/part.js:2132 templates/js/translated/stock.js:1319
+#: templates/js/translated/stock.js:1579
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:2114
+#: templates/js/translated/part.js:2138
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:2136
+#: templates/js/translated/part.js:2160
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2150
+#: templates/js/translated/part.js:2174
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2175
-#, python-brace-format
-msgid "No ${human_name} information found"
-msgstr ""
-
-#: templates/js/translated/part.js:2232
-#, python-brace-format
-msgid "Edit ${human_name}"
-msgstr ""
-
-#: templates/js/translated/part.js:2233
-#, python-brace-format
-msgid "Delete ${human_name}"
-msgstr ""
-
-#: templates/js/translated/part.js:2398 templates/js/translated/part.js:2399
+#: templates/js/translated/part.js:2255 templates/js/translated/part.js:2256
msgid "No date specified"
msgstr ""
-#: templates/js/translated/part.js:2401
+#: templates/js/translated/part.js:2258
msgid "Specified date is in the past"
msgstr ""
-#: templates/js/translated/part.js:2407
+#: templates/js/translated/part.js:2264
msgid "Speculative"
msgstr ""
-#: templates/js/translated/part.js:2457
+#: templates/js/translated/part.js:2314
msgid "No scheduling information available for this part"
msgstr ""
-#: templates/js/translated/part.js:2463
+#: templates/js/translated/part.js:2320
msgid "Error fetching scheduling information for this part"
msgstr ""
-#: templates/js/translated/part.js:2559
+#: templates/js/translated/part.js:2416
msgid "Scheduled Stock Quantities"
msgstr ""
-#: templates/js/translated/part.js:2575
+#: templates/js/translated/part.js:2432
msgid "Maximum Quantity"
msgstr ""
-#: templates/js/translated/part.js:2620
+#: templates/js/translated/part.js:2477
msgid "Minimum Stock Level"
msgstr ""
-#: templates/js/translated/part.js:2721
-msgid "Single Price"
-msgstr ""
-
-#: templates/js/translated/part.js:2740
-msgid "Single Price Difference"
-msgstr ""
-
#: templates/js/translated/plugin.js:23
msgid "The Plugin was installed"
msgstr ""
+#: templates/js/translated/pricing.js:54
+msgid "No BOM data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:196
+msgid "No supplier pricing data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:305
+msgid "No price break data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:361
+#, python-brace-format
+msgid "Edit ${human_name}"
+msgstr ""
+
+#: templates/js/translated/pricing.js:362
+#, python-brace-format
+msgid "Delete ${human_name}"
+msgstr ""
+
+#: templates/js/translated/pricing.js:480
+msgid "No purchase history data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:502
+msgid "Purchase Price History"
+msgstr ""
+
+#: templates/js/translated/pricing.js:602
+msgid "No sales history data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:624
+msgid "Sale Price History"
+msgstr ""
+
+#: templates/js/translated/pricing.js:708
+msgid "No variant data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:748
+msgid "Variant Part"
+msgstr ""
+
#: templates/js/translated/report.js:67
msgid "items selected"
msgstr ""
@@ -9855,364 +10177,364 @@ msgstr ""
msgid "Are you sure you want to delete this stock location?"
msgstr ""
-#: templates/js/translated/stock.js:175
-msgid "Any child locations will be moved to the parent of this location"
+#: templates/js/translated/stock.js:180
+msgid "Move to parent stock location"
msgstr ""
-#: templates/js/translated/stock.js:176
-msgid "Any stock items in this location will be moved to the parent of this location"
-msgstr ""
-
-#: templates/js/translated/stock.js:182
+#: templates/js/translated/stock.js:189
msgid "Delete Stock Location"
msgstr ""
-#: templates/js/translated/stock.js:227
+#: templates/js/translated/stock.js:193
+msgid "Action for stock items in this stock location"
+msgstr ""
+
+#: templates/js/translated/stock.js:198
+msgid "Action for sub-locations"
+msgstr ""
+
+#: templates/js/translated/stock.js:246
msgid "This part cannot be serialized"
msgstr ""
-#: templates/js/translated/stock.js:266
+#: templates/js/translated/stock.js:285
msgid "Enter initial quantity for this stock item"
msgstr ""
-#: templates/js/translated/stock.js:272
+#: templates/js/translated/stock.js:291
msgid "Enter serial numbers for new stock (or leave blank)"
msgstr ""
-#: templates/js/translated/stock.js:337
+#: templates/js/translated/stock.js:356
msgid "Stock item duplicated"
msgstr ""
-#: templates/js/translated/stock.js:357
+#: templates/js/translated/stock.js:376
msgid "Duplicate Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:373
+#: templates/js/translated/stock.js:392
msgid "Are you sure you want to delete this stock item?"
msgstr ""
-#: templates/js/translated/stock.js:378
+#: templates/js/translated/stock.js:397
msgid "Delete Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:399
+#: templates/js/translated/stock.js:418
msgid "Edit Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:449
+#: templates/js/translated/stock.js:468
msgid "Created new stock item"
msgstr ""
-#: templates/js/translated/stock.js:462
+#: templates/js/translated/stock.js:481
msgid "Created multiple stock items"
msgstr ""
-#: templates/js/translated/stock.js:487
+#: templates/js/translated/stock.js:506
msgid "Find Serial Number"
msgstr ""
-#: templates/js/translated/stock.js:491 templates/js/translated/stock.js:492
+#: templates/js/translated/stock.js:510 templates/js/translated/stock.js:511
msgid "Enter serial number"
msgstr ""
-#: templates/js/translated/stock.js:508
+#: templates/js/translated/stock.js:527
msgid "Enter a serial number"
msgstr ""
-#: templates/js/translated/stock.js:528
+#: templates/js/translated/stock.js:547
msgid "No matching serial number"
msgstr ""
-#: templates/js/translated/stock.js:537
+#: templates/js/translated/stock.js:556
msgid "More than one matching result found"
msgstr ""
-#: templates/js/translated/stock.js:660
+#: templates/js/translated/stock.js:679
msgid "Confirm stock assignment"
msgstr ""
-#: templates/js/translated/stock.js:661
+#: templates/js/translated/stock.js:680
msgid "Assign Stock to Customer"
msgstr ""
-#: templates/js/translated/stock.js:738
+#: templates/js/translated/stock.js:757
msgid "Warning: Merge operation cannot be reversed"
msgstr ""
-#: templates/js/translated/stock.js:739
+#: templates/js/translated/stock.js:758
msgid "Some information will be lost when merging stock items"
msgstr ""
-#: templates/js/translated/stock.js:741
+#: templates/js/translated/stock.js:760
msgid "Stock transaction history will be deleted for merged items"
msgstr ""
-#: templates/js/translated/stock.js:742
+#: templates/js/translated/stock.js:761
msgid "Supplier part information will be deleted for merged items"
msgstr ""
-#: templates/js/translated/stock.js:828
+#: templates/js/translated/stock.js:847
msgid "Confirm stock item merge"
msgstr ""
-#: templates/js/translated/stock.js:829
+#: templates/js/translated/stock.js:848
msgid "Merge Stock Items"
msgstr ""
-#: templates/js/translated/stock.js:924
+#: templates/js/translated/stock.js:943
msgid "Transfer Stock"
msgstr ""
-#: templates/js/translated/stock.js:925
+#: templates/js/translated/stock.js:944
msgid "Move"
msgstr ""
-#: templates/js/translated/stock.js:931
+#: templates/js/translated/stock.js:950
msgid "Count Stock"
msgstr ""
-#: templates/js/translated/stock.js:932
+#: templates/js/translated/stock.js:951
msgid "Count"
msgstr ""
-#: templates/js/translated/stock.js:936
+#: templates/js/translated/stock.js:955
msgid "Remove Stock"
msgstr ""
-#: templates/js/translated/stock.js:937
+#: templates/js/translated/stock.js:956
msgid "Take"
msgstr ""
-#: templates/js/translated/stock.js:941
+#: templates/js/translated/stock.js:960
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:942 users/models.py:218
+#: templates/js/translated/stock.js:961 users/models.py:220
msgid "Add"
msgstr ""
-#: templates/js/translated/stock.js:946
+#: templates/js/translated/stock.js:965
msgid "Delete Stock"
msgstr ""
-#: templates/js/translated/stock.js:1039
+#: templates/js/translated/stock.js:1058
msgid "Quantity cannot be adjusted for serialized stock"
msgstr ""
-#: templates/js/translated/stock.js:1039
+#: templates/js/translated/stock.js:1058
msgid "Specify stock quantity"
msgstr ""
-#: templates/js/translated/stock.js:1079
+#: templates/js/translated/stock.js:1098
msgid "You must select at least one available stock item"
msgstr ""
-#: templates/js/translated/stock.js:1102
+#: templates/js/translated/stock.js:1121
msgid "Confirm stock adjustment"
msgstr ""
-#: templates/js/translated/stock.js:1238
+#: templates/js/translated/stock.js:1257
msgid "PASS"
msgstr ""
-#: templates/js/translated/stock.js:1240
+#: templates/js/translated/stock.js:1259
msgid "FAIL"
msgstr ""
-#: templates/js/translated/stock.js:1245
+#: templates/js/translated/stock.js:1264
msgid "NO RESULT"
msgstr ""
-#: templates/js/translated/stock.js:1292
+#: templates/js/translated/stock.js:1311
msgid "Pass test"
msgstr ""
-#: templates/js/translated/stock.js:1295
+#: templates/js/translated/stock.js:1314
msgid "Add test result"
msgstr ""
-#: templates/js/translated/stock.js:1321
+#: templates/js/translated/stock.js:1340
msgid "No test results found"
msgstr ""
-#: templates/js/translated/stock.js:1378
+#: templates/js/translated/stock.js:1397
msgid "Test Date"
msgstr ""
-#: templates/js/translated/stock.js:1543
+#: templates/js/translated/stock.js:1562
msgid "Edit Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1565
+#: templates/js/translated/stock.js:1584
msgid "Delete Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1594
+#: templates/js/translated/stock.js:1613
msgid "In production"
msgstr ""
-#: templates/js/translated/stock.js:1598
+#: templates/js/translated/stock.js:1617
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:1606
+#: templates/js/translated/stock.js:1625
msgid "Assigned to Sales Order"
msgstr ""
-#: templates/js/translated/stock.js:1612
+#: templates/js/translated/stock.js:1631
msgid "No stock location set"
msgstr ""
-#: templates/js/translated/stock.js:1781
+#: templates/js/translated/stock.js:1800
msgid "Stock item is in production"
msgstr ""
-#: templates/js/translated/stock.js:1786
+#: templates/js/translated/stock.js:1805
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/translated/stock.js:1789
+#: templates/js/translated/stock.js:1808
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/translated/stock.js:1792
+#: templates/js/translated/stock.js:1811
msgid "Serialized stock item has been allocated"
msgstr ""
-#: templates/js/translated/stock.js:1794
+#: templates/js/translated/stock.js:1813
msgid "Stock item has been fully allocated"
msgstr ""
-#: templates/js/translated/stock.js:1796
+#: templates/js/translated/stock.js:1815
msgid "Stock item has been partially allocated"
msgstr ""
-#: templates/js/translated/stock.js:1799
+#: templates/js/translated/stock.js:1818
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:1803
+#: templates/js/translated/stock.js:1822
msgid "Stock item has expired"
msgstr ""
-#: templates/js/translated/stock.js:1805
+#: templates/js/translated/stock.js:1824
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/translated/stock.js:1812
+#: templates/js/translated/stock.js:1831
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/translated/stock.js:1814
+#: templates/js/translated/stock.js:1833
msgid "Stock item is lost"
msgstr ""
-#: templates/js/translated/stock.js:1816
+#: templates/js/translated/stock.js:1835
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/translated/stock.js:1820
-#: templates/js/translated/table_filters.js:204
+#: templates/js/translated/stock.js:1839
+#: templates/js/translated/table_filters.js:208
msgid "Depleted"
msgstr ""
-#: templates/js/translated/stock.js:1871
-msgid "Stocktake"
-msgstr ""
-
-#: templates/js/translated/stock.js:1950
+#: templates/js/translated/stock.js:1969
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/translated/stock.js:1988
+#: templates/js/translated/stock.js:2006
msgid "No stock items matching query"
msgstr ""
-#: templates/js/translated/stock.js:2161
+#: templates/js/translated/stock.js:2179
msgid "Set Stock Status"
msgstr ""
-#: templates/js/translated/stock.js:2175
+#: templates/js/translated/stock.js:2193
msgid "Select Status Code"
msgstr ""
-#: templates/js/translated/stock.js:2176
+#: templates/js/translated/stock.js:2194
msgid "Status code must be selected"
msgstr ""
-#: templates/js/translated/stock.js:2408
+#: templates/js/translated/stock.js:2426
msgid "Load Subloactions"
msgstr ""
-#: templates/js/translated/stock.js:2503
+#: templates/js/translated/stock.js:2521
msgid "Details"
msgstr ""
-#: templates/js/translated/stock.js:2519
+#: templates/js/translated/stock.js:2537
msgid "Part information unavailable"
msgstr ""
-#: templates/js/translated/stock.js:2541
+#: templates/js/translated/stock.js:2559
msgid "Location no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2560
+#: templates/js/translated/stock.js:2578
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2579
+#: templates/js/translated/stock.js:2597
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2597
+#: templates/js/translated/stock.js:2615
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2620
+#: templates/js/translated/stock.js:2638
msgid "Added"
msgstr ""
-#: templates/js/translated/stock.js:2628
+#: templates/js/translated/stock.js:2646
msgid "Removed"
msgstr ""
-#: templates/js/translated/stock.js:2704
+#: templates/js/translated/stock.js:2722
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:2755 templates/js/translated/stock.js:2791
+#: templates/js/translated/stock.js:2773 templates/js/translated/stock.js:2809
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2804
+#: templates/js/translated/stock.js:2822
msgid "Select stock item to uninstall"
msgstr ""
-#: templates/js/translated/stock.js:2825
+#: templates/js/translated/stock.js:2843
msgid "Install another stock item into this item"
msgstr ""
-#: templates/js/translated/stock.js:2826
+#: templates/js/translated/stock.js:2844
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: templates/js/translated/stock.js:2828
+#: templates/js/translated/stock.js:2846
msgid "The Stock Item links to a Part which is the BOM for this Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2829
+#: templates/js/translated/stock.js:2847
msgid "The Stock Item is currently available in stock"
msgstr ""
-#: templates/js/translated/stock.js:2830
+#: templates/js/translated/stock.js:2848
msgid "The Stock Item is not already installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:2831
+#: templates/js/translated/stock.js:2849
msgid "The Stock Item is tracked by either a batch code or serial number"
msgstr ""
-#: templates/js/translated/stock.js:2844
+#: templates/js/translated/stock.js:2862
msgid "Select part to install"
msgstr ""
@@ -10236,215 +10558,220 @@ msgstr ""
msgid "Allow Variant Stock"
msgstr ""
-#: templates/js/translated/table_filters.js:126
-#: templates/js/translated/table_filters.js:199
+#: templates/js/translated/table_filters.js:92
+#: templates/js/translated/table_filters.js:508
+msgid "Has Pricing"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:130
+#: templates/js/translated/table_filters.js:203
msgid "Include sublocations"
msgstr ""
-#: templates/js/translated/table_filters.js:127
+#: templates/js/translated/table_filters.js:131
msgid "Include locations"
msgstr ""
-#: templates/js/translated/table_filters.js:137
-#: templates/js/translated/table_filters.js:138
-#: templates/js/translated/table_filters.js:445
+#: templates/js/translated/table_filters.js:141
+#: templates/js/translated/table_filters.js:142
+#: templates/js/translated/table_filters.js:449
msgid "Include subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:142
-#: templates/js/translated/table_filters.js:488
+#: templates/js/translated/table_filters.js:146
+#: templates/js/translated/table_filters.js:492
msgid "Subscribed"
msgstr ""
-#: templates/js/translated/table_filters.js:152
-#: templates/js/translated/table_filters.js:234
-msgid "Is Serialized"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:155
-#: templates/js/translated/table_filters.js:241
-msgid "Serial number GTE"
-msgstr ""
-
#: templates/js/translated/table_filters.js:156
-#: templates/js/translated/table_filters.js:242
-msgid "Serial number greater than or equal to"
+#: templates/js/translated/table_filters.js:238
+msgid "Is Serialized"
msgstr ""
#: templates/js/translated/table_filters.js:159
#: templates/js/translated/table_filters.js:245
-msgid "Serial number LTE"
+msgid "Serial number GTE"
msgstr ""
#: templates/js/translated/table_filters.js:160
#: templates/js/translated/table_filters.js:246
-msgid "Serial number less than or equal to"
+msgid "Serial number greater than or equal to"
msgstr ""
#: templates/js/translated/table_filters.js:163
+#: templates/js/translated/table_filters.js:249
+msgid "Serial number LTE"
+msgstr ""
+
#: templates/js/translated/table_filters.js:164
-#: templates/js/translated/table_filters.js:237
-#: templates/js/translated/table_filters.js:238
+#: templates/js/translated/table_filters.js:250
+msgid "Serial number less than or equal to"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:167
+#: templates/js/translated/table_filters.js:168
+#: templates/js/translated/table_filters.js:241
+#: templates/js/translated/table_filters.js:242
msgid "Serial number"
msgstr ""
-#: templates/js/translated/table_filters.js:168
-#: templates/js/translated/table_filters.js:259
+#: templates/js/translated/table_filters.js:172
+#: templates/js/translated/table_filters.js:263
msgid "Batch code"
msgstr ""
-#: templates/js/translated/table_filters.js:179
-#: templates/js/translated/table_filters.js:417
+#: templates/js/translated/table_filters.js:183
+#: templates/js/translated/table_filters.js:421
msgid "Active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:180
+#: templates/js/translated/table_filters.js:184
msgid "Show stock for active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:185
+#: templates/js/translated/table_filters.js:189
msgid "Part is an assembly"
msgstr ""
-#: templates/js/translated/table_filters.js:189
+#: templates/js/translated/table_filters.js:193
msgid "Is allocated"
msgstr ""
-#: templates/js/translated/table_filters.js:190
+#: templates/js/translated/table_filters.js:194
msgid "Item has been allocated"
msgstr ""
-#: templates/js/translated/table_filters.js:195
+#: templates/js/translated/table_filters.js:199
msgid "Stock is available for use"
msgstr ""
-#: templates/js/translated/table_filters.js:200
+#: templates/js/translated/table_filters.js:204
msgid "Include stock in sublocations"
msgstr ""
-#: templates/js/translated/table_filters.js:205
+#: templates/js/translated/table_filters.js:209
msgid "Show stock items which are depleted"
msgstr ""
-#: templates/js/translated/table_filters.js:210
+#: templates/js/translated/table_filters.js:214
msgid "Show items which are in stock"
msgstr ""
-#: templates/js/translated/table_filters.js:214
+#: templates/js/translated/table_filters.js:218
msgid "In Production"
msgstr ""
-#: templates/js/translated/table_filters.js:215
+#: templates/js/translated/table_filters.js:219
msgid "Show items which are in production"
msgstr ""
-#: templates/js/translated/table_filters.js:219
+#: templates/js/translated/table_filters.js:223
msgid "Include Variants"
msgstr ""
-#: templates/js/translated/table_filters.js:220
+#: templates/js/translated/table_filters.js:224
msgid "Include stock items for variant parts"
msgstr ""
-#: templates/js/translated/table_filters.js:224
+#: templates/js/translated/table_filters.js:228
msgid "Installed"
msgstr ""
-#: templates/js/translated/table_filters.js:225
+#: templates/js/translated/table_filters.js:229
msgid "Show stock items which are installed in another item"
msgstr ""
-#: templates/js/translated/table_filters.js:230
+#: templates/js/translated/table_filters.js:234
msgid "Show items which have been assigned to a customer"
msgstr ""
-#: templates/js/translated/table_filters.js:250
-#: templates/js/translated/table_filters.js:251
+#: templates/js/translated/table_filters.js:254
+#: templates/js/translated/table_filters.js:255
msgid "Stock status"
msgstr ""
-#: templates/js/translated/table_filters.js:254
+#: templates/js/translated/table_filters.js:258
msgid "Has batch code"
msgstr ""
-#: templates/js/translated/table_filters.js:262
+#: templates/js/translated/table_filters.js:266
msgid "Tracked"
msgstr ""
-#: templates/js/translated/table_filters.js:263
+#: templates/js/translated/table_filters.js:267
msgid "Stock item is tracked by either batch code or serial number"
msgstr ""
-#: templates/js/translated/table_filters.js:268
+#: templates/js/translated/table_filters.js:272
msgid "Has purchase price"
msgstr ""
-#: templates/js/translated/table_filters.js:269
+#: templates/js/translated/table_filters.js:273
msgid "Show stock items which have a purchase price set"
msgstr ""
-#: templates/js/translated/table_filters.js:278
+#: templates/js/translated/table_filters.js:282
msgid "Show stock items which have expired"
msgstr ""
-#: templates/js/translated/table_filters.js:284
+#: templates/js/translated/table_filters.js:288
msgid "Show stock which is close to expiring"
msgstr ""
-#: templates/js/translated/table_filters.js:296
+#: templates/js/translated/table_filters.js:300
msgid "Test Passed"
msgstr ""
-#: templates/js/translated/table_filters.js:300
+#: templates/js/translated/table_filters.js:304
msgid "Include Installed Items"
msgstr ""
-#: templates/js/translated/table_filters.js:319
+#: templates/js/translated/table_filters.js:323
msgid "Build status"
msgstr ""
-#: templates/js/translated/table_filters.js:332
-#: templates/js/translated/table_filters.js:373
+#: templates/js/translated/table_filters.js:336
+#: templates/js/translated/table_filters.js:377
msgid "Assigned to me"
msgstr ""
-#: templates/js/translated/table_filters.js:349
-#: templates/js/translated/table_filters.js:360
-#: templates/js/translated/table_filters.js:390
+#: templates/js/translated/table_filters.js:353
+#: templates/js/translated/table_filters.js:364
+#: templates/js/translated/table_filters.js:394
msgid "Order status"
msgstr ""
-#: templates/js/translated/table_filters.js:365
-#: templates/js/translated/table_filters.js:382
-#: templates/js/translated/table_filters.js:395
+#: templates/js/translated/table_filters.js:369
+#: templates/js/translated/table_filters.js:386
+#: templates/js/translated/table_filters.js:399
msgid "Outstanding"
msgstr ""
-#: templates/js/translated/table_filters.js:446
+#: templates/js/translated/table_filters.js:450
msgid "Include parts in subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:451
+#: templates/js/translated/table_filters.js:455
msgid "Show active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:459
+#: templates/js/translated/table_filters.js:463
msgid "Available stock"
msgstr ""
-#: templates/js/translated/table_filters.js:467
+#: templates/js/translated/table_filters.js:471
msgid "Has IPN"
msgstr ""
-#: templates/js/translated/table_filters.js:468
+#: templates/js/translated/table_filters.js:472
msgid "Part has internal part number"
msgstr ""
-#: templates/js/translated/table_filters.js:472
+#: templates/js/translated/table_filters.js:476
msgid "In stock"
msgstr ""
-#: templates/js/translated/table_filters.js:480
+#: templates/js/translated/table_filters.js:484
msgid "Purchasable"
msgstr ""
@@ -10554,6 +10881,10 @@ msgstr ""
msgid "Show all notifications and history"
msgstr ""
+#: templates/price_data.html:7
+msgid "No data"
+msgstr ""
+
#: templates/qr_code.html:11
msgid "QR data not provided"
msgstr ""
@@ -10738,35 +11069,35 @@ msgstr ""
msgid "Important dates"
msgstr ""
-#: users/models.py:205
+#: users/models.py:207
msgid "Permission set"
msgstr ""
-#: users/models.py:213
+#: users/models.py:215
msgid "Group"
msgstr ""
-#: users/models.py:216
+#: users/models.py:218
msgid "View"
msgstr ""
-#: users/models.py:216
+#: users/models.py:218
msgid "Permission to view items"
msgstr ""
-#: users/models.py:218
+#: users/models.py:220
msgid "Permission to add items"
msgstr ""
-#: users/models.py:220
+#: users/models.py:222
msgid "Change"
msgstr ""
-#: users/models.py:220
+#: users/models.py:222
msgid "Permissions to edit items"
msgstr ""
-#: users/models.py:222
+#: users/models.py:224
msgid "Permission to delete items"
msgstr ""
diff --git a/InvenTree/locale/th/LC_MESSAGES/django.po b/InvenTree/locale/th/LC_MESSAGES/django.po
index f73930403b..4529882514 100644
--- a/InvenTree/locale/th/LC_MESSAGES/django.po
+++ b/InvenTree/locale/th/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-11-04 14:07+0000\n"
-"PO-Revision-Date: 2022-11-04 19:02\n"
+"POT-Creation-Date: 2022-11-14 04:59+0000\n"
+"PO-Revision-Date: 2022-11-14 14:50\n"
"Last-Translator: \n"
"Language-Team: Thai\n"
"Language: th_TH\n"
@@ -17,7 +17,7 @@ msgstr ""
"X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n"
"X-Crowdin-File-ID: 154\n"
-#: InvenTree/api.py:54
+#: InvenTree/api.py:61
msgid "API endpoint not found"
msgstr ""
@@ -25,27 +25,27 @@ msgstr ""
msgid "Error details can be found in the admin panel"
msgstr ""
-#: InvenTree/fields.py:120
+#: InvenTree/fields.py:129
msgid "Enter date"
msgstr ""
-#: InvenTree/fields.py:195 build/serializers.py:387
-#: build/templates/build/sidebar.html:21 company/models.py:525
-#: company/templates/company/sidebar.html:25 order/models.py:920
+#: InvenTree/fields.py:204 build/serializers.py:387
+#: build/templates/build/sidebar.html:21 company/models.py:529
+#: company/templates/company/sidebar.html:25 order/models.py:943
#: order/templates/order/po_sidebar.html:11
-#: order/templates/order/so_sidebar.html:17
-#: part/templates/part/part_sidebar.html:59
+#: order/templates/order/so_sidebar.html:17 part/admin.py:27
+#: part/templates/part/part_sidebar.html:57
#: report/templates/report/inventree_build_order_base.html:172
-#: stock/models.py:2002 stock/models.py:2110 stock/serializers.py:327
-#: stock/serializers.py:460 stock/serializers.py:541 stock/serializers.py:827
-#: stock/serializers.py:926 stock/serializers.py:1058
+#: stock/admin.py:103 stock/models.py:2018 stock/models.py:2126
+#: stock/serializers.py:321 stock/serializers.py:454 stock/serializers.py:535
+#: stock/serializers.py:826 stock/serializers.py:925 stock/serializers.py:1057
#: stock/templates/stock/stock_sidebar.html:25
-#: templates/js/translated/barcode.js:108 templates/js/translated/bom.js:1146
-#: templates/js/translated/company.js:1022
-#: templates/js/translated/order.js:2404 templates/js/translated/order.js:2552
-#: templates/js/translated/order.js:3048 templates/js/translated/order.js:3999
-#: templates/js/translated/order.js:4394 templates/js/translated/stock.js:1374
-#: templates/js/translated/stock.js:1982
+#: templates/js/translated/barcode.js:108 templates/js/translated/bom.js:1211
+#: templates/js/translated/company.js:1023
+#: templates/js/translated/order.js:2427 templates/js/translated/order.js:2561
+#: templates/js/translated/order.js:3059 templates/js/translated/order.js:3996
+#: templates/js/translated/order.js:4377 templates/js/translated/stock.js:1393
+#: templates/js/translated/stock.js:2000
msgid "Notes"
msgstr ""
@@ -122,43 +122,43 @@ msgstr ""
msgid "Supplied URL is not a valid image file"
msgstr ""
-#: InvenTree/helpers.py:602 order/models.py:325 order/models.py:477
+#: InvenTree/helpers.py:589 order/models.py:329 order/models.py:496
msgid "Invalid quantity provided"
msgstr ""
-#: InvenTree/helpers.py:610
+#: InvenTree/helpers.py:597
msgid "Empty serial number string"
msgstr ""
-#: InvenTree/helpers.py:640
+#: InvenTree/helpers.py:627
msgid "Duplicate serial"
msgstr ""
-#: InvenTree/helpers.py:673 InvenTree/helpers.py:708
+#: InvenTree/helpers.py:660 InvenTree/helpers.py:695
#, python-brace-format
msgid "Invalid group range: {g}"
msgstr ""
-#: InvenTree/helpers.py:702
+#: InvenTree/helpers.py:689
#, python-brace-format
msgid "Group range {g} exceeds allowed quantity ({q})"
msgstr ""
-#: InvenTree/helpers.py:726 InvenTree/helpers.py:733 InvenTree/helpers.py:748
+#: InvenTree/helpers.py:713 InvenTree/helpers.py:720 InvenTree/helpers.py:735
#, python-brace-format
msgid "Invalid group sequence: {g}"
msgstr ""
-#: InvenTree/helpers.py:758
+#: InvenTree/helpers.py:745
msgid "No serial numbers found"
msgstr ""
-#: InvenTree/helpers.py:761
+#: InvenTree/helpers.py:748
#, python-brace-format
msgid "Number of unique serial numbers ({s}) must match quantity ({q})"
msgstr ""
-#: InvenTree/helpers.py:960
+#: InvenTree/helpers.py:947
msgid "Remove HTML tags from this value"
msgstr ""
@@ -194,7 +194,7 @@ msgstr ""
msgid "Missing external link"
msgstr ""
-#: InvenTree/models.py:405 stock/models.py:2104
+#: InvenTree/models.py:405 stock/models.py:2120
#: templates/js/translated/attachment.js:103
#: templates/js/translated/attachment.js:241
msgid "Attachment"
@@ -204,18 +204,19 @@ msgstr ""
msgid "Select file to attach"
msgstr ""
-#: InvenTree/models.py:412 company/models.py:125 company/models.py:277
-#: company/models.py:512 order/models.py:84 order/models.py:1259
-#: part/models.py:816 part/templates/part/part_scheduling.html:11
+#: InvenTree/models.py:412 common/models.py:2313 company/models.py:129
+#: company/models.py:281 company/models.py:516 order/models.py:85
+#: order/models.py:1282 part/admin.py:25 part/models.py:835
+#: part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
-#: templates/js/translated/company.js:691
-#: templates/js/translated/company.js:1011
-#: templates/js/translated/order.js:3037 templates/js/translated/part.js:1569
+#: stock/admin.py:102 templates/js/translated/company.js:692
+#: templates/js/translated/company.js:1012
+#: templates/js/translated/order.js:3048 templates/js/translated/part.js:1593
msgid "Link"
msgstr ""
-#: InvenTree/models.py:413 build/models.py:290 part/models.py:817
-#: stock/models.py:660
+#: InvenTree/models.py:413 build/models.py:290 part/models.py:836
+#: stock/models.py:676
msgid "Link to external URL"
msgstr ""
@@ -228,12 +229,12 @@ msgstr ""
msgid "File comment"
msgstr ""
-#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1744
-#: common/models.py:1745 common/models.py:1968 common/models.py:1969
-#: common/models.py:2231 common/models.py:2232 part/models.py:2254
-#: part/models.py:2274 plugin/models.py:264 plugin/models.py:265
+#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1756
+#: common/models.py:1757 common/models.py:1980 common/models.py:1981
+#: common/models.py:2243 common/models.py:2244 part/models.py:2867
+#: part/models.py:2887 plugin/models.py:264 plugin/models.py:265
#: report/templates/report/inventree_test_report_base.html:96
-#: templates/js/translated/stock.js:2651
+#: templates/js/translated/stock.js:2669
msgid "User"
msgstr ""
@@ -270,44 +271,45 @@ msgstr ""
msgid "Invalid choice"
msgstr ""
-#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1954
-#: company/models.py:359 label/models.py:101 part/models.py:760
-#: part/models.py:2429 plugin/models.py:94 report/models.py:152
+#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1966
+#: company/models.py:363 label/models.py:101 part/models.py:779
+#: part/models.py:3042 plugin/models.py:94 report/models.py:152
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/plugin.html:60
#: templates/InvenTree/settings/plugin.html:104
#: templates/InvenTree/settings/plugin_settings.html:23
#: templates/InvenTree/settings/settings.html:344
-#: templates/js/translated/company.js:580
-#: templates/js/translated/company.js:793
+#: templates/js/translated/company.js:581
+#: templates/js/translated/company.js:794
#: templates/js/translated/notification.js:71
-#: templates/js/translated/part.js:686 templates/js/translated/part.js:838
-#: templates/js/translated/part.js:1964 templates/js/translated/stock.js:2396
+#: templates/js/translated/part.js:700 templates/js/translated/part.js:865
+#: templates/js/translated/part.js:1988 templates/js/translated/stock.js:2414
msgid "Name"
msgstr ""
#: InvenTree/models.py:564 build/models.py:163
-#: build/templates/build/detail.html:24 company/models.py:283
-#: company/models.py:518 company/templates/company/company_base.html:71
+#: build/templates/build/detail.html:24 company/models.py:287
+#: company/models.py:522 company/templates/company/company_base.html:71
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:108 label/models.py:108
-#: order/models.py:82 part/models.py:783 part/models.py:2438
-#: part/templates/part/category.html:75 part/templates/part/part_base.html:172
+#: order/models.py:83 part/admin.py:141 part/admin.py:222 part/models.py:802
+#: part/models.py:3051 part/templates/part/category.html:75
+#: part/templates/part/part_base.html:172
#: part/templates/part/part_scheduling.html:12 report/models.py:165
#: report/models.py:507 report/models.py:551
#: report/templates/report/inventree_build_order_base.html:117
-#: stock/templates/stock/location.html:117
+#: stock/admin.py:25 stock/templates/stock/location.html:117
#: templates/InvenTree/settings/plugin_settings.html:28
#: templates/InvenTree/settings/settings.html:355
-#: templates/js/translated/bom.js:579 templates/js/translated/bom.js:887
-#: templates/js/translated/build.js:2580 templates/js/translated/company.js:444
-#: templates/js/translated/company.js:702
-#: templates/js/translated/company.js:986 templates/js/translated/order.js:1988
-#: templates/js/translated/order.js:2220 templates/js/translated/order.js:2826
-#: templates/js/translated/part.js:745 templates/js/translated/part.js:1187
-#: templates/js/translated/part.js:1464 templates/js/translated/part.js:2000
-#: templates/js/translated/part.js:2075 templates/js/translated/stock.js:1748
-#: templates/js/translated/stock.js:2428 templates/js/translated/stock.js:2488
+#: templates/js/translated/bom.js:592 templates/js/translated/bom.js:895
+#: templates/js/translated/build.js:2580 templates/js/translated/company.js:445
+#: templates/js/translated/company.js:703
+#: templates/js/translated/company.js:987 templates/js/translated/order.js:2022
+#: templates/js/translated/order.js:2259 templates/js/translated/order.js:2837
+#: templates/js/translated/part.js:759 templates/js/translated/part.js:1208
+#: templates/js/translated/part.js:1475 templates/js/translated/part.js:2024
+#: templates/js/translated/part.js:2099 templates/js/translated/stock.js:1767
+#: templates/js/translated/stock.js:2446 templates/js/translated/stock.js:2506
msgid "Description"
msgstr ""
@@ -320,7 +322,7 @@ msgid "parent"
msgstr ""
#: InvenTree/models.py:580 InvenTree/models.py:581
-#: templates/js/translated/part.js:2009 templates/js/translated/stock.js:2437
+#: templates/js/translated/part.js:2033 templates/js/translated/stock.js:2455
msgid "Path"
msgstr ""
@@ -332,7 +334,7 @@ msgstr ""
msgid "Third party barcode data"
msgstr ""
-#: InvenTree/models.py:688 order/serializers.py:486
+#: InvenTree/models.py:688 order/serializers.py:477
msgid "Barcode Hash"
msgstr ""
@@ -352,187 +354,187 @@ msgstr ""
msgid "An error has been logged by the server."
msgstr ""
-#: InvenTree/serializers.py:58 part/models.py:2774
+#: InvenTree/serializers.py:58 part/models.py:3387
msgid "Must be a valid number"
msgstr ""
-#: InvenTree/serializers.py:265
+#: InvenTree/serializers.py:266
msgid "Filename"
msgstr ""
-#: InvenTree/serializers.py:300
+#: InvenTree/serializers.py:301
msgid "Invalid value"
msgstr ""
-#: InvenTree/serializers.py:322
+#: InvenTree/serializers.py:323
msgid "Data File"
msgstr ""
-#: InvenTree/serializers.py:323
+#: InvenTree/serializers.py:324
msgid "Select data file for upload"
msgstr ""
-#: InvenTree/serializers.py:344
+#: InvenTree/serializers.py:345
msgid "Unsupported file type"
msgstr ""
-#: InvenTree/serializers.py:350
+#: InvenTree/serializers.py:351
msgid "File is too large"
msgstr ""
-#: InvenTree/serializers.py:371
+#: InvenTree/serializers.py:372
msgid "No columns found in file"
msgstr ""
-#: InvenTree/serializers.py:374
+#: InvenTree/serializers.py:375
msgid "No data rows found in file"
msgstr ""
-#: InvenTree/serializers.py:497
+#: InvenTree/serializers.py:498
msgid "No data rows provided"
msgstr ""
-#: InvenTree/serializers.py:500
+#: InvenTree/serializers.py:501
msgid "No data columns supplied"
msgstr ""
-#: InvenTree/serializers.py:577
+#: InvenTree/serializers.py:578
#, python-brace-format
msgid "Missing required column: '{name}'"
msgstr ""
-#: InvenTree/serializers.py:586
+#: InvenTree/serializers.py:587
#, python-brace-format
msgid "Duplicate column: '{col}'"
msgstr ""
-#: InvenTree/serializers.py:605
+#: InvenTree/serializers.py:606
#: templates/InvenTree/settings/mixins/urls.html:14
msgid "URL"
msgstr ""
-#: InvenTree/serializers.py:606
+#: InvenTree/serializers.py:607
msgid "URL of remote image file"
msgstr ""
-#: InvenTree/serializers.py:620
+#: InvenTree/serializers.py:621
msgid "Downloading images from remote URL is not enabled"
msgstr ""
-#: InvenTree/settings.py:621
+#: InvenTree/settings.py:627
msgid "Czech"
msgstr ""
-#: InvenTree/settings.py:622
+#: InvenTree/settings.py:628
msgid "Danish"
msgstr ""
-#: InvenTree/settings.py:623
+#: InvenTree/settings.py:629
msgid "German"
msgstr ""
-#: InvenTree/settings.py:624
+#: InvenTree/settings.py:630
msgid "Greek"
msgstr ""
-#: InvenTree/settings.py:625
+#: InvenTree/settings.py:631
msgid "English"
msgstr ""
-#: InvenTree/settings.py:626
+#: InvenTree/settings.py:632
msgid "Spanish"
msgstr ""
-#: InvenTree/settings.py:627
+#: InvenTree/settings.py:633
msgid "Spanish (Mexican)"
msgstr ""
-#: InvenTree/settings.py:628
+#: InvenTree/settings.py:634
msgid "Farsi / Persian"
msgstr ""
-#: InvenTree/settings.py:629
+#: InvenTree/settings.py:635
msgid "French"
msgstr ""
-#: InvenTree/settings.py:630
+#: InvenTree/settings.py:636
msgid "Hebrew"
msgstr ""
-#: InvenTree/settings.py:631
+#: InvenTree/settings.py:637
msgid "Hungarian"
msgstr ""
-#: InvenTree/settings.py:632
+#: InvenTree/settings.py:638
msgid "Italian"
msgstr ""
-#: InvenTree/settings.py:633
+#: InvenTree/settings.py:639
msgid "Japanese"
msgstr ""
-#: InvenTree/settings.py:634
+#: InvenTree/settings.py:640
msgid "Korean"
msgstr ""
-#: InvenTree/settings.py:635
+#: InvenTree/settings.py:641
msgid "Dutch"
msgstr ""
-#: InvenTree/settings.py:636
+#: InvenTree/settings.py:642
msgid "Norwegian"
msgstr ""
-#: InvenTree/settings.py:637
+#: InvenTree/settings.py:643
msgid "Polish"
msgstr ""
-#: InvenTree/settings.py:638
+#: InvenTree/settings.py:644
msgid "Portuguese"
msgstr ""
-#: InvenTree/settings.py:639
+#: InvenTree/settings.py:645
msgid "Portuguese (Brazilian)"
msgstr ""
-#: InvenTree/settings.py:640
+#: InvenTree/settings.py:646
msgid "Russian"
msgstr ""
-#: InvenTree/settings.py:641
+#: InvenTree/settings.py:647
msgid "Swedish"
msgstr ""
-#: InvenTree/settings.py:642
+#: InvenTree/settings.py:648
msgid "Thai"
msgstr ""
-#: InvenTree/settings.py:643
+#: InvenTree/settings.py:649
msgid "Turkish"
msgstr ""
-#: InvenTree/settings.py:644
+#: InvenTree/settings.py:650
msgid "Vietnamese"
msgstr ""
-#: InvenTree/settings.py:645
+#: InvenTree/settings.py:651
msgid "Chinese"
msgstr ""
-#: InvenTree/status.py:99
+#: InvenTree/status.py:98
msgid "Background worker check failed"
msgstr ""
-#: InvenTree/status.py:103
+#: InvenTree/status.py:102
msgid "Email backend not configured"
msgstr ""
-#: InvenTree/status.py:106
+#: InvenTree/status.py:105
msgid "InvenTree system health checks failed"
msgstr ""
#: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140
-#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:342
+#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:346
msgid "Pending"
msgstr ""
@@ -561,8 +563,8 @@ msgstr ""
msgid "Returned"
msgstr ""
-#: InvenTree/status_codes.py:141 order/models.py:1142
-#: templates/js/translated/order.js:3625 templates/js/translated/order.js:3974
+#: InvenTree/status_codes.py:141 order/models.py:1165
+#: templates/js/translated/order.js:3636 templates/js/translated/order.js:3971
msgid "Shipped"
msgstr ""
@@ -646,7 +648,7 @@ msgstr ""
msgid "Split child item"
msgstr ""
-#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2086
+#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2104
msgid "Merged stock items"
msgstr ""
@@ -654,7 +656,7 @@ msgstr ""
msgid "Converted to variant"
msgstr ""
-#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:229
+#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:233
msgid "Sent to customer"
msgstr ""
@@ -746,7 +748,7 @@ msgstr ""
#: build/models.py:111 build/templates/build/build_base.html:13
#: build/templates/build/index.html:8 build/templates/build/index.html:12
-#: order/templates/order/sales_order_detail.html:120
+#: order/templates/order/sales_order_detail.html:125
#: order/templates/order/so_sidebar.html:13
#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221
#: templates/InvenTree/search.html:141
@@ -759,15 +761,15 @@ msgstr ""
msgid "Build Order Reference"
msgstr ""
-#: build/models.py:155 order/models.py:240 order/models.py:632
-#: order/models.py:918 part/models.py:2684
+#: build/models.py:155 order/models.py:241 order/models.py:651
+#: order/models.py:941 part/admin.py:224 part/models.py:3297
#: part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:92
-#: templates/js/translated/bom.js:716 templates/js/translated/bom.js:897
-#: templates/js/translated/build.js:1843 templates/js/translated/order.js:2251
-#: templates/js/translated/order.js:2481 templates/js/translated/order.js:3818
-#: templates/js/translated/order.js:4323
+#: templates/js/translated/bom.js:729 templates/js/translated/bom.js:905
+#: templates/js/translated/build.js:1843 templates/js/translated/order.js:2290
+#: templates/js/translated/order.js:2508 templates/js/translated/order.js:3833
+#: templates/js/translated/order.js:4324 templates/js/translated/pricing.js:119
msgid "Reference"
msgstr ""
@@ -785,39 +787,40 @@ msgid "BuildOrder to which this build is allocated"
msgstr ""
#: build/models.py:180 build/templates/build/build_base.html:80
-#: build/templates/build/detail.html:29 company/models.py:680
-#: order/models.py:1015 order/models.py:1126 order/models.py:1127
-#: part/models.py:343 part/models.py:2200 part/models.py:2215
-#: part/models.py:2234 part/models.py:2252 part/models.py:2351
-#: part/models.py:2472 part/models.py:2564 part/models.py:2649
-#: part/models.py:2943 part/serializers.py:828
+#: build/templates/build/detail.html:29 company/models.py:684
+#: order/models.py:1038 order/models.py:1149 order/models.py:1150
+#: part/models.py:362 part/models.py:2700 part/models.py:2813
+#: part/models.py:2828 part/models.py:2847 part/models.py:2865
+#: part/models.py:2964 part/models.py:3085 part/models.py:3177
+#: part/models.py:3262 part/models.py:3578 part/serializers.py:852
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
#: report/templates/report/inventree_build_order_base.html:109
#: report/templates/report/inventree_po_report.html:89
-#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:86
-#: stock/serializers.py:494 templates/InvenTree/search.html:82
+#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:90
+#: stock/serializers.py:488 templates/InvenTree/search.html:82
#: templates/email/build_order_completed.html:17
#: templates/email/build_order_required_stock.html:17
#: templates/email/low_stock_notification.html:16
#: templates/email/overdue_build_order.html:16
-#: templates/js/translated/barcode.js:479 templates/js/translated/bom.js:578
-#: templates/js/translated/bom.js:715 templates/js/translated/bom.js:841
+#: templates/js/translated/barcode.js:479 templates/js/translated/bom.js:591
+#: templates/js/translated/bom.js:728 templates/js/translated/bom.js:849
#: templates/js/translated/build.js:1214 templates/js/translated/build.js:1711
#: templates/js/translated/build.js:2194 templates/js/translated/build.js:2585
-#: templates/js/translated/company.js:301
-#: templates/js/translated/company.js:531
-#: templates/js/translated/company.js:643
-#: templates/js/translated/company.js:904 templates/js/translated/order.js:106
-#: templates/js/translated/order.js:1134 templates/js/translated/order.js:1638
-#: templates/js/translated/order.js:2205 templates/js/translated/order.js:3180
-#: templates/js/translated/order.js:3576 templates/js/translated/order.js:3802
-#: templates/js/translated/part.js:1172 templates/js/translated/part.js:1244
-#: templates/js/translated/part.js:1442 templates/js/translated/stock.js:586
-#: templates/js/translated/stock.js:751 templates/js/translated/stock.js:958
-#: templates/js/translated/stock.js:1700 templates/js/translated/stock.js:2514
-#: templates/js/translated/stock.js:2709 templates/js/translated/stock.js:2843
+#: templates/js/translated/company.js:302
+#: templates/js/translated/company.js:532
+#: templates/js/translated/company.js:644
+#: templates/js/translated/company.js:905 templates/js/translated/order.js:106
+#: templates/js/translated/order.js:1168 templates/js/translated/order.js:1672
+#: templates/js/translated/order.js:2244 templates/js/translated/order.js:3191
+#: templates/js/translated/order.js:3587 templates/js/translated/order.js:3817
+#: templates/js/translated/part.js:1193 templates/js/translated/part.js:1265
+#: templates/js/translated/part.js:1452 templates/js/translated/pricing.js:102
+#: templates/js/translated/stock.js:605 templates/js/translated/stock.js:770
+#: templates/js/translated/stock.js:977 templates/js/translated/stock.js:1719
+#: templates/js/translated/stock.js:2532 templates/js/translated/stock.js:2727
+#: templates/js/translated/stock.js:2861
msgid "Part"
msgstr ""
@@ -834,7 +837,7 @@ msgid "SalesOrder to which this build is allocated"
msgstr ""
#: build/models.py:202 build/serializers.py:822
-#: templates/js/translated/build.js:2182 templates/js/translated/order.js:3168
+#: templates/js/translated/build.js:2182 templates/js/translated/order.js:3179
msgid "Source Location"
msgstr ""
@@ -874,8 +877,8 @@ msgstr ""
msgid "Build status code"
msgstr ""
-#: build/models.py:245 build/serializers.py:224 order/serializers.py:464
-#: stock/models.py:664 templates/js/translated/order.js:1496
+#: build/models.py:245 build/serializers.py:224 order/serializers.py:455
+#: stock/models.py:680 templates/js/translated/order.js:1530
msgid "Batch Code"
msgstr ""
@@ -883,12 +886,12 @@ msgstr ""
msgid "Batch code for this build output"
msgstr ""
-#: build/models.py:252 order/models.py:86 part/models.py:952
-#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2839
+#: build/models.py:252 order/models.py:87 part/models.py:971
+#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2850
msgid "Creation Date"
msgstr ""
-#: build/models.py:256 order/models.py:662
+#: build/models.py:256 order/models.py:681
msgid "Target completion date"
msgstr ""
@@ -896,7 +899,7 @@ msgstr ""
msgid "Target date for build completion. Build will be overdue after this date."
msgstr ""
-#: build/models.py:260 order/models.py:291
+#: build/models.py:260 order/models.py:292
#: templates/js/translated/build.js:2662
msgid "Completion Date"
msgstr ""
@@ -914,11 +917,11 @@ msgid "User who issued this build order"
msgstr ""
#: build/models.py:283 build/templates/build/build_base.html:193
-#: build/templates/build/detail.html:115 order/models.py:100
+#: build/templates/build/detail.html:115 order/models.py:101
#: order/templates/order/order_base.html:185
-#: order/templates/order/sales_order_base.html:183 part/models.py:956
+#: order/templates/order/sales_order_base.html:183 part/models.py:975
#: report/templates/report/inventree_build_order_base.html:158
-#: templates/js/translated/build.js:2642 templates/js/translated/order.js:2022
+#: templates/js/translated/build.js:2642 templates/js/translated/order.js:2056
msgid "Responsible"
msgstr ""
@@ -929,7 +932,7 @@ msgstr ""
#: build/models.py:289 build/templates/build/detail.html:101
#: company/templates/company/manufacturer_part.html:107
#: company/templates/company/supplier_part.html:188
-#: part/templates/part/part_base.html:361 stock/models.py:658
+#: part/templates/part/part_base.html:376 stock/models.py:674
#: stock/templates/stock/item_base.html:203
msgid "External Link"
msgstr ""
@@ -968,11 +971,11 @@ msgstr ""
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr ""
-#: build/models.py:1191 order/models.py:1393
+#: build/models.py:1191 order/models.py:1416
msgid "Stock item is over-allocated"
msgstr ""
-#: build/models.py:1197 order/models.py:1396
+#: build/models.py:1197 order/models.py:1419
msgid "Allocation quantity must be greater than zero"
msgstr ""
@@ -994,18 +997,18 @@ msgstr ""
msgid "Build to allocate parts"
msgstr ""
-#: build/models.py:1346 build/serializers.py:663 order/serializers.py:1039
-#: order/serializers.py:1060 stock/serializers.py:398 stock/serializers.py:758
-#: stock/serializers.py:884 stock/templates/stock/item_base.html:10
+#: build/models.py:1346 build/serializers.py:663 order/serializers.py:1032
+#: order/serializers.py:1053 stock/serializers.py:392 stock/serializers.py:757
+#: stock/serializers.py:883 stock/templates/stock/item_base.html:10
#: stock/templates/stock/item_base.html:23
#: stock/templates/stock/item_base.html:197
#: templates/js/translated/build.js:790 templates/js/translated/build.js:795
#: templates/js/translated/build.js:2196 templates/js/translated/build.js:2747
-#: templates/js/translated/order.js:107 templates/js/translated/order.js:3181
-#: templates/js/translated/order.js:3483 templates/js/translated/order.js:3488
-#: templates/js/translated/order.js:3583 templates/js/translated/order.js:3675
-#: templates/js/translated/stock.js:587 templates/js/translated/stock.js:752
-#: templates/js/translated/stock.js:2587
+#: templates/js/translated/order.js:107 templates/js/translated/order.js:3192
+#: templates/js/translated/order.js:3494 templates/js/translated/order.js:3499
+#: templates/js/translated/order.js:3594 templates/js/translated/order.js:3686
+#: templates/js/translated/stock.js:606 templates/js/translated/stock.js:771
+#: templates/js/translated/stock.js:2605
msgid "Stock Item"
msgstr ""
@@ -1015,12 +1018,10 @@ msgstr ""
#: build/models.py:1359 build/serializers.py:192
#: build/templates/build/build_base.html:85
-#: build/templates/build/detail.html:34 common/models.py:1776
-#: company/templates/company/supplier_part.html:341 order/models.py:911
-#: order/models.py:1437 order/serializers.py:1213
-#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:40
-#: part/models.py:2665 part/templates/part/detail.html:938
-#: part/templates/part/detail.html:1024
+#: build/templates/build/detail.html:34 common/models.py:1788
+#: order/models.py:934 order/models.py:1460 order/serializers.py:1206
+#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:223
+#: part/forms.py:40 part/models.py:3278
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_build_order_base.html:113
@@ -1028,25 +1029,29 @@ msgstr ""
#: report/templates/report/inventree_so_report.html:91
#: report/templates/report/inventree_test_report_base.html:81
#: report/templates/report/inventree_test_report_base.html:139
-#: stock/serializers.py:291 stock/templates/stock/item_base.html:290
+#: stock/admin.py:86 stock/serializers.py:285
+#: stock/templates/stock/item_base.html:290
#: stock/templates/stock/item_base.html:298
#: templates/email/build_order_completed.html:18
-#: templates/js/translated/barcode.js:481 templates/js/translated/bom.js:717
-#: templates/js/translated/bom.js:905 templates/js/translated/build.js:474
+#: templates/js/translated/barcode.js:481 templates/js/translated/bom.js:730
+#: templates/js/translated/bom.js:913 templates/js/translated/build.js:474
#: templates/js/translated/build.js:626 templates/js/translated/build.js:817
#: templates/js/translated/build.js:1236 templates/js/translated/build.js:1737
#: templates/js/translated/build.js:2197
+#: templates/js/translated/company.js:1159
#: templates/js/translated/model_renderers.js:120
-#: templates/js/translated/order.js:123 templates/js/translated/order.js:1137
-#: templates/js/translated/order.js:2257 templates/js/translated/order.js:2487
-#: templates/js/translated/order.js:3182 templates/js/translated/order.js:3502
-#: templates/js/translated/order.js:3589 templates/js/translated/order.js:3681
-#: templates/js/translated/order.js:3824 templates/js/translated/order.js:4329
-#: templates/js/translated/part.js:1036 templates/js/translated/part.js:2220
-#: templates/js/translated/part.js:2689 templates/js/translated/part.js:2730
-#: templates/js/translated/part.js:2808 templates/js/translated/stock.js:458
-#: templates/js/translated/stock.js:612 templates/js/translated/stock.js:782
-#: templates/js/translated/stock.js:2636 templates/js/translated/stock.js:2721
+#: templates/js/translated/order.js:123 templates/js/translated/order.js:1171
+#: templates/js/translated/order.js:2296 templates/js/translated/order.js:2514
+#: templates/js/translated/order.js:3193 templates/js/translated/order.js:3513
+#: templates/js/translated/order.js:3600 templates/js/translated/order.js:3692
+#: templates/js/translated/order.js:3839 templates/js/translated/order.js:4330
+#: templates/js/translated/part.js:1063 templates/js/translated/part.js:2546
+#: templates/js/translated/pricing.js:114
+#: templates/js/translated/pricing.js:207
+#: templates/js/translated/pricing.js:255
+#: templates/js/translated/pricing.js:349 templates/js/translated/stock.js:477
+#: templates/js/translated/stock.js:631 templates/js/translated/stock.js:801
+#: templates/js/translated/stock.js:2654 templates/js/translated/stock.js:2739
msgid "Quantity"
msgstr ""
@@ -1087,10 +1092,10 @@ msgstr ""
msgid "Enter quantity for build output"
msgstr ""
-#: build/serializers.py:207 build/serializers.py:683 order/models.py:323
-#: order/serializers.py:304 order/serializers.py:459 part/serializers.py:558
-#: part/serializers.py:991 stock/models.py:518 stock/models.py:1253
-#: stock/serializers.py:300
+#: build/serializers.py:207 build/serializers.py:683 order/models.py:327
+#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:644
+#: part/serializers.py:1015 stock/models.py:534 stock/models.py:1269
+#: stock/serializers.py:294
msgid "Quantity must be greater than zero"
msgstr ""
@@ -1102,9 +1107,9 @@ msgstr ""
msgid "Integer quantity required, as the bill of materials contains trackable parts"
msgstr ""
-#: build/serializers.py:231 order/serializers.py:472 order/serializers.py:1217
-#: stock/serializers.py:309 templates/js/translated/order.js:1507
-#: templates/js/translated/stock.js:271 templates/js/translated/stock.js:459
+#: build/serializers.py:231 order/serializers.py:463 order/serializers.py:1210
+#: stock/serializers.py:303 templates/js/translated/order.js:1541
+#: templates/js/translated/stock.js:290 templates/js/translated/stock.js:478
msgid "Serial Numbers"
msgstr ""
@@ -1120,7 +1125,7 @@ msgstr ""
msgid "Automatically allocate required items with matching serial numbers"
msgstr ""
-#: build/serializers.py:281 stock/api.py:589
+#: build/serializers.py:281 stock/api.py:599
msgid "The following serial numbers already exist or are invalid"
msgstr ""
@@ -1128,18 +1133,18 @@ msgstr ""
msgid "A list of build outputs must be provided"
msgstr ""
-#: build/serializers.py:369 order/serializers.py:445 order/serializers.py:556
-#: stock/serializers.py:320 stock/serializers.py:455 stock/serializers.py:536
-#: stock/serializers.py:919 stock/serializers.py:1152
+#: build/serializers.py:369 order/serializers.py:436 order/serializers.py:547
+#: stock/serializers.py:314 stock/serializers.py:449 stock/serializers.py:530
+#: stock/serializers.py:918 stock/serializers.py:1151
#: stock/templates/stock/item_base.html:388
#: templates/js/translated/barcode.js:480
#: templates/js/translated/barcode.js:724 templates/js/translated/build.js:802
-#: templates/js/translated/build.js:1749 templates/js/translated/order.js:1534
-#: templates/js/translated/order.js:3495 templates/js/translated/order.js:3600
-#: templates/js/translated/order.js:3608 templates/js/translated/order.js:3689
-#: templates/js/translated/part.js:181 templates/js/translated/stock.js:588
-#: templates/js/translated/stock.js:753 templates/js/translated/stock.js:960
-#: templates/js/translated/stock.js:1856 templates/js/translated/stock.js:2528
+#: templates/js/translated/build.js:1749 templates/js/translated/order.js:1568
+#: templates/js/translated/order.js:3506 templates/js/translated/order.js:3611
+#: templates/js/translated/order.js:3619 templates/js/translated/order.js:3700
+#: templates/js/translated/part.js:177 templates/js/translated/stock.js:607
+#: templates/js/translated/stock.js:772 templates/js/translated/stock.js:979
+#: templates/js/translated/stock.js:1875 templates/js/translated/stock.js:2546
msgid "Location"
msgstr ""
@@ -1148,12 +1153,13 @@ msgid "Location for completed build outputs"
msgstr ""
#: build/serializers.py:376 build/templates/build/build_base.html:145
-#: build/templates/build/detail.html:62 order/models.py:651
-#: order/serializers.py:482 stock/templates/stock/item_base.html:421
+#: build/templates/build/detail.html:62 order/models.py:670
+#: order/serializers.py:473 stock/admin.py:89
+#: stock/templates/stock/item_base.html:421
#: templates/js/translated/barcode.js:214 templates/js/translated/build.js:2614
-#: templates/js/translated/order.js:1643 templates/js/translated/order.js:1992
-#: templates/js/translated/order.js:2831 templates/js/translated/stock.js:1831
-#: templates/js/translated/stock.js:2605 templates/js/translated/stock.js:2737
+#: templates/js/translated/order.js:1677 templates/js/translated/order.js:2026
+#: templates/js/translated/order.js:2842 templates/js/translated/stock.js:1850
+#: templates/js/translated/stock.js:2623 templates/js/translated/stock.js:2755
msgid "Status"
msgstr ""
@@ -1213,7 +1219,7 @@ msgstr ""
msgid "Required stock has not been fully allocated"
msgstr ""
-#: build/serializers.py:545 order/serializers.py:208 order/serializers.py:1107
+#: build/serializers.py:545 order/serializers.py:202 order/serializers.py:1100
msgid "Accept Incomplete"
msgstr ""
@@ -1229,8 +1235,8 @@ msgstr ""
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:595 build/serializers.py:640 part/models.py:2801
-#: part/models.py:2935
+#: build/serializers.py:595 build/serializers.py:640 part/models.py:3414
+#: part/models.py:3570
msgid "BOM Item"
msgstr ""
@@ -1246,11 +1252,11 @@ msgstr ""
msgid "bom_item.part must point to the same part as the build order"
msgstr ""
-#: build/serializers.py:669 stock/serializers.py:771
+#: build/serializers.py:669 stock/serializers.py:770
msgid "Item must be in stock"
msgstr ""
-#: build/serializers.py:727 order/serializers.py:1097
+#: build/serializers.py:727 order/serializers.py:1090
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr ""
@@ -1267,7 +1273,7 @@ msgstr ""
msgid "This stock item has already been allocated to this build output"
msgstr ""
-#: build/serializers.py:768 order/serializers.py:1381
+#: build/serializers.py:768 order/serializers.py:1374
msgid "Allocation items must be provided"
msgstr ""
@@ -1382,13 +1388,13 @@ msgid "Stock has not been fully allocated to this Build Order"
msgstr ""
#: build/templates/build/build_base.html:154
-#: build/templates/build/detail.html:131 order/models.py:924
+#: build/templates/build/detail.html:131 order/models.py:947
#: order/templates/order/order_base.html:171
#: order/templates/order/sales_order_base.html:164
#: report/templates/report/inventree_build_order_base.html:125
-#: templates/js/translated/build.js:2654 templates/js/translated/order.js:2009
-#: templates/js/translated/order.js:2351 templates/js/translated/order.js:2847
-#: templates/js/translated/order.js:3887 templates/js/translated/part.js:1051
+#: templates/js/translated/build.js:2654 templates/js/translated/order.js:2043
+#: templates/js/translated/order.js:2374 templates/js/translated/order.js:2858
+#: templates/js/translated/order.js:3884 templates/js/translated/part.js:1078
msgid "Target Date"
msgstr ""
@@ -1401,29 +1407,29 @@ msgstr ""
#: build/templates/build/build_base.html:204
#: order/templates/order/order_base.html:107
#: order/templates/order/sales_order_base.html:94
-#: templates/js/translated/table_filters.js:328
-#: templates/js/translated/table_filters.js:369
-#: templates/js/translated/table_filters.js:399
+#: templates/js/translated/table_filters.js:332
+#: templates/js/translated/table_filters.js:373
+#: templates/js/translated/table_filters.js:403
msgid "Overdue"
msgstr ""
#: build/templates/build/build_base.html:166
#: build/templates/build/detail.html:67 build/templates/build/detail.html:142
#: order/templates/order/sales_order_base.html:171
-#: templates/js/translated/table_filters.js:408
+#: templates/js/translated/table_filters.js:412
msgid "Completed"
msgstr ""
#: build/templates/build/build_base.html:179
-#: build/templates/build/detail.html:94 order/models.py:1119
-#: order/models.py:1213 order/models.py:1344
+#: build/templates/build/detail.html:94 order/models.py:1142
+#: order/models.py:1236 order/models.py:1367
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
#: report/templates/report/inventree_build_order_base.html:135
#: report/templates/report/inventree_so_report.html:77
#: stock/templates/stock/item_base.html:368
#: templates/email/overdue_sales_order.html:15
-#: templates/js/translated/order.js:2793
+#: templates/js/translated/order.js:2804 templates/js/translated/pricing.js:637
msgid "Sales Order"
msgstr ""
@@ -1449,8 +1455,8 @@ msgstr ""
msgid "Stock can be taken from any available location."
msgstr ""
-#: build/templates/build/detail.html:49 order/models.py:1037
-#: templates/js/translated/order.js:1644 templates/js/translated/order.js:2393
+#: build/templates/build/detail.html:49 order/models.py:1060
+#: templates/js/translated/order.js:1678 templates/js/translated/order.js:2416
msgid "Destination"
msgstr ""
@@ -1462,14 +1468,14 @@ msgstr ""
msgid "Allocated Parts"
msgstr ""
-#: build/templates/build/detail.html:80
+#: build/templates/build/detail.html:80 stock/admin.py:88
#: stock/templates/stock/item_base.html:168
#: templates/js/translated/build.js:1240
#: templates/js/translated/model_renderers.js:124
-#: templates/js/translated/stock.js:1026 templates/js/translated/stock.js:1845
-#: templates/js/translated/stock.js:2744
-#: templates/js/translated/table_filters.js:167
-#: templates/js/translated/table_filters.js:258
+#: templates/js/translated/stock.js:1045 templates/js/translated/stock.js:1864
+#: templates/js/translated/stock.js:2762
+#: templates/js/translated/table_filters.js:171
+#: templates/js/translated/table_filters.js:262
msgid "Batch"
msgstr ""
@@ -1527,7 +1533,7 @@ msgstr ""
#: build/templates/build/detail.html:187
#: company/templates/company/detail.html:37
#: company/templates/company/detail.html:85
-#: part/templates/part/category.html:178 templates/js/translated/order.js:1177
+#: part/templates/part/category.html:178 templates/js/translated/order.js:1211
msgid "Order Parts"
msgstr ""
@@ -1597,10 +1603,10 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:151
#: company/templates/company/manufacturer_part_sidebar.html:9
#: order/templates/order/po_sidebar.html:9
-#: order/templates/order/purchase_order_detail.html:82
-#: order/templates/order/sales_order_detail.html:135
-#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:212
-#: part/templates/part/part_sidebar.html:57 stock/templates/stock/item.html:117
+#: order/templates/order/purchase_order_detail.html:86
+#: order/templates/order/sales_order_detail.html:140
+#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:210
+#: part/templates/part/part_sidebar.html:55 stock/templates/stock/item.html:117
#: stock/templates/stock/stock_sidebar.html:23
msgid "Attachments"
msgstr ""
@@ -1617,7 +1623,7 @@ msgstr ""
msgid "All untracked stock items have been allocated"
msgstr ""
-#: build/templates/build/index.html:18 part/templates/part/detail.html:318
+#: build/templates/build/index.html:18 part/templates/part/detail.html:316
msgid "New Build Order"
msgstr ""
@@ -1734,7 +1740,7 @@ msgstr ""
msgid "Show the `about` modal only to superusers"
msgstr ""
-#: common/models.py:833 company/models.py:94 company/models.py:95
+#: common/models.py:833 company/models.py:98 company/models.py:99
msgid "Company name"
msgstr ""
@@ -1902,9 +1908,9 @@ msgstr ""
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:1002 part/models.py:2474 report/models.py:158
-#: templates/js/translated/table_filters.js:38
-#: templates/js/translated/table_filters.js:492
+#: common/models.py:1002 part/admin.py:41 part/models.py:3087
+#: report/models.py:158 templates/js/translated/table_filters.js:38
+#: templates/js/translated/table_filters.js:496
msgid "Template"
msgstr ""
@@ -1912,9 +1918,10 @@ msgstr ""
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:1009 part/models.py:908 templates/js/translated/bom.js:1531
-#: templates/js/translated/table_filters.js:184
-#: templates/js/translated/table_filters.js:455
+#: common/models.py:1009 part/admin.py:37 part/admin.py:229 part/models.py:927
+#: templates/js/translated/bom.js:1594
+#: templates/js/translated/table_filters.js:188
+#: templates/js/translated/table_filters.js:459
msgid "Assembly"
msgstr ""
@@ -1922,8 +1929,8 @@ msgstr ""
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:1016 part/models.py:914
-#: templates/js/translated/table_filters.js:463
+#: common/models.py:1016 part/admin.py:38 part/models.py:933
+#: templates/js/translated/table_filters.js:467
msgid "Component"
msgstr ""
@@ -1931,7 +1938,7 @@ msgstr ""
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:1023 part/models.py:925
+#: common/models.py:1023 part/admin.py:39 part/models.py:944
msgid "Purchaseable"
msgstr ""
@@ -1939,8 +1946,8 @@ msgstr ""
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:1030 part/models.py:930
-#: templates/js/translated/table_filters.js:484
+#: common/models.py:1030 part/admin.py:40 part/models.py:949
+#: templates/js/translated/table_filters.js:488
msgid "Salable"
msgstr ""
@@ -1948,10 +1955,10 @@ msgstr ""
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:1037 part/models.py:920
+#: common/models.py:1037 part/admin.py:42 part/models.py:939
#: templates/js/translated/table_filters.js:46
-#: templates/js/translated/table_filters.js:116
-#: templates/js/translated/table_filters.js:496
+#: templates/js/translated/table_filters.js:120
+#: templates/js/translated/table_filters.js:500
msgid "Trackable"
msgstr ""
@@ -1959,10 +1966,10 @@ msgstr ""
msgid "Parts are trackable by default"
msgstr ""
-#: common/models.py:1044 part/models.py:940
+#: common/models.py:1044 part/admin.py:43 part/models.py:959
#: part/templates/part/part_base.html:156
#: templates/js/translated/table_filters.js:42
-#: templates/js/translated/table_filters.js:500
+#: templates/js/translated/table_filters.js:504
msgid "Virtual"
msgstr ""
@@ -1979,791 +1986,837 @@ msgid "Display the import wizard in some part views"
msgstr ""
#: common/models.py:1058
-msgid "Show Price in Forms"
-msgstr ""
-
-#: common/models.py:1059
-msgid "Display part price in some forms"
-msgstr ""
-
-#: common/models.py:1070
-msgid "Show Price in BOM"
-msgstr ""
-
-#: common/models.py:1071
-msgid "Include pricing information in BOM tables"
-msgstr ""
-
-#: common/models.py:1082
-msgid "Show Price History"
-msgstr ""
-
-#: common/models.py:1083
-msgid "Display historical pricing for Part"
-msgstr ""
-
-#: common/models.py:1089
msgid "Show related parts"
msgstr ""
-#: common/models.py:1090
+#: common/models.py:1059
msgid "Display related parts for a part"
msgstr ""
-#: common/models.py:1096
+#: common/models.py:1065
msgid "Create initial stock"
msgstr ""
-#: common/models.py:1097
+#: common/models.py:1066
msgid "Create initial stock on part creation"
msgstr ""
-#: common/models.py:1103
-msgid "Internal Prices"
-msgstr ""
-
-#: common/models.py:1104
-msgid "Enable internal prices for parts"
-msgstr ""
-
-#: common/models.py:1110
-msgid "Internal Price as BOM-Price"
-msgstr ""
-
-#: common/models.py:1111
-msgid "Use the internal price (if set) in BOM-price calculations"
-msgstr ""
-
-#: common/models.py:1117
+#: common/models.py:1072
msgid "Part Name Display Format"
msgstr ""
-#: common/models.py:1118
+#: common/models.py:1073
msgid "Format to display the part name"
msgstr ""
-#: common/models.py:1125
+#: common/models.py:1080
msgid "Part Category Default Icon"
msgstr ""
-#: common/models.py:1126
+#: common/models.py:1081
msgid "Part category default icon (empty means no icon)"
msgstr ""
-#: common/models.py:1131
-msgid "Enable label printing"
+#: common/models.py:1086
+msgid "Pricing Decimal Places"
msgstr ""
-#: common/models.py:1132
-msgid "Enable label printing from the web interface"
+#: common/models.py:1087
+msgid "Number of decimal places to display when rendering pricing data"
msgstr ""
-#: common/models.py:1138
-msgid "Label Image DPI"
+#: common/models.py:1097
+msgid "Pricing Rebuild Time"
msgstr ""
-#: common/models.py:1139
-msgid "DPI resolution when generating image files to supply to label printing plugins"
+#: common/models.py:1098
+msgid "Number of days before part pricing is automatically updated"
msgstr ""
-#: common/models.py:1148
-msgid "Enable Reports"
-msgstr ""
-
-#: common/models.py:1149
-msgid "Enable generation of reports"
-msgstr ""
-
-#: common/models.py:1155 templates/stats.html:25
-msgid "Debug Mode"
-msgstr ""
-
-#: common/models.py:1156
-msgid "Generate reports in debug mode (HTML output)"
-msgstr ""
-
-#: common/models.py:1162
-msgid "Page Size"
-msgstr ""
-
-#: common/models.py:1163
-msgid "Default page size for PDF reports"
-msgstr ""
-
-#: common/models.py:1173
-msgid "Enable Test Reports"
-msgstr ""
-
-#: common/models.py:1174
-msgid "Enable generation of test reports"
-msgstr ""
-
-#: common/models.py:1180
-msgid "Attach Test Reports"
-msgstr ""
-
-#: common/models.py:1181
-msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item"
-msgstr ""
-
-#: common/models.py:1187
-msgid "Globally Unique Serials"
-msgstr ""
-
-#: common/models.py:1188
-msgid "Serial numbers for stock items must be globally unique"
-msgstr ""
-
-#: common/models.py:1194
-msgid "Batch Code Template"
-msgstr ""
-
-#: common/models.py:1195
-msgid "Template for generating default batch codes for stock items"
-msgstr ""
-
-#: common/models.py:1200
-msgid "Stock Expiry"
-msgstr ""
-
-#: common/models.py:1201
-msgid "Enable stock expiry functionality"
-msgstr ""
-
-#: common/models.py:1207
-msgid "Sell Expired Stock"
-msgstr ""
-
-#: common/models.py:1208
-msgid "Allow sale of expired stock"
-msgstr ""
-
-#: common/models.py:1214
-msgid "Stock Stale Time"
-msgstr ""
-
-#: common/models.py:1215
-msgid "Number of days stock items are considered stale before expiring"
-msgstr ""
-
-#: common/models.py:1217
+#: common/models.py:1099 common/models.py:1208
msgid "days"
msgstr ""
-#: common/models.py:1222
+#: common/models.py:1108
+msgid "Internal Prices"
+msgstr ""
+
+#: common/models.py:1109
+msgid "Enable internal prices for parts"
+msgstr ""
+
+#: common/models.py:1115
+msgid "Internal Price Override"
+msgstr ""
+
+#: common/models.py:1116
+msgid "If available, internal prices override price range calculations"
+msgstr ""
+
+#: common/models.py:1122
+msgid "Enable label printing"
+msgstr ""
+
+#: common/models.py:1123
+msgid "Enable label printing from the web interface"
+msgstr ""
+
+#: common/models.py:1129
+msgid "Label Image DPI"
+msgstr ""
+
+#: common/models.py:1130
+msgid "DPI resolution when generating image files to supply to label printing plugins"
+msgstr ""
+
+#: common/models.py:1139
+msgid "Enable Reports"
+msgstr ""
+
+#: common/models.py:1140
+msgid "Enable generation of reports"
+msgstr ""
+
+#: common/models.py:1146 templates/stats.html:25
+msgid "Debug Mode"
+msgstr ""
+
+#: common/models.py:1147
+msgid "Generate reports in debug mode (HTML output)"
+msgstr ""
+
+#: common/models.py:1153
+msgid "Page Size"
+msgstr ""
+
+#: common/models.py:1154
+msgid "Default page size for PDF reports"
+msgstr ""
+
+#: common/models.py:1164
+msgid "Enable Test Reports"
+msgstr ""
+
+#: common/models.py:1165
+msgid "Enable generation of test reports"
+msgstr ""
+
+#: common/models.py:1171
+msgid "Attach Test Reports"
+msgstr ""
+
+#: common/models.py:1172
+msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item"
+msgstr ""
+
+#: common/models.py:1178
+msgid "Globally Unique Serials"
+msgstr ""
+
+#: common/models.py:1179
+msgid "Serial numbers for stock items must be globally unique"
+msgstr ""
+
+#: common/models.py:1185
+msgid "Batch Code Template"
+msgstr ""
+
+#: common/models.py:1186
+msgid "Template for generating default batch codes for stock items"
+msgstr ""
+
+#: common/models.py:1191
+msgid "Stock Expiry"
+msgstr ""
+
+#: common/models.py:1192
+msgid "Enable stock expiry functionality"
+msgstr ""
+
+#: common/models.py:1198
+msgid "Sell Expired Stock"
+msgstr ""
+
+#: common/models.py:1199
+msgid "Allow sale of expired stock"
+msgstr ""
+
+#: common/models.py:1205
+msgid "Stock Stale Time"
+msgstr ""
+
+#: common/models.py:1206
+msgid "Number of days stock items are considered stale before expiring"
+msgstr ""
+
+#: common/models.py:1213
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:1223
+#: common/models.py:1214
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:1229
+#: common/models.py:1220
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:1230
+#: common/models.py:1221
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:1236
+#: common/models.py:1227
msgid "Stock Location Default Icon"
msgstr ""
-#: common/models.py:1237
+#: common/models.py:1228
msgid "Stock location default icon (empty means no icon)"
msgstr ""
-#: common/models.py:1242
+#: common/models.py:1233
msgid "Build Order Reference Pattern"
msgstr ""
-#: common/models.py:1243
+#: common/models.py:1234
msgid "Required pattern for generating Build Order reference field"
msgstr ""
-#: common/models.py:1249
+#: common/models.py:1240
msgid "Sales Order Reference Pattern"
msgstr ""
-#: common/models.py:1250
+#: common/models.py:1241
msgid "Required pattern for generating Sales Order reference field"
msgstr ""
-#: common/models.py:1256
+#: common/models.py:1247
msgid "Sales Order Default Shipment"
msgstr ""
-#: common/models.py:1257
+#: common/models.py:1248
msgid "Enable creation of default shipment with sales orders"
msgstr ""
-#: common/models.py:1263
+#: common/models.py:1254
+msgid "Edit Completed Sales Orders"
+msgstr ""
+
+#: common/models.py:1255
+msgid "Allow editing of sales orders after they have been shipped or completed"
+msgstr ""
+
+#: common/models.py:1261
msgid "Purchase Order Reference Pattern"
msgstr ""
-#: common/models.py:1264
+#: common/models.py:1262
msgid "Required pattern for generating Purchase Order reference field"
msgstr ""
-#: common/models.py:1271
+#: common/models.py:1268
+msgid "Edit Completed Purchase Orders"
+msgstr ""
+
+#: common/models.py:1269
+msgid "Allow editing of purchase orders after they have been shipped or completed"
+msgstr ""
+
+#: common/models.py:1276
msgid "Enable password forgot"
msgstr ""
-#: common/models.py:1272
+#: common/models.py:1277
msgid "Enable password forgot function on the login pages"
msgstr ""
-#: common/models.py:1278
+#: common/models.py:1283
msgid "Enable registration"
msgstr ""
-#: common/models.py:1279
+#: common/models.py:1284
msgid "Enable self-registration for users on the login pages"
msgstr ""
-#: common/models.py:1285
+#: common/models.py:1290
msgid "Enable SSO"
msgstr ""
-#: common/models.py:1286
+#: common/models.py:1291
msgid "Enable SSO on the login pages"
msgstr ""
-#: common/models.py:1292
+#: common/models.py:1297
msgid "Email required"
msgstr ""
-#: common/models.py:1293
+#: common/models.py:1298
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/models.py:1299
+#: common/models.py:1304
msgid "Auto-fill SSO users"
msgstr ""
-#: common/models.py:1300
+#: common/models.py:1305
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/models.py:1306
+#: common/models.py:1311
msgid "Mail twice"
msgstr ""
-#: common/models.py:1307
+#: common/models.py:1312
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/models.py:1313
+#: common/models.py:1318
msgid "Password twice"
msgstr ""
-#: common/models.py:1314
+#: common/models.py:1319
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/models.py:1320
+#: common/models.py:1325
msgid "Group on signup"
msgstr ""
-#: common/models.py:1321
+#: common/models.py:1326
msgid "Group to which new users are assigned on registration"
msgstr ""
-#: common/models.py:1327
+#: common/models.py:1332
msgid "Enforce MFA"
msgstr ""
-#: common/models.py:1328
+#: common/models.py:1333
msgid "Users must use multifactor security."
msgstr ""
-#: common/models.py:1334
+#: common/models.py:1339
msgid "Check plugins on startup"
msgstr ""
-#: common/models.py:1335
+#: common/models.py:1340
msgid "Check that all plugins are installed on startup - enable in container environments"
msgstr ""
-#: common/models.py:1342
+#: common/models.py:1347
msgid "Check plugin signatures"
msgstr ""
-#: common/models.py:1343
+#: common/models.py:1348
msgid "Check and show signatures for plugins"
msgstr ""
-#: common/models.py:1350
+#: common/models.py:1355
msgid "Enable URL integration"
msgstr ""
-#: common/models.py:1351
+#: common/models.py:1356
msgid "Enable plugins to add URL routes"
msgstr ""
-#: common/models.py:1358
+#: common/models.py:1363
msgid "Enable navigation integration"
msgstr ""
-#: common/models.py:1359
+#: common/models.py:1364
msgid "Enable plugins to integrate into navigation"
msgstr ""
-#: common/models.py:1366
+#: common/models.py:1371
msgid "Enable app integration"
msgstr ""
-#: common/models.py:1367
+#: common/models.py:1372
msgid "Enable plugins to add apps"
msgstr ""
-#: common/models.py:1374
+#: common/models.py:1379
msgid "Enable schedule integration"
msgstr ""
-#: common/models.py:1375
+#: common/models.py:1380
msgid "Enable plugins to run scheduled tasks"
msgstr ""
-#: common/models.py:1382
+#: common/models.py:1387
msgid "Enable event integration"
msgstr ""
-#: common/models.py:1383
+#: common/models.py:1388
msgid "Enable plugins to respond to internal events"
msgstr ""
-#: common/models.py:1402 common/models.py:1737
+#: common/models.py:1407 common/models.py:1749
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:1424
+#: common/models.py:1429
msgid "Show subscribed parts"
msgstr ""
-#: common/models.py:1425
+#: common/models.py:1430
msgid "Show subscribed parts on the homepage"
msgstr ""
-#: common/models.py:1431
+#: common/models.py:1436
msgid "Show subscribed categories"
msgstr ""
-#: common/models.py:1432
+#: common/models.py:1437
msgid "Show subscribed part categories on the homepage"
msgstr ""
-#: common/models.py:1438
+#: common/models.py:1443
msgid "Show latest parts"
msgstr ""
-#: common/models.py:1439
+#: common/models.py:1444
msgid "Show latest parts on the homepage"
msgstr ""
-#: common/models.py:1445
+#: common/models.py:1450
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:1446
+#: common/models.py:1451
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:1452
+#: common/models.py:1457
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:1453
+#: common/models.py:1458
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:1459
+#: common/models.py:1464
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:1460
+#: common/models.py:1465
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:1466
+#: common/models.py:1471
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:1467
+#: common/models.py:1472
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:1473
+#: common/models.py:1478
msgid "Show low stock"
msgstr ""
-#: common/models.py:1474
+#: common/models.py:1479
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:1480
+#: common/models.py:1485
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:1481
+#: common/models.py:1486
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:1487
+#: common/models.py:1492
msgid "Show needed stock"
msgstr ""
-#: common/models.py:1488
+#: common/models.py:1493
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:1494
+#: common/models.py:1499
msgid "Show expired stock"
msgstr ""
-#: common/models.py:1495
+#: common/models.py:1500
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:1501
+#: common/models.py:1506
msgid "Show stale stock"
msgstr ""
-#: common/models.py:1502
+#: common/models.py:1507
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:1508
+#: common/models.py:1513
msgid "Show pending builds"
msgstr ""
-#: common/models.py:1509
+#: common/models.py:1514
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:1515
+#: common/models.py:1520
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:1516
+#: common/models.py:1521
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:1522
+#: common/models.py:1527
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:1523
+#: common/models.py:1528
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:1529
+#: common/models.py:1534
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:1530
+#: common/models.py:1535
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:1536
+#: common/models.py:1541
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:1537
+#: common/models.py:1542
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:1543
+#: common/models.py:1548
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:1544
+#: common/models.py:1549
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:1550
+#: common/models.py:1555
+msgid "Show News"
+msgstr ""
+
+#: common/models.py:1556
+msgid "Show news on the homepage"
+msgstr ""
+
+#: common/models.py:1562
msgid "Inline label display"
msgstr ""
-#: common/models.py:1551
+#: common/models.py:1563
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1557
+#: common/models.py:1569
msgid "Inline report display"
msgstr ""
-#: common/models.py:1558
+#: common/models.py:1570
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1564
+#: common/models.py:1576
msgid "Search Parts"
msgstr ""
-#: common/models.py:1565
+#: common/models.py:1577
msgid "Display parts in search preview window"
msgstr ""
-#: common/models.py:1571
+#: common/models.py:1583
msgid "Seach Supplier Parts"
msgstr ""
-#: common/models.py:1572
+#: common/models.py:1584
msgid "Display supplier parts in search preview window"
msgstr ""
-#: common/models.py:1578
+#: common/models.py:1590
msgid "Search Manufacturer Parts"
msgstr ""
-#: common/models.py:1579
+#: common/models.py:1591
msgid "Display manufacturer parts in search preview window"
msgstr ""
-#: common/models.py:1585
+#: common/models.py:1597
msgid "Hide Inactive Parts"
msgstr ""
-#: common/models.py:1586
+#: common/models.py:1598
msgid "Excluded inactive parts from search preview window"
msgstr ""
-#: common/models.py:1592
+#: common/models.py:1604
msgid "Search Categories"
msgstr ""
-#: common/models.py:1593
+#: common/models.py:1605
msgid "Display part categories in search preview window"
msgstr ""
-#: common/models.py:1599
+#: common/models.py:1611
msgid "Search Stock"
msgstr ""
-#: common/models.py:1600
+#: common/models.py:1612
msgid "Display stock items in search preview window"
msgstr ""
-#: common/models.py:1606
+#: common/models.py:1618
msgid "Hide Unavailable Stock Items"
msgstr ""
-#: common/models.py:1607
+#: common/models.py:1619
msgid "Exclude stock items which are not available from the search preview window"
msgstr ""
-#: common/models.py:1613
+#: common/models.py:1625
msgid "Search Locations"
msgstr ""
-#: common/models.py:1614
+#: common/models.py:1626
msgid "Display stock locations in search preview window"
msgstr ""
-#: common/models.py:1620
+#: common/models.py:1632
msgid "Search Companies"
msgstr ""
-#: common/models.py:1621
+#: common/models.py:1633
msgid "Display companies in search preview window"
msgstr ""
-#: common/models.py:1627
+#: common/models.py:1639
msgid "Search Build Orders"
msgstr ""
-#: common/models.py:1628
+#: common/models.py:1640
msgid "Display build orders in search preview window"
msgstr ""
-#: common/models.py:1634
+#: common/models.py:1646
msgid "Search Purchase Orders"
msgstr ""
-#: common/models.py:1635
+#: common/models.py:1647
msgid "Display purchase orders in search preview window"
msgstr ""
-#: common/models.py:1641
+#: common/models.py:1653
msgid "Exclude Inactive Purchase Orders"
msgstr ""
-#: common/models.py:1642
+#: common/models.py:1654
msgid "Exclude inactive purchase orders from search preview window"
msgstr ""
-#: common/models.py:1648
+#: common/models.py:1660
msgid "Search Sales Orders"
msgstr ""
-#: common/models.py:1649
+#: common/models.py:1661
msgid "Display sales orders in search preview window"
msgstr ""
-#: common/models.py:1655
+#: common/models.py:1667
msgid "Exclude Inactive Sales Orders"
msgstr ""
-#: common/models.py:1656
+#: common/models.py:1668
msgid "Exclude inactive sales orders from search preview window"
msgstr ""
-#: common/models.py:1662
+#: common/models.py:1674
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:1663
+#: common/models.py:1675
msgid "Number of results to show in each section of the search preview window"
msgstr ""
-#: common/models.py:1669
+#: common/models.py:1681
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:1670
+#: common/models.py:1682
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:1676
+#: common/models.py:1688
msgid "Escape Key Closes Forms"
msgstr ""
-#: common/models.py:1677
+#: common/models.py:1689
msgid "Use the escape key to close modal forms"
msgstr ""
-#: common/models.py:1683
+#: common/models.py:1695
msgid "Fixed Navbar"
msgstr ""
-#: common/models.py:1684
+#: common/models.py:1696
msgid "The navbar position is fixed to the top of the screen"
msgstr ""
-#: common/models.py:1690
+#: common/models.py:1702
msgid "Date Format"
msgstr ""
-#: common/models.py:1691
+#: common/models.py:1703
msgid "Preferred format for displaying dates"
msgstr ""
-#: common/models.py:1705 part/templates/part/detail.html:41
+#: common/models.py:1717 part/templates/part/detail.html:41
msgid "Part Scheduling"
msgstr ""
-#: common/models.py:1706
+#: common/models.py:1718
msgid "Display part scheduling information"
msgstr ""
-#: common/models.py:1712
+#: common/models.py:1724
msgid "Table String Length"
msgstr ""
-#: common/models.py:1713
+#: common/models.py:1725
msgid "Maximimum length limit for strings displayed in table views"
msgstr ""
-#: common/models.py:1777
+#: common/models.py:1789
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1784 company/serializers.py:372
-#: company/templates/company/supplier_part.html:346 order/models.py:952
-#: templates/js/translated/part.js:1103 templates/js/translated/part.js:2225
+#: common/models.py:1796 company/serializers.py:393 order/models.py:975
+#: templates/js/translated/company.js:1164 templates/js/translated/part.js:1130
+#: templates/js/translated/pricing.js:354
msgid "Price"
msgstr ""
-#: common/models.py:1785
+#: common/models.py:1797
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1945 common/models.py:2123
+#: common/models.py:1957 common/models.py:2135
msgid "Endpoint"
msgstr ""
-#: common/models.py:1946
+#: common/models.py:1958
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:1955
+#: common/models.py:1967
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:1960 part/models.py:935 plugin/models.py:100
-#: templates/js/translated/table_filters.js:34
-#: templates/js/translated/table_filters.js:112
-#: templates/js/translated/table_filters.js:324
-#: templates/js/translated/table_filters.js:450
+#: common/models.py:1972 part/admin.py:36 part/models.py:954
+#: plugin/models.py:100 templates/js/translated/table_filters.js:34
+#: templates/js/translated/table_filters.js:116
+#: templates/js/translated/table_filters.js:328
+#: templates/js/translated/table_filters.js:454
msgid "Active"
msgstr ""
-#: common/models.py:1961
+#: common/models.py:1973
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:1975
+#: common/models.py:1987
msgid "Token"
msgstr ""
-#: common/models.py:1976
+#: common/models.py:1988
msgid "Token for access"
msgstr ""
-#: common/models.py:1983
+#: common/models.py:1995
msgid "Secret"
msgstr ""
-#: common/models.py:1984
+#: common/models.py:1996
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:2090
+#: common/models.py:2102
msgid "Message ID"
msgstr ""
-#: common/models.py:2091
+#: common/models.py:2103
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:2099
+#: common/models.py:2111
msgid "Host"
msgstr ""
-#: common/models.py:2100
+#: common/models.py:2112
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:2107
+#: common/models.py:2119
msgid "Header"
msgstr ""
-#: common/models.py:2108
+#: common/models.py:2120
msgid "Header of this message"
msgstr ""
-#: common/models.py:2114
+#: common/models.py:2126
msgid "Body"
msgstr ""
-#: common/models.py:2115
+#: common/models.py:2127
msgid "Body of this message"
msgstr ""
-#: common/models.py:2124
+#: common/models.py:2136
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:2129
+#: common/models.py:2141
msgid "Worked on"
msgstr ""
-#: common/models.py:2130
+#: common/models.py:2142
msgid "Was the work on this message finished?"
msgstr ""
+#: common/models.py:2302
+msgid "Id"
+msgstr ""
+
+#: common/models.py:2308 templates/js/translated/news.js:34
+msgid "Title"
+msgstr ""
+
+#: common/models.py:2318 templates/js/translated/news.js:50
+msgid "Published"
+msgstr ""
+
+#: common/models.py:2323 templates/InvenTree/settings/plugin.html:62
+#: templates/InvenTree/settings/plugin_settings.html:33
+#: templates/js/translated/news.js:46
+msgid "Author"
+msgstr ""
+
+#: common/models.py:2328 templates/js/translated/news.js:42
+msgid "Summary"
+msgstr ""
+
+#: common/models.py:2333
+msgid "Read"
+msgstr ""
+
+#: common/models.py:2334
+msgid "Was this news item read?"
+msgstr ""
+
#: common/notifications.py:293
#, python-brace-format
msgid "New {verbose_name}"
@@ -2785,15 +2838,15 @@ msgstr ""
msgid "Error raised by plugin"
msgstr ""
-#: common/views.py:85 order/templates/order/purchase_order_detail.html:23
-#: order/views.py:102 part/views.py:112
+#: common/views.py:85 order/templates/order/purchase_order_detail.html:25
+#: order/views.py:102 part/views.py:107
#: templates/patterns/wizard/upload.html:37
msgid "Upload File"
msgstr ""
#: common/views.py:86 order/views.py:103
#: part/templates/part/import_wizard/ajax_match_fields.html:45
-#: part/views.py:113 templates/patterns/wizard/match_fields.html:51
+#: part/views.py:108 templates/patterns/wizard/match_fields.html:51
msgid "Match Fields"
msgstr ""
@@ -2816,298 +2869,301 @@ msgstr ""
msgid "Previous Step"
msgstr ""
-#: company/models.py:99
+#: company/models.py:103
msgid "Company description"
msgstr ""
-#: company/models.py:100
+#: company/models.py:104
msgid "Description of the company"
msgstr ""
-#: company/models.py:106 company/templates/company/company_base.html:100
+#: company/models.py:110 company/templates/company/company_base.html:100
#: templates/InvenTree/settings/plugin_settings.html:55
-#: templates/js/translated/company.js:448
+#: templates/js/translated/company.js:449
msgid "Website"
msgstr ""
-#: company/models.py:107
+#: company/models.py:111
msgid "Company website URL"
msgstr ""
-#: company/models.py:111 company/templates/company/company_base.html:118
+#: company/models.py:115 company/templates/company/company_base.html:118
msgid "Address"
msgstr ""
-#: company/models.py:112
+#: company/models.py:116
msgid "Company address"
msgstr ""
-#: company/models.py:115
+#: company/models.py:119
msgid "Phone number"
msgstr ""
-#: company/models.py:116
+#: company/models.py:120
msgid "Contact phone number"
msgstr ""
-#: company/models.py:119 company/templates/company/company_base.html:132
+#: company/models.py:123 company/templates/company/company_base.html:132
#: templates/InvenTree/settings/user.html:48
msgid "Email"
msgstr ""
-#: company/models.py:119
+#: company/models.py:123
msgid "Contact email address"
msgstr ""
-#: company/models.py:122 company/templates/company/company_base.html:139
+#: company/models.py:126 company/templates/company/company_base.html:139
msgid "Contact"
msgstr ""
-#: company/models.py:123
+#: company/models.py:127
msgid "Point of contact"
msgstr ""
-#: company/models.py:125
+#: company/models.py:129
msgid "Link to external company information"
msgstr ""
-#: company/models.py:136 part/models.py:829
+#: company/models.py:140 part/models.py:848
msgid "Image"
msgstr ""
-#: company/models.py:139 company/templates/company/detail.html:185
+#: company/models.py:143 company/templates/company/detail.html:185
msgid "Company Notes"
msgstr ""
-#: company/models.py:141
+#: company/models.py:145
msgid "is customer"
msgstr ""
-#: company/models.py:141
+#: company/models.py:145
msgid "Do you sell items to this company?"
msgstr ""
-#: company/models.py:143
+#: company/models.py:147
msgid "is supplier"
msgstr ""
-#: company/models.py:143
+#: company/models.py:147
msgid "Do you purchase items from this company?"
msgstr ""
-#: company/models.py:145
+#: company/models.py:149
msgid "is manufacturer"
msgstr ""
-#: company/models.py:145
+#: company/models.py:149
msgid "Does this company manufacture parts?"
msgstr ""
-#: company/models.py:149 company/serializers.py:378
-#: company/templates/company/company_base.html:106 part/serializers.py:153
-#: part/serializers.py:184 stock/serializers.py:178
+#: company/models.py:153 company/serializers.py:399
+#: company/templates/company/company_base.html:106 part/models.py:2681
+#: part/serializers.py:153 part/serializers.py:181 stock/serializers.py:182
+#: templates/InvenTree/settings/pricing.html:59
msgid "Currency"
msgstr ""
-#: company/models.py:152
+#: company/models.py:156
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:249 company/models.py:483 stock/models.py:600
-#: stock/serializers.py:85 stock/templates/stock/item_base.html:143
-#: templates/js/translated/bom.js:568
+#: company/models.py:253 company/models.py:487 stock/models.py:616
+#: stock/serializers.py:89 stock/templates/stock/item_base.html:143
+#: templates/js/translated/bom.js:581
msgid "Base Part"
msgstr ""
-#: company/models.py:253 company/models.py:487
+#: company/models.py:257 company/models.py:491
msgid "Select part"
msgstr ""
-#: company/models.py:264 company/templates/company/company_base.html:76
+#: company/models.py:268 company/templates/company/company_base.html:76
#: company/templates/company/manufacturer_part.html:90
#: company/templates/company/supplier_part.html:152
#: stock/templates/stock/item_base.html:210
-#: templates/js/translated/company.js:432
-#: templates/js/translated/company.js:533
-#: templates/js/translated/company.js:668
-#: templates/js/translated/company.js:956 templates/js/translated/part.js:236
-#: templates/js/translated/table_filters.js:427
+#: templates/js/translated/company.js:433
+#: templates/js/translated/company.js:534
+#: templates/js/translated/company.js:669
+#: templates/js/translated/company.js:957 templates/js/translated/part.js:232
+#: templates/js/translated/table_filters.js:431
msgid "Manufacturer"
msgstr ""
-#: company/models.py:265 templates/js/translated/part.js:237
+#: company/models.py:269 templates/js/translated/part.js:233
msgid "Select manufacturer"
msgstr ""
-#: company/models.py:271 company/templates/company/manufacturer_part.html:101
+#: company/models.py:275 company/templates/company/manufacturer_part.html:101
#: company/templates/company/supplier_part.html:160
-#: templates/js/translated/company.js:304
-#: templates/js/translated/company.js:532
-#: templates/js/translated/company.js:684
-#: templates/js/translated/company.js:975 templates/js/translated/order.js:2239
-#: templates/js/translated/part.js:247 templates/js/translated/part.js:1025
+#: templates/js/translated/company.js:305
+#: templates/js/translated/company.js:533
+#: templates/js/translated/company.js:685
+#: templates/js/translated/company.js:976 templates/js/translated/order.js:2278
+#: templates/js/translated/part.js:243 templates/js/translated/part.js:1052
msgid "MPN"
msgstr ""
-#: company/models.py:272 templates/js/translated/part.js:248
+#: company/models.py:276 templates/js/translated/part.js:244
msgid "Manufacturer Part Number"
msgstr ""
-#: company/models.py:278
+#: company/models.py:282
msgid "URL for external manufacturer part link"
msgstr ""
-#: company/models.py:284
+#: company/models.py:288
msgid "Manufacturer part description"
msgstr ""
-#: company/models.py:329 company/models.py:353 company/models.py:506
+#: company/models.py:333 company/models.py:357 company/models.py:510
#: company/templates/company/manufacturer_part.html:7
#: company/templates/company/manufacturer_part.html:24
#: stock/templates/stock/item_base.html:220
msgid "Manufacturer Part"
msgstr ""
-#: company/models.py:360
+#: company/models.py:364
msgid "Parameter name"
msgstr ""
-#: company/models.py:366
+#: company/models.py:370
#: report/templates/report/inventree_test_report_base.html:95
-#: stock/models.py:2097 templates/js/translated/company.js:581
-#: templates/js/translated/company.js:799 templates/js/translated/part.js:847
-#: templates/js/translated/stock.js:1360
+#: stock/models.py:2113 templates/js/translated/company.js:582
+#: templates/js/translated/company.js:800 templates/js/translated/part.js:874
+#: templates/js/translated/stock.js:1379
msgid "Value"
msgstr ""
-#: company/models.py:367
+#: company/models.py:371
msgid "Parameter value"
msgstr ""
-#: company/models.py:373 part/models.py:902 part/models.py:2434
-#: part/templates/part/part_base.html:286
+#: company/models.py:377 part/admin.py:26 part/models.py:921
+#: part/models.py:3047 part/templates/part/part_base.html:286
#: templates/InvenTree/settings/settings.html:349
-#: templates/js/translated/company.js:805 templates/js/translated/part.js:853
+#: templates/js/translated/company.js:806 templates/js/translated/part.js:880
msgid "Units"
msgstr ""
-#: company/models.py:374
+#: company/models.py:378
msgid "Parameter units"
msgstr ""
-#: company/models.py:451
+#: company/models.py:455
msgid "Linked manufacturer part must reference the same base part"
msgstr ""
-#: company/models.py:493 company/templates/company/company_base.html:81
-#: company/templates/company/supplier_part.html:136 order/models.py:263
-#: order/templates/order/order_base.html:121 part/bom.py:237 part/bom.py:265
+#: company/models.py:497 company/templates/company/company_base.html:81
+#: company/templates/company/supplier_part.html:136 order/models.py:264
+#: order/templates/order/order_base.html:121 part/bom.py:252 part/bom.py:280
#: stock/templates/stock/item_base.html:227
#: templates/email/overdue_purchase_order.html:16
-#: templates/js/translated/company.js:303
-#: templates/js/translated/company.js:436
-#: templates/js/translated/company.js:929 templates/js/translated/order.js:1975
-#: templates/js/translated/part.js:217 templates/js/translated/part.js:993
-#: templates/js/translated/table_filters.js:431
+#: templates/js/translated/company.js:304
+#: templates/js/translated/company.js:437
+#: templates/js/translated/company.js:930 templates/js/translated/order.js:2009
+#: templates/js/translated/part.js:213 templates/js/translated/part.js:1020
+#: templates/js/translated/pricing.js:231
+#: templates/js/translated/table_filters.js:435
msgid "Supplier"
msgstr ""
-#: company/models.py:494 templates/js/translated/part.js:218
+#: company/models.py:498 templates/js/translated/part.js:214
msgid "Select supplier"
msgstr ""
-#: company/models.py:499 company/templates/company/supplier_part.html:146
-#: part/bom.py:238 part/bom.py:266 templates/js/translated/company.js:302
-#: templates/js/translated/order.js:2226 templates/js/translated/part.js:228
-#: templates/js/translated/part.js:1011
+#: company/models.py:503 company/templates/company/supplier_part.html:146
+#: part/bom.py:253 part/bom.py:281 templates/js/translated/company.js:303
+#: templates/js/translated/order.js:2265 templates/js/translated/part.js:224
+#: templates/js/translated/part.js:1038 templates/js/translated/pricing.js:243
msgid "SKU"
msgstr ""
-#: company/models.py:500 templates/js/translated/part.js:229
+#: company/models.py:504 templates/js/translated/part.js:225
msgid "Supplier stock keeping unit"
msgstr ""
-#: company/models.py:507
+#: company/models.py:511
msgid "Select manufacturer part"
msgstr ""
-#: company/models.py:513
+#: company/models.py:517
msgid "URL for external supplier part link"
msgstr ""
-#: company/models.py:519
+#: company/models.py:523
msgid "Supplier part description"
msgstr ""
-#: company/models.py:524 company/templates/company/supplier_part.html:181
-#: part/models.py:2687 part/templates/part/upload_bom.html:59
+#: company/models.py:528 company/templates/company/supplier_part.html:181
+#: part/admin.py:225 part/models.py:3300 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_po_report.html:92
-#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:403
+#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:397
msgid "Note"
msgstr ""
-#: company/models.py:528 part/models.py:1788
+#: company/models.py:532 part/models.py:1817
msgid "base cost"
msgstr ""
-#: company/models.py:528 part/models.py:1788
+#: company/models.py:532 part/models.py:1817
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
-#: company/models.py:530 company/templates/company/supplier_part.html:167
-#: stock/models.py:626 stock/templates/stock/item_base.html:243
-#: templates/js/translated/company.js:991 templates/js/translated/stock.js:1978
+#: company/models.py:534 company/templates/company/supplier_part.html:167
+#: stock/admin.py:101 stock/models.py:642
+#: stock/templates/stock/item_base.html:243
+#: templates/js/translated/company.js:992 templates/js/translated/stock.js:1996
msgid "Packaging"
msgstr ""
-#: company/models.py:530
+#: company/models.py:534
msgid "Part packaging"
msgstr ""
-#: company/models.py:533 company/serializers.py:242
+#: company/models.py:537 company/serializers.py:242
#: company/templates/company/supplier_part.html:174
-#: templates/js/translated/company.js:996 templates/js/translated/order.js:820
-#: templates/js/translated/order.js:1215 templates/js/translated/order.js:1470
-#: templates/js/translated/order.js:2270 templates/js/translated/order.js:2287
-#: templates/js/translated/part.js:1043 templates/js/translated/part.js:1095
+#: templates/js/translated/company.js:997 templates/js/translated/order.js:826
+#: templates/js/translated/order.js:1249 templates/js/translated/order.js:1504
+#: templates/js/translated/order.js:2309 templates/js/translated/order.js:2326
+#: templates/js/translated/part.js:1070 templates/js/translated/part.js:1122
msgid "Pack Quantity"
msgstr ""
-#: company/models.py:534
+#: company/models.py:538
msgid "Unit quantity supplied in a single pack"
msgstr ""
-#: company/models.py:540 part/models.py:1790
+#: company/models.py:544 part/models.py:1819
msgid "multiple"
msgstr ""
-#: company/models.py:540
+#: company/models.py:544
msgid "Order multiple"
msgstr ""
-#: company/models.py:548 company/templates/company/supplier_part.html:115
+#: company/models.py:552 company/templates/company/supplier_part.html:115
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:18
-#: templates/js/translated/bom.js:963 templates/js/translated/build.js:1873
-#: templates/js/translated/build.js:2754 templates/js/translated/part.js:598
-#: templates/js/translated/part.js:601
-#: templates/js/translated/table_filters.js:194
+#: templates/js/translated/bom.js:1117 templates/js/translated/build.js:1873
+#: templates/js/translated/build.js:2754 templates/js/translated/part.js:612
+#: templates/js/translated/part.js:615
+#: templates/js/translated/table_filters.js:198
msgid "Available"
msgstr ""
-#: company/models.py:549
+#: company/models.py:553
msgid "Quantity available from supplier"
msgstr ""
-#: company/models.py:553
+#: company/models.py:557
msgid "Availability Updated"
msgstr ""
-#: company/models.py:554
+#: company/models.py:558
msgid "Date of last update of availability data"
msgstr ""
-#: company/models.py:682
+#: company/models.py:686
msgid "last updated"
msgstr ""
@@ -3121,7 +3177,7 @@ msgstr ""
#: company/templates/company/company_base.html:8
#: company/templates/company/company_base.html:12
-#: templates/InvenTree/search.html:179 templates/js/translated/company.js:421
+#: templates/InvenTree/search.html:179 templates/js/translated/company.js:422
msgid "Company"
msgstr ""
@@ -3139,7 +3195,7 @@ msgid "Edit company information"
msgstr ""
#: company/templates/company/company_base.html:34
-#: templates/js/translated/company.js:364
+#: templates/js/translated/company.js:365
msgid "Edit Company"
msgstr ""
@@ -3162,14 +3218,14 @@ msgstr ""
msgid "Download image from URL"
msgstr ""
-#: company/templates/company/company_base.html:86 order/models.py:646
-#: order/templates/order/sales_order_base.html:116 stock/models.py:645
-#: stock/models.py:646 stock/serializers.py:813
+#: company/templates/company/company_base.html:86 order/models.py:665
+#: order/templates/order/sales_order_base.html:116 stock/models.py:661
+#: stock/models.py:662 stock/serializers.py:812
#: stock/templates/stock/item_base.html:399
#: templates/email/overdue_sales_order.html:16
-#: templates/js/translated/company.js:428 templates/js/translated/order.js:2808
-#: templates/js/translated/stock.js:2569
-#: templates/js/translated/table_filters.js:435
+#: templates/js/translated/company.js:429 templates/js/translated/order.js:2819
+#: templates/js/translated/stock.js:2587
+#: templates/js/translated/table_filters.js:439
msgid "Customer"
msgstr ""
@@ -3182,12 +3238,12 @@ msgid "Phone"
msgstr ""
#: company/templates/company/company_base.html:208
-#: part/templates/part/part_base.html:499
+#: part/templates/part/part_base.html:514
msgid "Upload Image"
msgstr ""
#: company/templates/company/company_base.html:223
-#: part/templates/part/part_base.html:554
+#: part/templates/part/part_base.html:569
msgid "Download Image"
msgstr ""
@@ -3203,7 +3259,7 @@ msgstr ""
#: company/templates/company/detail.html:19
#: company/templates/company/manufacturer_part.html:123
-#: part/templates/part/detail.html:359
+#: part/templates/part/detail.html:357
msgid "New Supplier Part"
msgstr ""
@@ -3232,7 +3288,7 @@ msgstr ""
msgid "Create new manufacturer part"
msgstr ""
-#: company/templates/company/detail.html:66 part/templates/part/detail.html:389
+#: company/templates/company/detail.html:66 part/templates/part/detail.html:387
msgid "New Manufacturer Part"
msgstr ""
@@ -3246,7 +3302,7 @@ msgstr ""
#: order/templates/order/order_base.html:13
#: order/templates/order/purchase_orders.html:8
#: order/templates/order/purchase_orders.html:12
-#: part/templates/part/detail.html:84 part/templates/part/part_sidebar.html:37
+#: part/templates/part/detail.html:84 part/templates/part/part_sidebar.html:35
#: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200
#: templates/InvenTree/settings/sidebar.html:49
#: templates/js/translated/search.js:293 templates/navbar.html:50
@@ -3269,7 +3325,7 @@ msgstr ""
#: order/templates/order/sales_order_base.html:13
#: order/templates/order/sales_orders.html:8
#: order/templates/order/sales_orders.html:15
-#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:41
+#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:39
#: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220
#: templates/InvenTree/settings/sidebar.html:51
#: templates/js/translated/search.js:317 templates/navbar.html:61
@@ -3297,8 +3353,7 @@ msgid "Supplier List"
msgstr ""
#: company/templates/company/manufacturer_part.html:15 company/views.py:38
-#: part/templates/part/prices.html:172 templates/InvenTree/search.html:181
-#: templates/navbar.html:49
+#: templates/InvenTree/search.html:181 templates/navbar.html:49
msgid "Manufacturers"
msgstr ""
@@ -3309,12 +3364,12 @@ msgid "Order part"
msgstr ""
#: company/templates/company/manufacturer_part.html:39
-#: templates/js/translated/company.js:716
+#: templates/js/translated/company.js:717
msgid "Edit manufacturer part"
msgstr ""
#: company/templates/company/manufacturer_part.html:43
-#: templates/js/translated/company.js:717
+#: templates/js/translated/company.js:718
msgid "Delete manufacturer part"
msgstr ""
@@ -3329,35 +3384,36 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:119
#: company/templates/company/supplier_part.html:15 company/views.py:32
-#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:168
+#: part/admin.py:46 part/templates/part/part_sidebar.html:33
#: templates/InvenTree/search.html:191 templates/navbar.html:48
msgid "Suppliers"
msgstr ""
#: company/templates/company/manufacturer_part.html:136
-#: part/templates/part/detail.html:370
+#: part/templates/part/detail.html:368
msgid "Delete supplier parts"
msgstr ""
#: company/templates/company/manufacturer_part.html:136
#: company/templates/company/manufacturer_part.html:183
-#: part/templates/part/detail.html:371 part/templates/part/detail.html:401
-#: templates/js/translated/forms.js:455 templates/js/translated/helpers.js:36
-#: users/models.py:222
+#: part/templates/part/detail.html:369 part/templates/part/detail.html:399
+#: templates/js/translated/forms.js:455 templates/js/translated/helpers.js:38
+#: templates/js/translated/part.js:340 templates/js/translated/stock.js:184
+#: users/models.py:224
msgid "Delete"
msgstr ""
#: company/templates/company/manufacturer_part.html:166
#: company/templates/company/manufacturer_part_sidebar.html:5
#: part/templates/part/category_sidebar.html:19
-#: part/templates/part/detail.html:186 part/templates/part/part_sidebar.html:8
+#: part/templates/part/detail.html:184 part/templates/part/part_sidebar.html:8
msgid "Parameters"
msgstr ""
#: company/templates/company/manufacturer_part.html:170
-#: part/templates/part/detail.html:191
+#: part/templates/part/detail.html:189
#: templates/InvenTree/settings/category.html:12
-#: templates/InvenTree/settings/part.html:68
+#: templates/InvenTree/settings/part.html:62
msgid "New Parameter"
msgstr ""
@@ -3366,7 +3422,7 @@ msgid "Delete parameters"
msgstr ""
#: company/templates/company/manufacturer_part.html:245
-#: part/templates/part/detail.html:827
+#: part/templates/part/detail.html:825
msgid "Add Parameter"
msgstr ""
@@ -3387,10 +3443,10 @@ msgid "Assigned Stock Items"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:609
+#: company/templates/company/supplier_part.html:24 stock/models.py:625
#: stock/templates/stock/item_base.html:236
-#: templates/js/translated/company.js:945 templates/js/translated/order.js:1135
-#: templates/js/translated/stock.js:1935
+#: templates/js/translated/company.js:946 templates/js/translated/order.js:1169
+#: templates/js/translated/stock.js:1954
msgid "Supplier Part"
msgstr ""
@@ -3441,13 +3497,13 @@ msgstr ""
#: company/templates/company/supplier_part.html:64
#: company/templates/company/supplier_part.html:65
-#: templates/js/translated/company.js:247
+#: templates/js/translated/company.js:248
msgid "Edit Supplier Part"
msgstr ""
#: company/templates/company/supplier_part.html:69
#: company/templates/company/supplier_part.html:70
-#: templates/js/translated/company.js:222
+#: templates/js/translated/company.js:223
msgid "Duplicate Supplier Part"
msgstr ""
@@ -3482,7 +3538,7 @@ msgstr ""
#: company/templates/company/supplier_part.html:204
#: part/templates/part/detail.html:25 stock/templates/stock/location.html:198
-#: templates/js/translated/stock.js:435
+#: templates/js/translated/stock.js:454
msgid "New Stock Item"
msgstr ""
@@ -3492,47 +3548,20 @@ msgid "Supplier Part Orders"
msgstr ""
#: company/templates/company/supplier_part.html:242
-#: part/templates/part/prices.html:10
msgid "Pricing Information"
msgstr ""
#: company/templates/company/supplier_part.html:247
-#: company/templates/company/supplier_part.html:388
-#: part/templates/part/prices.html:276 templates/js/translated/part.js:2297
+#: company/templates/company/supplier_part.html:317
+#: templates/js/translated/pricing.js:413
msgid "Add Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:282
+#: company/templates/company/supplier_part.html:285
msgid "Link Barcode to Supplier Part"
msgstr ""
-#: company/templates/company/supplier_part.html:300
-msgid "No price break information found"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:314
-#: templates/js/translated/part.js:2307
-msgid "Delete Price Break"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:328
-#: templates/js/translated/part.js:2321
-msgid "Edit Price Break"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:353
-msgid "Edit price break"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:354
-msgid "Delete price break"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:363
-msgid "Last updated"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:444
+#: company/templates/company/supplier_part.html:375
msgid "Update Part Availability"
msgstr ""
@@ -3542,9 +3571,9 @@ msgstr ""
#: stock/templates/stock/stock_app_base.html:10
#: templates/InvenTree/search.html:153
#: templates/InvenTree/settings/sidebar.html:45
-#: templates/js/translated/part.js:749 templates/js/translated/part.js:1335
-#: templates/js/translated/part.js:1501 templates/js/translated/stock.js:959
-#: templates/js/translated/stock.js:1760 templates/navbar.html:31
+#: templates/js/translated/part.js:763 templates/js/translated/part.js:1356
+#: templates/js/translated/part.js:1512 templates/js/translated/stock.js:978
+#: templates/js/translated/stock.js:1779 templates/navbar.html:31
msgid "Stock"
msgstr ""
@@ -3558,19 +3587,20 @@ msgid "Supplier Part Pricing"
msgstr ""
#: company/templates/company/supplier_part_navbar.html:29
-#: part/templates/part/part_sidebar.html:31
+#: part/templates/part/part_sidebar.html:30
+#: templates/InvenTree/settings/sidebar.html:35
msgid "Pricing"
msgstr ""
#: company/templates/company/supplier_part_sidebar.html:5
#: part/templates/part/category.html:198
-#: part/templates/part/category_sidebar.html:17
+#: part/templates/part/category_sidebar.html:17 stock/admin.py:31
#: stock/templates/stock/location.html:168
#: stock/templates/stock/location.html:182
#: stock/templates/stock/location.html:194
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:155 templates/js/translated/search.js:225
-#: templates/js/translated/stock.js:2446 users/models.py:40
+#: templates/js/translated/stock.js:2464 users/models.py:40
msgid "Stock Items"
msgstr ""
@@ -3672,438 +3702,439 @@ msgstr ""
msgid "No matching purchase order found"
msgstr ""
-#: order/models.py:82
+#: order/models.py:83
msgid "Order description"
msgstr ""
-#: order/models.py:84 order/models.py:1260
+#: order/models.py:85 order/models.py:1283
msgid "Link to external page"
msgstr ""
-#: order/models.py:92
+#: order/models.py:93
msgid "Created By"
msgstr ""
-#: order/models.py:99
+#: order/models.py:100
msgid "User or group responsible for this order"
msgstr ""
-#: order/models.py:104
+#: order/models.py:105
msgid "Order notes"
msgstr ""
-#: order/models.py:241 order/models.py:633
+#: order/models.py:242 order/models.py:652
msgid "Order reference"
msgstr ""
-#: order/models.py:249 order/models.py:651
+#: order/models.py:250 order/models.py:670
msgid "Purchase order status"
msgstr ""
-#: order/models.py:264
+#: order/models.py:265
msgid "Company from which the items are being ordered"
msgstr ""
-#: order/models.py:267 order/templates/order/order_base.html:133
-#: templates/js/translated/order.js:1984
+#: order/models.py:268 order/templates/order/order_base.html:133
+#: templates/js/translated/order.js:2018
msgid "Supplier Reference"
msgstr ""
-#: order/models.py:267
+#: order/models.py:268
msgid "Supplier order reference code"
msgstr ""
-#: order/models.py:274
+#: order/models.py:275
msgid "received by"
msgstr ""
-#: order/models.py:279
+#: order/models.py:280
msgid "Issue Date"
msgstr ""
-#: order/models.py:280
+#: order/models.py:281
msgid "Date order was issued"
msgstr ""
-#: order/models.py:285
+#: order/models.py:286
msgid "Target Delivery Date"
msgstr ""
-#: order/models.py:286
+#: order/models.py:287
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr ""
-#: order/models.py:292
+#: order/models.py:293
msgid "Date order was completed"
msgstr ""
-#: order/models.py:328
+#: order/models.py:332
msgid "Part supplier must match PO supplier"
msgstr ""
-#: order/models.py:472
+#: order/models.py:491
msgid "Quantity must be a positive number"
msgstr ""
-#: order/models.py:647
+#: order/models.py:666
msgid "Company to which the items are being sold"
msgstr ""
-#: order/models.py:658
+#: order/models.py:677
msgid "Customer Reference "
msgstr ""
-#: order/models.py:658
+#: order/models.py:677
msgid "Customer order reference code"
msgstr ""
-#: order/models.py:663
+#: order/models.py:682
msgid "Target date for order completion. Order will be overdue after this date."
msgstr ""
-#: order/models.py:666 order/models.py:1218
-#: templates/js/translated/order.js:2855 templates/js/translated/order.js:3017
+#: order/models.py:685 order/models.py:1241
+#: templates/js/translated/order.js:2866 templates/js/translated/order.js:3028
msgid "Shipment Date"
msgstr ""
-#: order/models.py:673
+#: order/models.py:692
msgid "shipped by"
msgstr ""
-#: order/models.py:728
+#: order/models.py:747
msgid "Order cannot be completed as no parts have been assigned"
msgstr ""
-#: order/models.py:732
+#: order/models.py:751
msgid "Only a pending order can be marked as complete"
msgstr ""
-#: order/models.py:735 templates/js/translated/order.js:419
+#: order/models.py:754 templates/js/translated/order.js:419
msgid "Order cannot be completed as there are incomplete shipments"
msgstr ""
-#: order/models.py:738
+#: order/models.py:757
msgid "Order cannot be completed as there are incomplete line items"
msgstr ""
-#: order/models.py:912
+#: order/models.py:935
msgid "Item quantity"
msgstr ""
-#: order/models.py:918
+#: order/models.py:941
msgid "Line item reference"
msgstr ""
-#: order/models.py:920
+#: order/models.py:943
msgid "Line item notes"
msgstr ""
-#: order/models.py:925
+#: order/models.py:948
msgid "Target shipping date for this line item"
msgstr ""
-#: order/models.py:943
+#: order/models.py:966
msgid "Context"
msgstr ""
-#: order/models.py:944
+#: order/models.py:967
msgid "Additional context for this line"
msgstr ""
-#: order/models.py:953
+#: order/models.py:976
msgid "Unit price"
msgstr ""
-#: order/models.py:983
+#: order/models.py:1006
msgid "Supplier part must match supplier"
msgstr ""
-#: order/models.py:991
+#: order/models.py:1014
msgid "deleted"
msgstr ""
-#: order/models.py:997 order/models.py:1077 order/models.py:1118
-#: order/models.py:1212 order/models.py:1344
-#: templates/js/translated/order.js:3473
+#: order/models.py:1020 order/models.py:1100 order/models.py:1141
+#: order/models.py:1235 order/models.py:1367
+#: templates/js/translated/order.js:3484
msgid "Order"
msgstr ""
-#: order/models.py:998 order/models.py:1077
+#: order/models.py:1021 order/models.py:1100
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report.html:76
#: stock/templates/stock/item_base.html:182
#: templates/email/overdue_purchase_order.html:15
-#: templates/js/translated/order.js:619 templates/js/translated/order.js:1136
-#: templates/js/translated/order.js:1959 templates/js/translated/part.js:970
-#: templates/js/translated/stock.js:1915 templates/js/translated/stock.js:2550
+#: templates/js/translated/order.js:619 templates/js/translated/order.js:1170
+#: templates/js/translated/order.js:1993 templates/js/translated/part.js:997
+#: templates/js/translated/pricing.js:515 templates/js/translated/stock.js:1934
+#: templates/js/translated/stock.js:2568
msgid "Purchase Order"
msgstr ""
-#: order/models.py:1016
+#: order/models.py:1039
msgid "Supplier part"
msgstr ""
-#: order/models.py:1023 order/templates/order/order_base.html:178
-#: templates/js/translated/order.js:1641 templates/js/translated/order.js:2373
-#: templates/js/translated/part.js:1087 templates/js/translated/part.js:1125
-#: templates/js/translated/table_filters.js:346
+#: order/models.py:1046 order/templates/order/order_base.html:178
+#: templates/js/translated/order.js:1675 templates/js/translated/order.js:2396
+#: templates/js/translated/part.js:1114 templates/js/translated/part.js:1146
+#: templates/js/translated/table_filters.js:350
msgid "Received"
msgstr ""
-#: order/models.py:1024
+#: order/models.py:1047
msgid "Number of items received"
msgstr ""
-#: order/models.py:1031 part/templates/part/prices.html:181 stock/models.py:741
-#: stock/serializers.py:169 stock/templates/stock/item_base.html:189
-#: templates/js/translated/stock.js:1966
+#: order/models.py:1054 stock/models.py:757 stock/serializers.py:173
+#: stock/templates/stock/item_base.html:189
+#: templates/js/translated/stock.js:1985
msgid "Purchase Price"
msgstr ""
-#: order/models.py:1032
+#: order/models.py:1055
msgid "Unit purchase price"
msgstr ""
-#: order/models.py:1040
+#: order/models.py:1063
msgid "Where does the Purchaser want this item to be stored?"
msgstr ""
-#: order/models.py:1106
+#: order/models.py:1129
msgid "Virtual part cannot be assigned to a sales order"
msgstr ""
-#: order/models.py:1111
+#: order/models.py:1134
msgid "Only salable parts can be assigned to a sales order"
msgstr ""
-#: order/models.py:1137 part/templates/part/part_pricing.html:115
-#: part/templates/part/prices.html:121 part/templates/part/prices.html:290
+#: order/models.py:1160 part/templates/part/part_pricing.html:107
+#: part/templates/part/prices.html:139 templates/js/translated/pricing.js:665
msgid "Sale Price"
msgstr ""
-#: order/models.py:1138
+#: order/models.py:1161
msgid "Unit sale price"
msgstr ""
-#: order/models.py:1143
+#: order/models.py:1166
msgid "Shipped quantity"
msgstr ""
-#: order/models.py:1219
+#: order/models.py:1242
msgid "Date of shipment"
msgstr ""
-#: order/models.py:1226
+#: order/models.py:1249
msgid "Checked By"
msgstr ""
-#: order/models.py:1227
+#: order/models.py:1250
msgid "User who checked this shipment"
msgstr ""
-#: order/models.py:1234 order/models.py:1419 order/serializers.py:1228
-#: order/serializers.py:1356 templates/js/translated/model_renderers.js:314
+#: order/models.py:1257 order/models.py:1442 order/serializers.py:1221
+#: order/serializers.py:1349 templates/js/translated/model_renderers.js:314
msgid "Shipment"
msgstr ""
-#: order/models.py:1235
+#: order/models.py:1258
msgid "Shipment number"
msgstr ""
-#: order/models.py:1239
+#: order/models.py:1262
msgid "Shipment notes"
msgstr ""
-#: order/models.py:1245
+#: order/models.py:1268
msgid "Tracking Number"
msgstr ""
-#: order/models.py:1246
+#: order/models.py:1269
msgid "Shipment tracking information"
msgstr ""
-#: order/models.py:1253
+#: order/models.py:1276
msgid "Invoice Number"
msgstr ""
-#: order/models.py:1254
+#: order/models.py:1277
msgid "Reference number for associated invoice"
msgstr ""
-#: order/models.py:1272
+#: order/models.py:1295
msgid "Shipment has already been sent"
msgstr ""
-#: order/models.py:1275
+#: order/models.py:1298
msgid "Shipment has no allocated stock items"
msgstr ""
-#: order/models.py:1378 order/models.py:1380
+#: order/models.py:1401 order/models.py:1403
msgid "Stock item has not been assigned"
msgstr ""
-#: order/models.py:1384
+#: order/models.py:1407
msgid "Cannot allocate stock item to a line with a different part"
msgstr ""
-#: order/models.py:1386
+#: order/models.py:1409
msgid "Cannot allocate stock to a line without a part"
msgstr ""
-#: order/models.py:1389
+#: order/models.py:1412
msgid "Allocation quantity cannot exceed stock quantity"
msgstr ""
-#: order/models.py:1399 order/serializers.py:1090
+#: order/models.py:1422 order/serializers.py:1083
msgid "Quantity must be 1 for serialized stock item"
msgstr ""
-#: order/models.py:1402
+#: order/models.py:1425
msgid "Sales order does not match shipment"
msgstr ""
-#: order/models.py:1403
+#: order/models.py:1426
msgid "Shipment does not match sales order"
msgstr ""
-#: order/models.py:1411
+#: order/models.py:1434
msgid "Line"
msgstr ""
-#: order/models.py:1420
+#: order/models.py:1443
msgid "Sales order shipment reference"
msgstr ""
-#: order/models.py:1433 templates/js/translated/notification.js:55
+#: order/models.py:1456 templates/js/translated/notification.js:55
msgid "Item"
msgstr ""
-#: order/models.py:1434
+#: order/models.py:1457
msgid "Select stock item to allocate"
msgstr ""
-#: order/models.py:1437
+#: order/models.py:1460
msgid "Enter stock allocation quantity"
msgstr ""
-#: order/serializers.py:67
+#: order/serializers.py:63
msgid "Price currency"
msgstr ""
-#: order/serializers.py:199
+#: order/serializers.py:193
msgid "Order cannot be cancelled"
msgstr ""
-#: order/serializers.py:209 order/serializers.py:1108
+#: order/serializers.py:203 order/serializers.py:1101
msgid "Allow order to be closed with incomplete line items"
msgstr ""
-#: order/serializers.py:220 order/serializers.py:1119
+#: order/serializers.py:214 order/serializers.py:1112
msgid "Order has incomplete line items"
msgstr ""
-#: order/serializers.py:311
+#: order/serializers.py:305
msgid "Order is not open"
msgstr ""
-#: order/serializers.py:335
+#: order/serializers.py:327
msgid "Purchase price currency"
msgstr ""
-#: order/serializers.py:354
+#: order/serializers.py:346
msgid "Supplier part must be specified"
msgstr ""
-#: order/serializers.py:359
+#: order/serializers.py:351
msgid "Purchase order must be specified"
msgstr ""
-#: order/serializers.py:365
+#: order/serializers.py:357
msgid "Supplier must match purchase order"
msgstr ""
-#: order/serializers.py:366
+#: order/serializers.py:358
msgid "Purchase order must match supplier"
msgstr ""
-#: order/serializers.py:430 order/serializers.py:1196
+#: order/serializers.py:421 order/serializers.py:1189
msgid "Line Item"
msgstr ""
-#: order/serializers.py:436
+#: order/serializers.py:427
msgid "Line item does not match purchase order"
msgstr ""
-#: order/serializers.py:446 order/serializers.py:557
+#: order/serializers.py:437 order/serializers.py:548
msgid "Select destination location for received items"
msgstr ""
-#: order/serializers.py:465 templates/js/translated/order.js:1497
+#: order/serializers.py:456 templates/js/translated/order.js:1531
msgid "Enter batch code for incoming stock items"
msgstr ""
-#: order/serializers.py:473 templates/js/translated/order.js:1508
+#: order/serializers.py:464 templates/js/translated/order.js:1542
msgid "Enter serial numbers for incoming stock items"
msgstr ""
-#: order/serializers.py:487
+#: order/serializers.py:478
msgid "Unique identifier field"
msgstr ""
-#: order/serializers.py:501
+#: order/serializers.py:492
msgid "Barcode is already in use"
msgstr ""
-#: order/serializers.py:527
+#: order/serializers.py:518
msgid "An integer quantity must be provided for trackable parts"
msgstr ""
-#: order/serializers.py:573
+#: order/serializers.py:564
msgid "Line items must be provided"
msgstr ""
-#: order/serializers.py:590
+#: order/serializers.py:581
msgid "Destination location must be specified"
msgstr ""
-#: order/serializers.py:601
+#: order/serializers.py:592
msgid "Supplied barcode values must be unique"
msgstr ""
-#: order/serializers.py:907
+#: order/serializers.py:900
msgid "Sale price currency"
msgstr ""
-#: order/serializers.py:988
+#: order/serializers.py:981
msgid "No shipment details provided"
msgstr ""
-#: order/serializers.py:1051 order/serializers.py:1205
+#: order/serializers.py:1044 order/serializers.py:1198
msgid "Line item is not associated with this order"
msgstr ""
-#: order/serializers.py:1073
+#: order/serializers.py:1066
msgid "Quantity must be positive"
msgstr ""
-#: order/serializers.py:1218
+#: order/serializers.py:1211
msgid "Enter serial numbers to allocate"
msgstr ""
-#: order/serializers.py:1240 order/serializers.py:1364
+#: order/serializers.py:1233 order/serializers.py:1357
msgid "Shipment has already been shipped"
msgstr ""
-#: order/serializers.py:1243 order/serializers.py:1367
+#: order/serializers.py:1236 order/serializers.py:1360
msgid "Shipment is not associated with this order"
msgstr ""
-#: order/serializers.py:1297
+#: order/serializers.py:1290
msgid "No match found for the following serial numbers"
msgstr ""
-#: order/serializers.py:1307
+#: order/serializers.py:1300
msgid "The following serial numbers are already allocated"
msgstr ""
@@ -4154,7 +4185,8 @@ msgid "Duplicate order"
msgstr ""
#: order/templates/order/order_base.html:61
-msgid "Place order"
+#: order/templates/order/order_base.html:62
+msgid "Submit Order"
msgstr ""
#: order/templates/order/order_base.html:65
@@ -4162,7 +4194,7 @@ msgid "Receive items"
msgstr ""
#: order/templates/order/order_base.html:67
-#: order/templates/order/purchase_order_detail.html:30
+#: order/templates/order/purchase_order_detail.html:32
msgid "Receive Items"
msgstr ""
@@ -4248,9 +4280,9 @@ msgstr ""
#: part/templates/part/import_wizard/match_references.html:49
#: templates/js/translated/bom.js:102 templates/js/translated/build.js:479
#: templates/js/translated/build.js:631 templates/js/translated/build.js:2078
-#: templates/js/translated/order.js:1084 templates/js/translated/order.js:1586
-#: templates/js/translated/order.js:3092 templates/js/translated/stock.js:625
-#: templates/js/translated/stock.js:793
+#: templates/js/translated/order.js:1118 templates/js/translated/order.js:1620
+#: templates/js/translated/order.js:3103 templates/js/translated/stock.js:644
+#: templates/js/translated/stock.js:812
#: templates/patterns/wizard/match_fields.html:70
msgid "Remove row"
msgstr ""
@@ -4278,42 +4310,42 @@ msgstr ""
msgid "Received Stock"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:17
+#: order/templates/order/purchase_order_detail.html:19
msgid "Purchase Order Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:26
-#: order/templates/order/sales_order_detail.html:22
-#: order/templates/order/sales_order_detail.html:255
+#: order/templates/order/purchase_order_detail.html:28
+#: order/templates/order/sales_order_detail.html:24
+#: order/templates/order/sales_order_detail.html:260
#: templates/js/translated/order.js:728
msgid "Add Line Item"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:29
+#: order/templates/order/purchase_order_detail.html:31
msgid "Receive selected items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:48
-#: order/templates/order/sales_order_detail.html:42
+#: order/templates/order/purchase_order_detail.html:50
+#: order/templates/order/sales_order_detail.html:45
msgid "Extra Lines"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:53
-#: order/templates/order/sales_order_detail.html:47
-#: order/templates/order/sales_order_detail.html:280
+#: order/templates/order/purchase_order_detail.html:56
+#: order/templates/order/sales_order_detail.html:51
+#: order/templates/order/sales_order_detail.html:291
msgid "Add Extra Line"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:72
+#: order/templates/order/purchase_order_detail.html:76
msgid "Received Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:97
-#: order/templates/order/sales_order_detail.html:150
+#: order/templates/order/purchase_order_detail.html:101
+#: order/templates/order/sales_order_detail.html:155
msgid "Order Notes"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:232
+#: order/templates/order/purchase_order_detail.html:239
msgid "Add Order Line"
msgstr ""
@@ -4345,12 +4377,12 @@ msgid "This Sales Order has not been fully allocated"
msgstr ""
#: order/templates/order/sales_order_base.html:123
-#: templates/js/translated/order.js:2821
+#: templates/js/translated/order.js:2832
msgid "Customer Reference"
msgstr ""
#: order/templates/order/sales_order_base.html:141
-#: order/templates/order/sales_order_detail.html:104
+#: order/templates/order/sales_order_detail.html:109
#: order/templates/order/so_sidebar.html:11
msgid "Completed Shipments"
msgstr ""
@@ -4359,22 +4391,22 @@ msgstr ""
msgid "Edit Sales Order"
msgstr ""
-#: order/templates/order/sales_order_detail.html:17
+#: order/templates/order/sales_order_detail.html:18
msgid "Sales Order Items"
msgstr ""
-#: order/templates/order/sales_order_detail.html:68
+#: order/templates/order/sales_order_detail.html:73
#: order/templates/order/so_sidebar.html:8
msgid "Pending Shipments"
msgstr ""
-#: order/templates/order/sales_order_detail.html:72
-#: templates/attachment_table.html:6 templates/js/translated/bom.js:1158
+#: order/templates/order/sales_order_detail.html:77
+#: templates/attachment_table.html:6 templates/js/translated/bom.js:1223
#: templates/js/translated/build.js:1979
msgid "Actions"
msgstr ""
-#: order/templates/order/sales_order_detail.html:81
+#: order/templates/order/sales_order_detail.html:86
msgid "New Shipment"
msgstr ""
@@ -4400,617 +4432,844 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/api.py:516
+#: part/admin.py:19 part/admin.py:219 part/models.py:3181 stock/admin.py:84
+#: templates/js/translated/model_renderers.js:212
+msgid "Part ID"
+msgstr ""
+
+#: part/admin.py:20 part/admin.py:221 part/models.py:3185 stock/admin.py:85
+msgid "Part Name"
+msgstr ""
+
+#: part/admin.py:21
+msgid "Part Description"
+msgstr ""
+
+#: part/admin.py:22 part/models.py:822 part/templates/part/part_base.html:272
+#: templates/js/translated/part.js:751 templates/js/translated/part.js:1469
+#: templates/js/translated/stock.js:1745
+msgid "IPN"
+msgstr ""
+
+#: part/admin.py:23 part/models.py:830 part/templates/part/part_base.html:279
+#: report/models.py:171 templates/js/translated/part.js:755
+msgid "Revision"
+msgstr ""
+
+#: part/admin.py:24 part/admin.py:145 part/models.py:808
+#: part/templates/part/category.html:87 part/templates/part/part_base.html:300
+msgid "Keywords"
+msgstr ""
+
+#: part/admin.py:28 part/admin.py:139
+#: templates/js/translated/model_renderers.js:338
+msgid "Category ID"
+msgstr ""
+
+#: part/admin.py:29 part/admin.py:140
+msgid "Category Name"
+msgstr ""
+
+#: part/admin.py:30 part/admin.py:144
+msgid "Default Location ID"
+msgstr ""
+
+#: part/admin.py:31
+msgid "Default Supplier ID"
+msgstr ""
+
+#: part/admin.py:33 part/models.py:914 part/templates/part/part_base.html:206
+msgid "Minimum Stock"
+msgstr ""
+
+#: part/admin.py:47 part/templates/part/part_base.html:200
+#: templates/js/translated/company.js:1028
+#: templates/js/translated/table_filters.js:213
+msgid "In Stock"
+msgstr ""
+
+#: part/admin.py:48 part/bom.py:145 part/templates/part/part_base.html:213
+#: templates/js/translated/bom.js:1155 templates/js/translated/build.js:1925
+#: templates/js/translated/part.js:602 templates/js/translated/part.js:622
+#: templates/js/translated/part.js:1359 templates/js/translated/part.js:1537
+#: templates/js/translated/table_filters.js:68
+msgid "On Order"
+msgstr ""
+
+#: part/admin.py:49 part/templates/part/part_sidebar.html:27
+msgid "Used In"
+msgstr ""
+
+#: part/admin.py:50 templates/js/translated/build.js:1937
+#: templates/js/translated/build.js:2195 templates/js/translated/build.js:2761
+#: templates/js/translated/order.js:3943
+msgid "Allocated"
+msgstr ""
+
+#: part/admin.py:51 part/templates/part/part_base.html:244
+#: templates/js/translated/part.js:605 templates/js/translated/part.js:625
+#: templates/js/translated/part.js:1363 templates/js/translated/part.js:1544
+msgid "Building"
+msgstr ""
+
+#: part/admin.py:52 part/models.py:2765
+msgid "Minimum Cost"
+msgstr ""
+
+#: part/admin.py:53 part/models.py:2771
+msgid "Maximum Cost"
+msgstr ""
+
+#: part/admin.py:142 part/admin.py:216 stock/admin.py:26 stock/admin.py:98
+msgid "Parent ID"
+msgstr ""
+
+#: part/admin.py:143 part/admin.py:218 stock/admin.py:27
+msgid "Parent Name"
+msgstr ""
+
+#: part/admin.py:146 part/templates/part/category.html:81
+#: part/templates/part/category.html:94
+msgid "Category Path"
+msgstr ""
+
+#: part/admin.py:149 part/models.py:363 part/templates/part/cat_link.html:3
+#: part/templates/part/category.html:23 part/templates/part/category.html:134
+#: part/templates/part/category.html:154
+#: part/templates/part/category_sidebar.html:9
+#: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84
+#: templates/InvenTree/settings/sidebar.html:41
+#: templates/js/translated/part.js:2043 templates/js/translated/search.js:146
+#: templates/navbar.html:24 users/models.py:38
+msgid "Parts"
+msgstr ""
+
+#: part/admin.py:211
+msgid "BOM Level"
+msgstr ""
+
+#: part/admin.py:213
+msgid "BOM Item ID"
+msgstr ""
+
+#: part/admin.py:217
+msgid "Parent IPN"
+msgstr ""
+
+#: part/admin.py:220 part/models.py:3189
+msgid "Part IPN"
+msgstr ""
+
+#: part/admin.py:226 templates/js/translated/pricing.js:91
+#: templates/js/translated/pricing.js:727
+msgid "Minimum Price"
+msgstr ""
+
+#: part/admin.py:227 templates/js/translated/pricing.js:86
+#: templates/js/translated/pricing.js:735
+msgid "Maximum Price"
+msgstr ""
+
+#: part/api.py:532
msgid "Incoming Purchase Order"
msgstr ""
-#: part/api.py:536
+#: part/api.py:552
msgid "Outgoing Sales Order"
msgstr ""
-#: part/api.py:554
+#: part/api.py:570
msgid "Stock produced by Build Order"
msgstr ""
-#: part/api.py:640
+#: part/api.py:656
msgid "Stock required for Build Order"
msgstr ""
-#: part/api.py:777
+#: part/api.py:814
msgid "Valid"
msgstr ""
-#: part/api.py:778
+#: part/api.py:815
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/api.py:784
+#: part/api.py:821
msgid "This option must be selected"
msgstr ""
-#: part/api.py:1207
+#: part/api.py:1261
msgid "Must be greater than zero"
msgstr ""
-#: part/api.py:1211
+#: part/api.py:1265
msgid "Must be a valid quantity"
msgstr ""
-#: part/api.py:1226
+#: part/api.py:1280
msgid "Specify location for initial part stock"
msgstr ""
-#: part/api.py:1257 part/api.py:1261 part/api.py:1276 part/api.py:1280
+#: part/api.py:1311 part/api.py:1315 part/api.py:1330 part/api.py:1334
msgid "This field is required"
msgstr ""
-#: part/bom.py:127 part/models.py:98 part/models.py:838
-#: part/templates/part/category.html:109 part/templates/part/part_base.html:345
+#: part/bom.py:142 part/models.py:116 part/models.py:857
+#: part/templates/part/category.html:109 part/templates/part/part_base.html:360
msgid "Default Location"
msgstr ""
-#: part/bom.py:128 templates/email/low_stock_notification.html:17
+#: part/bom.py:143 templates/email/low_stock_notification.html:17
msgid "Total Stock"
msgstr ""
-#: part/bom.py:129 part/templates/part/part_base.html:195
-#: templates/js/translated/order.js:3913
+#: part/bom.py:144 part/templates/part/part_base.html:195
+#: templates/js/translated/order.js:3910
msgid "Available Stock"
msgstr ""
-#: part/bom.py:130 part/templates/part/part_base.html:213
-#: templates/js/translated/bom.js:1001 templates/js/translated/build.js:1925
-#: templates/js/translated/part.js:588 templates/js/translated/part.js:608
-#: templates/js/translated/part.js:1338 templates/js/translated/part.js:1526
-#: templates/js/translated/table_filters.js:68
-msgid "On Order"
-msgstr ""
-
#: part/forms.py:41
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:99
+#: part/models.py:117
msgid "Default location for parts in this category"
msgstr ""
-#: part/models.py:102
+#: part/models.py:120
msgid "Default keywords"
msgstr ""
-#: part/models.py:102
+#: part/models.py:120
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:107 stock/models.py:85
+#: part/models.py:125 stock/models.py:101
msgid "Icon"
msgstr ""
-#: part/models.py:108 stock/models.py:86
+#: part/models.py:126 stock/models.py:102
msgid "Icon (optional)"
msgstr ""
-#: part/models.py:122 part/models.py:2517 part/templates/part/category.html:16
+#: part/models.py:140 part/models.py:3130 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
-#: part/models.py:123 part/templates/part/category.html:129
+#: part/models.py:141 part/templates/part/category.html:129
#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200
#: users/models.py:37
msgid "Part Categories"
msgstr ""
-#: part/models.py:344 part/templates/part/cat_link.html:3
-#: part/templates/part/category.html:23 part/templates/part/category.html:134
-#: part/templates/part/category.html:154
-#: part/templates/part/category_sidebar.html:9
-#: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84
-#: templates/InvenTree/settings/sidebar.html:41
-#: templates/js/translated/part.js:2019 templates/js/translated/search.js:146
-#: templates/navbar.html:24 users/models.py:38
-msgid "Parts"
-msgstr ""
-
-#: part/models.py:429
+#: part/models.py:448
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:499 part/models.py:511
+#: part/models.py:518 part/models.py:530
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:601
+#: part/models.py:620
msgid "Stock item with this serial number already exists"
msgstr ""
-#: part/models.py:732
+#: part/models.py:751
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:759 part/models.py:2573
+#: part/models.py:778 part/models.py:3186
msgid "Part name"
msgstr ""
-#: part/models.py:766
+#: part/models.py:785
msgid "Is Template"
msgstr ""
-#: part/models.py:767
+#: part/models.py:786
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:777
+#: part/models.py:796
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:778
+#: part/models.py:797
msgid "Variant Of"
msgstr ""
-#: part/models.py:784
+#: part/models.py:803
msgid "Part description"
msgstr ""
-#: part/models.py:789 part/templates/part/category.html:87
-#: part/templates/part/part_base.html:300
-msgid "Keywords"
-msgstr ""
-
-#: part/models.py:790
+#: part/models.py:809
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:797 part/models.py:2272 part/models.py:2516
+#: part/models.py:816 part/models.py:2885 part/models.py:3129
#: part/templates/part/part_base.html:263
#: templates/InvenTree/settings/settings.html:229
#: templates/js/translated/notification.js:50
-#: templates/js/translated/part.js:1480 templates/js/translated/part.js:1724
+#: templates/js/translated/part.js:1491 templates/js/translated/part.js:1748
msgid "Category"
msgstr ""
-#: part/models.py:798
+#: part/models.py:817
msgid "Part category"
msgstr ""
-#: part/models.py:803 part/templates/part/part_base.html:272
-#: templates/js/translated/part.js:737 templates/js/translated/part.js:1431
-#: templates/js/translated/stock.js:1726
-msgid "IPN"
-msgstr ""
-
-#: part/models.py:804
+#: part/models.py:823
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:810
+#: part/models.py:829
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:811 part/templates/part/part_base.html:279
-#: report/models.py:171 templates/js/translated/part.js:741
-msgid "Revision"
-msgstr ""
-
-#: part/models.py:836
+#: part/models.py:855
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:881 part/templates/part/part_base.html:354
+#: part/models.py:900 part/templates/part/part_base.html:369
msgid "Default Supplier"
msgstr ""
-#: part/models.py:882
+#: part/models.py:901
msgid "Default supplier part"
msgstr ""
-#: part/models.py:889
+#: part/models.py:908
msgid "Default Expiry"
msgstr ""
-#: part/models.py:890
+#: part/models.py:909
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:895 part/templates/part/part_base.html:206
-msgid "Minimum Stock"
-msgstr ""
-
-#: part/models.py:896
+#: part/models.py:915
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:903
+#: part/models.py:922
msgid "Stock keeping units for this part"
msgstr ""
-#: part/models.py:909
+#: part/models.py:928
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:915
+#: part/models.py:934
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:921
+#: part/models.py:940
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:926
+#: part/models.py:945
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:931
+#: part/models.py:950
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:936
+#: part/models.py:955
msgid "Is this part active?"
msgstr ""
-#: part/models.py:941
+#: part/models.py:960
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:943
+#: part/models.py:962
msgid "Part notes"
msgstr ""
-#: part/models.py:945
+#: part/models.py:964
msgid "BOM checksum"
msgstr ""
-#: part/models.py:945
+#: part/models.py:964
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:948
+#: part/models.py:967
msgid "BOM checked by"
msgstr ""
-#: part/models.py:950
+#: part/models.py:969
msgid "BOM checked date"
msgstr ""
-#: part/models.py:954
+#: part/models.py:973
msgid "Creation User"
msgstr ""
-#: part/models.py:1790
+#: part/models.py:1819
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2319
+#: part/models.py:2682
+msgid "Currency used to cache pricing calculations"
+msgstr ""
+
+#: part/models.py:2687
+msgid "Updated"
+msgstr ""
+
+#: part/models.py:2688
+msgid "Timestamp of last pricing update"
+msgstr ""
+
+#: part/models.py:2705
+msgid "Minimum BOM Cost"
+msgstr ""
+
+#: part/models.py:2706
+msgid "Minimum cost of component parts"
+msgstr ""
+
+#: part/models.py:2711
+msgid "Maximum BOM Cost"
+msgstr ""
+
+#: part/models.py:2712
+msgid "Maximum cost of component parts"
+msgstr ""
+
+#: part/models.py:2717
+msgid "Minimum Purchase Cost"
+msgstr ""
+
+#: part/models.py:2718
+msgid "Minimum historical purchase cost"
+msgstr ""
+
+#: part/models.py:2723
+msgid "Maximum Purchase Cost"
+msgstr ""
+
+#: part/models.py:2724
+msgid "Maximum historical purchase cost"
+msgstr ""
+
+#: part/models.py:2729
+msgid "Minimum Internal Price"
+msgstr ""
+
+#: part/models.py:2730
+msgid "Minimum cost based on internal price breaks"
+msgstr ""
+
+#: part/models.py:2735
+msgid "Maximum Internal Price"
+msgstr ""
+
+#: part/models.py:2736
+msgid "Maximum cost based on internal price breaks"
+msgstr ""
+
+#: part/models.py:2741
+msgid "Minimum Supplier Price"
+msgstr ""
+
+#: part/models.py:2742
+msgid "Minimum price of part from external suppliers"
+msgstr ""
+
+#: part/models.py:2747
+msgid "Maximum Supplier Price"
+msgstr ""
+
+#: part/models.py:2748
+msgid "Maximum price of part from external suppliers"
+msgstr ""
+
+#: part/models.py:2753
+msgid "Minimum Variant Cost"
+msgstr ""
+
+#: part/models.py:2754
+msgid "Calculated minimum cost of variant parts"
+msgstr ""
+
+#: part/models.py:2759
+msgid "Maximum Variant Cost"
+msgstr ""
+
+#: part/models.py:2760
+msgid "Calculated maximum cost of variant parts"
+msgstr ""
+
+#: part/models.py:2766
+msgid "Calculated overall minimum cost"
+msgstr ""
+
+#: part/models.py:2772
+msgid "Calculated overall maximum cost"
+msgstr ""
+
+#: part/models.py:2777
+msgid "Minimum Sale Price"
+msgstr ""
+
+#: part/models.py:2778
+msgid "Minimum sale price based on price breaks"
+msgstr ""
+
+#: part/models.py:2783
+msgid "Maximum Sale Price"
+msgstr ""
+
+#: part/models.py:2784
+msgid "Maximum sale price based on price breaks"
+msgstr ""
+
+#: part/models.py:2789
+msgid "Minimum Sale Cost"
+msgstr ""
+
+#: part/models.py:2790
+msgid "Minimum historical sale price"
+msgstr ""
+
+#: part/models.py:2795
+msgid "Maximum Sale Cost"
+msgstr ""
+
+#: part/models.py:2796
+msgid "Maximum historical sale price"
+msgstr ""
+
+#: part/models.py:2932
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:2336
+#: part/models.py:2949
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2356 templates/js/translated/part.js:2070
-#: templates/js/translated/stock.js:1340
+#: part/models.py:2969 templates/js/translated/part.js:2094
+#: templates/js/translated/stock.js:1359
msgid "Test Name"
msgstr ""
-#: part/models.py:2357
+#: part/models.py:2970
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2362
+#: part/models.py:2975
msgid "Test Description"
msgstr ""
-#: part/models.py:2363
+#: part/models.py:2976
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2368 templates/js/translated/part.js:2079
-#: templates/js/translated/table_filters.js:310
+#: part/models.py:2981 templates/js/translated/part.js:2103
+#: templates/js/translated/table_filters.js:314
msgid "Required"
msgstr ""
-#: part/models.py:2369
+#: part/models.py:2982
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2374 templates/js/translated/part.js:2087
+#: part/models.py:2987 templates/js/translated/part.js:2111
msgid "Requires Value"
msgstr ""
-#: part/models.py:2375
+#: part/models.py:2988
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2380 templates/js/translated/part.js:2094
+#: part/models.py:2993 templates/js/translated/part.js:2118
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2381
+#: part/models.py:2994
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:2422
+#: part/models.py:3035
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:2430
+#: part/models.py:3043
msgid "Parameter Name"
msgstr ""
-#: part/models.py:2434
+#: part/models.py:3047
msgid "Parameter Units"
msgstr ""
-#: part/models.py:2439
+#: part/models.py:3052
msgid "Parameter description"
msgstr ""
-#: part/models.py:2472
+#: part/models.py:3085
msgid "Parent Part"
msgstr ""
-#: part/models.py:2474 part/models.py:2522 part/models.py:2523
+#: part/models.py:3087 part/models.py:3135 part/models.py:3136
#: templates/InvenTree/settings/settings.html:224
msgid "Parameter Template"
msgstr ""
-#: part/models.py:2476
+#: part/models.py:3089
msgid "Data"
msgstr ""
-#: part/models.py:2476
+#: part/models.py:3089
msgid "Parameter Value"
msgstr ""
-#: part/models.py:2527 templates/InvenTree/settings/settings.html:233
+#: part/models.py:3140 templates/InvenTree/settings/settings.html:233
msgid "Default Value"
msgstr ""
-#: part/models.py:2528
+#: part/models.py:3141
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:2565
+#: part/models.py:3178
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:2568 templates/js/translated/model_renderers.js:212
-msgid "Part ID"
-msgstr ""
-
-#: part/models.py:2569
+#: part/models.py:3182
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:2572
-msgid "Part Name"
-msgstr ""
-
-#: part/models.py:2576
-msgid "Part IPN"
-msgstr ""
-
-#: part/models.py:2577
+#: part/models.py:3190
msgid "Part IPN value"
msgstr ""
-#: part/models.py:2580
+#: part/models.py:3193
msgid "Level"
msgstr ""
-#: part/models.py:2581
+#: part/models.py:3194
msgid "BOM level"
msgstr ""
-#: part/models.py:2650
+#: part/models.py:3263
msgid "Select parent part"
msgstr ""
-#: part/models.py:2658
+#: part/models.py:3271
msgid "Sub part"
msgstr ""
-#: part/models.py:2659
+#: part/models.py:3272
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:2665
+#: part/models.py:3278
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:2669 part/templates/part/upload_bom.html:58
-#: templates/js/translated/bom.js:924 templates/js/translated/bom.js:1024
+#: part/models.py:3282 part/templates/part/upload_bom.html:58
+#: templates/js/translated/bom.js:933 templates/js/translated/bom.js:986
#: templates/js/translated/build.js:1858
#: templates/js/translated/table_filters.js:84
-#: templates/js/translated/table_filters.js:108
+#: templates/js/translated/table_filters.js:112
msgid "Optional"
msgstr ""
-#: part/models.py:2670
+#: part/models.py:3283
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:2675 templates/js/translated/bom.js:920
-#: templates/js/translated/bom.js:1033 templates/js/translated/build.js:1849
+#: part/models.py:3288 templates/js/translated/bom.js:929
+#: templates/js/translated/bom.js:995 templates/js/translated/build.js:1849
#: templates/js/translated/table_filters.js:88
msgid "Consumable"
msgstr ""
-#: part/models.py:2676
+#: part/models.py:3289
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:2680 part/templates/part/upload_bom.html:55
+#: part/models.py:3293 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:2681
+#: part/models.py:3294
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:2684
+#: part/models.py:3297
msgid "BOM item reference"
msgstr ""
-#: part/models.py:2687
+#: part/models.py:3300
msgid "BOM item notes"
msgstr ""
-#: part/models.py:2689
+#: part/models.py:3302
msgid "Checksum"
msgstr ""
-#: part/models.py:2689
+#: part/models.py:3302
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:2693 part/templates/part/upload_bom.html:57
-#: templates/js/translated/bom.js:1050
+#: part/models.py:3306 part/templates/part/upload_bom.html:57
+#: templates/js/translated/bom.js:1012
#: templates/js/translated/table_filters.js:76
-#: templates/js/translated/table_filters.js:104
+#: templates/js/translated/table_filters.js:108
msgid "Inherited"
msgstr ""
-#: part/models.py:2694
+#: part/models.py:3307
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:2699 part/templates/part/upload_bom.html:56
-#: templates/js/translated/bom.js:1042
+#: part/models.py:3312 part/templates/part/upload_bom.html:56
+#: templates/js/translated/bom.js:1004
msgid "Allow Variants"
msgstr ""
-#: part/models.py:2700
+#: part/models.py:3313
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:2786 stock/models.py:502
+#: part/models.py:3399 stock/models.py:518
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:2795 part/models.py:2797
+#: part/models.py:3408 part/models.py:3410
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:2902
+#: part/models.py:3537
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:2923
+#: part/models.py:3558
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:2936
+#: part/models.py:3571
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:2944
+#: part/models.py:3579
msgid "Substitute part"
msgstr ""
-#: part/models.py:2959
+#: part/models.py:3594
msgid "Part 1"
msgstr ""
-#: part/models.py:2963
+#: part/models.py:3598
msgid "Part 2"
msgstr ""
-#: part/models.py:2963
+#: part/models.py:3598
msgid "Select Related Part"
msgstr ""
-#: part/models.py:2981
+#: part/models.py:3616
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:2985
+#: part/models.py:3620
msgid "Duplicate relationship already exists"
msgstr ""
-#: part/serializers.py:154 part/serializers.py:185 stock/serializers.py:179
+#: part/serializers.py:154 part/serializers.py:182 stock/serializers.py:183
msgid "Purchase currency of this stock item"
msgstr ""
-#: part/serializers.py:829
+#: part/serializers.py:542
+msgid "Update"
+msgstr ""
+
+#: part/serializers.py:543
+msgid "Update pricing for this part"
+msgstr ""
+
+#: part/serializers.py:853
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:837
+#: part/serializers.py:861
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:838
+#: part/serializers.py:862
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:843
+#: part/serializers.py:867
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:844
+#: part/serializers.py:868
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:849
+#: part/serializers.py:873
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:850
+#: part/serializers.py:874
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:855
+#: part/serializers.py:879
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:856
+#: part/serializers.py:880
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/serializers.py:896
+#: part/serializers.py:920
msgid "Clear Existing BOM"
msgstr ""
-#: part/serializers.py:897
+#: part/serializers.py:921
msgid "Delete existing BOM items before uploading"
msgstr ""
-#: part/serializers.py:927
+#: part/serializers.py:951
msgid "No part column specified"
msgstr ""
-#: part/serializers.py:970
+#: part/serializers.py:994
msgid "Multiple matching parts found"
msgstr ""
-#: part/serializers.py:973
+#: part/serializers.py:997
msgid "No matching part found"
msgstr ""
-#: part/serializers.py:976
+#: part/serializers.py:1000
msgid "Part is not designated as a component"
msgstr ""
-#: part/serializers.py:985
+#: part/serializers.py:1009
msgid "Quantity not provided"
msgstr ""
-#: part/serializers.py:993
+#: part/serializers.py:1017
msgid "Invalid quantity"
msgstr ""
-#: part/serializers.py:1014
+#: part/serializers.py:1038
msgid "At least one BOM item is required"
msgstr ""
-#: part/tasks.py:21
+#: part/tasks.py:25
msgid "Low stock notification"
msgstr ""
-#: part/tasks.py:22
+#: part/tasks.py:26
#, python-brace-format
msgid "The available stock for {part.name} has fallen below the configured minimum level"
msgstr ""
@@ -5034,7 +5293,7 @@ msgstr ""
msgid "The BOM for %(part)s has not been validated."
msgstr ""
-#: part/templates/part/bom.html:30 part/templates/part/detail.html:269
+#: part/templates/part/bom.html:30 part/templates/part/detail.html:267
msgid "BOM actions"
msgstr ""
@@ -5070,10 +5329,6 @@ msgstr ""
msgid "Delete Category"
msgstr ""
-#: part/templates/part/category.html:81 part/templates/part/category.html:94
-msgid "Category Path"
-msgstr ""
-
#: part/templates/part/category.html:95
msgid "Top level part category"
msgstr ""
@@ -5091,12 +5346,12 @@ msgstr ""
msgid "Create new part"
msgstr ""
-#: part/templates/part/category.html:159 templates/js/translated/bom.js:392
+#: part/templates/part/category.html:159 templates/js/translated/bom.js:405
msgid "New Part"
msgstr ""
-#: part/templates/part/category.html:169 part/templates/part/detail.html:368
-#: part/templates/part/detail.html:399
+#: part/templates/part/category.html:169 part/templates/part/detail.html:366
+#: part/templates/part/detail.html:397
msgid "Options"
msgstr ""
@@ -5144,7 +5399,7 @@ msgstr ""
msgid "Import Parts"
msgstr ""
-#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:379
+#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:393
msgid "Duplicate Part"
msgstr ""
@@ -5176,7 +5431,8 @@ msgstr ""
msgid "Refresh scheduling data"
msgstr ""
-#: part/templates/part/detail.html:45 templates/js/translated/tables.js:524
+#: part/templates/part/detail.html:45 part/templates/part/prices.html:15
+#: templates/js/translated/tables.js:524
msgid "Refresh"
msgstr ""
@@ -5192,123 +5448,103 @@ msgstr ""
msgid "Sales Order Allocations"
msgstr ""
-#: part/templates/part/detail.html:143
+#: part/templates/part/detail.html:141
msgid "Part Notes"
msgstr ""
-#: part/templates/part/detail.html:158
+#: part/templates/part/detail.html:156
msgid "Part Variants"
msgstr ""
-#: part/templates/part/detail.html:162
+#: part/templates/part/detail.html:160
msgid "Create new variant"
msgstr ""
-#: part/templates/part/detail.html:163
+#: part/templates/part/detail.html:161
msgid "New Variant"
msgstr ""
-#: part/templates/part/detail.html:190
+#: part/templates/part/detail.html:188
msgid "Add new parameter"
msgstr ""
-#: part/templates/part/detail.html:227 part/templates/part/part_sidebar.html:54
+#: part/templates/part/detail.html:225 part/templates/part/part_sidebar.html:52
msgid "Related Parts"
msgstr ""
-#: part/templates/part/detail.html:231 part/templates/part/detail.html:232
+#: part/templates/part/detail.html:229 part/templates/part/detail.html:230
msgid "Add Related"
msgstr ""
-#: part/templates/part/detail.html:252 part/templates/part/part_sidebar.html:17
+#: part/templates/part/detail.html:250 part/templates/part/part_sidebar.html:17
msgid "Bill of Materials"
msgstr ""
-#: part/templates/part/detail.html:257
+#: part/templates/part/detail.html:255
msgid "Export actions"
msgstr ""
-#: part/templates/part/detail.html:261 templates/js/translated/bom.js:309
+#: part/templates/part/detail.html:259 templates/js/translated/bom.js:309
msgid "Export BOM"
msgstr ""
-#: part/templates/part/detail.html:263
+#: part/templates/part/detail.html:261
msgid "Print BOM Report"
msgstr ""
-#: part/templates/part/detail.html:273
+#: part/templates/part/detail.html:271
msgid "Upload BOM"
msgstr ""
-#: part/templates/part/detail.html:274 templates/js/translated/part.js:274
+#: part/templates/part/detail.html:272 templates/js/translated/part.js:270
msgid "Copy BOM"
msgstr ""
-#: part/templates/part/detail.html:275
+#: part/templates/part/detail.html:273
msgid "Validate BOM"
msgstr ""
-#: part/templates/part/detail.html:280 part/templates/part/detail.html:281
-#: templates/js/translated/bom.js:1202 templates/js/translated/bom.js:1203
+#: part/templates/part/detail.html:278 part/templates/part/detail.html:279
+#: templates/js/translated/bom.js:1267 templates/js/translated/bom.js:1268
msgid "Add BOM Item"
msgstr ""
-#: part/templates/part/detail.html:294
+#: part/templates/part/detail.html:292
msgid "Assemblies"
msgstr ""
-#: part/templates/part/detail.html:312
+#: part/templates/part/detail.html:310
msgid "Part Builds"
msgstr ""
-#: part/templates/part/detail.html:339 stock/templates/stock/item.html:38
+#: part/templates/part/detail.html:337 stock/templates/stock/item.html:38
msgid "Build Order Allocations"
msgstr ""
-#: part/templates/part/detail.html:355
+#: part/templates/part/detail.html:353
msgid "Part Suppliers"
msgstr ""
-#: part/templates/part/detail.html:385
+#: part/templates/part/detail.html:383
msgid "Part Manufacturers"
msgstr ""
-#: part/templates/part/detail.html:401
+#: part/templates/part/detail.html:399
msgid "Delete manufacturer parts"
msgstr ""
-#: part/templates/part/detail.html:658
+#: part/templates/part/detail.html:656
msgid "Related Part"
msgstr ""
-#: part/templates/part/detail.html:666
+#: part/templates/part/detail.html:664
msgid "Add Related Part"
msgstr ""
-#: part/templates/part/detail.html:758
+#: part/templates/part/detail.html:756
msgid "Add Test Result Template"
msgstr ""
-#: part/templates/part/detail.html:901
-#, python-format
-msgid "Purchase Unit Price - %(currency)s"
-msgstr ""
-
-#: part/templates/part/detail.html:913
-#, python-format
-msgid "Unit Price-Cost Difference - %(currency)s"
-msgstr ""
-
-#: part/templates/part/detail.html:925
-#, python-format
-msgid "Supplier Unit Cost - %(currency)s"
-msgstr ""
-
-#: part/templates/part/detail.html:1014
-#, python-format
-msgid "Unit Price - %(currency)s"
-msgstr ""
-
#: part/templates/part/import_wizard/ajax_match_fields.html:9
#: templates/patterns/wizard/match_fields.html:8
msgid "Missing selections for the following required columns"
@@ -5439,15 +5675,15 @@ msgid "Part is virtual (not a physical part)"
msgstr ""
#: part/templates/part/part_base.html:148
-#: templates/js/translated/company.js:659
-#: templates/js/translated/company.js:920
+#: templates/js/translated/company.js:660
+#: templates/js/translated/company.js:921
#: templates/js/translated/model_renderers.js:204
-#: templates/js/translated/part.js:652 templates/js/translated/part.js:729
+#: templates/js/translated/part.js:666 templates/js/translated/part.js:743
msgid "Inactive"
msgstr ""
#: part/templates/part/part_base.html:165
-#: part/templates/part/part_base.html:620
+#: part/templates/part/part_base.html:635
msgid "Show Part Details"
msgstr ""
@@ -5456,12 +5692,6 @@ msgstr ""
msgid "This part is a variant of %(link)s"
msgstr ""
-#: part/templates/part/part_base.html:200
-#: templates/js/translated/company.js:1027
-#: templates/js/translated/table_filters.js:209
-msgid "In Stock"
-msgstr ""
-
#: part/templates/part/part_base.html:221
#: stock/templates/stock/item_base.html:382
msgid "Allocated to Build Orders"
@@ -5472,100 +5702,91 @@ msgstr ""
msgid "Allocated to Sales Orders"
msgstr ""
-#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1100
+#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1165
msgid "Can Build"
msgstr ""
-#: part/templates/part/part_base.html:244 templates/js/translated/part.js:591
-#: templates/js/translated/part.js:611 templates/js/translated/part.js:1342
-#: templates/js/translated/part.js:1533
-msgid "Building"
-msgstr ""
-
#: part/templates/part/part_base.html:293
msgid "Minimum stock level"
msgstr ""
-#: part/templates/part/part_base.html:330
+#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1032
+#: templates/js/translated/part.js:783 templates/js/translated/part.js:1582
+#: templates/js/translated/pricing.js:124
+#: templates/js/translated/pricing.js:757
+msgid "Price Range"
+msgstr ""
+
+#: part/templates/part/part_base.html:345
msgid "Latest Serial Number"
msgstr ""
-#: part/templates/part/part_base.html:334
+#: part/templates/part/part_base.html:349
#: stock/templates/stock/item_base.html:331
msgid "Search for serial number"
msgstr ""
-#: part/templates/part/part_base.html:431
+#: part/templates/part/part_base.html:446
msgid "Link Barcode to Part"
msgstr ""
-#: part/templates/part/part_base.html:477 part/templates/part/prices.html:149
+#: part/templates/part/part_base.html:492
msgid "Calculate"
msgstr ""
-#: part/templates/part/part_base.html:520
+#: part/templates/part/part_base.html:535
msgid "No matching images found"
msgstr ""
-#: part/templates/part/part_base.html:614
+#: part/templates/part/part_base.html:629
msgid "Hide Part Details"
msgstr ""
-#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:24
+#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:78
+#: part/templates/part/prices.html:238 templates/js/translated/pricing.js:218
msgid "Supplier Pricing"
msgstr ""
#: part/templates/part/part_pricing.html:26
#: part/templates/part/part_pricing.html:52
-#: part/templates/part/part_pricing.html:103
-#: part/templates/part/part_pricing.html:118 part/templates/part/prices.html:28
-#: part/templates/part/prices.html:55 part/templates/part/prices.html:108
-#: part/templates/part/prices.html:125
+#: part/templates/part/part_pricing.html:95
+#: part/templates/part/part_pricing.html:110
msgid "Unit Cost"
msgstr ""
#: part/templates/part/part_pricing.html:32
#: part/templates/part/part_pricing.html:58
-#: part/templates/part/part_pricing.html:107
-#: part/templates/part/part_pricing.html:122 part/templates/part/prices.html:35
-#: part/templates/part/prices.html:62 part/templates/part/prices.html:113
-#: part/templates/part/prices.html:130
+#: part/templates/part/part_pricing.html:99
+#: part/templates/part/part_pricing.html:114
msgid "Total Cost"
msgstr ""
-#: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:43
-#: templates/js/translated/bom.js:1091
+#: part/templates/part/part_pricing.html:40
msgid "No supplier pricing available"
msgstr ""
-#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:52
-#: part/templates/part/prices.html:248
+#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:94
+#: part/templates/part/prices.html:262
msgid "BOM Pricing"
msgstr ""
-#: part/templates/part/part_pricing.html:66 part/templates/part/prices.html:72
+#: part/templates/part/part_pricing.html:66
msgid "Unit Purchase Price"
msgstr ""
-#: part/templates/part/part_pricing.html:72 part/templates/part/prices.html:79
+#: part/templates/part/part_pricing.html:72
msgid "Total Purchase Price"
msgstr ""
-#: part/templates/part/part_pricing.html:82 part/templates/part/prices.html:89
-msgid "Note: BOM pricing is incomplete for this part"
-msgstr ""
-
-#: part/templates/part/part_pricing.html:91 part/templates/part/prices.html:98
+#: part/templates/part/part_pricing.html:83
msgid "No BOM pricing available"
msgstr ""
-#: part/templates/part/part_pricing.html:100
-#: part/templates/part/prices.html:107
+#: part/templates/part/part_pricing.html:92
msgid "Internal Price"
msgstr ""
-#: part/templates/part/part_pricing.html:131
-#: part/templates/part/prices.html:139
+#: part/templates/part/part_pricing.html:123
msgid "No pricing information is available for this part."
msgstr ""
@@ -5573,7 +5794,8 @@ msgstr ""
#: report/templates/report/inventree_test_report_base.html:97
#: templates/InvenTree/settings/plugin.html:63
#: templates/InvenTree/settings/plugin_settings.html:38
-#: templates/js/translated/order.js:2001 templates/js/translated/stock.js:2478
+#: templates/js/translated/order.js:2035 templates/js/translated/pricing.js:537
+#: templates/js/translated/pricing.js:658 templates/js/translated/stock.js:2496
msgid "Date"
msgstr ""
@@ -5585,15 +5807,11 @@ msgstr ""
msgid "Variants"
msgstr ""
-#: part/templates/part/part_sidebar.html:27
-msgid "Used In"
-msgstr ""
-
-#: part/templates/part/part_sidebar.html:46
+#: part/templates/part/part_sidebar.html:44
msgid "Scheduling"
msgstr ""
-#: part/templates/part/part_sidebar.html:50
+#: part/templates/part/part_sidebar.html:48
msgid "Test Templates"
msgstr ""
@@ -5601,74 +5819,82 @@ msgstr ""
msgid "Select from existing images"
msgstr ""
-#: part/templates/part/prices.html:19
-msgid "Pricing ranges"
+#: part/templates/part/prices.html:11
+msgid "Pricing Overview"
msgstr ""
-#: part/templates/part/prices.html:25
-msgid "Show supplier cost"
+#: part/templates/part/prices.html:14
+msgid "Refresh Part Pricing"
msgstr ""
-#: part/templates/part/prices.html:26
-msgid "Show purchase price"
+#: part/templates/part/prices.html:25 stock/admin.py:106
+#: stock/templates/stock/item_base.html:440
+#: templates/js/translated/company.js:1039
+#: templates/js/translated/stock.js:1920
+msgid "Last Updated"
msgstr ""
-#: part/templates/part/prices.html:53
-msgid "Show BOM cost"
+#: part/templates/part/prices.html:34 part/templates/part/prices.html:126
+msgid "Price Category"
msgstr ""
-#: part/templates/part/prices.html:122
-msgid "Show sale cost"
+#: part/templates/part/prices.html:35 part/templates/part/prices.html:127
+msgid "Minimum"
msgstr ""
-#: part/templates/part/prices.html:123
-msgid "Show sale price"
+#: part/templates/part/prices.html:36 part/templates/part/prices.html:128
+msgid "Maximum"
msgstr ""
-#: part/templates/part/prices.html:145
-msgid "Calculation parameters"
+#: part/templates/part/prices.html:49 part/templates/part/prices.html:185
+msgid "Internal Pricing"
msgstr ""
-#: part/templates/part/prices.html:160 templates/js/translated/bom.js:1085
-msgid "Supplier Cost"
+#: part/templates/part/prices.html:64 part/templates/part/prices.html:217
+msgid "Purchase History"
msgstr ""
-#: part/templates/part/prices.html:161 part/templates/part/prices.html:182
-#: part/templates/part/prices.html:206 part/templates/part/prices.html:236
-#: part/templates/part/prices.html:262 part/templates/part/prices.html:291
+#: part/templates/part/prices.html:103 part/templates/part/prices.html:286
+msgid "Variant Pricing"
+msgstr ""
+
+#: part/templates/part/prices.html:111
+msgid "Overall Pricing"
+msgstr ""
+
+#: part/templates/part/prices.html:155 part/templates/part/prices.html:338
+msgid "Sale History"
+msgstr ""
+
+#: part/templates/part/prices.html:168
+msgid "Sale price data is not available for this part"
+msgstr ""
+
+#: part/templates/part/prices.html:175
+msgid "Price range data is not available for this part."
+msgstr ""
+
+#: part/templates/part/prices.html:186 part/templates/part/prices.html:218
+#: part/templates/part/prices.html:239 part/templates/part/prices.html:263
+#: part/templates/part/prices.html:287 part/templates/part/prices.html:310
+#: part/templates/part/prices.html:339
msgid "Jump to overview"
msgstr ""
-#: part/templates/part/prices.html:186
-msgid "Stock Pricing"
-msgstr ""
-
-#: part/templates/part/prices.html:195
-msgid "No stock pricing history is available for this part."
-msgstr ""
-
-#: part/templates/part/prices.html:205
-msgid "Internal Cost"
-msgstr ""
-
-#: part/templates/part/prices.html:220
+#: part/templates/part/prices.html:191
msgid "Add Internal Price Break"
msgstr ""
-#: part/templates/part/prices.html:235
-msgid "BOM Cost"
+#: part/templates/part/prices.html:309
+msgid "Sale Pricing"
msgstr ""
-#: part/templates/part/prices.html:261
-msgid "Sale Cost"
+#: part/templates/part/prices.html:315
+msgid "Add Sell Price Break"
msgstr ""
-#: part/templates/part/prices.html:302
-msgid "No sale pice history available for this part."
-msgstr ""
-
-#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:614
-#: templates/js/translated/part.js:1330 templates/js/translated/part.js:1332
+#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:628
+#: templates/js/translated/part.js:1351 templates/js/translated/part.js:1353
msgid "No Stock"
msgstr ""
@@ -5722,40 +5948,36 @@ msgstr ""
msgid "Create a new variant of template '%(full_name)s'."
msgstr ""
-#: part/templatetags/inventree_extras.py:177
+#: part/templatetags/inventree_extras.py:210
msgid "Unknown database"
msgstr ""
-#: part/templatetags/inventree_extras.py:229
+#: part/templatetags/inventree_extras.py:262
#, python-brace-format
msgid "{title} v{version}"
msgstr ""
-#: part/views.py:114
+#: part/views.py:109
msgid "Match References"
msgstr ""
-#: part/views.py:415
-msgid "None"
-msgstr ""
-
-#: part/views.py:477
+#: part/views.py:354
msgid "Part QR Code"
msgstr ""
-#: part/views.py:495
+#: part/views.py:372
msgid "Select Part Image"
msgstr ""
-#: part/views.py:521
+#: part/views.py:398
msgid "Updated part image"
msgstr ""
-#: part/views.py:524
+#: part/views.py:401
msgid "Part image not found"
msgstr ""
-#: part/views.py:613
+#: part/views.py:493
msgid "Part Pricing"
msgstr ""
@@ -6070,12 +6292,12 @@ msgid "Stock Item Test Report"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:79
-#: stock/models.py:650 stock/templates/stock/item_base.html:320
+#: stock/models.py:666 stock/templates/stock/item_base.html:320
#: templates/js/translated/build.js:472 templates/js/translated/build.js:624
#: templates/js/translated/build.js:1234 templates/js/translated/build.js:1735
#: templates/js/translated/model_renderers.js:118
-#: templates/js/translated/order.js:121 templates/js/translated/order.js:3592
-#: templates/js/translated/order.js:3679 templates/js/translated/stock.js:490
+#: templates/js/translated/order.js:121 templates/js/translated/order.js:3603
+#: templates/js/translated/order.js:3690 templates/js/translated/stock.js:509
msgid "Serial Number"
msgstr ""
@@ -6084,12 +6306,12 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:93
-#: stock/models.py:2085
+#: stock/models.py:2101
msgid "Test"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:94
-#: stock/models.py:2091
+#: stock/models.py:2107
msgid "Result"
msgstr ""
@@ -6107,383 +6329,435 @@ msgid "Installed Items"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:137
-#: templates/js/translated/stock.js:610 templates/js/translated/stock.js:780
-#: templates/js/translated/stock.js:2727
+#: stock/admin.py:87 templates/js/translated/stock.js:629
+#: templates/js/translated/stock.js:799 templates/js/translated/stock.js:2745
msgid "Serial"
msgstr ""
-#: stock/api.py:529
+#: stock/admin.py:23 stock/admin.py:90
+#: templates/js/translated/model_renderers.js:159
+msgid "Location ID"
+msgstr ""
+
+#: stock/admin.py:24 stock/admin.py:91
+msgid "Location Name"
+msgstr ""
+
+#: stock/admin.py:28 stock/templates/stock/location.html:123
+#: stock/templates/stock/location.html:129
+msgid "Location Path"
+msgstr ""
+
+#: stock/admin.py:83
+msgid "Stock Item ID"
+msgstr ""
+
+#: stock/admin.py:92 templates/js/translated/model_renderers.js:418
+msgid "Supplier Part ID"
+msgstr ""
+
+#: stock/admin.py:93
+msgid "Supplier ID"
+msgstr ""
+
+#: stock/admin.py:94
+msgid "Supplier Name"
+msgstr ""
+
+#: stock/admin.py:95
+msgid "Customer ID"
+msgstr ""
+
+#: stock/admin.py:96 stock/models.py:649
+#: stock/templates/stock/item_base.html:359
+msgid "Installed In"
+msgstr ""
+
+#: stock/admin.py:97 templates/js/translated/model_renderers.js:177
+msgid "Build ID"
+msgstr ""
+
+#: stock/admin.py:99
+msgid "Sales Order ID"
+msgstr ""
+
+#: stock/admin.py:100
+msgid "Purchase Order ID"
+msgstr ""
+
+#: stock/admin.py:107 templates/js/translated/stock.js:1890
+msgid "Stocktake"
+msgstr ""
+
+#: stock/admin.py:108 stock/models.py:724
+#: stock/templates/stock/item_base.html:427
+#: templates/js/translated/stock.js:1904
+msgid "Expiry Date"
+msgstr ""
+
+#: stock/api.py:539
msgid "Quantity is required"
msgstr ""
-#: stock/api.py:536
+#: stock/api.py:546
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:561
+#: stock/api.py:571
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/models.py:90 stock/models.py:746
+#: stock/models.py:106 stock/models.py:762
#: stock/templates/stock/item_base.html:250
msgid "Owner"
msgstr ""
-#: stock/models.py:91 stock/models.py:747
+#: stock/models.py:107 stock/models.py:763
msgid "Select Owner"
msgstr ""
-#: stock/models.py:508 stock/serializers.py:93
+#: stock/models.py:524 stock/serializers.py:97
msgid "Stock item cannot be created for virtual parts"
msgstr ""
-#: stock/models.py:525
+#: stock/models.py:541
#, python-brace-format
msgid "Part type ('{pf}') must be {pe}"
msgstr ""
-#: stock/models.py:535 stock/models.py:544
+#: stock/models.py:551 stock/models.py:560
msgid "Quantity must be 1 for item with a serial number"
msgstr ""
-#: stock/models.py:536
+#: stock/models.py:552
msgid "Serial number cannot be set if quantity greater than 1"
msgstr ""
-#: stock/models.py:558
+#: stock/models.py:574
msgid "Item cannot belong to itself"
msgstr ""
-#: stock/models.py:564
+#: stock/models.py:580
msgid "Item must have a build reference if is_building=True"
msgstr ""
-#: stock/models.py:578
+#: stock/models.py:594
msgid "Build reference does not point to the same part object"
msgstr ""
-#: stock/models.py:592
+#: stock/models.py:608
msgid "Parent Stock Item"
msgstr ""
-#: stock/models.py:602
+#: stock/models.py:618
msgid "Base part"
msgstr ""
-#: stock/models.py:610
+#: stock/models.py:626
msgid "Select a matching supplier part for this stock item"
msgstr ""
-#: stock/models.py:617 stock/templates/stock/location.html:17
+#: stock/models.py:633 stock/templates/stock/location.html:17
#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
msgstr ""
-#: stock/models.py:620
+#: stock/models.py:636
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:627
+#: stock/models.py:643
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:633 stock/templates/stock/item_base.html:359
-msgid "Installed In"
-msgstr ""
-
-#: stock/models.py:636
+#: stock/models.py:652
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:652
+#: stock/models.py:668
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:666
+#: stock/models.py:682
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:671
+#: stock/models.py:687
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:680
+#: stock/models.py:696
msgid "Source Build"
msgstr ""
-#: stock/models.py:682
+#: stock/models.py:698
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:693
+#: stock/models.py:709
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:696
+#: stock/models.py:712
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:702
+#: stock/models.py:718
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:708 stock/templates/stock/item_base.html:427
-#: templates/js/translated/stock.js:1885
-msgid "Expiry Date"
-msgstr ""
-
-#: stock/models.py:709
+#: stock/models.py:725
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:722
+#: stock/models.py:738
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:722
+#: stock/models.py:738
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:734 stock/templates/stock/item.html:132
+#: stock/models.py:750 stock/templates/stock/item.html:132
msgid "Stock Item Notes"
msgstr ""
-#: stock/models.py:742
+#: stock/models.py:758
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:770
+#: stock/models.py:786
msgid "Converted to part"
msgstr ""
-#: stock/models.py:1244
+#: stock/models.py:1260
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1250
+#: stock/models.py:1266
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1256
+#: stock/models.py:1272
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr ""
-#: stock/models.py:1259
+#: stock/models.py:1275
msgid "Serial numbers must be a list of integers"
msgstr ""
-#: stock/models.py:1262
+#: stock/models.py:1278
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1269
+#: stock/models.py:1285
#, python-brace-format
msgid "Serial numbers already exist: {exists}"
msgstr ""
-#: stock/models.py:1339
+#: stock/models.py:1355
msgid "Stock item has been assigned to a sales order"
msgstr ""
-#: stock/models.py:1342
+#: stock/models.py:1358
msgid "Stock item is installed in another item"
msgstr ""
-#: stock/models.py:1345
+#: stock/models.py:1361
msgid "Stock item contains other items"
msgstr ""
-#: stock/models.py:1348
+#: stock/models.py:1364
msgid "Stock item has been assigned to a customer"
msgstr ""
-#: stock/models.py:1351
+#: stock/models.py:1367
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:1354
+#: stock/models.py:1370
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1361 stock/serializers.py:963
+#: stock/models.py:1377 stock/serializers.py:962
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:1365
+#: stock/models.py:1381
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:1369
+#: stock/models.py:1385
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:1373
+#: stock/models.py:1389
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:1542
+#: stock/models.py:1558
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:2003
+#: stock/models.py:2019
msgid "Entry notes"
msgstr ""
-#: stock/models.py:2061
+#: stock/models.py:2077
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:2067
+#: stock/models.py:2083
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:2086
+#: stock/models.py:2102
msgid "Test name"
msgstr ""
-#: stock/models.py:2092
+#: stock/models.py:2108
msgid "Test result"
msgstr ""
-#: stock/models.py:2098
+#: stock/models.py:2114
msgid "Test output value"
msgstr ""
-#: stock/models.py:2105
+#: stock/models.py:2121
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2111
+#: stock/models.py:2127
msgid "Test notes"
msgstr ""
-#: stock/serializers.py:71
+#: stock/serializers.py:75
msgid "Serial number is too large"
msgstr ""
-#: stock/serializers.py:172
+#: stock/serializers.py:176
msgid "Purchase price of this stock item"
msgstr ""
-#: stock/serializers.py:292
+#: stock/serializers.py:286
msgid "Enter number of stock items to serialize"
msgstr ""
-#: stock/serializers.py:304
+#: stock/serializers.py:298
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({q})"
msgstr ""
-#: stock/serializers.py:310
+#: stock/serializers.py:304
msgid "Enter serial numbers for new items"
msgstr ""
-#: stock/serializers.py:321 stock/serializers.py:920 stock/serializers.py:1153
+#: stock/serializers.py:315 stock/serializers.py:919 stock/serializers.py:1152
msgid "Destination stock location"
msgstr ""
-#: stock/serializers.py:328
+#: stock/serializers.py:322
msgid "Optional note field"
msgstr ""
-#: stock/serializers.py:338
+#: stock/serializers.py:332
msgid "Serial numbers cannot be assigned to this part"
msgstr ""
-#: stock/serializers.py:359
+#: stock/serializers.py:353
msgid "Serial numbers already exist"
msgstr ""
-#: stock/serializers.py:399
+#: stock/serializers.py:393
msgid "Select stock item to install"
msgstr ""
-#: stock/serializers.py:412
+#: stock/serializers.py:406
msgid "Stock item is unavailable"
msgstr ""
-#: stock/serializers.py:419
+#: stock/serializers.py:413
msgid "Selected part is not in the Bill of Materials"
msgstr ""
-#: stock/serializers.py:456
+#: stock/serializers.py:450
msgid "Destination location for uninstalled item"
msgstr ""
-#: stock/serializers.py:461 stock/serializers.py:542
+#: stock/serializers.py:455 stock/serializers.py:536
msgid "Add transaction note (optional)"
msgstr ""
-#: stock/serializers.py:495
+#: stock/serializers.py:489
msgid "Select part to convert stock item into"
msgstr ""
-#: stock/serializers.py:506
+#: stock/serializers.py:500
msgid "Selected part is not a valid option for conversion"
msgstr ""
-#: stock/serializers.py:537
+#: stock/serializers.py:531
msgid "Destination location for returned item"
msgstr ""
-#: stock/serializers.py:775
+#: stock/serializers.py:774
msgid "Part must be salable"
msgstr ""
-#: stock/serializers.py:779
+#: stock/serializers.py:778
msgid "Item is allocated to a sales order"
msgstr ""
-#: stock/serializers.py:783
+#: stock/serializers.py:782
msgid "Item is allocated to a build order"
msgstr ""
-#: stock/serializers.py:814
+#: stock/serializers.py:813
msgid "Customer to assign stock items"
msgstr ""
-#: stock/serializers.py:820
+#: stock/serializers.py:819
msgid "Selected company is not a customer"
msgstr ""
-#: stock/serializers.py:828
+#: stock/serializers.py:827
msgid "Stock assignment notes"
msgstr ""
-#: stock/serializers.py:838 stock/serializers.py:1069
+#: stock/serializers.py:837 stock/serializers.py:1068
msgid "A list of stock items must be provided"
msgstr ""
-#: stock/serializers.py:927
+#: stock/serializers.py:926
msgid "Stock merging notes"
msgstr ""
-#: stock/serializers.py:932
+#: stock/serializers.py:931
msgid "Allow mismatched suppliers"
msgstr ""
-#: stock/serializers.py:933
+#: stock/serializers.py:932
msgid "Allow stock items with different supplier parts to be merged"
msgstr ""
-#: stock/serializers.py:938
+#: stock/serializers.py:937
msgid "Allow mismatched status"
msgstr ""
-#: stock/serializers.py:939
+#: stock/serializers.py:938
msgid "Allow stock items with different status codes to be merged"
msgstr ""
-#: stock/serializers.py:949
+#: stock/serializers.py:948
msgid "At least two stock items must be provided"
msgstr ""
-#: stock/serializers.py:1031
+#: stock/serializers.py:1030
msgid "StockItem primary key value"
msgstr ""
-#: stock/serializers.py:1059
+#: stock/serializers.py:1058
msgid "Stock transaction notes"
msgstr ""
@@ -6520,7 +6794,7 @@ msgstr ""
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2871
+#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2889
msgid "Install Stock Item"
msgstr ""
@@ -6528,7 +6802,7 @@ msgstr ""
msgid "Delete all test results for this stock item"
msgstr ""
-#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1522
+#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1541
msgid "Add Test Result"
msgstr ""
@@ -6687,7 +6961,7 @@ msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:431
-#: templates/js/translated/table_filters.js:277
+#: templates/js/translated/table_filters.js:281
msgid "Expired"
msgstr ""
@@ -6697,16 +6971,10 @@ msgid "This StockItem expires on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/table_filters.js:283
+#: templates/js/translated/table_filters.js:287
msgid "Stale"
msgstr ""
-#: stock/templates/stock/item_base.html:440
-#: templates/js/translated/company.js:1038
-#: templates/js/translated/stock.js:1901
-msgid "Last Updated"
-msgstr ""
-
#: stock/templates/stock/item_base.html:445
msgid "Last Stocktake"
msgstr ""
@@ -6783,11 +7051,6 @@ msgstr ""
msgid "Delete location"
msgstr ""
-#: stock/templates/stock/location.html:123
-#: stock/templates/stock/location.html:129
-msgid "Location Path"
-msgstr ""
-
#: stock/templates/stock/location.html:130
msgid "Top level stock location"
msgstr ""
@@ -6960,6 +7223,14 @@ msgstr ""
msgid "Overdue Sales Orders"
msgstr ""
+#: templates/InvenTree/index.html:312
+msgid "InvenTree News"
+msgstr ""
+
+#: templates/InvenTree/index.html:314
+msgid "Current News"
+msgstr ""
+
#: templates/InvenTree/notifications/history.html:9
msgid "Notification History"
msgstr ""
@@ -7026,30 +7297,6 @@ msgstr ""
msgid "Category Settings"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:8
-msgid "Currency Settings"
-msgstr ""
-
-#: templates/InvenTree/settings/currencies.html:19
-msgid "Base Currency"
-msgstr ""
-
-#: templates/InvenTree/settings/currencies.html:24
-msgid "Exchange Rates"
-msgstr ""
-
-#: templates/InvenTree/settings/currencies.html:38
-msgid "Last Update"
-msgstr ""
-
-#: templates/InvenTree/settings/currencies.html:44
-msgid "Never"
-msgstr ""
-
-#: templates/InvenTree/settings/currencies.html:49
-msgid "Update Now"
-msgstr ""
-
#: templates/InvenTree/settings/global.html:9
msgid "Server Settings"
msgstr ""
@@ -7090,15 +7337,15 @@ msgstr ""
msgid "Part Settings"
msgstr ""
-#: templates/InvenTree/settings/part.html:46
+#: templates/InvenTree/settings/part.html:40
msgid "Part Import"
msgstr ""
-#: templates/InvenTree/settings/part.html:50
+#: templates/InvenTree/settings/part.html:44
msgid "Import Part"
msgstr ""
-#: templates/InvenTree/settings/part.html:64
+#: templates/InvenTree/settings/part.html:58
msgid "Part Parameter Templates"
msgstr ""
@@ -7125,11 +7372,6 @@ msgstr ""
msgid "External plugins are not enabled for this InvenTree installation"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:62
-#: templates/InvenTree/settings/plugin_settings.html:33
-msgid "Author"
-msgstr ""
-
#: templates/InvenTree/settings/plugin.html:64
#: templates/InvenTree/settings/plugin_settings.html:43
msgid "Version"
@@ -7239,6 +7481,39 @@ msgstr ""
msgid "Purchase Order Settings"
msgstr ""
+#: templates/InvenTree/settings/pricing.html:7
+msgid "Pricing Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:24
+msgid "Currency Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:30
+msgid "Update Now"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:39
+#: templates/InvenTree/settings/pricing.html:43
+msgid "Last Update"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:43
+msgid "Never"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:53
+msgid "Base Currency"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:58
+msgid "Exchange Rates"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:60
+msgid "Rate"
+msgstr ""
+
#: templates/InvenTree/settings/report.html:8
#: templates/InvenTree/settings/user_reports.html:9
msgid "Report Settings"
@@ -7295,6 +7570,7 @@ msgid "No part parameter templates found"
msgstr ""
#: templates/InvenTree/settings/settings.html:338
+#: templates/js/translated/news.js:28
#: templates/js/translated/notification.js:36
msgid "ID"
msgstr ""
@@ -7357,10 +7633,6 @@ msgstr ""
msgid "Server Configuration"
msgstr ""
-#: templates/InvenTree/settings/sidebar.html:35
-msgid "Currencies"
-msgstr ""
-
#: templates/InvenTree/settings/sidebar.html:43
msgid "Categories"
msgstr ""
@@ -7380,7 +7652,7 @@ msgid "Change Password"
msgstr ""
#: templates/InvenTree/settings/user.html:23
-#: templates/js/translated/helpers.js:31 templates/notes_buttons.html:3
+#: templates/js/translated/helpers.js:33 templates/notes_buttons.html:3
#: templates/notes_buttons.html:4
msgid "Edit"
msgstr ""
@@ -7890,7 +8162,7 @@ msgid "The following parts are low on required stock"
msgstr ""
#: templates/email/build_order_required_stock.html:18
-#: templates/js/translated/bom.js:1566
+#: templates/js/translated/bom.js:1629
msgid "Required Quantity"
msgstr ""
@@ -7904,7 +8176,7 @@ msgid "Click on the following link to view this part"
msgstr ""
#: templates/email/low_stock_notification.html:19
-#: templates/js/translated/part.js:2566
+#: templates/js/translated/part.js:2423
msgid "Minimum Quantity"
msgstr ""
@@ -8057,7 +8329,7 @@ msgstr ""
msgid "Unlink"
msgstr ""
-#: templates/js/translated/barcode.js:500 templates/js/translated/stock.js:1054
+#: templates/js/translated/barcode.js:500 templates/js/translated/stock.js:1073
msgid "Remove stock item"
msgstr ""
@@ -8127,10 +8399,10 @@ msgstr ""
msgid "Row Data"
msgstr ""
-#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:646
+#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:659
#: templates/js/translated/modals.js:56 templates/js/translated/modals.js:601
#: templates/js/translated/modals.js:695 templates/js/translated/modals.js:1003
-#: templates/js/translated/order.js:1179 templates/modals.html:15
+#: templates/js/translated/order.js:1213 templates/modals.html:15
#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50
msgid "Close"
msgstr ""
@@ -8140,12 +8412,12 @@ msgid "Download BOM Template"
msgstr ""
#: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312
-#: templates/js/translated/order.js:960 templates/js/translated/tables.js:145
+#: templates/js/translated/order.js:994 templates/js/translated/tables.js:145
msgid "Format"
msgstr ""
#: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313
-#: templates/js/translated/order.js:961
+#: templates/js/translated/order.js:995
msgid "Select file format"
msgstr ""
@@ -8197,118 +8469,130 @@ msgstr ""
msgid "Include part supplier data in exported BOM"
msgstr ""
-#: templates/js/translated/bom.js:537
+#: templates/js/translated/bom.js:358
+msgid "Include Pricing Data"
+msgstr ""
+
+#: templates/js/translated/bom.js:359
+msgid "Include part pricing data in exported BOM"
+msgstr ""
+
+#: templates/js/translated/bom.js:550
msgid "Remove substitute part"
msgstr ""
-#: templates/js/translated/bom.js:591
+#: templates/js/translated/bom.js:604
msgid "Select and add a new substitute part using the input below"
msgstr ""
-#: templates/js/translated/bom.js:602
+#: templates/js/translated/bom.js:615
msgid "Are you sure you wish to remove this substitute part link?"
msgstr ""
-#: templates/js/translated/bom.js:608
+#: templates/js/translated/bom.js:621
msgid "Remove Substitute Part"
msgstr ""
-#: templates/js/translated/bom.js:647
+#: templates/js/translated/bom.js:660
msgid "Add Substitute"
msgstr ""
-#: templates/js/translated/bom.js:648
+#: templates/js/translated/bom.js:661
msgid "Edit BOM Item Substitutes"
msgstr ""
-#: templates/js/translated/bom.js:710
+#: templates/js/translated/bom.js:723
msgid "All selected BOM items will be deleted"
msgstr ""
-#: templates/js/translated/bom.js:726
+#: templates/js/translated/bom.js:739
msgid "Delete selected BOM items?"
msgstr ""
-#: templates/js/translated/bom.js:860
+#: templates/js/translated/bom.js:868
msgid "Load BOM for subassembly"
msgstr ""
-#: templates/js/translated/bom.js:870
+#: templates/js/translated/bom.js:878
msgid "Substitutes Available"
msgstr ""
-#: templates/js/translated/bom.js:874 templates/js/translated/build.js:1835
+#: templates/js/translated/bom.js:882 templates/js/translated/build.js:1835
msgid "Variant stock allowed"
msgstr ""
-#: templates/js/translated/bom.js:983 templates/js/translated/build.js:1907
-#: templates/js/translated/order.js:3927
-msgid "No Stock Available"
-msgstr ""
-
-#: templates/js/translated/bom.js:988 templates/js/translated/build.js:1911
-msgid "Includes variant and substitute stock"
-msgstr ""
-
-#: templates/js/translated/bom.js:990 templates/js/translated/build.js:1913
-#: templates/js/translated/part.js:761 templates/js/translated/part.js:1539
-msgid "Includes variant stock"
-msgstr ""
-
-#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1915
-msgid "Includes substitute stock"
-msgstr ""
-
-#: templates/js/translated/bom.js:1010
+#: templates/js/translated/bom.js:972
msgid "Substitutes"
msgstr ""
-#: templates/js/translated/bom.js:1061 templates/js/translated/bom.js:1195
+#: templates/js/translated/bom.js:1023 templates/js/translated/bom.js:1260
msgid "View BOM"
msgstr ""
-#: templates/js/translated/bom.js:1071
-msgid "Purchase Price Range"
+#: templates/js/translated/bom.js:1094
+msgid "BOM pricing is complete"
msgstr ""
-#: templates/js/translated/bom.js:1078
-msgid "Purchase Price Average"
+#: templates/js/translated/bom.js:1099
+msgid "BOM pricing is incomplete"
msgstr ""
-#: templates/js/translated/bom.js:1106 templates/js/translated/build.js:1898
+#: templates/js/translated/bom.js:1106
+msgid "No pricing available"
+msgstr ""
+
+#: templates/js/translated/bom.js:1137 templates/js/translated/build.js:1907
+#: templates/js/translated/order.js:3924
+msgid "No Stock Available"
+msgstr ""
+
+#: templates/js/translated/bom.js:1142 templates/js/translated/build.js:1911
+msgid "Includes variant and substitute stock"
+msgstr ""
+
+#: templates/js/translated/bom.js:1144 templates/js/translated/build.js:1913
+#: templates/js/translated/part.js:775 templates/js/translated/part.js:1550
+msgid "Includes variant stock"
+msgstr ""
+
+#: templates/js/translated/bom.js:1146 templates/js/translated/build.js:1915
+msgid "Includes substitute stock"
+msgstr ""
+
+#: templates/js/translated/bom.js:1171 templates/js/translated/build.js:1898
#: templates/js/translated/build.js:1985
msgid "Consumable item"
msgstr ""
-#: templates/js/translated/bom.js:1166
+#: templates/js/translated/bom.js:1231
msgid "Validate BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1168
+#: templates/js/translated/bom.js:1233
msgid "This line has been validated"
msgstr ""
-#: templates/js/translated/bom.js:1170
+#: templates/js/translated/bom.js:1235
msgid "Edit substitute parts"
msgstr ""
-#: templates/js/translated/bom.js:1172 templates/js/translated/bom.js:1369
+#: templates/js/translated/bom.js:1237 templates/js/translated/bom.js:1433
msgid "Edit BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1174
+#: templates/js/translated/bom.js:1239
msgid "Delete BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1280 templates/js/translated/build.js:1679
+#: templates/js/translated/bom.js:1344 templates/js/translated/build.js:1679
msgid "No BOM items found"
msgstr ""
-#: templates/js/translated/bom.js:1549 templates/js/translated/build.js:1818
+#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1818
msgid "Required Part"
msgstr ""
-#: templates/js/translated/bom.js:1575
+#: templates/js/translated/bom.js:1638
msgid "Inherited from parent BOM"
msgstr ""
@@ -8353,12 +8637,12 @@ msgid "Complete Build Order"
msgstr ""
#: templates/js/translated/build.js:311 templates/js/translated/stock.js:92
-#: templates/js/translated/stock.js:214
+#: templates/js/translated/stock.js:233
msgid "Next available serial number"
msgstr ""
#: templates/js/translated/build.js:313 templates/js/translated/stock.js:94
-#: templates/js/translated/stock.js:216
+#: templates/js/translated/stock.js:235
msgid "Latest serial number"
msgstr ""
@@ -8455,12 +8739,12 @@ msgid "No required tests for this build"
msgstr ""
#: templates/js/translated/build.js:1775 templates/js/translated/build.js:2765
-#: templates/js/translated/order.js:3627
+#: templates/js/translated/order.js:3638
msgid "Edit stock allocation"
msgstr ""
#: templates/js/translated/build.js:1777 templates/js/translated/build.js:2766
-#: templates/js/translated/order.js:3628
+#: templates/js/translated/order.js:3639
msgid "Delete stock allocation"
msgstr ""
@@ -8480,20 +8764,15 @@ msgstr ""
msgid "Quantity Per"
msgstr ""
-#: templates/js/translated/build.js:1901 templates/js/translated/order.js:3934
+#: templates/js/translated/build.js:1901 templates/js/translated/order.js:3931
msgid "Insufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3932
+#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3929
msgid "Sufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1937 templates/js/translated/build.js:2195
-#: templates/js/translated/build.js:2761 templates/js/translated/order.js:3946
-msgid "Allocated"
-msgstr ""
-
-#: templates/js/translated/build.js:1993 templates/js/translated/order.js:4026
+#: templates/js/translated/build.js:1993 templates/js/translated/order.js:4023
msgid "Build stock"
msgstr ""
@@ -8501,21 +8780,21 @@ msgstr ""
msgid "Order stock"
msgstr ""
-#: templates/js/translated/build.js:2000 templates/js/translated/order.js:4019
+#: templates/js/translated/build.js:2000 templates/js/translated/order.js:4016
msgid "Allocate stock"
msgstr ""
#: templates/js/translated/build.js:2039 templates/js/translated/label.js:172
-#: templates/js/translated/order.js:1007 templates/js/translated/order.js:3154
+#: templates/js/translated/order.js:1041 templates/js/translated/order.js:3165
#: templates/js/translated/report.js:225
msgid "Select Parts"
msgstr ""
-#: templates/js/translated/build.js:2040 templates/js/translated/order.js:3155
+#: templates/js/translated/build.js:2040 templates/js/translated/order.js:3166
msgid "You must select at least one part to allocate"
msgstr ""
-#: templates/js/translated/build.js:2089 templates/js/translated/order.js:3103
+#: templates/js/translated/build.js:2089 templates/js/translated/order.js:3114
msgid "Specify stock allocation quantity"
msgstr ""
@@ -8527,7 +8806,7 @@ msgstr ""
msgid "All selected parts have been fully allocated"
msgstr ""
-#: templates/js/translated/build.js:2183 templates/js/translated/order.js:3169
+#: templates/js/translated/build.js:2183 templates/js/translated/order.js:3180
msgid "Select source location (leave blank to take from all locations)"
msgstr ""
@@ -8535,11 +8814,11 @@ msgstr ""
msgid "Allocate Stock Items to Build Order"
msgstr ""
-#: templates/js/translated/build.js:2222 templates/js/translated/order.js:3266
+#: templates/js/translated/build.js:2222 templates/js/translated/order.js:3277
msgid "No matching stock locations"
msgstr ""
-#: templates/js/translated/build.js:2294 templates/js/translated/order.js:3343
+#: templates/js/translated/build.js:2294 templates/js/translated/order.js:3354
msgid "No matching stock items"
msgstr ""
@@ -8571,9 +8850,9 @@ msgstr ""
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:2558 templates/js/translated/part.js:1423
-#: templates/js/translated/part.js:1957 templates/js/translated/stock.js:1686
-#: templates/js/translated/stock.js:2390
+#: templates/js/translated/build.js:2558 templates/js/translated/part.js:1444
+#: templates/js/translated/part.js:1981 templates/js/translated/stock.js:1705
+#: templates/js/translated/stock.js:2408
msgid "Select"
msgstr ""
@@ -8585,7 +8864,7 @@ msgstr ""
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2636 templates/js/translated/stock.js:2657
+#: templates/js/translated/build.js:2636 templates/js/translated/stock.js:2675
msgid "No user information"
msgstr ""
@@ -8593,118 +8872,144 @@ msgstr ""
msgid "No parts allocated for"
msgstr ""
-#: templates/js/translated/company.js:66
+#: templates/js/translated/company.js:67
msgid "Add Manufacturer"
msgstr ""
-#: templates/js/translated/company.js:79 templates/js/translated/company.js:181
+#: templates/js/translated/company.js:80 templates/js/translated/company.js:182
msgid "Add Manufacturer Part"
msgstr ""
-#: templates/js/translated/company.js:100
+#: templates/js/translated/company.js:101
msgid "Edit Manufacturer Part"
msgstr ""
-#: templates/js/translated/company.js:169 templates/js/translated/order.js:576
+#: templates/js/translated/company.js:170 templates/js/translated/order.js:576
msgid "Add Supplier"
msgstr ""
-#: templates/js/translated/company.js:197 templates/js/translated/order.js:828
+#: templates/js/translated/company.js:198 templates/js/translated/order.js:862
msgid "Add Supplier Part"
msgstr ""
-#: templates/js/translated/company.js:297
+#: templates/js/translated/company.js:298
msgid "All selected supplier parts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:313
+#: templates/js/translated/company.js:314
msgid "Delete Supplier Parts"
msgstr ""
-#: templates/js/translated/company.js:385
+#: templates/js/translated/company.js:386
msgid "Add new Company"
msgstr ""
-#: templates/js/translated/company.js:462
+#: templates/js/translated/company.js:463
msgid "Parts Supplied"
msgstr ""
-#: templates/js/translated/company.js:471
+#: templates/js/translated/company.js:472
msgid "Parts Manufactured"
msgstr ""
-#: templates/js/translated/company.js:486
+#: templates/js/translated/company.js:487
msgid "No company information found"
msgstr ""
-#: templates/js/translated/company.js:527
+#: templates/js/translated/company.js:528
msgid "All selected manufacturer parts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:542
+#: templates/js/translated/company.js:543
msgid "Delete Manufacturer Parts"
msgstr ""
-#: templates/js/translated/company.js:576
+#: templates/js/translated/company.js:577
msgid "All selected parameters will be deleted"
msgstr ""
-#: templates/js/translated/company.js:590
+#: templates/js/translated/company.js:591
msgid "Delete Parameters"
msgstr ""
-#: templates/js/translated/company.js:631
+#: templates/js/translated/company.js:632
msgid "No manufacturer parts found"
msgstr ""
-#: templates/js/translated/company.js:651
-#: templates/js/translated/company.js:912 templates/js/translated/part.js:636
-#: templates/js/translated/part.js:721
+#: templates/js/translated/company.js:652
+#: templates/js/translated/company.js:913 templates/js/translated/part.js:650
+#: templates/js/translated/part.js:735
msgid "Template part"
msgstr ""
-#: templates/js/translated/company.js:655
-#: templates/js/translated/company.js:916 templates/js/translated/part.js:640
-#: templates/js/translated/part.js:725
+#: templates/js/translated/company.js:656
+#: templates/js/translated/company.js:917 templates/js/translated/part.js:654
+#: templates/js/translated/part.js:739
msgid "Assembled part"
msgstr ""
-#: templates/js/translated/company.js:783 templates/js/translated/part.js:828
+#: templates/js/translated/company.js:784 templates/js/translated/part.js:855
msgid "No parameters found"
msgstr ""
-#: templates/js/translated/company.js:820 templates/js/translated/part.js:870
+#: templates/js/translated/company.js:821 templates/js/translated/part.js:897
msgid "Edit parameter"
msgstr ""
-#: templates/js/translated/company.js:821 templates/js/translated/part.js:871
+#: templates/js/translated/company.js:822 templates/js/translated/part.js:898
msgid "Delete parameter"
msgstr ""
-#: templates/js/translated/company.js:840 templates/js/translated/part.js:888
+#: templates/js/translated/company.js:841 templates/js/translated/part.js:915
msgid "Edit Parameter"
msgstr ""
-#: templates/js/translated/company.js:851 templates/js/translated/part.js:900
+#: templates/js/translated/company.js:852 templates/js/translated/part.js:927
msgid "Delete Parameter"
msgstr ""
-#: templates/js/translated/company.js:891
+#: templates/js/translated/company.js:892
msgid "No supplier parts found"
msgstr ""
-#: templates/js/translated/company.js:1032
+#: templates/js/translated/company.js:1033
msgid "Availability"
msgstr ""
-#: templates/js/translated/company.js:1055
+#: templates/js/translated/company.js:1056
msgid "Edit supplier part"
msgstr ""
-#: templates/js/translated/company.js:1056
+#: templates/js/translated/company.js:1057
msgid "Delete supplier part"
msgstr ""
+#: templates/js/translated/company.js:1112
+#: templates/js/translated/pricing.js:423
+msgid "Delete Price Break"
+msgstr ""
+
+#: templates/js/translated/company.js:1128
+#: templates/js/translated/pricing.js:437
+msgid "Edit Price Break"
+msgstr ""
+
+#: templates/js/translated/company.js:1145
+msgid "No price break information found"
+msgstr ""
+
+#: templates/js/translated/company.js:1174
+msgid "Last updated"
+msgstr ""
+
+#: templates/js/translated/company.js:1180
+msgid "Edit price break"
+msgstr ""
+
+#: templates/js/translated/company.js:1181
+msgid "Delete price break"
+msgstr ""
+
#: templates/js/translated/filters.js:178
#: templates/js/translated/filters.js:441
msgid "true"
@@ -8785,27 +9090,27 @@ msgstr ""
msgid "Clear input"
msgstr ""
-#: templates/js/translated/forms.js:2638
+#: templates/js/translated/forms.js:2628
msgid "File Column"
msgstr ""
-#: templates/js/translated/forms.js:2638
+#: templates/js/translated/forms.js:2628
msgid "Field Name"
msgstr ""
-#: templates/js/translated/forms.js:2650
+#: templates/js/translated/forms.js:2640
msgid "Select Columns"
msgstr ""
-#: templates/js/translated/helpers.js:24
+#: templates/js/translated/helpers.js:26
msgid "YES"
msgstr ""
-#: templates/js/translated/helpers.js:26
+#: templates/js/translated/helpers.js:28
msgid "NO"
msgstr ""
-#: templates/js/translated/helpers.js:363
+#: templates/js/translated/helpers.js:434
msgid "Notes updated"
msgstr ""
@@ -8814,7 +9119,7 @@ msgid "Labels sent to printer"
msgstr ""
#: templates/js/translated/label.js:60 templates/js/translated/report.js:118
-#: templates/js/translated/stock.js:1078
+#: templates/js/translated/stock.js:1097
msgid "Select Stock Items"
msgstr ""
@@ -8934,14 +9239,6 @@ msgstr ""
msgid "Stock ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:159
-msgid "Location ID"
-msgstr ""
-
-#: templates/js/translated/model_renderers.js:177
-msgid "Build ID"
-msgstr ""
-
#: templates/js/translated/model_renderers.js:278
#: templates/js/translated/model_renderers.js:303
msgid "Order ID"
@@ -8952,16 +9249,12 @@ msgstr ""
msgid "Shipment ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:338
-msgid "Category ID"
-msgstr ""
-
#: templates/js/translated/model_renderers.js:381
msgid "Manufacturer Part ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:418
-msgid "Supplier Part ID"
+#: templates/js/translated/news.js:23
+msgid "No news found"
msgstr ""
#: templates/js/translated/notification.js:42
@@ -9104,659 +9397,688 @@ msgstr ""
msgid "Duplication Options"
msgstr ""
-#: templates/js/translated/order.js:957
+#: templates/js/translated/order.js:991
msgid "Export Order"
msgstr ""
-#: templates/js/translated/order.js:1008
+#: templates/js/translated/order.js:1042
msgid "At least one purchaseable part must be selected"
msgstr ""
-#: templates/js/translated/order.js:1033
+#: templates/js/translated/order.js:1067
msgid "Quantity to order"
msgstr ""
-#: templates/js/translated/order.js:1042
+#: templates/js/translated/order.js:1076
msgid "New supplier part"
msgstr ""
-#: templates/js/translated/order.js:1060
+#: templates/js/translated/order.js:1094
msgid "New purchase order"
msgstr ""
-#: templates/js/translated/order.js:1093
+#: templates/js/translated/order.js:1127
msgid "Add to purchase order"
msgstr ""
-#: templates/js/translated/order.js:1233
+#: templates/js/translated/order.js:1267
msgid "No matching supplier parts"
msgstr ""
-#: templates/js/translated/order.js:1252
+#: templates/js/translated/order.js:1286
msgid "No matching purchase orders"
msgstr ""
-#: templates/js/translated/order.js:1429
+#: templates/js/translated/order.js:1463
msgid "Select Line Items"
msgstr ""
-#: templates/js/translated/order.js:1430
+#: templates/js/translated/order.js:1464
msgid "At least one line item must be selected"
msgstr ""
-#: templates/js/translated/order.js:1450 templates/js/translated/order.js:1563
+#: templates/js/translated/order.js:1484 templates/js/translated/order.js:1597
msgid "Add batch code"
msgstr ""
-#: templates/js/translated/order.js:1456 templates/js/translated/order.js:1574
+#: templates/js/translated/order.js:1490 templates/js/translated/order.js:1608
msgid "Add serial numbers"
msgstr ""
-#: templates/js/translated/order.js:1471
+#: templates/js/translated/order.js:1505
msgid "Received Quantity"
msgstr ""
-#: templates/js/translated/order.js:1482
+#: templates/js/translated/order.js:1516
msgid "Quantity to receive"
msgstr ""
-#: templates/js/translated/order.js:1546 templates/js/translated/stock.js:2146
+#: templates/js/translated/order.js:1580 templates/js/translated/stock.js:2164
msgid "Stock Status"
msgstr ""
-#: templates/js/translated/order.js:1639
+#: templates/js/translated/order.js:1673
msgid "Order Code"
msgstr ""
-#: templates/js/translated/order.js:1640
+#: templates/js/translated/order.js:1674
msgid "Ordered"
msgstr ""
-#: templates/js/translated/order.js:1642
+#: templates/js/translated/order.js:1676
msgid "Quantity to Receive"
msgstr ""
-#: templates/js/translated/order.js:1661
+#: templates/js/translated/order.js:1695
msgid "Confirm receipt of items"
msgstr ""
-#: templates/js/translated/order.js:1662
+#: templates/js/translated/order.js:1696
msgid "Receive Purchase Order Items"
msgstr ""
-#: templates/js/translated/order.js:1940 templates/js/translated/part.js:941
+#: templates/js/translated/order.js:1974 templates/js/translated/part.js:968
msgid "No purchase orders found"
msgstr ""
-#: templates/js/translated/order.js:1967 templates/js/translated/order.js:2798
+#: templates/js/translated/order.js:2001 templates/js/translated/order.js:2809
msgid "Order is overdue"
msgstr ""
-#: templates/js/translated/order.js:2017 templates/js/translated/order.js:2863
-#: templates/js/translated/order.js:3004
+#: templates/js/translated/order.js:2051 templates/js/translated/order.js:2874
+#: templates/js/translated/order.js:3015
msgid "Items"
msgstr ""
-#: templates/js/translated/order.js:2115 templates/js/translated/order.js:4078
+#: templates/js/translated/order.js:2154 templates/js/translated/order.js:4075
msgid "Duplicate Line Item"
msgstr ""
-#: templates/js/translated/order.js:2132 templates/js/translated/order.js:4100
+#: templates/js/translated/order.js:2171 templates/js/translated/order.js:4097
msgid "Edit Line Item"
msgstr ""
-#: templates/js/translated/order.js:2145 templates/js/translated/order.js:4111
+#: templates/js/translated/order.js:2184 templates/js/translated/order.js:4108
msgid "Delete Line Item"
msgstr ""
-#: templates/js/translated/order.js:2188
+#: templates/js/translated/order.js:2227
msgid "No line items found"
msgstr ""
-#: templates/js/translated/order.js:2215 templates/js/translated/order.js:3812
+#: templates/js/translated/order.js:2254 templates/js/translated/order.js:3827
msgid "Total"
msgstr ""
-#: templates/js/translated/order.js:2270 templates/js/translated/part.js:1043
-#: templates/js/translated/part.js:1095
+#: templates/js/translated/order.js:2309 templates/js/translated/part.js:1070
+#: templates/js/translated/part.js:1122
msgid "Total Quantity"
msgstr ""
-#: templates/js/translated/order.js:2301 templates/js/translated/order.js:2500
-#: templates/js/translated/order.js:3837 templates/js/translated/order.js:4342
-#: templates/js/translated/part.js:2199 templates/js/translated/part.js:2797
+#: templates/js/translated/order.js:2340 templates/js/translated/order.js:2527
+#: templates/js/translated/order.js:3852 templates/js/translated/order.js:4343
+#: templates/js/translated/pricing.js:260
+#: templates/js/translated/pricing.js:329
+#: templates/js/translated/pricing.js:545
msgid "Unit Price"
msgstr ""
-#: templates/js/translated/order.js:2316 templates/js/translated/order.js:2516
-#: templates/js/translated/order.js:3853 templates/js/translated/order.js:4358
+#: templates/js/translated/order.js:2350 templates/js/translated/order.js:2537
+#: templates/js/translated/order.js:3862 templates/js/translated/order.js:4353
msgid "Total Price"
msgstr ""
-#: templates/js/translated/order.js:2357 templates/js/translated/order.js:3895
-#: templates/js/translated/part.js:1079
+#: templates/js/translated/order.js:2380 templates/js/translated/order.js:3892
+#: templates/js/translated/part.js:1106
msgid "This line item is overdue"
msgstr ""
-#: templates/js/translated/order.js:2416 templates/js/translated/part.js:1130
+#: templates/js/translated/order.js:2439 templates/js/translated/part.js:1151
msgid "Receive line item"
msgstr ""
-#: templates/js/translated/order.js:2420 templates/js/translated/order.js:4032
+#: templates/js/translated/order.js:2443 templates/js/translated/order.js:4029
msgid "Duplicate line item"
msgstr ""
-#: templates/js/translated/order.js:2421 templates/js/translated/order.js:4033
+#: templates/js/translated/order.js:2444 templates/js/translated/order.js:4030
msgid "Edit line item"
msgstr ""
-#: templates/js/translated/order.js:2422 templates/js/translated/order.js:4037
+#: templates/js/translated/order.js:2445 templates/js/translated/order.js:4034
msgid "Delete line item"
msgstr ""
-#: templates/js/translated/order.js:2564 templates/js/translated/order.js:4406
+#: templates/js/translated/order.js:2574 templates/js/translated/order.js:4389
msgid "Duplicate line"
msgstr ""
-#: templates/js/translated/order.js:2565 templates/js/translated/order.js:4407
+#: templates/js/translated/order.js:2575 templates/js/translated/order.js:4390
msgid "Edit line"
msgstr ""
-#: templates/js/translated/order.js:2566 templates/js/translated/order.js:4408
+#: templates/js/translated/order.js:2576 templates/js/translated/order.js:4391
msgid "Delete line"
msgstr ""
-#: templates/js/translated/order.js:2595 templates/js/translated/order.js:4437
+#: templates/js/translated/order.js:2606 templates/js/translated/order.js:4420
msgid "Duplicate Line"
msgstr ""
-#: templates/js/translated/order.js:2616 templates/js/translated/order.js:4458
+#: templates/js/translated/order.js:2627 templates/js/translated/order.js:4441
msgid "Edit Line"
msgstr ""
-#: templates/js/translated/order.js:2627 templates/js/translated/order.js:4469
+#: templates/js/translated/order.js:2638 templates/js/translated/order.js:4452
msgid "Delete Line"
msgstr ""
-#: templates/js/translated/order.js:2638
+#: templates/js/translated/order.js:2649
msgid "No matching line"
msgstr ""
-#: templates/js/translated/order.js:2749
+#: templates/js/translated/order.js:2760
msgid "No sales orders found"
msgstr ""
-#: templates/js/translated/order.js:2812
+#: templates/js/translated/order.js:2823
msgid "Invalid Customer"
msgstr ""
-#: templates/js/translated/order.js:2910
+#: templates/js/translated/order.js:2921
msgid "Edit shipment"
msgstr ""
-#: templates/js/translated/order.js:2913
+#: templates/js/translated/order.js:2924
msgid "Complete shipment"
msgstr ""
-#: templates/js/translated/order.js:2918
+#: templates/js/translated/order.js:2929
msgid "Delete shipment"
msgstr ""
-#: templates/js/translated/order.js:2938
+#: templates/js/translated/order.js:2949
msgid "Edit Shipment"
msgstr ""
-#: templates/js/translated/order.js:2955
+#: templates/js/translated/order.js:2966
msgid "Delete Shipment"
msgstr ""
-#: templates/js/translated/order.js:2989
+#: templates/js/translated/order.js:3000
msgid "No matching shipments found"
msgstr ""
-#: templates/js/translated/order.js:2999
+#: templates/js/translated/order.js:3010
msgid "Shipment Reference"
msgstr ""
-#: templates/js/translated/order.js:3023
+#: templates/js/translated/order.js:3034
msgid "Not shipped"
msgstr ""
-#: templates/js/translated/order.js:3029
+#: templates/js/translated/order.js:3040
msgid "Tracking"
msgstr ""
-#: templates/js/translated/order.js:3033
+#: templates/js/translated/order.js:3044
msgid "Invoice"
msgstr ""
-#: templates/js/translated/order.js:3202
+#: templates/js/translated/order.js:3213
msgid "Add Shipment"
msgstr ""
-#: templates/js/translated/order.js:3253
+#: templates/js/translated/order.js:3264
msgid "Confirm stock allocation"
msgstr ""
-#: templates/js/translated/order.js:3254
+#: templates/js/translated/order.js:3265
msgid "Allocate Stock Items to Sales Order"
msgstr ""
-#: templates/js/translated/order.js:3462
+#: templates/js/translated/order.js:3473
msgid "No sales order allocations found"
msgstr ""
-#: templates/js/translated/order.js:3541
+#: templates/js/translated/order.js:3552
msgid "Edit Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:3558
+#: templates/js/translated/order.js:3569
msgid "Confirm Delete Operation"
msgstr ""
-#: templates/js/translated/order.js:3559
+#: templates/js/translated/order.js:3570
msgid "Delete Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:3604 templates/js/translated/order.js:3693
-#: templates/js/translated/stock.js:1602
+#: templates/js/translated/order.js:3615 templates/js/translated/order.js:3704
+#: templates/js/translated/stock.js:1621
msgid "Shipped to customer"
msgstr ""
-#: templates/js/translated/order.js:3612 templates/js/translated/order.js:3702
+#: templates/js/translated/order.js:3623 templates/js/translated/order.js:3713
msgid "Stock location not specified"
msgstr ""
-#: templates/js/translated/order.js:4016
+#: templates/js/translated/order.js:4013
msgid "Allocate serial numbers"
msgstr ""
-#: templates/js/translated/order.js:4022
+#: templates/js/translated/order.js:4019
msgid "Purchase stock"
msgstr ""
-#: templates/js/translated/order.js:4029 templates/js/translated/order.js:4227
+#: templates/js/translated/order.js:4026 templates/js/translated/order.js:4224
msgid "Calculate price"
msgstr ""
-#: templates/js/translated/order.js:4041
+#: templates/js/translated/order.js:4038
msgid "Cannot be deleted as items have been shipped"
msgstr ""
-#: templates/js/translated/order.js:4044
+#: templates/js/translated/order.js:4041
msgid "Cannot be deleted as items have been allocated"
msgstr ""
-#: templates/js/translated/order.js:4126
+#: templates/js/translated/order.js:4123
msgid "Allocate Serial Numbers"
msgstr ""
-#: templates/js/translated/order.js:4235
+#: templates/js/translated/order.js:4232
msgid "Update Unit Price"
msgstr ""
-#: templates/js/translated/order.js:4249
+#: templates/js/translated/order.js:4246
msgid "No matching line items"
msgstr ""
-#: templates/js/translated/order.js:4480
+#: templates/js/translated/order.js:4463
msgid "No matching lines"
msgstr ""
-#: templates/js/translated/part.js:56
+#: templates/js/translated/part.js:52
msgid "Part Attributes"
msgstr ""
-#: templates/js/translated/part.js:60
+#: templates/js/translated/part.js:56
msgid "Part Creation Options"
msgstr ""
-#: templates/js/translated/part.js:64
+#: templates/js/translated/part.js:60
msgid "Part Duplication Options"
msgstr ""
-#: templates/js/translated/part.js:68
+#: templates/js/translated/part.js:64
msgid "Supplier Options"
msgstr ""
-#: templates/js/translated/part.js:82
+#: templates/js/translated/part.js:78
msgid "Add Part Category"
msgstr ""
-#: templates/js/translated/part.js:166
+#: templates/js/translated/part.js:162
msgid "Create Initial Stock"
msgstr ""
-#: templates/js/translated/part.js:167
+#: templates/js/translated/part.js:163
msgid "Create an initial stock item for this part"
msgstr ""
-#: templates/js/translated/part.js:174
+#: templates/js/translated/part.js:170
msgid "Initial Stock Quantity"
msgstr ""
-#: templates/js/translated/part.js:175
+#: templates/js/translated/part.js:171
msgid "Specify initial stock quantity for this part"
msgstr ""
-#: templates/js/translated/part.js:182
+#: templates/js/translated/part.js:178
msgid "Select destination stock location"
msgstr ""
-#: templates/js/translated/part.js:200
+#: templates/js/translated/part.js:196
msgid "Copy Category Parameters"
msgstr ""
-#: templates/js/translated/part.js:201
+#: templates/js/translated/part.js:197
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: templates/js/translated/part.js:209
+#: templates/js/translated/part.js:205
msgid "Add Supplier Data"
msgstr ""
-#: templates/js/translated/part.js:210
+#: templates/js/translated/part.js:206
msgid "Create initial supplier data for this part"
msgstr ""
-#: templates/js/translated/part.js:266
+#: templates/js/translated/part.js:262
msgid "Copy Image"
msgstr ""
-#: templates/js/translated/part.js:267
+#: templates/js/translated/part.js:263
msgid "Copy image from original part"
msgstr ""
-#: templates/js/translated/part.js:275
+#: templates/js/translated/part.js:271
msgid "Copy bill of materials from original part"
msgstr ""
-#: templates/js/translated/part.js:282
+#: templates/js/translated/part.js:278
msgid "Copy Parameters"
msgstr ""
-#: templates/js/translated/part.js:283
+#: templates/js/translated/part.js:279
msgid "Copy parameter data from original part"
msgstr ""
-#: templates/js/translated/part.js:296
+#: templates/js/translated/part.js:292
msgid "Parent part category"
msgstr ""
-#: templates/js/translated/part.js:306 templates/js/translated/stock.js:118
+#: templates/js/translated/part.js:302 templates/js/translated/stock.js:118
msgid "Icon (optional) - Explore all available icons on"
msgstr ""
-#: templates/js/translated/part.js:322
+#: templates/js/translated/part.js:318
msgid "Edit Part Category"
msgstr ""
-#: templates/js/translated/part.js:335
+#: templates/js/translated/part.js:331
msgid "Are you sure you want to delete this part category?"
msgstr ""
-#: templates/js/translated/part.js:337
-msgid "Any child categories will be moved to the parent of this category"
+#: templates/js/translated/part.js:336
+msgid "Move to parent category"
msgstr ""
-#: templates/js/translated/part.js:338
-msgid "Any parts in this category will be moved to the parent of this category"
-msgstr ""
-
-#: templates/js/translated/part.js:343
+#: templates/js/translated/part.js:345
msgid "Delete Part Category"
msgstr ""
-#: templates/js/translated/part.js:369
+#: templates/js/translated/part.js:349
+msgid "Action for parts in this category"
+msgstr ""
+
+#: templates/js/translated/part.js:354
+msgid "Action for child categories"
+msgstr ""
+
+#: templates/js/translated/part.js:383
msgid "Edit Part"
msgstr ""
-#: templates/js/translated/part.js:371
+#: templates/js/translated/part.js:385
msgid "Part edited"
msgstr ""
-#: templates/js/translated/part.js:382
+#: templates/js/translated/part.js:396
msgid "Create Part Variant"
msgstr ""
-#: templates/js/translated/part.js:434
+#: templates/js/translated/part.js:448
msgid "Active Part"
msgstr ""
-#: templates/js/translated/part.js:435
+#: templates/js/translated/part.js:449
msgid "Part cannot be deleted as it is currently active"
msgstr ""
-#: templates/js/translated/part.js:449
+#: templates/js/translated/part.js:463
msgid "Deleting this part cannot be reversed"
msgstr ""
-#: templates/js/translated/part.js:451
+#: templates/js/translated/part.js:465
msgid "Any stock items for this part will be deleted"
msgstr ""
-#: templates/js/translated/part.js:452
+#: templates/js/translated/part.js:466
msgid "This part will be removed from any Bills of Material"
msgstr ""
-#: templates/js/translated/part.js:453
+#: templates/js/translated/part.js:467
msgid "All manufacturer and supplier information for this part will be deleted"
msgstr ""
-#: templates/js/translated/part.js:460
+#: templates/js/translated/part.js:474
msgid "Delete Part"
msgstr ""
-#: templates/js/translated/part.js:496
+#: templates/js/translated/part.js:510
msgid "You are subscribed to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:498
+#: templates/js/translated/part.js:512
msgid "You have subscribed to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:503
+#: templates/js/translated/part.js:517
msgid "Subscribe to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:505
+#: templates/js/translated/part.js:519
msgid "You have unsubscribed to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:522
+#: templates/js/translated/part.js:536
msgid "Validating the BOM will mark each line item as valid"
msgstr ""
-#: templates/js/translated/part.js:532
+#: templates/js/translated/part.js:546
msgid "Validate Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:535
+#: templates/js/translated/part.js:549
msgid "Validated Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:560
+#: templates/js/translated/part.js:574
msgid "Copy Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:584 templates/js/translated/part.js:1521
-#: templates/js/translated/table_filters.js:476
+#: templates/js/translated/part.js:598 templates/js/translated/part.js:1532
+#: templates/js/translated/table_filters.js:480
msgid "Low stock"
msgstr ""
-#: templates/js/translated/part.js:594
+#: templates/js/translated/part.js:608
msgid "No stock available"
msgstr ""
-#: templates/js/translated/part.js:628 templates/js/translated/part.js:713
+#: templates/js/translated/part.js:642 templates/js/translated/part.js:727
msgid "Trackable part"
msgstr ""
-#: templates/js/translated/part.js:632 templates/js/translated/part.js:717
+#: templates/js/translated/part.js:646 templates/js/translated/part.js:731
msgid "Virtual part"
msgstr ""
-#: templates/js/translated/part.js:644
+#: templates/js/translated/part.js:658
msgid "Subscribed part"
msgstr ""
-#: templates/js/translated/part.js:648
+#: templates/js/translated/part.js:662
msgid "Salable part"
msgstr ""
-#: templates/js/translated/part.js:776
+#: templates/js/translated/part.js:800
msgid "No variants found"
msgstr ""
-#: templates/js/translated/part.js:1200
+#: templates/js/translated/part.js:1221
msgid "Delete part relationship"
msgstr ""
-#: templates/js/translated/part.js:1224
+#: templates/js/translated/part.js:1245
msgid "Delete Part Relationship"
msgstr ""
-#: templates/js/translated/part.js:1291 templates/js/translated/part.js:1609
+#: templates/js/translated/part.js:1312 templates/js/translated/part.js:1633
msgid "No parts found"
msgstr ""
-#: templates/js/translated/part.js:1488
+#: templates/js/translated/part.js:1499
msgid "No category"
msgstr ""
-#: templates/js/translated/part.js:1519
+#: templates/js/translated/part.js:1530
msgid "No stock"
msgstr ""
-#: templates/js/translated/part.js:1543
+#: templates/js/translated/part.js:1554
msgid "Allocated to build orders"
msgstr ""
-#: templates/js/translated/part.js:1547
+#: templates/js/translated/part.js:1558
msgid "Allocated to sales orders"
msgstr ""
-#: templates/js/translated/part.js:1633 templates/js/translated/part.js:1876
-#: templates/js/translated/stock.js:2349
+#: templates/js/translated/part.js:1657 templates/js/translated/part.js:1900
+#: templates/js/translated/stock.js:2367
msgid "Display as list"
msgstr ""
-#: templates/js/translated/part.js:1649
+#: templates/js/translated/part.js:1673
msgid "Display as grid"
msgstr ""
-#: templates/js/translated/part.js:1715
+#: templates/js/translated/part.js:1739
msgid "Set the part category for the selected parts"
msgstr ""
-#: templates/js/translated/part.js:1720
+#: templates/js/translated/part.js:1744
msgid "Set Part Category"
msgstr ""
-#: templates/js/translated/part.js:1725
+#: templates/js/translated/part.js:1749
msgid "Select Part Category"
msgstr ""
-#: templates/js/translated/part.js:1738
+#: templates/js/translated/part.js:1762
msgid "Category is required"
msgstr ""
-#: templates/js/translated/part.js:1896 templates/js/translated/stock.js:2369
+#: templates/js/translated/part.js:1920 templates/js/translated/stock.js:2387
msgid "Display as tree"
msgstr ""
-#: templates/js/translated/part.js:1976
+#: templates/js/translated/part.js:2000
msgid "Load Subcategories"
msgstr ""
-#: templates/js/translated/part.js:1992
+#: templates/js/translated/part.js:2016
msgid "Subscribed category"
msgstr ""
-#: templates/js/translated/part.js:2056
+#: templates/js/translated/part.js:2080
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:2107 templates/js/translated/stock.js:1299
+#: templates/js/translated/part.js:2131 templates/js/translated/stock.js:1318
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:2108 templates/js/translated/stock.js:1300
-#: templates/js/translated/stock.js:1560
+#: templates/js/translated/part.js:2132 templates/js/translated/stock.js:1319
+#: templates/js/translated/stock.js:1579
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:2114
+#: templates/js/translated/part.js:2138
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:2136
+#: templates/js/translated/part.js:2160
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2150
+#: templates/js/translated/part.js:2174
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2175
-#, python-brace-format
-msgid "No ${human_name} information found"
-msgstr ""
-
-#: templates/js/translated/part.js:2232
-#, python-brace-format
-msgid "Edit ${human_name}"
-msgstr ""
-
-#: templates/js/translated/part.js:2233
-#, python-brace-format
-msgid "Delete ${human_name}"
-msgstr ""
-
-#: templates/js/translated/part.js:2398 templates/js/translated/part.js:2399
+#: templates/js/translated/part.js:2255 templates/js/translated/part.js:2256
msgid "No date specified"
msgstr ""
-#: templates/js/translated/part.js:2401
+#: templates/js/translated/part.js:2258
msgid "Specified date is in the past"
msgstr ""
-#: templates/js/translated/part.js:2407
+#: templates/js/translated/part.js:2264
msgid "Speculative"
msgstr ""
-#: templates/js/translated/part.js:2457
+#: templates/js/translated/part.js:2314
msgid "No scheduling information available for this part"
msgstr ""
-#: templates/js/translated/part.js:2463
+#: templates/js/translated/part.js:2320
msgid "Error fetching scheduling information for this part"
msgstr ""
-#: templates/js/translated/part.js:2559
+#: templates/js/translated/part.js:2416
msgid "Scheduled Stock Quantities"
msgstr ""
-#: templates/js/translated/part.js:2575
+#: templates/js/translated/part.js:2432
msgid "Maximum Quantity"
msgstr ""
-#: templates/js/translated/part.js:2620
+#: templates/js/translated/part.js:2477
msgid "Minimum Stock Level"
msgstr ""
-#: templates/js/translated/part.js:2721
-msgid "Single Price"
-msgstr ""
-
-#: templates/js/translated/part.js:2740
-msgid "Single Price Difference"
-msgstr ""
-
#: templates/js/translated/plugin.js:23
msgid "The Plugin was installed"
msgstr ""
+#: templates/js/translated/pricing.js:54
+msgid "No BOM data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:196
+msgid "No supplier pricing data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:305
+msgid "No price break data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:361
+#, python-brace-format
+msgid "Edit ${human_name}"
+msgstr ""
+
+#: templates/js/translated/pricing.js:362
+#, python-brace-format
+msgid "Delete ${human_name}"
+msgstr ""
+
+#: templates/js/translated/pricing.js:480
+msgid "No purchase history data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:502
+msgid "Purchase Price History"
+msgstr ""
+
+#: templates/js/translated/pricing.js:602
+msgid "No sales history data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:624
+msgid "Sale Price History"
+msgstr ""
+
+#: templates/js/translated/pricing.js:708
+msgid "No variant data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:748
+msgid "Variant Part"
+msgstr ""
+
#: templates/js/translated/report.js:67
msgid "items selected"
msgstr ""
@@ -9855,364 +10177,364 @@ msgstr ""
msgid "Are you sure you want to delete this stock location?"
msgstr ""
-#: templates/js/translated/stock.js:175
-msgid "Any child locations will be moved to the parent of this location"
+#: templates/js/translated/stock.js:180
+msgid "Move to parent stock location"
msgstr ""
-#: templates/js/translated/stock.js:176
-msgid "Any stock items in this location will be moved to the parent of this location"
-msgstr ""
-
-#: templates/js/translated/stock.js:182
+#: templates/js/translated/stock.js:189
msgid "Delete Stock Location"
msgstr ""
-#: templates/js/translated/stock.js:227
+#: templates/js/translated/stock.js:193
+msgid "Action for stock items in this stock location"
+msgstr ""
+
+#: templates/js/translated/stock.js:198
+msgid "Action for sub-locations"
+msgstr ""
+
+#: templates/js/translated/stock.js:246
msgid "This part cannot be serialized"
msgstr ""
-#: templates/js/translated/stock.js:266
+#: templates/js/translated/stock.js:285
msgid "Enter initial quantity for this stock item"
msgstr ""
-#: templates/js/translated/stock.js:272
+#: templates/js/translated/stock.js:291
msgid "Enter serial numbers for new stock (or leave blank)"
msgstr ""
-#: templates/js/translated/stock.js:337
+#: templates/js/translated/stock.js:356
msgid "Stock item duplicated"
msgstr ""
-#: templates/js/translated/stock.js:357
+#: templates/js/translated/stock.js:376
msgid "Duplicate Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:373
+#: templates/js/translated/stock.js:392
msgid "Are you sure you want to delete this stock item?"
msgstr ""
-#: templates/js/translated/stock.js:378
+#: templates/js/translated/stock.js:397
msgid "Delete Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:399
+#: templates/js/translated/stock.js:418
msgid "Edit Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:449
+#: templates/js/translated/stock.js:468
msgid "Created new stock item"
msgstr ""
-#: templates/js/translated/stock.js:462
+#: templates/js/translated/stock.js:481
msgid "Created multiple stock items"
msgstr ""
-#: templates/js/translated/stock.js:487
+#: templates/js/translated/stock.js:506
msgid "Find Serial Number"
msgstr ""
-#: templates/js/translated/stock.js:491 templates/js/translated/stock.js:492
+#: templates/js/translated/stock.js:510 templates/js/translated/stock.js:511
msgid "Enter serial number"
msgstr ""
-#: templates/js/translated/stock.js:508
+#: templates/js/translated/stock.js:527
msgid "Enter a serial number"
msgstr ""
-#: templates/js/translated/stock.js:528
+#: templates/js/translated/stock.js:547
msgid "No matching serial number"
msgstr ""
-#: templates/js/translated/stock.js:537
+#: templates/js/translated/stock.js:556
msgid "More than one matching result found"
msgstr ""
-#: templates/js/translated/stock.js:660
+#: templates/js/translated/stock.js:679
msgid "Confirm stock assignment"
msgstr ""
-#: templates/js/translated/stock.js:661
+#: templates/js/translated/stock.js:680
msgid "Assign Stock to Customer"
msgstr ""
-#: templates/js/translated/stock.js:738
+#: templates/js/translated/stock.js:757
msgid "Warning: Merge operation cannot be reversed"
msgstr ""
-#: templates/js/translated/stock.js:739
+#: templates/js/translated/stock.js:758
msgid "Some information will be lost when merging stock items"
msgstr ""
-#: templates/js/translated/stock.js:741
+#: templates/js/translated/stock.js:760
msgid "Stock transaction history will be deleted for merged items"
msgstr ""
-#: templates/js/translated/stock.js:742
+#: templates/js/translated/stock.js:761
msgid "Supplier part information will be deleted for merged items"
msgstr ""
-#: templates/js/translated/stock.js:828
+#: templates/js/translated/stock.js:847
msgid "Confirm stock item merge"
msgstr ""
-#: templates/js/translated/stock.js:829
+#: templates/js/translated/stock.js:848
msgid "Merge Stock Items"
msgstr ""
-#: templates/js/translated/stock.js:924
+#: templates/js/translated/stock.js:943
msgid "Transfer Stock"
msgstr ""
-#: templates/js/translated/stock.js:925
+#: templates/js/translated/stock.js:944
msgid "Move"
msgstr ""
-#: templates/js/translated/stock.js:931
+#: templates/js/translated/stock.js:950
msgid "Count Stock"
msgstr ""
-#: templates/js/translated/stock.js:932
+#: templates/js/translated/stock.js:951
msgid "Count"
msgstr ""
-#: templates/js/translated/stock.js:936
+#: templates/js/translated/stock.js:955
msgid "Remove Stock"
msgstr ""
-#: templates/js/translated/stock.js:937
+#: templates/js/translated/stock.js:956
msgid "Take"
msgstr ""
-#: templates/js/translated/stock.js:941
+#: templates/js/translated/stock.js:960
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:942 users/models.py:218
+#: templates/js/translated/stock.js:961 users/models.py:220
msgid "Add"
msgstr ""
-#: templates/js/translated/stock.js:946
+#: templates/js/translated/stock.js:965
msgid "Delete Stock"
msgstr ""
-#: templates/js/translated/stock.js:1039
+#: templates/js/translated/stock.js:1058
msgid "Quantity cannot be adjusted for serialized stock"
msgstr ""
-#: templates/js/translated/stock.js:1039
+#: templates/js/translated/stock.js:1058
msgid "Specify stock quantity"
msgstr ""
-#: templates/js/translated/stock.js:1079
+#: templates/js/translated/stock.js:1098
msgid "You must select at least one available stock item"
msgstr ""
-#: templates/js/translated/stock.js:1102
+#: templates/js/translated/stock.js:1121
msgid "Confirm stock adjustment"
msgstr ""
-#: templates/js/translated/stock.js:1238
+#: templates/js/translated/stock.js:1257
msgid "PASS"
msgstr ""
-#: templates/js/translated/stock.js:1240
+#: templates/js/translated/stock.js:1259
msgid "FAIL"
msgstr ""
-#: templates/js/translated/stock.js:1245
+#: templates/js/translated/stock.js:1264
msgid "NO RESULT"
msgstr ""
-#: templates/js/translated/stock.js:1292
+#: templates/js/translated/stock.js:1311
msgid "Pass test"
msgstr ""
-#: templates/js/translated/stock.js:1295
+#: templates/js/translated/stock.js:1314
msgid "Add test result"
msgstr ""
-#: templates/js/translated/stock.js:1321
+#: templates/js/translated/stock.js:1340
msgid "No test results found"
msgstr ""
-#: templates/js/translated/stock.js:1378
+#: templates/js/translated/stock.js:1397
msgid "Test Date"
msgstr ""
-#: templates/js/translated/stock.js:1543
+#: templates/js/translated/stock.js:1562
msgid "Edit Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1565
+#: templates/js/translated/stock.js:1584
msgid "Delete Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1594
+#: templates/js/translated/stock.js:1613
msgid "In production"
msgstr ""
-#: templates/js/translated/stock.js:1598
+#: templates/js/translated/stock.js:1617
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:1606
+#: templates/js/translated/stock.js:1625
msgid "Assigned to Sales Order"
msgstr ""
-#: templates/js/translated/stock.js:1612
+#: templates/js/translated/stock.js:1631
msgid "No stock location set"
msgstr ""
-#: templates/js/translated/stock.js:1781
+#: templates/js/translated/stock.js:1800
msgid "Stock item is in production"
msgstr ""
-#: templates/js/translated/stock.js:1786
+#: templates/js/translated/stock.js:1805
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/translated/stock.js:1789
+#: templates/js/translated/stock.js:1808
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/translated/stock.js:1792
+#: templates/js/translated/stock.js:1811
msgid "Serialized stock item has been allocated"
msgstr ""
-#: templates/js/translated/stock.js:1794
+#: templates/js/translated/stock.js:1813
msgid "Stock item has been fully allocated"
msgstr ""
-#: templates/js/translated/stock.js:1796
+#: templates/js/translated/stock.js:1815
msgid "Stock item has been partially allocated"
msgstr ""
-#: templates/js/translated/stock.js:1799
+#: templates/js/translated/stock.js:1818
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:1803
+#: templates/js/translated/stock.js:1822
msgid "Stock item has expired"
msgstr ""
-#: templates/js/translated/stock.js:1805
+#: templates/js/translated/stock.js:1824
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/translated/stock.js:1812
+#: templates/js/translated/stock.js:1831
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/translated/stock.js:1814
+#: templates/js/translated/stock.js:1833
msgid "Stock item is lost"
msgstr ""
-#: templates/js/translated/stock.js:1816
+#: templates/js/translated/stock.js:1835
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/translated/stock.js:1820
-#: templates/js/translated/table_filters.js:204
+#: templates/js/translated/stock.js:1839
+#: templates/js/translated/table_filters.js:208
msgid "Depleted"
msgstr ""
-#: templates/js/translated/stock.js:1871
-msgid "Stocktake"
-msgstr ""
-
-#: templates/js/translated/stock.js:1950
+#: templates/js/translated/stock.js:1969
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/translated/stock.js:1988
+#: templates/js/translated/stock.js:2006
msgid "No stock items matching query"
msgstr ""
-#: templates/js/translated/stock.js:2161
+#: templates/js/translated/stock.js:2179
msgid "Set Stock Status"
msgstr ""
-#: templates/js/translated/stock.js:2175
+#: templates/js/translated/stock.js:2193
msgid "Select Status Code"
msgstr ""
-#: templates/js/translated/stock.js:2176
+#: templates/js/translated/stock.js:2194
msgid "Status code must be selected"
msgstr ""
-#: templates/js/translated/stock.js:2408
+#: templates/js/translated/stock.js:2426
msgid "Load Subloactions"
msgstr ""
-#: templates/js/translated/stock.js:2503
+#: templates/js/translated/stock.js:2521
msgid "Details"
msgstr ""
-#: templates/js/translated/stock.js:2519
+#: templates/js/translated/stock.js:2537
msgid "Part information unavailable"
msgstr ""
-#: templates/js/translated/stock.js:2541
+#: templates/js/translated/stock.js:2559
msgid "Location no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2560
+#: templates/js/translated/stock.js:2578
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2579
+#: templates/js/translated/stock.js:2597
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2597
+#: templates/js/translated/stock.js:2615
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2620
+#: templates/js/translated/stock.js:2638
msgid "Added"
msgstr ""
-#: templates/js/translated/stock.js:2628
+#: templates/js/translated/stock.js:2646
msgid "Removed"
msgstr ""
-#: templates/js/translated/stock.js:2704
+#: templates/js/translated/stock.js:2722
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:2755 templates/js/translated/stock.js:2791
+#: templates/js/translated/stock.js:2773 templates/js/translated/stock.js:2809
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2804
+#: templates/js/translated/stock.js:2822
msgid "Select stock item to uninstall"
msgstr ""
-#: templates/js/translated/stock.js:2825
+#: templates/js/translated/stock.js:2843
msgid "Install another stock item into this item"
msgstr ""
-#: templates/js/translated/stock.js:2826
+#: templates/js/translated/stock.js:2844
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: templates/js/translated/stock.js:2828
+#: templates/js/translated/stock.js:2846
msgid "The Stock Item links to a Part which is the BOM for this Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2829
+#: templates/js/translated/stock.js:2847
msgid "The Stock Item is currently available in stock"
msgstr ""
-#: templates/js/translated/stock.js:2830
+#: templates/js/translated/stock.js:2848
msgid "The Stock Item is not already installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:2831
+#: templates/js/translated/stock.js:2849
msgid "The Stock Item is tracked by either a batch code or serial number"
msgstr ""
-#: templates/js/translated/stock.js:2844
+#: templates/js/translated/stock.js:2862
msgid "Select part to install"
msgstr ""
@@ -10236,215 +10558,220 @@ msgstr ""
msgid "Allow Variant Stock"
msgstr ""
-#: templates/js/translated/table_filters.js:126
-#: templates/js/translated/table_filters.js:199
+#: templates/js/translated/table_filters.js:92
+#: templates/js/translated/table_filters.js:508
+msgid "Has Pricing"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:130
+#: templates/js/translated/table_filters.js:203
msgid "Include sublocations"
msgstr ""
-#: templates/js/translated/table_filters.js:127
+#: templates/js/translated/table_filters.js:131
msgid "Include locations"
msgstr ""
-#: templates/js/translated/table_filters.js:137
-#: templates/js/translated/table_filters.js:138
-#: templates/js/translated/table_filters.js:445
+#: templates/js/translated/table_filters.js:141
+#: templates/js/translated/table_filters.js:142
+#: templates/js/translated/table_filters.js:449
msgid "Include subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:142
-#: templates/js/translated/table_filters.js:488
+#: templates/js/translated/table_filters.js:146
+#: templates/js/translated/table_filters.js:492
msgid "Subscribed"
msgstr ""
-#: templates/js/translated/table_filters.js:152
-#: templates/js/translated/table_filters.js:234
-msgid "Is Serialized"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:155
-#: templates/js/translated/table_filters.js:241
-msgid "Serial number GTE"
-msgstr ""
-
#: templates/js/translated/table_filters.js:156
-#: templates/js/translated/table_filters.js:242
-msgid "Serial number greater than or equal to"
+#: templates/js/translated/table_filters.js:238
+msgid "Is Serialized"
msgstr ""
#: templates/js/translated/table_filters.js:159
#: templates/js/translated/table_filters.js:245
-msgid "Serial number LTE"
+msgid "Serial number GTE"
msgstr ""
#: templates/js/translated/table_filters.js:160
#: templates/js/translated/table_filters.js:246
-msgid "Serial number less than or equal to"
+msgid "Serial number greater than or equal to"
msgstr ""
#: templates/js/translated/table_filters.js:163
+#: templates/js/translated/table_filters.js:249
+msgid "Serial number LTE"
+msgstr ""
+
#: templates/js/translated/table_filters.js:164
-#: templates/js/translated/table_filters.js:237
-#: templates/js/translated/table_filters.js:238
+#: templates/js/translated/table_filters.js:250
+msgid "Serial number less than or equal to"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:167
+#: templates/js/translated/table_filters.js:168
+#: templates/js/translated/table_filters.js:241
+#: templates/js/translated/table_filters.js:242
msgid "Serial number"
msgstr ""
-#: templates/js/translated/table_filters.js:168
-#: templates/js/translated/table_filters.js:259
+#: templates/js/translated/table_filters.js:172
+#: templates/js/translated/table_filters.js:263
msgid "Batch code"
msgstr ""
-#: templates/js/translated/table_filters.js:179
-#: templates/js/translated/table_filters.js:417
+#: templates/js/translated/table_filters.js:183
+#: templates/js/translated/table_filters.js:421
msgid "Active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:180
+#: templates/js/translated/table_filters.js:184
msgid "Show stock for active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:185
+#: templates/js/translated/table_filters.js:189
msgid "Part is an assembly"
msgstr ""
-#: templates/js/translated/table_filters.js:189
+#: templates/js/translated/table_filters.js:193
msgid "Is allocated"
msgstr ""
-#: templates/js/translated/table_filters.js:190
+#: templates/js/translated/table_filters.js:194
msgid "Item has been allocated"
msgstr ""
-#: templates/js/translated/table_filters.js:195
+#: templates/js/translated/table_filters.js:199
msgid "Stock is available for use"
msgstr ""
-#: templates/js/translated/table_filters.js:200
+#: templates/js/translated/table_filters.js:204
msgid "Include stock in sublocations"
msgstr ""
-#: templates/js/translated/table_filters.js:205
+#: templates/js/translated/table_filters.js:209
msgid "Show stock items which are depleted"
msgstr ""
-#: templates/js/translated/table_filters.js:210
+#: templates/js/translated/table_filters.js:214
msgid "Show items which are in stock"
msgstr ""
-#: templates/js/translated/table_filters.js:214
+#: templates/js/translated/table_filters.js:218
msgid "In Production"
msgstr ""
-#: templates/js/translated/table_filters.js:215
+#: templates/js/translated/table_filters.js:219
msgid "Show items which are in production"
msgstr ""
-#: templates/js/translated/table_filters.js:219
+#: templates/js/translated/table_filters.js:223
msgid "Include Variants"
msgstr ""
-#: templates/js/translated/table_filters.js:220
+#: templates/js/translated/table_filters.js:224
msgid "Include stock items for variant parts"
msgstr ""
-#: templates/js/translated/table_filters.js:224
+#: templates/js/translated/table_filters.js:228
msgid "Installed"
msgstr ""
-#: templates/js/translated/table_filters.js:225
+#: templates/js/translated/table_filters.js:229
msgid "Show stock items which are installed in another item"
msgstr ""
-#: templates/js/translated/table_filters.js:230
+#: templates/js/translated/table_filters.js:234
msgid "Show items which have been assigned to a customer"
msgstr ""
-#: templates/js/translated/table_filters.js:250
-#: templates/js/translated/table_filters.js:251
+#: templates/js/translated/table_filters.js:254
+#: templates/js/translated/table_filters.js:255
msgid "Stock status"
msgstr ""
-#: templates/js/translated/table_filters.js:254
+#: templates/js/translated/table_filters.js:258
msgid "Has batch code"
msgstr ""
-#: templates/js/translated/table_filters.js:262
+#: templates/js/translated/table_filters.js:266
msgid "Tracked"
msgstr ""
-#: templates/js/translated/table_filters.js:263
+#: templates/js/translated/table_filters.js:267
msgid "Stock item is tracked by either batch code or serial number"
msgstr ""
-#: templates/js/translated/table_filters.js:268
+#: templates/js/translated/table_filters.js:272
msgid "Has purchase price"
msgstr ""
-#: templates/js/translated/table_filters.js:269
+#: templates/js/translated/table_filters.js:273
msgid "Show stock items which have a purchase price set"
msgstr ""
-#: templates/js/translated/table_filters.js:278
+#: templates/js/translated/table_filters.js:282
msgid "Show stock items which have expired"
msgstr ""
-#: templates/js/translated/table_filters.js:284
+#: templates/js/translated/table_filters.js:288
msgid "Show stock which is close to expiring"
msgstr ""
-#: templates/js/translated/table_filters.js:296
+#: templates/js/translated/table_filters.js:300
msgid "Test Passed"
msgstr ""
-#: templates/js/translated/table_filters.js:300
+#: templates/js/translated/table_filters.js:304
msgid "Include Installed Items"
msgstr ""
-#: templates/js/translated/table_filters.js:319
+#: templates/js/translated/table_filters.js:323
msgid "Build status"
msgstr ""
-#: templates/js/translated/table_filters.js:332
-#: templates/js/translated/table_filters.js:373
+#: templates/js/translated/table_filters.js:336
+#: templates/js/translated/table_filters.js:377
msgid "Assigned to me"
msgstr ""
-#: templates/js/translated/table_filters.js:349
-#: templates/js/translated/table_filters.js:360
-#: templates/js/translated/table_filters.js:390
+#: templates/js/translated/table_filters.js:353
+#: templates/js/translated/table_filters.js:364
+#: templates/js/translated/table_filters.js:394
msgid "Order status"
msgstr ""
-#: templates/js/translated/table_filters.js:365
-#: templates/js/translated/table_filters.js:382
-#: templates/js/translated/table_filters.js:395
+#: templates/js/translated/table_filters.js:369
+#: templates/js/translated/table_filters.js:386
+#: templates/js/translated/table_filters.js:399
msgid "Outstanding"
msgstr ""
-#: templates/js/translated/table_filters.js:446
+#: templates/js/translated/table_filters.js:450
msgid "Include parts in subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:451
+#: templates/js/translated/table_filters.js:455
msgid "Show active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:459
+#: templates/js/translated/table_filters.js:463
msgid "Available stock"
msgstr ""
-#: templates/js/translated/table_filters.js:467
+#: templates/js/translated/table_filters.js:471
msgid "Has IPN"
msgstr ""
-#: templates/js/translated/table_filters.js:468
+#: templates/js/translated/table_filters.js:472
msgid "Part has internal part number"
msgstr ""
-#: templates/js/translated/table_filters.js:472
+#: templates/js/translated/table_filters.js:476
msgid "In stock"
msgstr ""
-#: templates/js/translated/table_filters.js:480
+#: templates/js/translated/table_filters.js:484
msgid "Purchasable"
msgstr ""
@@ -10554,6 +10881,10 @@ msgstr ""
msgid "Show all notifications and history"
msgstr ""
+#: templates/price_data.html:7
+msgid "No data"
+msgstr ""
+
#: templates/qr_code.html:11
msgid "QR data not provided"
msgstr ""
@@ -10738,35 +11069,35 @@ msgstr ""
msgid "Important dates"
msgstr ""
-#: users/models.py:205
+#: users/models.py:207
msgid "Permission set"
msgstr ""
-#: users/models.py:213
+#: users/models.py:215
msgid "Group"
msgstr ""
-#: users/models.py:216
+#: users/models.py:218
msgid "View"
msgstr ""
-#: users/models.py:216
+#: users/models.py:218
msgid "Permission to view items"
msgstr ""
-#: users/models.py:218
+#: users/models.py:220
msgid "Permission to add items"
msgstr ""
-#: users/models.py:220
+#: users/models.py:222
msgid "Change"
msgstr ""
-#: users/models.py:220
+#: users/models.py:222
msgid "Permissions to edit items"
msgstr ""
-#: users/models.py:222
+#: users/models.py:224
msgid "Permission to delete items"
msgstr ""
diff --git a/InvenTree/locale/tr/LC_MESSAGES/django.po b/InvenTree/locale/tr/LC_MESSAGES/django.po
index dcdc7629b3..3212a2882a 100644
--- a/InvenTree/locale/tr/LC_MESSAGES/django.po
+++ b/InvenTree/locale/tr/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-11-04 14:07+0000\n"
-"PO-Revision-Date: 2022-11-04 19:02\n"
+"POT-Creation-Date: 2022-11-14 04:59+0000\n"
+"PO-Revision-Date: 2022-11-14 14:51\n"
"Last-Translator: \n"
"Language-Team: Turkish\n"
"Language: tr_TR\n"
@@ -17,7 +17,7 @@ msgstr ""
"X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n"
"X-Crowdin-File-ID: 154\n"
-#: InvenTree/api.py:54
+#: InvenTree/api.py:61
msgid "API endpoint not found"
msgstr "API uç noktası bulunamadı"
@@ -25,27 +25,27 @@ msgstr "API uç noktası bulunamadı"
msgid "Error details can be found in the admin panel"
msgstr ""
-#: InvenTree/fields.py:120
+#: InvenTree/fields.py:129
msgid "Enter date"
msgstr "Tarih giriniz"
-#: InvenTree/fields.py:195 build/serializers.py:387
-#: build/templates/build/sidebar.html:21 company/models.py:525
-#: company/templates/company/sidebar.html:25 order/models.py:920
+#: InvenTree/fields.py:204 build/serializers.py:387
+#: build/templates/build/sidebar.html:21 company/models.py:529
+#: company/templates/company/sidebar.html:25 order/models.py:943
#: order/templates/order/po_sidebar.html:11
-#: order/templates/order/so_sidebar.html:17
-#: part/templates/part/part_sidebar.html:59
+#: order/templates/order/so_sidebar.html:17 part/admin.py:27
+#: part/templates/part/part_sidebar.html:57
#: report/templates/report/inventree_build_order_base.html:172
-#: stock/models.py:2002 stock/models.py:2110 stock/serializers.py:327
-#: stock/serializers.py:460 stock/serializers.py:541 stock/serializers.py:827
-#: stock/serializers.py:926 stock/serializers.py:1058
+#: stock/admin.py:103 stock/models.py:2018 stock/models.py:2126
+#: stock/serializers.py:321 stock/serializers.py:454 stock/serializers.py:535
+#: stock/serializers.py:826 stock/serializers.py:925 stock/serializers.py:1057
#: stock/templates/stock/stock_sidebar.html:25
-#: templates/js/translated/barcode.js:108 templates/js/translated/bom.js:1146
-#: templates/js/translated/company.js:1022
-#: templates/js/translated/order.js:2404 templates/js/translated/order.js:2552
-#: templates/js/translated/order.js:3048 templates/js/translated/order.js:3999
-#: templates/js/translated/order.js:4394 templates/js/translated/stock.js:1374
-#: templates/js/translated/stock.js:1982
+#: templates/js/translated/barcode.js:108 templates/js/translated/bom.js:1211
+#: templates/js/translated/company.js:1023
+#: templates/js/translated/order.js:2427 templates/js/translated/order.js:2561
+#: templates/js/translated/order.js:3059 templates/js/translated/order.js:3996
+#: templates/js/translated/order.js:4377 templates/js/translated/stock.js:1393
+#: templates/js/translated/stock.js:2000
msgid "Notes"
msgstr "Notlar"
@@ -122,43 +122,43 @@ msgstr ""
msgid "Supplied URL is not a valid image file"
msgstr "Sağlanan URL geçerli bir resim dosyası değil"
-#: InvenTree/helpers.py:602 order/models.py:325 order/models.py:477
+#: InvenTree/helpers.py:589 order/models.py:329 order/models.py:496
msgid "Invalid quantity provided"
msgstr "Geçersiz veri sağlandı"
-#: InvenTree/helpers.py:610
+#: InvenTree/helpers.py:597
msgid "Empty serial number string"
msgstr "Boş seri numarası dizesi"
-#: InvenTree/helpers.py:640
+#: InvenTree/helpers.py:627
msgid "Duplicate serial"
msgstr ""
-#: InvenTree/helpers.py:673 InvenTree/helpers.py:708
+#: InvenTree/helpers.py:660 InvenTree/helpers.py:695
#, python-brace-format
msgid "Invalid group range: {g}"
msgstr ""
-#: InvenTree/helpers.py:702
+#: InvenTree/helpers.py:689
#, python-brace-format
msgid "Group range {g} exceeds allowed quantity ({q})"
msgstr ""
-#: InvenTree/helpers.py:726 InvenTree/helpers.py:733 InvenTree/helpers.py:748
+#: InvenTree/helpers.py:713 InvenTree/helpers.py:720 InvenTree/helpers.py:735
#, python-brace-format
msgid "Invalid group sequence: {g}"
msgstr ""
-#: InvenTree/helpers.py:758
+#: InvenTree/helpers.py:745
msgid "No serial numbers found"
msgstr "Seri numarası bulunamadı"
-#: InvenTree/helpers.py:761
+#: InvenTree/helpers.py:748
#, python-brace-format
msgid "Number of unique serial numbers ({s}) must match quantity ({q})"
msgstr ""
-#: InvenTree/helpers.py:960
+#: InvenTree/helpers.py:947
msgid "Remove HTML tags from this value"
msgstr ""
@@ -194,7 +194,7 @@ msgstr "Eksik dosya"
msgid "Missing external link"
msgstr "Bozuk dış bağlantı"
-#: InvenTree/models.py:405 stock/models.py:2104
+#: InvenTree/models.py:405 stock/models.py:2120
#: templates/js/translated/attachment.js:103
#: templates/js/translated/attachment.js:241
msgid "Attachment"
@@ -204,18 +204,19 @@ msgstr "Ek"
msgid "Select file to attach"
msgstr "Eklenecek dosyayı seç"
-#: InvenTree/models.py:412 company/models.py:125 company/models.py:277
-#: company/models.py:512 order/models.py:84 order/models.py:1259
-#: part/models.py:816 part/templates/part/part_scheduling.html:11
+#: InvenTree/models.py:412 common/models.py:2313 company/models.py:129
+#: company/models.py:281 company/models.py:516 order/models.py:85
+#: order/models.py:1282 part/admin.py:25 part/models.py:835
+#: part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
-#: templates/js/translated/company.js:691
-#: templates/js/translated/company.js:1011
-#: templates/js/translated/order.js:3037 templates/js/translated/part.js:1569
+#: stock/admin.py:102 templates/js/translated/company.js:692
+#: templates/js/translated/company.js:1012
+#: templates/js/translated/order.js:3048 templates/js/translated/part.js:1593
msgid "Link"
msgstr "Bağlantı"
-#: InvenTree/models.py:413 build/models.py:290 part/models.py:817
-#: stock/models.py:660
+#: InvenTree/models.py:413 build/models.py:290 part/models.py:836
+#: stock/models.py:676
msgid "Link to external URL"
msgstr "Harici URL'ye bağlantı"
@@ -228,12 +229,12 @@ msgstr "Yorum"
msgid "File comment"
msgstr "Dosya yorumu"
-#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1744
-#: common/models.py:1745 common/models.py:1968 common/models.py:1969
-#: common/models.py:2231 common/models.py:2232 part/models.py:2254
-#: part/models.py:2274 plugin/models.py:264 plugin/models.py:265
+#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1756
+#: common/models.py:1757 common/models.py:1980 common/models.py:1981
+#: common/models.py:2243 common/models.py:2244 part/models.py:2867
+#: part/models.py:2887 plugin/models.py:264 plugin/models.py:265
#: report/templates/report/inventree_test_report_base.html:96
-#: templates/js/translated/stock.js:2651
+#: templates/js/translated/stock.js:2669
msgid "User"
msgstr "Kullanıcı"
@@ -270,44 +271,45 @@ msgstr "Dosya adı değiştirilirken hata"
msgid "Invalid choice"
msgstr "Geçersiz seçim"
-#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1954
-#: company/models.py:359 label/models.py:101 part/models.py:760
-#: part/models.py:2429 plugin/models.py:94 report/models.py:152
+#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1966
+#: company/models.py:363 label/models.py:101 part/models.py:779
+#: part/models.py:3042 plugin/models.py:94 report/models.py:152
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/plugin.html:60
#: templates/InvenTree/settings/plugin.html:104
#: templates/InvenTree/settings/plugin_settings.html:23
#: templates/InvenTree/settings/settings.html:344
-#: templates/js/translated/company.js:580
-#: templates/js/translated/company.js:793
+#: templates/js/translated/company.js:581
+#: templates/js/translated/company.js:794
#: templates/js/translated/notification.js:71
-#: templates/js/translated/part.js:686 templates/js/translated/part.js:838
-#: templates/js/translated/part.js:1964 templates/js/translated/stock.js:2396
+#: templates/js/translated/part.js:700 templates/js/translated/part.js:865
+#: templates/js/translated/part.js:1988 templates/js/translated/stock.js:2414
msgid "Name"
msgstr "Adı"
#: InvenTree/models.py:564 build/models.py:163
-#: build/templates/build/detail.html:24 company/models.py:283
-#: company/models.py:518 company/templates/company/company_base.html:71
+#: build/templates/build/detail.html:24 company/models.py:287
+#: company/models.py:522 company/templates/company/company_base.html:71
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:108 label/models.py:108
-#: order/models.py:82 part/models.py:783 part/models.py:2438
-#: part/templates/part/category.html:75 part/templates/part/part_base.html:172
+#: order/models.py:83 part/admin.py:141 part/admin.py:222 part/models.py:802
+#: part/models.py:3051 part/templates/part/category.html:75
+#: part/templates/part/part_base.html:172
#: part/templates/part/part_scheduling.html:12 report/models.py:165
#: report/models.py:507 report/models.py:551
#: report/templates/report/inventree_build_order_base.html:117
-#: stock/templates/stock/location.html:117
+#: stock/admin.py:25 stock/templates/stock/location.html:117
#: templates/InvenTree/settings/plugin_settings.html:28
#: templates/InvenTree/settings/settings.html:355
-#: templates/js/translated/bom.js:579 templates/js/translated/bom.js:887
-#: templates/js/translated/build.js:2580 templates/js/translated/company.js:444
-#: templates/js/translated/company.js:702
-#: templates/js/translated/company.js:986 templates/js/translated/order.js:1988
-#: templates/js/translated/order.js:2220 templates/js/translated/order.js:2826
-#: templates/js/translated/part.js:745 templates/js/translated/part.js:1187
-#: templates/js/translated/part.js:1464 templates/js/translated/part.js:2000
-#: templates/js/translated/part.js:2075 templates/js/translated/stock.js:1748
-#: templates/js/translated/stock.js:2428 templates/js/translated/stock.js:2488
+#: templates/js/translated/bom.js:592 templates/js/translated/bom.js:895
+#: templates/js/translated/build.js:2580 templates/js/translated/company.js:445
+#: templates/js/translated/company.js:703
+#: templates/js/translated/company.js:987 templates/js/translated/order.js:2022
+#: templates/js/translated/order.js:2259 templates/js/translated/order.js:2837
+#: templates/js/translated/part.js:759 templates/js/translated/part.js:1208
+#: templates/js/translated/part.js:1475 templates/js/translated/part.js:2024
+#: templates/js/translated/part.js:2099 templates/js/translated/stock.js:1767
+#: templates/js/translated/stock.js:2446 templates/js/translated/stock.js:2506
msgid "Description"
msgstr "Açıklama"
@@ -320,7 +322,7 @@ msgid "parent"
msgstr "üst"
#: InvenTree/models.py:580 InvenTree/models.py:581
-#: templates/js/translated/part.js:2009 templates/js/translated/stock.js:2437
+#: templates/js/translated/part.js:2033 templates/js/translated/stock.js:2455
msgid "Path"
msgstr ""
@@ -332,7 +334,7 @@ msgstr ""
msgid "Third party barcode data"
msgstr ""
-#: InvenTree/models.py:688 order/serializers.py:486
+#: InvenTree/models.py:688 order/serializers.py:477
msgid "Barcode Hash"
msgstr ""
@@ -352,187 +354,187 @@ msgstr ""
msgid "An error has been logged by the server."
msgstr ""
-#: InvenTree/serializers.py:58 part/models.py:2774
+#: InvenTree/serializers.py:58 part/models.py:3387
msgid "Must be a valid number"
msgstr "Geçerli bir numara olmalı"
-#: InvenTree/serializers.py:265
+#: InvenTree/serializers.py:266
msgid "Filename"
msgstr "Dosya adı"
-#: InvenTree/serializers.py:300
+#: InvenTree/serializers.py:301
msgid "Invalid value"
msgstr "Geçersiz değer"
-#: InvenTree/serializers.py:322
+#: InvenTree/serializers.py:323
msgid "Data File"
msgstr "Veri Dosyası"
-#: InvenTree/serializers.py:323
+#: InvenTree/serializers.py:324
msgid "Select data file for upload"
msgstr "Yüklemek istediğiniz dosyayı seçin"
-#: InvenTree/serializers.py:344
+#: InvenTree/serializers.py:345
msgid "Unsupported file type"
msgstr "Desteklenmeyen dsoya tipi"
-#: InvenTree/serializers.py:350
+#: InvenTree/serializers.py:351
msgid "File is too large"
msgstr "Dosya boyutu çok büyük"
-#: InvenTree/serializers.py:371
+#: InvenTree/serializers.py:372
msgid "No columns found in file"
msgstr "Dosyada kolon bulunamadı"
-#: InvenTree/serializers.py:374
+#: InvenTree/serializers.py:375
msgid "No data rows found in file"
msgstr "Dosyada satır bulunamadı"
-#: InvenTree/serializers.py:497
+#: InvenTree/serializers.py:498
msgid "No data rows provided"
msgstr "Dosyada satır bulunamadı"
-#: InvenTree/serializers.py:500
+#: InvenTree/serializers.py:501
msgid "No data columns supplied"
msgstr "Dosyada uygun kolon bulunamadı"
-#: InvenTree/serializers.py:577
+#: InvenTree/serializers.py:578
#, python-brace-format
msgid "Missing required column: '{name}'"
msgstr "Gerekli kolon ismi eksik:'{name}'"
-#: InvenTree/serializers.py:586
+#: InvenTree/serializers.py:587
#, python-brace-format
msgid "Duplicate column: '{col}'"
msgstr "Tekrarlanan kolon ismi:'{col}'"
-#: InvenTree/serializers.py:605
+#: InvenTree/serializers.py:606
#: templates/InvenTree/settings/mixins/urls.html:14
msgid "URL"
msgstr ""
-#: InvenTree/serializers.py:606
+#: InvenTree/serializers.py:607
msgid "URL of remote image file"
msgstr ""
-#: InvenTree/serializers.py:620
+#: InvenTree/serializers.py:621
msgid "Downloading images from remote URL is not enabled"
msgstr ""
-#: InvenTree/settings.py:621
+#: InvenTree/settings.py:627
msgid "Czech"
msgstr ""
-#: InvenTree/settings.py:622
+#: InvenTree/settings.py:628
msgid "Danish"
msgstr ""
-#: InvenTree/settings.py:623
+#: InvenTree/settings.py:629
msgid "German"
msgstr "Almanca"
-#: InvenTree/settings.py:624
+#: InvenTree/settings.py:630
msgid "Greek"
msgstr "Yunanca"
-#: InvenTree/settings.py:625
+#: InvenTree/settings.py:631
msgid "English"
msgstr "İngilizce"
-#: InvenTree/settings.py:626
+#: InvenTree/settings.py:632
msgid "Spanish"
msgstr "İspanyolca"
-#: InvenTree/settings.py:627
+#: InvenTree/settings.py:633
msgid "Spanish (Mexican)"
msgstr "İspanyolca(Meksika)"
-#: InvenTree/settings.py:628
+#: InvenTree/settings.py:634
msgid "Farsi / Persian"
msgstr ""
-#: InvenTree/settings.py:629
+#: InvenTree/settings.py:635
msgid "French"
msgstr "Fransızca"
-#: InvenTree/settings.py:630
+#: InvenTree/settings.py:636
msgid "Hebrew"
msgstr "İbranice"
-#: InvenTree/settings.py:631
+#: InvenTree/settings.py:637
msgid "Hungarian"
msgstr "Macarca"
-#: InvenTree/settings.py:632
+#: InvenTree/settings.py:638
msgid "Italian"
msgstr "İtalyanca"
-#: InvenTree/settings.py:633
+#: InvenTree/settings.py:639
msgid "Japanese"
msgstr "Japonca"
-#: InvenTree/settings.py:634
+#: InvenTree/settings.py:640
msgid "Korean"
msgstr "Korece"
-#: InvenTree/settings.py:635
+#: InvenTree/settings.py:641
msgid "Dutch"
msgstr "Flemenkçe"
-#: InvenTree/settings.py:636
+#: InvenTree/settings.py:642
msgid "Norwegian"
msgstr "Norveççe"
-#: InvenTree/settings.py:637
+#: InvenTree/settings.py:643
msgid "Polish"
msgstr "Polonyaca"
-#: InvenTree/settings.py:638
+#: InvenTree/settings.py:644
msgid "Portuguese"
msgstr ""
-#: InvenTree/settings.py:639
+#: InvenTree/settings.py:645
msgid "Portuguese (Brazilian)"
msgstr ""
-#: InvenTree/settings.py:640
+#: InvenTree/settings.py:646
msgid "Russian"
msgstr "Rusça"
-#: InvenTree/settings.py:641
+#: InvenTree/settings.py:647
msgid "Swedish"
msgstr "İsveççe"
-#: InvenTree/settings.py:642
+#: InvenTree/settings.py:648
msgid "Thai"
msgstr "Tay dili"
-#: InvenTree/settings.py:643
+#: InvenTree/settings.py:649
msgid "Turkish"
msgstr "Türkçe"
-#: InvenTree/settings.py:644
+#: InvenTree/settings.py:650
msgid "Vietnamese"
msgstr "Vietnamca"
-#: InvenTree/settings.py:645
+#: InvenTree/settings.py:651
msgid "Chinese"
msgstr "Çince"
-#: InvenTree/status.py:99
+#: InvenTree/status.py:98
msgid "Background worker check failed"
msgstr "Arka plan çalışanı kontrolü başarısız oldu"
-#: InvenTree/status.py:103
+#: InvenTree/status.py:102
msgid "Email backend not configured"
msgstr "E-posta arka ucu yapılandırılmadı"
-#: InvenTree/status.py:106
+#: InvenTree/status.py:105
msgid "InvenTree system health checks failed"
msgstr "InvenTree sistem sağlık kontrolü başarısız"
#: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140
-#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:342
+#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:346
msgid "Pending"
msgstr "Bekliyor"
@@ -561,8 +563,8 @@ msgstr "Kayıp"
msgid "Returned"
msgstr "İade"
-#: InvenTree/status_codes.py:141 order/models.py:1142
-#: templates/js/translated/order.js:3625 templates/js/translated/order.js:3974
+#: InvenTree/status_codes.py:141 order/models.py:1165
+#: templates/js/translated/order.js:3636 templates/js/translated/order.js:3971
msgid "Shipped"
msgstr "Sevk edildi"
@@ -646,7 +648,7 @@ msgstr "Üst ögeden ayır"
msgid "Split child item"
msgstr "Alt ögeyi ayır"
-#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2086
+#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2104
msgid "Merged stock items"
msgstr "Stok parçalarını birleştir"
@@ -654,7 +656,7 @@ msgstr "Stok parçalarını birleştir"
msgid "Converted to variant"
msgstr ""
-#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:229
+#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:233
msgid "Sent to customer"
msgstr "Müşteriye gönderildi"
@@ -746,7 +748,7 @@ msgstr "Yapım İşi Emri"
#: build/models.py:111 build/templates/build/build_base.html:13
#: build/templates/build/index.html:8 build/templates/build/index.html:12
-#: order/templates/order/sales_order_detail.html:120
+#: order/templates/order/sales_order_detail.html:125
#: order/templates/order/so_sidebar.html:13
#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221
#: templates/InvenTree/search.html:141
@@ -759,15 +761,15 @@ msgstr "Yapım İşi Emirleri"
msgid "Build Order Reference"
msgstr "Yapım İşi Emri Referansı"
-#: build/models.py:155 order/models.py:240 order/models.py:632
-#: order/models.py:918 part/models.py:2684
+#: build/models.py:155 order/models.py:241 order/models.py:651
+#: order/models.py:941 part/admin.py:224 part/models.py:3297
#: part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:92
-#: templates/js/translated/bom.js:716 templates/js/translated/bom.js:897
-#: templates/js/translated/build.js:1843 templates/js/translated/order.js:2251
-#: templates/js/translated/order.js:2481 templates/js/translated/order.js:3818
-#: templates/js/translated/order.js:4323
+#: templates/js/translated/bom.js:729 templates/js/translated/bom.js:905
+#: templates/js/translated/build.js:1843 templates/js/translated/order.js:2290
+#: templates/js/translated/order.js:2508 templates/js/translated/order.js:3833
+#: templates/js/translated/order.js:4324 templates/js/translated/pricing.js:119
msgid "Reference"
msgstr "Referans"
@@ -785,39 +787,40 @@ msgid "BuildOrder to which this build is allocated"
msgstr "Bu yapım işinin tahsis edildiği yapım işi emri"
#: build/models.py:180 build/templates/build/build_base.html:80
-#: build/templates/build/detail.html:29 company/models.py:680
-#: order/models.py:1015 order/models.py:1126 order/models.py:1127
-#: part/models.py:343 part/models.py:2200 part/models.py:2215
-#: part/models.py:2234 part/models.py:2252 part/models.py:2351
-#: part/models.py:2472 part/models.py:2564 part/models.py:2649
-#: part/models.py:2943 part/serializers.py:828
+#: build/templates/build/detail.html:29 company/models.py:684
+#: order/models.py:1038 order/models.py:1149 order/models.py:1150
+#: part/models.py:362 part/models.py:2700 part/models.py:2813
+#: part/models.py:2828 part/models.py:2847 part/models.py:2865
+#: part/models.py:2964 part/models.py:3085 part/models.py:3177
+#: part/models.py:3262 part/models.py:3578 part/serializers.py:852
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
#: report/templates/report/inventree_build_order_base.html:109
#: report/templates/report/inventree_po_report.html:89
-#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:86
-#: stock/serializers.py:494 templates/InvenTree/search.html:82
+#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:90
+#: stock/serializers.py:488 templates/InvenTree/search.html:82
#: templates/email/build_order_completed.html:17
#: templates/email/build_order_required_stock.html:17
#: templates/email/low_stock_notification.html:16
#: templates/email/overdue_build_order.html:16
-#: templates/js/translated/barcode.js:479 templates/js/translated/bom.js:578
-#: templates/js/translated/bom.js:715 templates/js/translated/bom.js:841
+#: templates/js/translated/barcode.js:479 templates/js/translated/bom.js:591
+#: templates/js/translated/bom.js:728 templates/js/translated/bom.js:849
#: templates/js/translated/build.js:1214 templates/js/translated/build.js:1711
#: templates/js/translated/build.js:2194 templates/js/translated/build.js:2585
-#: templates/js/translated/company.js:301
-#: templates/js/translated/company.js:531
-#: templates/js/translated/company.js:643
-#: templates/js/translated/company.js:904 templates/js/translated/order.js:106
-#: templates/js/translated/order.js:1134 templates/js/translated/order.js:1638
-#: templates/js/translated/order.js:2205 templates/js/translated/order.js:3180
-#: templates/js/translated/order.js:3576 templates/js/translated/order.js:3802
-#: templates/js/translated/part.js:1172 templates/js/translated/part.js:1244
-#: templates/js/translated/part.js:1442 templates/js/translated/stock.js:586
-#: templates/js/translated/stock.js:751 templates/js/translated/stock.js:958
-#: templates/js/translated/stock.js:1700 templates/js/translated/stock.js:2514
-#: templates/js/translated/stock.js:2709 templates/js/translated/stock.js:2843
+#: templates/js/translated/company.js:302
+#: templates/js/translated/company.js:532
+#: templates/js/translated/company.js:644
+#: templates/js/translated/company.js:905 templates/js/translated/order.js:106
+#: templates/js/translated/order.js:1168 templates/js/translated/order.js:1672
+#: templates/js/translated/order.js:2244 templates/js/translated/order.js:3191
+#: templates/js/translated/order.js:3587 templates/js/translated/order.js:3817
+#: templates/js/translated/part.js:1193 templates/js/translated/part.js:1265
+#: templates/js/translated/part.js:1452 templates/js/translated/pricing.js:102
+#: templates/js/translated/stock.js:605 templates/js/translated/stock.js:770
+#: templates/js/translated/stock.js:977 templates/js/translated/stock.js:1719
+#: templates/js/translated/stock.js:2532 templates/js/translated/stock.js:2727
+#: templates/js/translated/stock.js:2861
msgid "Part"
msgstr "Parça"
@@ -834,7 +837,7 @@ msgid "SalesOrder to which this build is allocated"
msgstr "Bu yapım işinin tahsis edildiği satış emri"
#: build/models.py:202 build/serializers.py:822
-#: templates/js/translated/build.js:2182 templates/js/translated/order.js:3168
+#: templates/js/translated/build.js:2182 templates/js/translated/order.js:3179
msgid "Source Location"
msgstr "Kaynak Konum"
@@ -874,8 +877,8 @@ msgstr "Yapım İşi Durumu"
msgid "Build status code"
msgstr "Yapım işi durum kodu"
-#: build/models.py:245 build/serializers.py:224 order/serializers.py:464
-#: stock/models.py:664 templates/js/translated/order.js:1496
+#: build/models.py:245 build/serializers.py:224 order/serializers.py:455
+#: stock/models.py:680 templates/js/translated/order.js:1530
msgid "Batch Code"
msgstr "Sıra numarası"
@@ -883,12 +886,12 @@ msgstr "Sıra numarası"
msgid "Batch code for this build output"
msgstr "Yapım işi çıktısı için sıra numarası"
-#: build/models.py:252 order/models.py:86 part/models.py:952
-#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2839
+#: build/models.py:252 order/models.py:87 part/models.py:971
+#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2850
msgid "Creation Date"
msgstr "Oluşturulma tarihi"
-#: build/models.py:256 order/models.py:662
+#: build/models.py:256 order/models.py:681
msgid "Target completion date"
msgstr "Hedef tamamlama tarihi"
@@ -896,7 +899,7 @@ msgstr "Hedef tamamlama tarihi"
msgid "Target date for build completion. Build will be overdue after this date."
msgstr "Yapım işinin tamamlanması için hedef tarih. Bu tarihten sonra yapım işi gecikmiş olacak."
-#: build/models.py:260 order/models.py:291
+#: build/models.py:260 order/models.py:292
#: templates/js/translated/build.js:2662
msgid "Completion Date"
msgstr "Tamamlama tarihi"
@@ -914,11 +917,11 @@ msgid "User who issued this build order"
msgstr "Bu yapım işi emrini veren kullanıcı"
#: build/models.py:283 build/templates/build/build_base.html:193
-#: build/templates/build/detail.html:115 order/models.py:100
+#: build/templates/build/detail.html:115 order/models.py:101
#: order/templates/order/order_base.html:185
-#: order/templates/order/sales_order_base.html:183 part/models.py:956
+#: order/templates/order/sales_order_base.html:183 part/models.py:975
#: report/templates/report/inventree_build_order_base.html:158
-#: templates/js/translated/build.js:2642 templates/js/translated/order.js:2022
+#: templates/js/translated/build.js:2642 templates/js/translated/order.js:2056
msgid "Responsible"
msgstr "Sorumlu"
@@ -929,7 +932,7 @@ msgstr "Bu yapım işi emrinden sorumlu kullanıcı"
#: build/models.py:289 build/templates/build/detail.html:101
#: company/templates/company/manufacturer_part.html:107
#: company/templates/company/supplier_part.html:188
-#: part/templates/part/part_base.html:361 stock/models.py:658
+#: part/templates/part/part_base.html:376 stock/models.py:674
#: stock/templates/stock/item_base.html:203
msgid "External Link"
msgstr "Harici Bağlantı"
@@ -968,11 +971,11 @@ msgstr "Ana parça izlenebilir olarak işaretlendiğinden, yapım işi çıktıs
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr ""
-#: build/models.py:1191 order/models.py:1393
+#: build/models.py:1191 order/models.py:1416
msgid "Stock item is over-allocated"
msgstr "Stok kalemi fazladan tahsis edilmiş"
-#: build/models.py:1197 order/models.py:1396
+#: build/models.py:1197 order/models.py:1419
msgid "Allocation quantity must be greater than zero"
msgstr "Tahsis edilen miktar sıfırdan büyük olmalıdır"
@@ -994,18 +997,18 @@ msgstr "Yapım İşi"
msgid "Build to allocate parts"
msgstr "Yapım işi için tahsis edilen parçalar"
-#: build/models.py:1346 build/serializers.py:663 order/serializers.py:1039
-#: order/serializers.py:1060 stock/serializers.py:398 stock/serializers.py:758
-#: stock/serializers.py:884 stock/templates/stock/item_base.html:10
+#: build/models.py:1346 build/serializers.py:663 order/serializers.py:1032
+#: order/serializers.py:1053 stock/serializers.py:392 stock/serializers.py:757
+#: stock/serializers.py:883 stock/templates/stock/item_base.html:10
#: stock/templates/stock/item_base.html:23
#: stock/templates/stock/item_base.html:197
#: templates/js/translated/build.js:790 templates/js/translated/build.js:795
#: templates/js/translated/build.js:2196 templates/js/translated/build.js:2747
-#: templates/js/translated/order.js:107 templates/js/translated/order.js:3181
-#: templates/js/translated/order.js:3483 templates/js/translated/order.js:3488
-#: templates/js/translated/order.js:3583 templates/js/translated/order.js:3675
-#: templates/js/translated/stock.js:587 templates/js/translated/stock.js:752
-#: templates/js/translated/stock.js:2587
+#: templates/js/translated/order.js:107 templates/js/translated/order.js:3192
+#: templates/js/translated/order.js:3494 templates/js/translated/order.js:3499
+#: templates/js/translated/order.js:3594 templates/js/translated/order.js:3686
+#: templates/js/translated/stock.js:606 templates/js/translated/stock.js:771
+#: templates/js/translated/stock.js:2605
msgid "Stock Item"
msgstr "Stok Kalemi"
@@ -1015,12 +1018,10 @@ msgstr "Kaynak stok kalemi"
#: build/models.py:1359 build/serializers.py:192
#: build/templates/build/build_base.html:85
-#: build/templates/build/detail.html:34 common/models.py:1776
-#: company/templates/company/supplier_part.html:341 order/models.py:911
-#: order/models.py:1437 order/serializers.py:1213
-#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:40
-#: part/models.py:2665 part/templates/part/detail.html:938
-#: part/templates/part/detail.html:1024
+#: build/templates/build/detail.html:34 common/models.py:1788
+#: order/models.py:934 order/models.py:1460 order/serializers.py:1206
+#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:223
+#: part/forms.py:40 part/models.py:3278
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_build_order_base.html:113
@@ -1028,25 +1029,29 @@ msgstr "Kaynak stok kalemi"
#: report/templates/report/inventree_so_report.html:91
#: report/templates/report/inventree_test_report_base.html:81
#: report/templates/report/inventree_test_report_base.html:139
-#: stock/serializers.py:291 stock/templates/stock/item_base.html:290
+#: stock/admin.py:86 stock/serializers.py:285
+#: stock/templates/stock/item_base.html:290
#: stock/templates/stock/item_base.html:298
#: templates/email/build_order_completed.html:18
-#: templates/js/translated/barcode.js:481 templates/js/translated/bom.js:717
-#: templates/js/translated/bom.js:905 templates/js/translated/build.js:474
+#: templates/js/translated/barcode.js:481 templates/js/translated/bom.js:730
+#: templates/js/translated/bom.js:913 templates/js/translated/build.js:474
#: templates/js/translated/build.js:626 templates/js/translated/build.js:817
#: templates/js/translated/build.js:1236 templates/js/translated/build.js:1737
#: templates/js/translated/build.js:2197
+#: templates/js/translated/company.js:1159
#: templates/js/translated/model_renderers.js:120
-#: templates/js/translated/order.js:123 templates/js/translated/order.js:1137
-#: templates/js/translated/order.js:2257 templates/js/translated/order.js:2487
-#: templates/js/translated/order.js:3182 templates/js/translated/order.js:3502
-#: templates/js/translated/order.js:3589 templates/js/translated/order.js:3681
-#: templates/js/translated/order.js:3824 templates/js/translated/order.js:4329
-#: templates/js/translated/part.js:1036 templates/js/translated/part.js:2220
-#: templates/js/translated/part.js:2689 templates/js/translated/part.js:2730
-#: templates/js/translated/part.js:2808 templates/js/translated/stock.js:458
-#: templates/js/translated/stock.js:612 templates/js/translated/stock.js:782
-#: templates/js/translated/stock.js:2636 templates/js/translated/stock.js:2721
+#: templates/js/translated/order.js:123 templates/js/translated/order.js:1171
+#: templates/js/translated/order.js:2296 templates/js/translated/order.js:2514
+#: templates/js/translated/order.js:3193 templates/js/translated/order.js:3513
+#: templates/js/translated/order.js:3600 templates/js/translated/order.js:3692
+#: templates/js/translated/order.js:3839 templates/js/translated/order.js:4330
+#: templates/js/translated/part.js:1063 templates/js/translated/part.js:2546
+#: templates/js/translated/pricing.js:114
+#: templates/js/translated/pricing.js:207
+#: templates/js/translated/pricing.js:255
+#: templates/js/translated/pricing.js:349 templates/js/translated/stock.js:477
+#: templates/js/translated/stock.js:631 templates/js/translated/stock.js:801
+#: templates/js/translated/stock.js:2654 templates/js/translated/stock.js:2739
msgid "Quantity"
msgstr "Miktar"
@@ -1087,10 +1092,10 @@ msgstr ""
msgid "Enter quantity for build output"
msgstr "Yapım işi çıktısı için miktarını girin"
-#: build/serializers.py:207 build/serializers.py:683 order/models.py:323
-#: order/serializers.py:304 order/serializers.py:459 part/serializers.py:558
-#: part/serializers.py:991 stock/models.py:518 stock/models.py:1253
-#: stock/serializers.py:300
+#: build/serializers.py:207 build/serializers.py:683 order/models.py:327
+#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:644
+#: part/serializers.py:1015 stock/models.py:534 stock/models.py:1269
+#: stock/serializers.py:294
msgid "Quantity must be greater than zero"
msgstr ""
@@ -1102,9 +1107,9 @@ msgstr ""
msgid "Integer quantity required, as the bill of materials contains trackable parts"
msgstr ""
-#: build/serializers.py:231 order/serializers.py:472 order/serializers.py:1217
-#: stock/serializers.py:309 templates/js/translated/order.js:1507
-#: templates/js/translated/stock.js:271 templates/js/translated/stock.js:459
+#: build/serializers.py:231 order/serializers.py:463 order/serializers.py:1210
+#: stock/serializers.py:303 templates/js/translated/order.js:1541
+#: templates/js/translated/stock.js:290 templates/js/translated/stock.js:478
msgid "Serial Numbers"
msgstr "Seri Numaraları"
@@ -1120,7 +1125,7 @@ msgstr ""
msgid "Automatically allocate required items with matching serial numbers"
msgstr ""
-#: build/serializers.py:281 stock/api.py:589
+#: build/serializers.py:281 stock/api.py:599
msgid "The following serial numbers already exist or are invalid"
msgstr ""
@@ -1128,18 +1133,18 @@ msgstr ""
msgid "A list of build outputs must be provided"
msgstr ""
-#: build/serializers.py:369 order/serializers.py:445 order/serializers.py:556
-#: stock/serializers.py:320 stock/serializers.py:455 stock/serializers.py:536
-#: stock/serializers.py:919 stock/serializers.py:1152
+#: build/serializers.py:369 order/serializers.py:436 order/serializers.py:547
+#: stock/serializers.py:314 stock/serializers.py:449 stock/serializers.py:530
+#: stock/serializers.py:918 stock/serializers.py:1151
#: stock/templates/stock/item_base.html:388
#: templates/js/translated/barcode.js:480
#: templates/js/translated/barcode.js:724 templates/js/translated/build.js:802
-#: templates/js/translated/build.js:1749 templates/js/translated/order.js:1534
-#: templates/js/translated/order.js:3495 templates/js/translated/order.js:3600
-#: templates/js/translated/order.js:3608 templates/js/translated/order.js:3689
-#: templates/js/translated/part.js:181 templates/js/translated/stock.js:588
-#: templates/js/translated/stock.js:753 templates/js/translated/stock.js:960
-#: templates/js/translated/stock.js:1856 templates/js/translated/stock.js:2528
+#: templates/js/translated/build.js:1749 templates/js/translated/order.js:1568
+#: templates/js/translated/order.js:3506 templates/js/translated/order.js:3611
+#: templates/js/translated/order.js:3619 templates/js/translated/order.js:3700
+#: templates/js/translated/part.js:177 templates/js/translated/stock.js:607
+#: templates/js/translated/stock.js:772 templates/js/translated/stock.js:979
+#: templates/js/translated/stock.js:1875 templates/js/translated/stock.js:2546
msgid "Location"
msgstr "Konum"
@@ -1148,12 +1153,13 @@ msgid "Location for completed build outputs"
msgstr ""
#: build/serializers.py:376 build/templates/build/build_base.html:145
-#: build/templates/build/detail.html:62 order/models.py:651
-#: order/serializers.py:482 stock/templates/stock/item_base.html:421
+#: build/templates/build/detail.html:62 order/models.py:670
+#: order/serializers.py:473 stock/admin.py:89
+#: stock/templates/stock/item_base.html:421
#: templates/js/translated/barcode.js:214 templates/js/translated/build.js:2614
-#: templates/js/translated/order.js:1643 templates/js/translated/order.js:1992
-#: templates/js/translated/order.js:2831 templates/js/translated/stock.js:1831
-#: templates/js/translated/stock.js:2605 templates/js/translated/stock.js:2737
+#: templates/js/translated/order.js:1677 templates/js/translated/order.js:2026
+#: templates/js/translated/order.js:2842 templates/js/translated/stock.js:1850
+#: templates/js/translated/stock.js:2623 templates/js/translated/stock.js:2755
msgid "Status"
msgstr "Durum"
@@ -1213,7 +1219,7 @@ msgstr ""
msgid "Required stock has not been fully allocated"
msgstr "Gerekli stok tamamen tahsis edilemedi"
-#: build/serializers.py:545 order/serializers.py:208 order/serializers.py:1107
+#: build/serializers.py:545 order/serializers.py:202 order/serializers.py:1100
msgid "Accept Incomplete"
msgstr ""
@@ -1229,8 +1235,8 @@ msgstr "Gerekli yapım işi miktarı tamamlanmadı"
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:595 build/serializers.py:640 part/models.py:2801
-#: part/models.py:2935
+#: build/serializers.py:595 build/serializers.py:640 part/models.py:3414
+#: part/models.py:3570
msgid "BOM Item"
msgstr ""
@@ -1246,11 +1252,11 @@ msgstr ""
msgid "bom_item.part must point to the same part as the build order"
msgstr ""
-#: build/serializers.py:669 stock/serializers.py:771
+#: build/serializers.py:669 stock/serializers.py:770
msgid "Item must be in stock"
msgstr ""
-#: build/serializers.py:727 order/serializers.py:1097
+#: build/serializers.py:727 order/serializers.py:1090
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr ""
@@ -1267,7 +1273,7 @@ msgstr ""
msgid "This stock item has already been allocated to this build output"
msgstr ""
-#: build/serializers.py:768 order/serializers.py:1381
+#: build/serializers.py:768 order/serializers.py:1374
msgid "Allocation items must be provided"
msgstr ""
@@ -1382,13 +1388,13 @@ msgid "Stock has not been fully allocated to this Build Order"
msgstr "Stok, yapım işi emri için tamamen tahsis edilemedi"
#: build/templates/build/build_base.html:154
-#: build/templates/build/detail.html:131 order/models.py:924
+#: build/templates/build/detail.html:131 order/models.py:947
#: order/templates/order/order_base.html:171
#: order/templates/order/sales_order_base.html:164
#: report/templates/report/inventree_build_order_base.html:125
-#: templates/js/translated/build.js:2654 templates/js/translated/order.js:2009
-#: templates/js/translated/order.js:2351 templates/js/translated/order.js:2847
-#: templates/js/translated/order.js:3887 templates/js/translated/part.js:1051
+#: templates/js/translated/build.js:2654 templates/js/translated/order.js:2043
+#: templates/js/translated/order.js:2374 templates/js/translated/order.js:2858
+#: templates/js/translated/order.js:3884 templates/js/translated/part.js:1078
msgid "Target Date"
msgstr "Hedeflenen tarih"
@@ -1401,29 +1407,29 @@ msgstr "Bu yapım işinin %(target)s tarihinde süresi doluyor"
#: build/templates/build/build_base.html:204
#: order/templates/order/order_base.html:107
#: order/templates/order/sales_order_base.html:94
-#: templates/js/translated/table_filters.js:328
-#: templates/js/translated/table_filters.js:369
-#: templates/js/translated/table_filters.js:399
+#: templates/js/translated/table_filters.js:332
+#: templates/js/translated/table_filters.js:373
+#: templates/js/translated/table_filters.js:403
msgid "Overdue"
msgstr "Vadesi geçmiş"
#: build/templates/build/build_base.html:166
#: build/templates/build/detail.html:67 build/templates/build/detail.html:142
#: order/templates/order/sales_order_base.html:171
-#: templates/js/translated/table_filters.js:408
+#: templates/js/translated/table_filters.js:412
msgid "Completed"
msgstr "Tamamlandı"
#: build/templates/build/build_base.html:179
-#: build/templates/build/detail.html:94 order/models.py:1119
-#: order/models.py:1213 order/models.py:1344
+#: build/templates/build/detail.html:94 order/models.py:1142
+#: order/models.py:1236 order/models.py:1367
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
#: report/templates/report/inventree_build_order_base.html:135
#: report/templates/report/inventree_so_report.html:77
#: stock/templates/stock/item_base.html:368
#: templates/email/overdue_sales_order.html:15
-#: templates/js/translated/order.js:2793
+#: templates/js/translated/order.js:2804 templates/js/translated/pricing.js:637
msgid "Sales Order"
msgstr "Sipariş Emri"
@@ -1449,8 +1455,8 @@ msgstr "Stok Kaynağı"
msgid "Stock can be taken from any available location."
msgstr "Stok herhangi bir konumdan alınabilir."
-#: build/templates/build/detail.html:49 order/models.py:1037
-#: templates/js/translated/order.js:1644 templates/js/translated/order.js:2393
+#: build/templates/build/detail.html:49 order/models.py:1060
+#: templates/js/translated/order.js:1678 templates/js/translated/order.js:2416
msgid "Destination"
msgstr "Hedef"
@@ -1462,14 +1468,14 @@ msgstr "Hedef konumu belirtilmedi"
msgid "Allocated Parts"
msgstr ""
-#: build/templates/build/detail.html:80
+#: build/templates/build/detail.html:80 stock/admin.py:88
#: stock/templates/stock/item_base.html:168
#: templates/js/translated/build.js:1240
#: templates/js/translated/model_renderers.js:124
-#: templates/js/translated/stock.js:1026 templates/js/translated/stock.js:1845
-#: templates/js/translated/stock.js:2744
-#: templates/js/translated/table_filters.js:167
-#: templates/js/translated/table_filters.js:258
+#: templates/js/translated/stock.js:1045 templates/js/translated/stock.js:1864
+#: templates/js/translated/stock.js:2762
+#: templates/js/translated/table_filters.js:171
+#: templates/js/translated/table_filters.js:262
msgid "Batch"
msgstr "Toplu"
@@ -1527,7 +1533,7 @@ msgstr "Gerekli parçaları sipariş edin"
#: build/templates/build/detail.html:187
#: company/templates/company/detail.html:37
#: company/templates/company/detail.html:85
-#: part/templates/part/category.html:178 templates/js/translated/order.js:1177
+#: part/templates/part/category.html:178 templates/js/translated/order.js:1211
msgid "Order Parts"
msgstr "Parça Siparişi"
@@ -1597,10 +1603,10 @@ msgstr "Tamamlanmış Yapım İşi Çıktıları"
#: company/templates/company/manufacturer_part.html:151
#: company/templates/company/manufacturer_part_sidebar.html:9
#: order/templates/order/po_sidebar.html:9
-#: order/templates/order/purchase_order_detail.html:82
-#: order/templates/order/sales_order_detail.html:135
-#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:212
-#: part/templates/part/part_sidebar.html:57 stock/templates/stock/item.html:117
+#: order/templates/order/purchase_order_detail.html:86
+#: order/templates/order/sales_order_detail.html:140
+#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:210
+#: part/templates/part/part_sidebar.html:55 stock/templates/stock/item.html:117
#: stock/templates/stock/stock_sidebar.html:23
msgid "Attachments"
msgstr "Ekler"
@@ -1617,7 +1623,7 @@ msgstr ""
msgid "All untracked stock items have been allocated"
msgstr ""
-#: build/templates/build/index.html:18 part/templates/part/detail.html:318
+#: build/templates/build/index.html:18 part/templates/part/detail.html:316
msgid "New Build Order"
msgstr "Yeni Yapım İşi Emri"
@@ -1734,7 +1740,7 @@ msgstr ""
msgid "Show the `about` modal only to superusers"
msgstr ""
-#: common/models.py:833 company/models.py:94 company/models.py:95
+#: common/models.py:833 company/models.py:98 company/models.py:99
msgid "Company name"
msgstr "Şirket adı"
@@ -1902,9 +1908,9 @@ msgstr "Kategori Paremetre Sablonu Kopyala"
msgid "Copy category parameter templates when creating a part"
msgstr "Parça oluştururken kategori parametre şablonlarını kopyala"
-#: common/models.py:1002 part/models.py:2474 report/models.py:158
-#: templates/js/translated/table_filters.js:38
-#: templates/js/translated/table_filters.js:492
+#: common/models.py:1002 part/admin.py:41 part/models.py:3087
+#: report/models.py:158 templates/js/translated/table_filters.js:38
+#: templates/js/translated/table_filters.js:496
msgid "Template"
msgstr "Şablon"
@@ -1912,9 +1918,10 @@ msgstr "Şablon"
msgid "Parts are templates by default"
msgstr "Parçaları varsayılan olan şablondur"
-#: common/models.py:1009 part/models.py:908 templates/js/translated/bom.js:1531
-#: templates/js/translated/table_filters.js:184
-#: templates/js/translated/table_filters.js:455
+#: common/models.py:1009 part/admin.py:37 part/admin.py:229 part/models.py:927
+#: templates/js/translated/bom.js:1594
+#: templates/js/translated/table_filters.js:188
+#: templates/js/translated/table_filters.js:459
msgid "Assembly"
msgstr "Montaj"
@@ -1922,8 +1929,8 @@ msgstr "Montaj"
msgid "Parts can be assembled from other components by default"
msgstr "Parçalar varsayılan olarak başka bileşenlerden monte edilebilir"
-#: common/models.py:1016 part/models.py:914
-#: templates/js/translated/table_filters.js:463
+#: common/models.py:1016 part/admin.py:38 part/models.py:933
+#: templates/js/translated/table_filters.js:467
msgid "Component"
msgstr "Bileşen"
@@ -1931,7 +1938,7 @@ msgstr "Bileşen"
msgid "Parts can be used as sub-components by default"
msgstr "Parçalar varsayılan olarak alt bileşen olarak kullanılabilir"
-#: common/models.py:1023 part/models.py:925
+#: common/models.py:1023 part/admin.py:39 part/models.py:944
msgid "Purchaseable"
msgstr "Satın Alınabilir"
@@ -1939,8 +1946,8 @@ msgstr "Satın Alınabilir"
msgid "Parts are purchaseable by default"
msgstr "Parçalar varsayılan olarak satın alınabilir"
-#: common/models.py:1030 part/models.py:930
-#: templates/js/translated/table_filters.js:484
+#: common/models.py:1030 part/admin.py:40 part/models.py:949
+#: templates/js/translated/table_filters.js:488
msgid "Salable"
msgstr "Satılabilir"
@@ -1948,10 +1955,10 @@ msgstr "Satılabilir"
msgid "Parts are salable by default"
msgstr "Parçalar varsayılan olarak satılabilir"
-#: common/models.py:1037 part/models.py:920
+#: common/models.py:1037 part/admin.py:42 part/models.py:939
#: templates/js/translated/table_filters.js:46
-#: templates/js/translated/table_filters.js:116
-#: templates/js/translated/table_filters.js:496
+#: templates/js/translated/table_filters.js:120
+#: templates/js/translated/table_filters.js:500
msgid "Trackable"
msgstr "Takip Edilebilir"
@@ -1959,10 +1966,10 @@ msgstr "Takip Edilebilir"
msgid "Parts are trackable by default"
msgstr "Parçalar varsayılan olarak takip edilebilir"
-#: common/models.py:1044 part/models.py:940
+#: common/models.py:1044 part/admin.py:43 part/models.py:959
#: part/templates/part/part_base.html:156
#: templates/js/translated/table_filters.js:42
-#: templates/js/translated/table_filters.js:500
+#: templates/js/translated/table_filters.js:504
msgid "Virtual"
msgstr "Sanal"
@@ -1979,791 +1986,837 @@ msgid "Display the import wizard in some part views"
msgstr ""
#: common/models.py:1058
-msgid "Show Price in Forms"
-msgstr "Formlarda Fiyat Göster"
-
-#: common/models.py:1059
-msgid "Display part price in some forms"
-msgstr ""
-
-#: common/models.py:1070
-msgid "Show Price in BOM"
-msgstr ""
-
-#: common/models.py:1071
-msgid "Include pricing information in BOM tables"
-msgstr ""
-
-#: common/models.py:1082
-msgid "Show Price History"
-msgstr ""
-
-#: common/models.py:1083
-msgid "Display historical pricing for Part"
-msgstr ""
-
-#: common/models.py:1089
msgid "Show related parts"
msgstr "İlgili parçaları göster"
-#: common/models.py:1090
+#: common/models.py:1059
msgid "Display related parts for a part"
msgstr ""
-#: common/models.py:1096
+#: common/models.py:1065
msgid "Create initial stock"
msgstr ""
-#: common/models.py:1097
+#: common/models.py:1066
msgid "Create initial stock on part creation"
msgstr ""
-#: common/models.py:1103
-msgid "Internal Prices"
-msgstr ""
-
-#: common/models.py:1104
-msgid "Enable internal prices for parts"
-msgstr ""
-
-#: common/models.py:1110
-msgid "Internal Price as BOM-Price"
-msgstr ""
-
-#: common/models.py:1111
-msgid "Use the internal price (if set) in BOM-price calculations"
-msgstr ""
-
-#: common/models.py:1117
+#: common/models.py:1072
msgid "Part Name Display Format"
msgstr ""
-#: common/models.py:1118
+#: common/models.py:1073
msgid "Format to display the part name"
msgstr ""
-#: common/models.py:1125
+#: common/models.py:1080
msgid "Part Category Default Icon"
msgstr ""
-#: common/models.py:1126
+#: common/models.py:1081
msgid "Part category default icon (empty means no icon)"
msgstr ""
-#: common/models.py:1131
-msgid "Enable label printing"
+#: common/models.py:1086
+msgid "Pricing Decimal Places"
msgstr ""
-#: common/models.py:1132
-msgid "Enable label printing from the web interface"
+#: common/models.py:1087
+msgid "Number of decimal places to display when rendering pricing data"
msgstr ""
-#: common/models.py:1138
-msgid "Label Image DPI"
+#: common/models.py:1097
+msgid "Pricing Rebuild Time"
msgstr ""
-#: common/models.py:1139
-msgid "DPI resolution when generating image files to supply to label printing plugins"
+#: common/models.py:1098
+msgid "Number of days before part pricing is automatically updated"
msgstr ""
-#: common/models.py:1148
-msgid "Enable Reports"
-msgstr ""
-
-#: common/models.py:1149
-msgid "Enable generation of reports"
-msgstr ""
-
-#: common/models.py:1155 templates/stats.html:25
-msgid "Debug Mode"
-msgstr "Hata Ayıklama Modu"
-
-#: common/models.py:1156
-msgid "Generate reports in debug mode (HTML output)"
-msgstr "Raporları hata ayıklama modunda üret (HTML çıktısı)"
-
-#: common/models.py:1162
-msgid "Page Size"
-msgstr "Sayfa Boyutu"
-
-#: common/models.py:1163
-msgid "Default page size for PDF reports"
-msgstr "PDF raporlar için varsayılan sayfa boyutu"
-
-#: common/models.py:1173
-msgid "Enable Test Reports"
-msgstr ""
-
-#: common/models.py:1174
-msgid "Enable generation of test reports"
-msgstr ""
-
-#: common/models.py:1180
-msgid "Attach Test Reports"
-msgstr ""
-
-#: common/models.py:1181
-msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item"
-msgstr ""
-
-#: common/models.py:1187
-msgid "Globally Unique Serials"
-msgstr ""
-
-#: common/models.py:1188
-msgid "Serial numbers for stock items must be globally unique"
-msgstr ""
-
-#: common/models.py:1194
-msgid "Batch Code Template"
-msgstr ""
-
-#: common/models.py:1195
-msgid "Template for generating default batch codes for stock items"
-msgstr ""
-
-#: common/models.py:1200
-msgid "Stock Expiry"
-msgstr ""
-
-#: common/models.py:1201
-msgid "Enable stock expiry functionality"
-msgstr ""
-
-#: common/models.py:1207
-msgid "Sell Expired Stock"
-msgstr ""
-
-#: common/models.py:1208
-msgid "Allow sale of expired stock"
-msgstr ""
-
-#: common/models.py:1214
-msgid "Stock Stale Time"
-msgstr ""
-
-#: common/models.py:1215
-msgid "Number of days stock items are considered stale before expiring"
-msgstr ""
-
-#: common/models.py:1217
+#: common/models.py:1099 common/models.py:1208
msgid "days"
msgstr "günler"
-#: common/models.py:1222
+#: common/models.py:1108
+msgid "Internal Prices"
+msgstr ""
+
+#: common/models.py:1109
+msgid "Enable internal prices for parts"
+msgstr ""
+
+#: common/models.py:1115
+msgid "Internal Price Override"
+msgstr ""
+
+#: common/models.py:1116
+msgid "If available, internal prices override price range calculations"
+msgstr ""
+
+#: common/models.py:1122
+msgid "Enable label printing"
+msgstr ""
+
+#: common/models.py:1123
+msgid "Enable label printing from the web interface"
+msgstr ""
+
+#: common/models.py:1129
+msgid "Label Image DPI"
+msgstr ""
+
+#: common/models.py:1130
+msgid "DPI resolution when generating image files to supply to label printing plugins"
+msgstr ""
+
+#: common/models.py:1139
+msgid "Enable Reports"
+msgstr ""
+
+#: common/models.py:1140
+msgid "Enable generation of reports"
+msgstr ""
+
+#: common/models.py:1146 templates/stats.html:25
+msgid "Debug Mode"
+msgstr "Hata Ayıklama Modu"
+
+#: common/models.py:1147
+msgid "Generate reports in debug mode (HTML output)"
+msgstr "Raporları hata ayıklama modunda üret (HTML çıktısı)"
+
+#: common/models.py:1153
+msgid "Page Size"
+msgstr "Sayfa Boyutu"
+
+#: common/models.py:1154
+msgid "Default page size for PDF reports"
+msgstr "PDF raporlar için varsayılan sayfa boyutu"
+
+#: common/models.py:1164
+msgid "Enable Test Reports"
+msgstr ""
+
+#: common/models.py:1165
+msgid "Enable generation of test reports"
+msgstr ""
+
+#: common/models.py:1171
+msgid "Attach Test Reports"
+msgstr ""
+
+#: common/models.py:1172
+msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item"
+msgstr ""
+
+#: common/models.py:1178
+msgid "Globally Unique Serials"
+msgstr ""
+
+#: common/models.py:1179
+msgid "Serial numbers for stock items must be globally unique"
+msgstr ""
+
+#: common/models.py:1185
+msgid "Batch Code Template"
+msgstr ""
+
+#: common/models.py:1186
+msgid "Template for generating default batch codes for stock items"
+msgstr ""
+
+#: common/models.py:1191
+msgid "Stock Expiry"
+msgstr ""
+
+#: common/models.py:1192
+msgid "Enable stock expiry functionality"
+msgstr ""
+
+#: common/models.py:1198
+msgid "Sell Expired Stock"
+msgstr ""
+
+#: common/models.py:1199
+msgid "Allow sale of expired stock"
+msgstr ""
+
+#: common/models.py:1205
+msgid "Stock Stale Time"
+msgstr ""
+
+#: common/models.py:1206
+msgid "Number of days stock items are considered stale before expiring"
+msgstr ""
+
+#: common/models.py:1213
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:1223
+#: common/models.py:1214
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:1229
+#: common/models.py:1220
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:1230
+#: common/models.py:1221
msgid "Enable ownership control over stock locations and items"
msgstr "Stok konumu ve ögeler üzerinde sahiplik kontrolünü etkinleştirin"
-#: common/models.py:1236
+#: common/models.py:1227
msgid "Stock Location Default Icon"
msgstr ""
-#: common/models.py:1237
+#: common/models.py:1228
msgid "Stock location default icon (empty means no icon)"
msgstr ""
-#: common/models.py:1242
+#: common/models.py:1233
msgid "Build Order Reference Pattern"
msgstr ""
-#: common/models.py:1243
+#: common/models.py:1234
msgid "Required pattern for generating Build Order reference field"
msgstr ""
-#: common/models.py:1249
+#: common/models.py:1240
msgid "Sales Order Reference Pattern"
msgstr ""
-#: common/models.py:1250
+#: common/models.py:1241
msgid "Required pattern for generating Sales Order reference field"
msgstr ""
-#: common/models.py:1256
+#: common/models.py:1247
msgid "Sales Order Default Shipment"
msgstr ""
-#: common/models.py:1257
+#: common/models.py:1248
msgid "Enable creation of default shipment with sales orders"
msgstr ""
-#: common/models.py:1263
+#: common/models.py:1254
+msgid "Edit Completed Sales Orders"
+msgstr ""
+
+#: common/models.py:1255
+msgid "Allow editing of sales orders after they have been shipped or completed"
+msgstr ""
+
+#: common/models.py:1261
msgid "Purchase Order Reference Pattern"
msgstr ""
-#: common/models.py:1264
+#: common/models.py:1262
msgid "Required pattern for generating Purchase Order reference field"
msgstr ""
-#: common/models.py:1271
+#: common/models.py:1268
+msgid "Edit Completed Purchase Orders"
+msgstr ""
+
+#: common/models.py:1269
+msgid "Allow editing of purchase orders after they have been shipped or completed"
+msgstr ""
+
+#: common/models.py:1276
msgid "Enable password forgot"
msgstr ""
-#: common/models.py:1272
+#: common/models.py:1277
msgid "Enable password forgot function on the login pages"
msgstr ""
-#: common/models.py:1278
+#: common/models.py:1283
msgid "Enable registration"
msgstr ""
-#: common/models.py:1279
+#: common/models.py:1284
msgid "Enable self-registration for users on the login pages"
msgstr ""
-#: common/models.py:1285
+#: common/models.py:1290
msgid "Enable SSO"
msgstr ""
-#: common/models.py:1286
+#: common/models.py:1291
msgid "Enable SSO on the login pages"
msgstr ""
-#: common/models.py:1292
+#: common/models.py:1297
msgid "Email required"
msgstr ""
-#: common/models.py:1293
+#: common/models.py:1298
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/models.py:1299
+#: common/models.py:1304
msgid "Auto-fill SSO users"
msgstr ""
-#: common/models.py:1300
+#: common/models.py:1305
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/models.py:1306
+#: common/models.py:1311
msgid "Mail twice"
msgstr ""
-#: common/models.py:1307
+#: common/models.py:1312
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/models.py:1313
+#: common/models.py:1318
msgid "Password twice"
msgstr ""
-#: common/models.py:1314
+#: common/models.py:1319
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/models.py:1320
+#: common/models.py:1325
msgid "Group on signup"
msgstr ""
-#: common/models.py:1321
+#: common/models.py:1326
msgid "Group to which new users are assigned on registration"
msgstr ""
-#: common/models.py:1327
+#: common/models.py:1332
msgid "Enforce MFA"
msgstr ""
-#: common/models.py:1328
+#: common/models.py:1333
msgid "Users must use multifactor security."
msgstr ""
-#: common/models.py:1334
+#: common/models.py:1339
msgid "Check plugins on startup"
msgstr ""
-#: common/models.py:1335
+#: common/models.py:1340
msgid "Check that all plugins are installed on startup - enable in container environments"
msgstr ""
-#: common/models.py:1342
+#: common/models.py:1347
msgid "Check plugin signatures"
msgstr ""
-#: common/models.py:1343
+#: common/models.py:1348
msgid "Check and show signatures for plugins"
msgstr ""
-#: common/models.py:1350
+#: common/models.py:1355
msgid "Enable URL integration"
msgstr ""
-#: common/models.py:1351
+#: common/models.py:1356
msgid "Enable plugins to add URL routes"
msgstr ""
-#: common/models.py:1358
+#: common/models.py:1363
msgid "Enable navigation integration"
msgstr ""
-#: common/models.py:1359
+#: common/models.py:1364
msgid "Enable plugins to integrate into navigation"
msgstr ""
-#: common/models.py:1366
+#: common/models.py:1371
msgid "Enable app integration"
msgstr ""
-#: common/models.py:1367
+#: common/models.py:1372
msgid "Enable plugins to add apps"
msgstr ""
-#: common/models.py:1374
+#: common/models.py:1379
msgid "Enable schedule integration"
msgstr ""
-#: common/models.py:1375
+#: common/models.py:1380
msgid "Enable plugins to run scheduled tasks"
msgstr ""
-#: common/models.py:1382
+#: common/models.py:1387
msgid "Enable event integration"
msgstr ""
-#: common/models.py:1383
+#: common/models.py:1388
msgid "Enable plugins to respond to internal events"
msgstr ""
-#: common/models.py:1402 common/models.py:1737
+#: common/models.py:1407 common/models.py:1749
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:1424
+#: common/models.py:1429
msgid "Show subscribed parts"
msgstr ""
-#: common/models.py:1425
+#: common/models.py:1430
msgid "Show subscribed parts on the homepage"
msgstr ""
-#: common/models.py:1431
+#: common/models.py:1436
msgid "Show subscribed categories"
msgstr ""
-#: common/models.py:1432
+#: common/models.py:1437
msgid "Show subscribed part categories on the homepage"
msgstr ""
-#: common/models.py:1438
+#: common/models.py:1443
msgid "Show latest parts"
msgstr ""
-#: common/models.py:1439
+#: common/models.py:1444
msgid "Show latest parts on the homepage"
msgstr ""
-#: common/models.py:1445
+#: common/models.py:1450
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:1446
+#: common/models.py:1451
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:1452
+#: common/models.py:1457
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:1453
+#: common/models.py:1458
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:1459
+#: common/models.py:1464
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:1460
+#: common/models.py:1465
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:1466
+#: common/models.py:1471
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:1467
+#: common/models.py:1472
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:1473
+#: common/models.py:1478
msgid "Show low stock"
msgstr ""
-#: common/models.py:1474
+#: common/models.py:1479
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:1480
+#: common/models.py:1485
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:1481
+#: common/models.py:1486
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:1487
+#: common/models.py:1492
msgid "Show needed stock"
msgstr ""
-#: common/models.py:1488
+#: common/models.py:1493
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:1494
+#: common/models.py:1499
msgid "Show expired stock"
msgstr ""
-#: common/models.py:1495
+#: common/models.py:1500
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:1501
+#: common/models.py:1506
msgid "Show stale stock"
msgstr ""
-#: common/models.py:1502
+#: common/models.py:1507
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:1508
+#: common/models.py:1513
msgid "Show pending builds"
msgstr ""
-#: common/models.py:1509
+#: common/models.py:1514
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:1515
+#: common/models.py:1520
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:1516
+#: common/models.py:1521
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:1522
+#: common/models.py:1527
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:1523
+#: common/models.py:1528
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:1529
+#: common/models.py:1534
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:1530
+#: common/models.py:1535
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:1536
+#: common/models.py:1541
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:1537
+#: common/models.py:1542
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:1543
+#: common/models.py:1548
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:1544
+#: common/models.py:1549
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:1550
+#: common/models.py:1555
+msgid "Show News"
+msgstr ""
+
+#: common/models.py:1556
+msgid "Show news on the homepage"
+msgstr ""
+
+#: common/models.py:1562
msgid "Inline label display"
msgstr ""
-#: common/models.py:1551
+#: common/models.py:1563
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1557
+#: common/models.py:1569
msgid "Inline report display"
msgstr ""
-#: common/models.py:1558
+#: common/models.py:1570
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1564
+#: common/models.py:1576
msgid "Search Parts"
msgstr ""
-#: common/models.py:1565
+#: common/models.py:1577
msgid "Display parts in search preview window"
msgstr ""
-#: common/models.py:1571
+#: common/models.py:1583
msgid "Seach Supplier Parts"
msgstr ""
-#: common/models.py:1572
+#: common/models.py:1584
msgid "Display supplier parts in search preview window"
msgstr ""
-#: common/models.py:1578
+#: common/models.py:1590
msgid "Search Manufacturer Parts"
msgstr ""
-#: common/models.py:1579
+#: common/models.py:1591
msgid "Display manufacturer parts in search preview window"
msgstr ""
-#: common/models.py:1585
+#: common/models.py:1597
msgid "Hide Inactive Parts"
msgstr ""
-#: common/models.py:1586
+#: common/models.py:1598
msgid "Excluded inactive parts from search preview window"
msgstr ""
-#: common/models.py:1592
+#: common/models.py:1604
msgid "Search Categories"
msgstr ""
-#: common/models.py:1593
+#: common/models.py:1605
msgid "Display part categories in search preview window"
msgstr ""
-#: common/models.py:1599
+#: common/models.py:1611
msgid "Search Stock"
msgstr ""
-#: common/models.py:1600
+#: common/models.py:1612
msgid "Display stock items in search preview window"
msgstr ""
-#: common/models.py:1606
+#: common/models.py:1618
msgid "Hide Unavailable Stock Items"
msgstr ""
-#: common/models.py:1607
+#: common/models.py:1619
msgid "Exclude stock items which are not available from the search preview window"
msgstr ""
-#: common/models.py:1613
+#: common/models.py:1625
msgid "Search Locations"
msgstr ""
-#: common/models.py:1614
+#: common/models.py:1626
msgid "Display stock locations in search preview window"
msgstr ""
-#: common/models.py:1620
+#: common/models.py:1632
msgid "Search Companies"
msgstr ""
-#: common/models.py:1621
+#: common/models.py:1633
msgid "Display companies in search preview window"
msgstr ""
-#: common/models.py:1627
+#: common/models.py:1639
msgid "Search Build Orders"
msgstr ""
-#: common/models.py:1628
+#: common/models.py:1640
msgid "Display build orders in search preview window"
msgstr ""
-#: common/models.py:1634
+#: common/models.py:1646
msgid "Search Purchase Orders"
msgstr ""
-#: common/models.py:1635
+#: common/models.py:1647
msgid "Display purchase orders in search preview window"
msgstr ""
-#: common/models.py:1641
+#: common/models.py:1653
msgid "Exclude Inactive Purchase Orders"
msgstr ""
-#: common/models.py:1642
+#: common/models.py:1654
msgid "Exclude inactive purchase orders from search preview window"
msgstr ""
-#: common/models.py:1648
+#: common/models.py:1660
msgid "Search Sales Orders"
msgstr ""
-#: common/models.py:1649
+#: common/models.py:1661
msgid "Display sales orders in search preview window"
msgstr ""
-#: common/models.py:1655
+#: common/models.py:1667
msgid "Exclude Inactive Sales Orders"
msgstr ""
-#: common/models.py:1656
+#: common/models.py:1668
msgid "Exclude inactive sales orders from search preview window"
msgstr ""
-#: common/models.py:1662
+#: common/models.py:1674
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:1663
+#: common/models.py:1675
msgid "Number of results to show in each section of the search preview window"
msgstr ""
-#: common/models.py:1669
+#: common/models.py:1681
msgid "Show Quantity in Forms"
msgstr "Formlarda Miktarı Göster"
-#: common/models.py:1670
+#: common/models.py:1682
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:1676
+#: common/models.py:1688
msgid "Escape Key Closes Forms"
msgstr ""
-#: common/models.py:1677
+#: common/models.py:1689
msgid "Use the escape key to close modal forms"
msgstr ""
-#: common/models.py:1683
+#: common/models.py:1695
msgid "Fixed Navbar"
msgstr ""
-#: common/models.py:1684
+#: common/models.py:1696
msgid "The navbar position is fixed to the top of the screen"
msgstr ""
-#: common/models.py:1690
+#: common/models.py:1702
msgid "Date Format"
msgstr ""
-#: common/models.py:1691
+#: common/models.py:1703
msgid "Preferred format for displaying dates"
msgstr ""
-#: common/models.py:1705 part/templates/part/detail.html:41
+#: common/models.py:1717 part/templates/part/detail.html:41
msgid "Part Scheduling"
msgstr ""
-#: common/models.py:1706
+#: common/models.py:1718
msgid "Display part scheduling information"
msgstr ""
-#: common/models.py:1712
+#: common/models.py:1724
msgid "Table String Length"
msgstr ""
-#: common/models.py:1713
+#: common/models.py:1725
msgid "Maximimum length limit for strings displayed in table views"
msgstr ""
-#: common/models.py:1777
+#: common/models.py:1789
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1784 company/serializers.py:372
-#: company/templates/company/supplier_part.html:346 order/models.py:952
-#: templates/js/translated/part.js:1103 templates/js/translated/part.js:2225
+#: common/models.py:1796 company/serializers.py:393 order/models.py:975
+#: templates/js/translated/company.js:1164 templates/js/translated/part.js:1130
+#: templates/js/translated/pricing.js:354
msgid "Price"
msgstr "Fiyat"
-#: common/models.py:1785
+#: common/models.py:1797
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1945 common/models.py:2123
+#: common/models.py:1957 common/models.py:2135
msgid "Endpoint"
msgstr ""
-#: common/models.py:1946
+#: common/models.py:1958
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:1955
+#: common/models.py:1967
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:1960 part/models.py:935 plugin/models.py:100
-#: templates/js/translated/table_filters.js:34
-#: templates/js/translated/table_filters.js:112
-#: templates/js/translated/table_filters.js:324
-#: templates/js/translated/table_filters.js:450
+#: common/models.py:1972 part/admin.py:36 part/models.py:954
+#: plugin/models.py:100 templates/js/translated/table_filters.js:34
+#: templates/js/translated/table_filters.js:116
+#: templates/js/translated/table_filters.js:328
+#: templates/js/translated/table_filters.js:454
msgid "Active"
msgstr "Aktif"
-#: common/models.py:1961
+#: common/models.py:1973
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:1975
+#: common/models.py:1987
msgid "Token"
msgstr ""
-#: common/models.py:1976
+#: common/models.py:1988
msgid "Token for access"
msgstr ""
-#: common/models.py:1983
+#: common/models.py:1995
msgid "Secret"
msgstr ""
-#: common/models.py:1984
+#: common/models.py:1996
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:2090
+#: common/models.py:2102
msgid "Message ID"
msgstr ""
-#: common/models.py:2091
+#: common/models.py:2103
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:2099
+#: common/models.py:2111
msgid "Host"
msgstr ""
-#: common/models.py:2100
+#: common/models.py:2112
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:2107
+#: common/models.py:2119
msgid "Header"
msgstr ""
-#: common/models.py:2108
+#: common/models.py:2120
msgid "Header of this message"
msgstr ""
-#: common/models.py:2114
+#: common/models.py:2126
msgid "Body"
msgstr ""
-#: common/models.py:2115
+#: common/models.py:2127
msgid "Body of this message"
msgstr ""
-#: common/models.py:2124
+#: common/models.py:2136
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:2129
+#: common/models.py:2141
msgid "Worked on"
msgstr ""
-#: common/models.py:2130
+#: common/models.py:2142
msgid "Was the work on this message finished?"
msgstr ""
+#: common/models.py:2302
+msgid "Id"
+msgstr ""
+
+#: common/models.py:2308 templates/js/translated/news.js:34
+msgid "Title"
+msgstr ""
+
+#: common/models.py:2318 templates/js/translated/news.js:50
+msgid "Published"
+msgstr ""
+
+#: common/models.py:2323 templates/InvenTree/settings/plugin.html:62
+#: templates/InvenTree/settings/plugin_settings.html:33
+#: templates/js/translated/news.js:46
+msgid "Author"
+msgstr ""
+
+#: common/models.py:2328 templates/js/translated/news.js:42
+msgid "Summary"
+msgstr ""
+
+#: common/models.py:2333
+msgid "Read"
+msgstr ""
+
+#: common/models.py:2334
+msgid "Was this news item read?"
+msgstr ""
+
#: common/notifications.py:293
#, python-brace-format
msgid "New {verbose_name}"
@@ -2785,15 +2838,15 @@ msgstr ""
msgid "Error raised by plugin"
msgstr ""
-#: common/views.py:85 order/templates/order/purchase_order_detail.html:23
-#: order/views.py:102 part/views.py:112
+#: common/views.py:85 order/templates/order/purchase_order_detail.html:25
+#: order/views.py:102 part/views.py:107
#: templates/patterns/wizard/upload.html:37
msgid "Upload File"
msgstr "Dosya Yükle"
#: common/views.py:86 order/views.py:103
#: part/templates/part/import_wizard/ajax_match_fields.html:45
-#: part/views.py:113 templates/patterns/wizard/match_fields.html:51
+#: part/views.py:108 templates/patterns/wizard/match_fields.html:51
msgid "Match Fields"
msgstr "Alanları Eşleştir"
@@ -2816,298 +2869,301 @@ msgstr ""
msgid "Previous Step"
msgstr ""
-#: company/models.py:99
+#: company/models.py:103
msgid "Company description"
msgstr ""
-#: company/models.py:100
+#: company/models.py:104
msgid "Description of the company"
msgstr ""
-#: company/models.py:106 company/templates/company/company_base.html:100
+#: company/models.py:110 company/templates/company/company_base.html:100
#: templates/InvenTree/settings/plugin_settings.html:55
-#: templates/js/translated/company.js:448
+#: templates/js/translated/company.js:449
msgid "Website"
msgstr ""
-#: company/models.py:107
+#: company/models.py:111
msgid "Company website URL"
msgstr "Şirket web sitesi"
-#: company/models.py:111 company/templates/company/company_base.html:118
+#: company/models.py:115 company/templates/company/company_base.html:118
msgid "Address"
msgstr "Adres"
-#: company/models.py:112
+#: company/models.py:116
msgid "Company address"
msgstr "Şirket adresi"
-#: company/models.py:115
+#: company/models.py:119
msgid "Phone number"
msgstr "Telefon numarası"
-#: company/models.py:116
+#: company/models.py:120
msgid "Contact phone number"
msgstr "İletişim telefon numarası"
-#: company/models.py:119 company/templates/company/company_base.html:132
+#: company/models.py:123 company/templates/company/company_base.html:132
#: templates/InvenTree/settings/user.html:48
msgid "Email"
msgstr "E-posta"
-#: company/models.py:119
+#: company/models.py:123
msgid "Contact email address"
msgstr "İletişim e-posta adresi"
-#: company/models.py:122 company/templates/company/company_base.html:139
+#: company/models.py:126 company/templates/company/company_base.html:139
msgid "Contact"
msgstr "İletişim"
-#: company/models.py:123
+#: company/models.py:127
msgid "Point of contact"
msgstr ""
-#: company/models.py:125
+#: company/models.py:129
msgid "Link to external company information"
msgstr ""
-#: company/models.py:136 part/models.py:829
+#: company/models.py:140 part/models.py:848
msgid "Image"
msgstr "Resim"
-#: company/models.py:139 company/templates/company/detail.html:185
+#: company/models.py:143 company/templates/company/detail.html:185
msgid "Company Notes"
msgstr ""
-#: company/models.py:141
+#: company/models.py:145
msgid "is customer"
msgstr "müşteri mi"
-#: company/models.py:141
+#: company/models.py:145
msgid "Do you sell items to this company?"
msgstr "Bu şirkete ürün satıyor musunuz?"
-#: company/models.py:143
+#: company/models.py:147
msgid "is supplier"
msgstr "tedarikçi mi"
-#: company/models.py:143
+#: company/models.py:147
msgid "Do you purchase items from this company?"
msgstr "Bu şirketten ürün satın alıyor musunuz?"
-#: company/models.py:145
+#: company/models.py:149
msgid "is manufacturer"
msgstr "üretici mi"
-#: company/models.py:145
+#: company/models.py:149
msgid "Does this company manufacture parts?"
msgstr "Bu şirket üretim yapıyor mu?"
-#: company/models.py:149 company/serializers.py:378
-#: company/templates/company/company_base.html:106 part/serializers.py:153
-#: part/serializers.py:184 stock/serializers.py:178
+#: company/models.py:153 company/serializers.py:399
+#: company/templates/company/company_base.html:106 part/models.py:2681
+#: part/serializers.py:153 part/serializers.py:181 stock/serializers.py:182
+#: templates/InvenTree/settings/pricing.html:59
msgid "Currency"
msgstr "Para birimi"
-#: company/models.py:152
+#: company/models.py:156
msgid "Default currency used for this company"
msgstr "Bu şirket için varsayılan para birimi"
-#: company/models.py:249 company/models.py:483 stock/models.py:600
-#: stock/serializers.py:85 stock/templates/stock/item_base.html:143
-#: templates/js/translated/bom.js:568
+#: company/models.py:253 company/models.py:487 stock/models.py:616
+#: stock/serializers.py:89 stock/templates/stock/item_base.html:143
+#: templates/js/translated/bom.js:581
msgid "Base Part"
msgstr "Temel Parça"
-#: company/models.py:253 company/models.py:487
+#: company/models.py:257 company/models.py:491
msgid "Select part"
msgstr "Parça seçin"
-#: company/models.py:264 company/templates/company/company_base.html:76
+#: company/models.py:268 company/templates/company/company_base.html:76
#: company/templates/company/manufacturer_part.html:90
#: company/templates/company/supplier_part.html:152
#: stock/templates/stock/item_base.html:210
-#: templates/js/translated/company.js:432
-#: templates/js/translated/company.js:533
-#: templates/js/translated/company.js:668
-#: templates/js/translated/company.js:956 templates/js/translated/part.js:236
-#: templates/js/translated/table_filters.js:427
+#: templates/js/translated/company.js:433
+#: templates/js/translated/company.js:534
+#: templates/js/translated/company.js:669
+#: templates/js/translated/company.js:957 templates/js/translated/part.js:232
+#: templates/js/translated/table_filters.js:431
msgid "Manufacturer"
msgstr "Üretici"
-#: company/models.py:265 templates/js/translated/part.js:237
+#: company/models.py:269 templates/js/translated/part.js:233
msgid "Select manufacturer"
msgstr "Üretici seçin"
-#: company/models.py:271 company/templates/company/manufacturer_part.html:101
+#: company/models.py:275 company/templates/company/manufacturer_part.html:101
#: company/templates/company/supplier_part.html:160
-#: templates/js/translated/company.js:304
-#: templates/js/translated/company.js:532
-#: templates/js/translated/company.js:684
-#: templates/js/translated/company.js:975 templates/js/translated/order.js:2239
-#: templates/js/translated/part.js:247 templates/js/translated/part.js:1025
+#: templates/js/translated/company.js:305
+#: templates/js/translated/company.js:533
+#: templates/js/translated/company.js:685
+#: templates/js/translated/company.js:976 templates/js/translated/order.js:2278
+#: templates/js/translated/part.js:243 templates/js/translated/part.js:1052
msgid "MPN"
msgstr "ÜPN"
-#: company/models.py:272 templates/js/translated/part.js:248
+#: company/models.py:276 templates/js/translated/part.js:244
msgid "Manufacturer Part Number"
msgstr "Üretici Parça Numarası"
-#: company/models.py:278
+#: company/models.py:282
msgid "URL for external manufacturer part link"
msgstr ""
-#: company/models.py:284
+#: company/models.py:288
msgid "Manufacturer part description"
msgstr ""
-#: company/models.py:329 company/models.py:353 company/models.py:506
+#: company/models.py:333 company/models.py:357 company/models.py:510
#: company/templates/company/manufacturer_part.html:7
#: company/templates/company/manufacturer_part.html:24
#: stock/templates/stock/item_base.html:220
msgid "Manufacturer Part"
msgstr ""
-#: company/models.py:360
+#: company/models.py:364
msgid "Parameter name"
msgstr "Parametre adı"
-#: company/models.py:366
+#: company/models.py:370
#: report/templates/report/inventree_test_report_base.html:95
-#: stock/models.py:2097 templates/js/translated/company.js:581
-#: templates/js/translated/company.js:799 templates/js/translated/part.js:847
-#: templates/js/translated/stock.js:1360
+#: stock/models.py:2113 templates/js/translated/company.js:582
+#: templates/js/translated/company.js:800 templates/js/translated/part.js:874
+#: templates/js/translated/stock.js:1379
msgid "Value"
msgstr "Değer"
-#: company/models.py:367
+#: company/models.py:371
msgid "Parameter value"
msgstr "Parametre değeri"
-#: company/models.py:373 part/models.py:902 part/models.py:2434
-#: part/templates/part/part_base.html:286
+#: company/models.py:377 part/admin.py:26 part/models.py:921
+#: part/models.py:3047 part/templates/part/part_base.html:286
#: templates/InvenTree/settings/settings.html:349
-#: templates/js/translated/company.js:805 templates/js/translated/part.js:853
+#: templates/js/translated/company.js:806 templates/js/translated/part.js:880
msgid "Units"
msgstr ""
-#: company/models.py:374
+#: company/models.py:378
msgid "Parameter units"
msgstr ""
-#: company/models.py:451
+#: company/models.py:455
msgid "Linked manufacturer part must reference the same base part"
msgstr ""
-#: company/models.py:493 company/templates/company/company_base.html:81
-#: company/templates/company/supplier_part.html:136 order/models.py:263
-#: order/templates/order/order_base.html:121 part/bom.py:237 part/bom.py:265
+#: company/models.py:497 company/templates/company/company_base.html:81
+#: company/templates/company/supplier_part.html:136 order/models.py:264
+#: order/templates/order/order_base.html:121 part/bom.py:252 part/bom.py:280
#: stock/templates/stock/item_base.html:227
#: templates/email/overdue_purchase_order.html:16
-#: templates/js/translated/company.js:303
-#: templates/js/translated/company.js:436
-#: templates/js/translated/company.js:929 templates/js/translated/order.js:1975
-#: templates/js/translated/part.js:217 templates/js/translated/part.js:993
-#: templates/js/translated/table_filters.js:431
+#: templates/js/translated/company.js:304
+#: templates/js/translated/company.js:437
+#: templates/js/translated/company.js:930 templates/js/translated/order.js:2009
+#: templates/js/translated/part.js:213 templates/js/translated/part.js:1020
+#: templates/js/translated/pricing.js:231
+#: templates/js/translated/table_filters.js:435
msgid "Supplier"
msgstr "Tedarikçi"
-#: company/models.py:494 templates/js/translated/part.js:218
+#: company/models.py:498 templates/js/translated/part.js:214
msgid "Select supplier"
msgstr "Tedarikçi seçin"
-#: company/models.py:499 company/templates/company/supplier_part.html:146
-#: part/bom.py:238 part/bom.py:266 templates/js/translated/company.js:302
-#: templates/js/translated/order.js:2226 templates/js/translated/part.js:228
-#: templates/js/translated/part.js:1011
+#: company/models.py:503 company/templates/company/supplier_part.html:146
+#: part/bom.py:253 part/bom.py:281 templates/js/translated/company.js:303
+#: templates/js/translated/order.js:2265 templates/js/translated/part.js:224
+#: templates/js/translated/part.js:1038 templates/js/translated/pricing.js:243
msgid "SKU"
msgstr ""
-#: company/models.py:500 templates/js/translated/part.js:229
+#: company/models.py:504 templates/js/translated/part.js:225
msgid "Supplier stock keeping unit"
msgstr ""
-#: company/models.py:507
+#: company/models.py:511
msgid "Select manufacturer part"
msgstr ""
-#: company/models.py:513
+#: company/models.py:517
msgid "URL for external supplier part link"
msgstr ""
-#: company/models.py:519
+#: company/models.py:523
msgid "Supplier part description"
msgstr ""
-#: company/models.py:524 company/templates/company/supplier_part.html:181
-#: part/models.py:2687 part/templates/part/upload_bom.html:59
+#: company/models.py:528 company/templates/company/supplier_part.html:181
+#: part/admin.py:225 part/models.py:3300 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_po_report.html:92
-#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:403
+#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:397
msgid "Note"
msgstr "Not"
-#: company/models.py:528 part/models.py:1788
+#: company/models.py:532 part/models.py:1817
msgid "base cost"
msgstr "temel maliyet"
-#: company/models.py:528 part/models.py:1788
+#: company/models.py:532 part/models.py:1817
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
-#: company/models.py:530 company/templates/company/supplier_part.html:167
-#: stock/models.py:626 stock/templates/stock/item_base.html:243
-#: templates/js/translated/company.js:991 templates/js/translated/stock.js:1978
+#: company/models.py:534 company/templates/company/supplier_part.html:167
+#: stock/admin.py:101 stock/models.py:642
+#: stock/templates/stock/item_base.html:243
+#: templates/js/translated/company.js:992 templates/js/translated/stock.js:1996
msgid "Packaging"
msgstr "Paketleme"
-#: company/models.py:530
+#: company/models.py:534
msgid "Part packaging"
msgstr ""
-#: company/models.py:533 company/serializers.py:242
+#: company/models.py:537 company/serializers.py:242
#: company/templates/company/supplier_part.html:174
-#: templates/js/translated/company.js:996 templates/js/translated/order.js:820
-#: templates/js/translated/order.js:1215 templates/js/translated/order.js:1470
-#: templates/js/translated/order.js:2270 templates/js/translated/order.js:2287
-#: templates/js/translated/part.js:1043 templates/js/translated/part.js:1095
+#: templates/js/translated/company.js:997 templates/js/translated/order.js:826
+#: templates/js/translated/order.js:1249 templates/js/translated/order.js:1504
+#: templates/js/translated/order.js:2309 templates/js/translated/order.js:2326
+#: templates/js/translated/part.js:1070 templates/js/translated/part.js:1122
msgid "Pack Quantity"
msgstr ""
-#: company/models.py:534
+#: company/models.py:538
msgid "Unit quantity supplied in a single pack"
msgstr ""
-#: company/models.py:540 part/models.py:1790
+#: company/models.py:544 part/models.py:1819
msgid "multiple"
msgstr "çoklu"
-#: company/models.py:540
+#: company/models.py:544
msgid "Order multiple"
msgstr ""
-#: company/models.py:548 company/templates/company/supplier_part.html:115
+#: company/models.py:552 company/templates/company/supplier_part.html:115
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:18
-#: templates/js/translated/bom.js:963 templates/js/translated/build.js:1873
-#: templates/js/translated/build.js:2754 templates/js/translated/part.js:598
-#: templates/js/translated/part.js:601
-#: templates/js/translated/table_filters.js:194
+#: templates/js/translated/bom.js:1117 templates/js/translated/build.js:1873
+#: templates/js/translated/build.js:2754 templates/js/translated/part.js:612
+#: templates/js/translated/part.js:615
+#: templates/js/translated/table_filters.js:198
msgid "Available"
msgstr "Mevcut"
-#: company/models.py:549
+#: company/models.py:553
msgid "Quantity available from supplier"
msgstr ""
-#: company/models.py:553
+#: company/models.py:557
msgid "Availability Updated"
msgstr ""
-#: company/models.py:554
+#: company/models.py:558
msgid "Date of last update of availability data"
msgstr ""
-#: company/models.py:682
+#: company/models.py:686
msgid "last updated"
msgstr ""
@@ -3121,7 +3177,7 @@ msgstr "Para Birimi Kodu"
#: company/templates/company/company_base.html:8
#: company/templates/company/company_base.html:12
-#: templates/InvenTree/search.html:179 templates/js/translated/company.js:421
+#: templates/InvenTree/search.html:179 templates/js/translated/company.js:422
msgid "Company"
msgstr ""
@@ -3139,7 +3195,7 @@ msgid "Edit company information"
msgstr ""
#: company/templates/company/company_base.html:34
-#: templates/js/translated/company.js:364
+#: templates/js/translated/company.js:365
msgid "Edit Company"
msgstr ""
@@ -3162,14 +3218,14 @@ msgstr ""
msgid "Download image from URL"
msgstr ""
-#: company/templates/company/company_base.html:86 order/models.py:646
-#: order/templates/order/sales_order_base.html:116 stock/models.py:645
-#: stock/models.py:646 stock/serializers.py:813
+#: company/templates/company/company_base.html:86 order/models.py:665
+#: order/templates/order/sales_order_base.html:116 stock/models.py:661
+#: stock/models.py:662 stock/serializers.py:812
#: stock/templates/stock/item_base.html:399
#: templates/email/overdue_sales_order.html:16
-#: templates/js/translated/company.js:428 templates/js/translated/order.js:2808
-#: templates/js/translated/stock.js:2569
-#: templates/js/translated/table_filters.js:435
+#: templates/js/translated/company.js:429 templates/js/translated/order.js:2819
+#: templates/js/translated/stock.js:2587
+#: templates/js/translated/table_filters.js:439
msgid "Customer"
msgstr "Müşteri"
@@ -3182,12 +3238,12 @@ msgid "Phone"
msgstr ""
#: company/templates/company/company_base.html:208
-#: part/templates/part/part_base.html:499
+#: part/templates/part/part_base.html:514
msgid "Upload Image"
msgstr ""
#: company/templates/company/company_base.html:223
-#: part/templates/part/part_base.html:554
+#: part/templates/part/part_base.html:569
msgid "Download Image"
msgstr "Resmi İndirin"
@@ -3203,7 +3259,7 @@ msgstr "Yeni tedarikçi parçası oluştur"
#: company/templates/company/detail.html:19
#: company/templates/company/manufacturer_part.html:123
-#: part/templates/part/detail.html:359
+#: part/templates/part/detail.html:357
msgid "New Supplier Part"
msgstr "Yeni Tedarikçi Parçası"
@@ -3232,7 +3288,7 @@ msgstr ""
msgid "Create new manufacturer part"
msgstr ""
-#: company/templates/company/detail.html:66 part/templates/part/detail.html:389
+#: company/templates/company/detail.html:66 part/templates/part/detail.html:387
msgid "New Manufacturer Part"
msgstr ""
@@ -3246,7 +3302,7 @@ msgstr "Tedarikçi Stoku"
#: order/templates/order/order_base.html:13
#: order/templates/order/purchase_orders.html:8
#: order/templates/order/purchase_orders.html:12
-#: part/templates/part/detail.html:84 part/templates/part/part_sidebar.html:37
+#: part/templates/part/detail.html:84 part/templates/part/part_sidebar.html:35
#: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200
#: templates/InvenTree/settings/sidebar.html:49
#: templates/js/translated/search.js:293 templates/navbar.html:50
@@ -3269,7 +3325,7 @@ msgstr "Yeni Satın Alma Emri"
#: order/templates/order/sales_order_base.html:13
#: order/templates/order/sales_orders.html:8
#: order/templates/order/sales_orders.html:15
-#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:41
+#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:39
#: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220
#: templates/InvenTree/settings/sidebar.html:51
#: templates/js/translated/search.js:317 templates/navbar.html:61
@@ -3297,8 +3353,7 @@ msgid "Supplier List"
msgstr ""
#: company/templates/company/manufacturer_part.html:15 company/views.py:38
-#: part/templates/part/prices.html:172 templates/InvenTree/search.html:181
-#: templates/navbar.html:49
+#: templates/InvenTree/search.html:181 templates/navbar.html:49
msgid "Manufacturers"
msgstr "Üreticiler"
@@ -3309,12 +3364,12 @@ msgid "Order part"
msgstr "Parça siparişi"
#: company/templates/company/manufacturer_part.html:39
-#: templates/js/translated/company.js:716
+#: templates/js/translated/company.js:717
msgid "Edit manufacturer part"
msgstr ""
#: company/templates/company/manufacturer_part.html:43
-#: templates/js/translated/company.js:717
+#: templates/js/translated/company.js:718
msgid "Delete manufacturer part"
msgstr ""
@@ -3329,35 +3384,36 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:119
#: company/templates/company/supplier_part.html:15 company/views.py:32
-#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:168
+#: part/admin.py:46 part/templates/part/part_sidebar.html:33
#: templates/InvenTree/search.html:191 templates/navbar.html:48
msgid "Suppliers"
msgstr ""
#: company/templates/company/manufacturer_part.html:136
-#: part/templates/part/detail.html:370
+#: part/templates/part/detail.html:368
msgid "Delete supplier parts"
msgstr "Tedarikçi parçalarını sil"
#: company/templates/company/manufacturer_part.html:136
#: company/templates/company/manufacturer_part.html:183
-#: part/templates/part/detail.html:371 part/templates/part/detail.html:401
-#: templates/js/translated/forms.js:455 templates/js/translated/helpers.js:36
-#: users/models.py:222
+#: part/templates/part/detail.html:369 part/templates/part/detail.html:399
+#: templates/js/translated/forms.js:455 templates/js/translated/helpers.js:38
+#: templates/js/translated/part.js:340 templates/js/translated/stock.js:184
+#: users/models.py:224
msgid "Delete"
msgstr ""
#: company/templates/company/manufacturer_part.html:166
#: company/templates/company/manufacturer_part_sidebar.html:5
#: part/templates/part/category_sidebar.html:19
-#: part/templates/part/detail.html:186 part/templates/part/part_sidebar.html:8
+#: part/templates/part/detail.html:184 part/templates/part/part_sidebar.html:8
msgid "Parameters"
msgstr ""
#: company/templates/company/manufacturer_part.html:170
-#: part/templates/part/detail.html:191
+#: part/templates/part/detail.html:189
#: templates/InvenTree/settings/category.html:12
-#: templates/InvenTree/settings/part.html:68
+#: templates/InvenTree/settings/part.html:62
msgid "New Parameter"
msgstr ""
@@ -3366,7 +3422,7 @@ msgid "Delete parameters"
msgstr ""
#: company/templates/company/manufacturer_part.html:245
-#: part/templates/part/detail.html:827
+#: part/templates/part/detail.html:825
msgid "Add Parameter"
msgstr ""
@@ -3387,10 +3443,10 @@ msgid "Assigned Stock Items"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:609
+#: company/templates/company/supplier_part.html:24 stock/models.py:625
#: stock/templates/stock/item_base.html:236
-#: templates/js/translated/company.js:945 templates/js/translated/order.js:1135
-#: templates/js/translated/stock.js:1935
+#: templates/js/translated/company.js:946 templates/js/translated/order.js:1169
+#: templates/js/translated/stock.js:1954
msgid "Supplier Part"
msgstr "Tedarikçi Parçası"
@@ -3441,13 +3497,13 @@ msgstr ""
#: company/templates/company/supplier_part.html:64
#: company/templates/company/supplier_part.html:65
-#: templates/js/translated/company.js:247
+#: templates/js/translated/company.js:248
msgid "Edit Supplier Part"
msgstr ""
#: company/templates/company/supplier_part.html:69
#: company/templates/company/supplier_part.html:70
-#: templates/js/translated/company.js:222
+#: templates/js/translated/company.js:223
msgid "Duplicate Supplier Part"
msgstr ""
@@ -3482,7 +3538,7 @@ msgstr ""
#: company/templates/company/supplier_part.html:204
#: part/templates/part/detail.html:25 stock/templates/stock/location.html:198
-#: templates/js/translated/stock.js:435
+#: templates/js/translated/stock.js:454
msgid "New Stock Item"
msgstr ""
@@ -3492,47 +3548,20 @@ msgid "Supplier Part Orders"
msgstr "Tedarikçi Parçası Emirleri"
#: company/templates/company/supplier_part.html:242
-#: part/templates/part/prices.html:10
msgid "Pricing Information"
msgstr "Fiyat Bilgisi"
#: company/templates/company/supplier_part.html:247
-#: company/templates/company/supplier_part.html:388
-#: part/templates/part/prices.html:276 templates/js/translated/part.js:2297
+#: company/templates/company/supplier_part.html:317
+#: templates/js/translated/pricing.js:413
msgid "Add Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:282
+#: company/templates/company/supplier_part.html:285
msgid "Link Barcode to Supplier Part"
msgstr ""
-#: company/templates/company/supplier_part.html:300
-msgid "No price break information found"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:314
-#: templates/js/translated/part.js:2307
-msgid "Delete Price Break"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:328
-#: templates/js/translated/part.js:2321
-msgid "Edit Price Break"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:353
-msgid "Edit price break"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:354
-msgid "Delete price break"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:363
-msgid "Last updated"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:444
+#: company/templates/company/supplier_part.html:375
msgid "Update Part Availability"
msgstr ""
@@ -3542,9 +3571,9 @@ msgstr ""
#: stock/templates/stock/stock_app_base.html:10
#: templates/InvenTree/search.html:153
#: templates/InvenTree/settings/sidebar.html:45
-#: templates/js/translated/part.js:749 templates/js/translated/part.js:1335
-#: templates/js/translated/part.js:1501 templates/js/translated/stock.js:959
-#: templates/js/translated/stock.js:1760 templates/navbar.html:31
+#: templates/js/translated/part.js:763 templates/js/translated/part.js:1356
+#: templates/js/translated/part.js:1512 templates/js/translated/stock.js:978
+#: templates/js/translated/stock.js:1779 templates/navbar.html:31
msgid "Stock"
msgstr "Stok"
@@ -3558,19 +3587,20 @@ msgid "Supplier Part Pricing"
msgstr "Tedarikçi Parçası Fiyatlandırması"
#: company/templates/company/supplier_part_navbar.html:29
-#: part/templates/part/part_sidebar.html:31
+#: part/templates/part/part_sidebar.html:30
+#: templates/InvenTree/settings/sidebar.html:35
msgid "Pricing"
msgstr "Fiyatlandırma"
#: company/templates/company/supplier_part_sidebar.html:5
#: part/templates/part/category.html:198
-#: part/templates/part/category_sidebar.html:17
+#: part/templates/part/category_sidebar.html:17 stock/admin.py:31
#: stock/templates/stock/location.html:168
#: stock/templates/stock/location.html:182
#: stock/templates/stock/location.html:194
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:155 templates/js/translated/search.js:225
-#: templates/js/translated/stock.js:2446 users/models.py:40
+#: templates/js/translated/stock.js:2464 users/models.py:40
msgid "Stock Items"
msgstr "Stok Kalemleri"
@@ -3672,438 +3702,439 @@ msgstr ""
msgid "No matching purchase order found"
msgstr ""
-#: order/models.py:82
+#: order/models.py:83
msgid "Order description"
msgstr "Sipariş açıklaması"
-#: order/models.py:84 order/models.py:1260
+#: order/models.py:85 order/models.py:1283
msgid "Link to external page"
msgstr "Harici sayfaya bağlantı"
-#: order/models.py:92
+#: order/models.py:93
msgid "Created By"
msgstr "Oluşturan"
-#: order/models.py:99
+#: order/models.py:100
msgid "User or group responsible for this order"
msgstr ""
-#: order/models.py:104
+#: order/models.py:105
msgid "Order notes"
msgstr "Sipariş notları"
-#: order/models.py:241 order/models.py:633
+#: order/models.py:242 order/models.py:652
msgid "Order reference"
msgstr "Sipariş referansı"
-#: order/models.py:249 order/models.py:651
+#: order/models.py:250 order/models.py:670
msgid "Purchase order status"
msgstr ""
-#: order/models.py:264
+#: order/models.py:265
msgid "Company from which the items are being ordered"
msgstr ""
-#: order/models.py:267 order/templates/order/order_base.html:133
-#: templates/js/translated/order.js:1984
+#: order/models.py:268 order/templates/order/order_base.html:133
+#: templates/js/translated/order.js:2018
msgid "Supplier Reference"
msgstr ""
-#: order/models.py:267
+#: order/models.py:268
msgid "Supplier order reference code"
msgstr ""
-#: order/models.py:274
+#: order/models.py:275
msgid "received by"
msgstr ""
-#: order/models.py:279
+#: order/models.py:280
msgid "Issue Date"
msgstr ""
-#: order/models.py:280
+#: order/models.py:281
msgid "Date order was issued"
msgstr ""
-#: order/models.py:285
+#: order/models.py:286
msgid "Target Delivery Date"
msgstr ""
-#: order/models.py:286
+#: order/models.py:287
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr ""
-#: order/models.py:292
+#: order/models.py:293
msgid "Date order was completed"
msgstr ""
-#: order/models.py:328
+#: order/models.py:332
msgid "Part supplier must match PO supplier"
msgstr ""
-#: order/models.py:472
+#: order/models.py:491
msgid "Quantity must be a positive number"
msgstr ""
-#: order/models.py:647
+#: order/models.py:666
msgid "Company to which the items are being sold"
msgstr ""
-#: order/models.py:658
+#: order/models.py:677
msgid "Customer Reference "
msgstr ""
-#: order/models.py:658
+#: order/models.py:677
msgid "Customer order reference code"
msgstr ""
-#: order/models.py:663
+#: order/models.py:682
msgid "Target date for order completion. Order will be overdue after this date."
msgstr ""
-#: order/models.py:666 order/models.py:1218
-#: templates/js/translated/order.js:2855 templates/js/translated/order.js:3017
+#: order/models.py:685 order/models.py:1241
+#: templates/js/translated/order.js:2866 templates/js/translated/order.js:3028
msgid "Shipment Date"
msgstr ""
-#: order/models.py:673
+#: order/models.py:692
msgid "shipped by"
msgstr ""
-#: order/models.py:728
+#: order/models.py:747
msgid "Order cannot be completed as no parts have been assigned"
msgstr ""
-#: order/models.py:732
+#: order/models.py:751
msgid "Only a pending order can be marked as complete"
msgstr ""
-#: order/models.py:735 templates/js/translated/order.js:419
+#: order/models.py:754 templates/js/translated/order.js:419
msgid "Order cannot be completed as there are incomplete shipments"
msgstr ""
-#: order/models.py:738
+#: order/models.py:757
msgid "Order cannot be completed as there are incomplete line items"
msgstr ""
-#: order/models.py:912
+#: order/models.py:935
msgid "Item quantity"
msgstr ""
-#: order/models.py:918
+#: order/models.py:941
msgid "Line item reference"
msgstr ""
-#: order/models.py:920
+#: order/models.py:943
msgid "Line item notes"
msgstr ""
-#: order/models.py:925
+#: order/models.py:948
msgid "Target shipping date for this line item"
msgstr ""
-#: order/models.py:943
+#: order/models.py:966
msgid "Context"
msgstr ""
-#: order/models.py:944
+#: order/models.py:967
msgid "Additional context for this line"
msgstr ""
-#: order/models.py:953
+#: order/models.py:976
msgid "Unit price"
msgstr ""
-#: order/models.py:983
+#: order/models.py:1006
msgid "Supplier part must match supplier"
msgstr ""
-#: order/models.py:991
+#: order/models.py:1014
msgid "deleted"
msgstr ""
-#: order/models.py:997 order/models.py:1077 order/models.py:1118
-#: order/models.py:1212 order/models.py:1344
-#: templates/js/translated/order.js:3473
+#: order/models.py:1020 order/models.py:1100 order/models.py:1141
+#: order/models.py:1235 order/models.py:1367
+#: templates/js/translated/order.js:3484
msgid "Order"
msgstr ""
-#: order/models.py:998 order/models.py:1077
+#: order/models.py:1021 order/models.py:1100
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report.html:76
#: stock/templates/stock/item_base.html:182
#: templates/email/overdue_purchase_order.html:15
-#: templates/js/translated/order.js:619 templates/js/translated/order.js:1136
-#: templates/js/translated/order.js:1959 templates/js/translated/part.js:970
-#: templates/js/translated/stock.js:1915 templates/js/translated/stock.js:2550
+#: templates/js/translated/order.js:619 templates/js/translated/order.js:1170
+#: templates/js/translated/order.js:1993 templates/js/translated/part.js:997
+#: templates/js/translated/pricing.js:515 templates/js/translated/stock.js:1934
+#: templates/js/translated/stock.js:2568
msgid "Purchase Order"
msgstr ""
-#: order/models.py:1016
+#: order/models.py:1039
msgid "Supplier part"
msgstr ""
-#: order/models.py:1023 order/templates/order/order_base.html:178
-#: templates/js/translated/order.js:1641 templates/js/translated/order.js:2373
-#: templates/js/translated/part.js:1087 templates/js/translated/part.js:1125
-#: templates/js/translated/table_filters.js:346
+#: order/models.py:1046 order/templates/order/order_base.html:178
+#: templates/js/translated/order.js:1675 templates/js/translated/order.js:2396
+#: templates/js/translated/part.js:1114 templates/js/translated/part.js:1146
+#: templates/js/translated/table_filters.js:350
msgid "Received"
msgstr ""
-#: order/models.py:1024
+#: order/models.py:1047
msgid "Number of items received"
msgstr ""
-#: order/models.py:1031 part/templates/part/prices.html:181 stock/models.py:741
-#: stock/serializers.py:169 stock/templates/stock/item_base.html:189
-#: templates/js/translated/stock.js:1966
+#: order/models.py:1054 stock/models.py:757 stock/serializers.py:173
+#: stock/templates/stock/item_base.html:189
+#: templates/js/translated/stock.js:1985
msgid "Purchase Price"
msgstr ""
-#: order/models.py:1032
+#: order/models.py:1055
msgid "Unit purchase price"
msgstr ""
-#: order/models.py:1040
+#: order/models.py:1063
msgid "Where does the Purchaser want this item to be stored?"
msgstr ""
-#: order/models.py:1106
+#: order/models.py:1129
msgid "Virtual part cannot be assigned to a sales order"
msgstr ""
-#: order/models.py:1111
+#: order/models.py:1134
msgid "Only salable parts can be assigned to a sales order"
msgstr ""
-#: order/models.py:1137 part/templates/part/part_pricing.html:115
-#: part/templates/part/prices.html:121 part/templates/part/prices.html:290
+#: order/models.py:1160 part/templates/part/part_pricing.html:107
+#: part/templates/part/prices.html:139 templates/js/translated/pricing.js:665
msgid "Sale Price"
msgstr ""
-#: order/models.py:1138
+#: order/models.py:1161
msgid "Unit sale price"
msgstr ""
-#: order/models.py:1143
+#: order/models.py:1166
msgid "Shipped quantity"
msgstr ""
-#: order/models.py:1219
+#: order/models.py:1242
msgid "Date of shipment"
msgstr ""
-#: order/models.py:1226
+#: order/models.py:1249
msgid "Checked By"
msgstr ""
-#: order/models.py:1227
+#: order/models.py:1250
msgid "User who checked this shipment"
msgstr ""
-#: order/models.py:1234 order/models.py:1419 order/serializers.py:1228
-#: order/serializers.py:1356 templates/js/translated/model_renderers.js:314
+#: order/models.py:1257 order/models.py:1442 order/serializers.py:1221
+#: order/serializers.py:1349 templates/js/translated/model_renderers.js:314
msgid "Shipment"
msgstr ""
-#: order/models.py:1235
+#: order/models.py:1258
msgid "Shipment number"
msgstr ""
-#: order/models.py:1239
+#: order/models.py:1262
msgid "Shipment notes"
msgstr ""
-#: order/models.py:1245
+#: order/models.py:1268
msgid "Tracking Number"
msgstr ""
-#: order/models.py:1246
+#: order/models.py:1269
msgid "Shipment tracking information"
msgstr ""
-#: order/models.py:1253
+#: order/models.py:1276
msgid "Invoice Number"
msgstr ""
-#: order/models.py:1254
+#: order/models.py:1277
msgid "Reference number for associated invoice"
msgstr ""
-#: order/models.py:1272
+#: order/models.py:1295
msgid "Shipment has already been sent"
msgstr ""
-#: order/models.py:1275
+#: order/models.py:1298
msgid "Shipment has no allocated stock items"
msgstr ""
-#: order/models.py:1378 order/models.py:1380
+#: order/models.py:1401 order/models.py:1403
msgid "Stock item has not been assigned"
msgstr ""
-#: order/models.py:1384
+#: order/models.py:1407
msgid "Cannot allocate stock item to a line with a different part"
msgstr ""
-#: order/models.py:1386
+#: order/models.py:1409
msgid "Cannot allocate stock to a line without a part"
msgstr ""
-#: order/models.py:1389
+#: order/models.py:1412
msgid "Allocation quantity cannot exceed stock quantity"
msgstr "Tahsis miktarı stok miktarını aşamaz"
-#: order/models.py:1399 order/serializers.py:1090
+#: order/models.py:1422 order/serializers.py:1083
msgid "Quantity must be 1 for serialized stock item"
msgstr "Seri numaralı stok kalemi için miktar bir olmalı"
-#: order/models.py:1402
+#: order/models.py:1425
msgid "Sales order does not match shipment"
msgstr ""
-#: order/models.py:1403
+#: order/models.py:1426
msgid "Shipment does not match sales order"
msgstr ""
-#: order/models.py:1411
+#: order/models.py:1434
msgid "Line"
msgstr ""
-#: order/models.py:1420
+#: order/models.py:1443
msgid "Sales order shipment reference"
msgstr ""
-#: order/models.py:1433 templates/js/translated/notification.js:55
+#: order/models.py:1456 templates/js/translated/notification.js:55
msgid "Item"
msgstr ""
-#: order/models.py:1434
+#: order/models.py:1457
msgid "Select stock item to allocate"
msgstr ""
-#: order/models.py:1437
+#: order/models.py:1460
msgid "Enter stock allocation quantity"
msgstr "Stok tahsis miktarını girin"
-#: order/serializers.py:67
+#: order/serializers.py:63
msgid "Price currency"
msgstr ""
-#: order/serializers.py:199
+#: order/serializers.py:193
msgid "Order cannot be cancelled"
msgstr ""
-#: order/serializers.py:209 order/serializers.py:1108
+#: order/serializers.py:203 order/serializers.py:1101
msgid "Allow order to be closed with incomplete line items"
msgstr ""
-#: order/serializers.py:220 order/serializers.py:1119
+#: order/serializers.py:214 order/serializers.py:1112
msgid "Order has incomplete line items"
msgstr ""
-#: order/serializers.py:311
+#: order/serializers.py:305
msgid "Order is not open"
msgstr ""
-#: order/serializers.py:335
+#: order/serializers.py:327
msgid "Purchase price currency"
msgstr ""
-#: order/serializers.py:354
+#: order/serializers.py:346
msgid "Supplier part must be specified"
msgstr ""
-#: order/serializers.py:359
+#: order/serializers.py:351
msgid "Purchase order must be specified"
msgstr ""
-#: order/serializers.py:365
+#: order/serializers.py:357
msgid "Supplier must match purchase order"
msgstr ""
-#: order/serializers.py:366
+#: order/serializers.py:358
msgid "Purchase order must match supplier"
msgstr ""
-#: order/serializers.py:430 order/serializers.py:1196
+#: order/serializers.py:421 order/serializers.py:1189
msgid "Line Item"
msgstr ""
-#: order/serializers.py:436
+#: order/serializers.py:427
msgid "Line item does not match purchase order"
msgstr ""
-#: order/serializers.py:446 order/serializers.py:557
+#: order/serializers.py:437 order/serializers.py:548
msgid "Select destination location for received items"
msgstr ""
-#: order/serializers.py:465 templates/js/translated/order.js:1497
+#: order/serializers.py:456 templates/js/translated/order.js:1531
msgid "Enter batch code for incoming stock items"
msgstr ""
-#: order/serializers.py:473 templates/js/translated/order.js:1508
+#: order/serializers.py:464 templates/js/translated/order.js:1542
msgid "Enter serial numbers for incoming stock items"
msgstr ""
-#: order/serializers.py:487
+#: order/serializers.py:478
msgid "Unique identifier field"
msgstr ""
-#: order/serializers.py:501
+#: order/serializers.py:492
msgid "Barcode is already in use"
msgstr ""
-#: order/serializers.py:527
+#: order/serializers.py:518
msgid "An integer quantity must be provided for trackable parts"
msgstr ""
-#: order/serializers.py:573
+#: order/serializers.py:564
msgid "Line items must be provided"
msgstr ""
-#: order/serializers.py:590
+#: order/serializers.py:581
msgid "Destination location must be specified"
msgstr ""
-#: order/serializers.py:601
+#: order/serializers.py:592
msgid "Supplied barcode values must be unique"
msgstr ""
-#: order/serializers.py:907
+#: order/serializers.py:900
msgid "Sale price currency"
msgstr ""
-#: order/serializers.py:988
+#: order/serializers.py:981
msgid "No shipment details provided"
msgstr ""
-#: order/serializers.py:1051 order/serializers.py:1205
+#: order/serializers.py:1044 order/serializers.py:1198
msgid "Line item is not associated with this order"
msgstr ""
-#: order/serializers.py:1073
+#: order/serializers.py:1066
msgid "Quantity must be positive"
msgstr ""
-#: order/serializers.py:1218
+#: order/serializers.py:1211
msgid "Enter serial numbers to allocate"
msgstr ""
-#: order/serializers.py:1240 order/serializers.py:1364
+#: order/serializers.py:1233 order/serializers.py:1357
msgid "Shipment has already been shipped"
msgstr ""
-#: order/serializers.py:1243 order/serializers.py:1367
+#: order/serializers.py:1236 order/serializers.py:1360
msgid "Shipment is not associated with this order"
msgstr ""
-#: order/serializers.py:1297
+#: order/serializers.py:1290
msgid "No match found for the following serial numbers"
msgstr ""
-#: order/serializers.py:1307
+#: order/serializers.py:1300
msgid "The following serial numbers are already allocated"
msgstr ""
@@ -4154,15 +4185,16 @@ msgid "Duplicate order"
msgstr ""
#: order/templates/order/order_base.html:61
-msgid "Place order"
-msgstr "Sipariş ver"
+#: order/templates/order/order_base.html:62
+msgid "Submit Order"
+msgstr ""
#: order/templates/order/order_base.html:65
msgid "Receive items"
msgstr ""
#: order/templates/order/order_base.html:67
-#: order/templates/order/purchase_order_detail.html:30
+#: order/templates/order/purchase_order_detail.html:32
msgid "Receive Items"
msgstr ""
@@ -4248,9 +4280,9 @@ msgstr "Tedarikçi Parçası Seçin"
#: part/templates/part/import_wizard/match_references.html:49
#: templates/js/translated/bom.js:102 templates/js/translated/build.js:479
#: templates/js/translated/build.js:631 templates/js/translated/build.js:2078
-#: templates/js/translated/order.js:1084 templates/js/translated/order.js:1586
-#: templates/js/translated/order.js:3092 templates/js/translated/stock.js:625
-#: templates/js/translated/stock.js:793
+#: templates/js/translated/order.js:1118 templates/js/translated/order.js:1620
+#: templates/js/translated/order.js:3103 templates/js/translated/stock.js:644
+#: templates/js/translated/stock.js:812
#: templates/patterns/wizard/match_fields.html:70
msgid "Remove row"
msgstr ""
@@ -4278,42 +4310,42 @@ msgstr ""
msgid "Received Stock"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:17
+#: order/templates/order/purchase_order_detail.html:19
msgid "Purchase Order Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:26
-#: order/templates/order/sales_order_detail.html:22
-#: order/templates/order/sales_order_detail.html:255
+#: order/templates/order/purchase_order_detail.html:28
+#: order/templates/order/sales_order_detail.html:24
+#: order/templates/order/sales_order_detail.html:260
#: templates/js/translated/order.js:728
msgid "Add Line Item"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:29
+#: order/templates/order/purchase_order_detail.html:31
msgid "Receive selected items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:48
-#: order/templates/order/sales_order_detail.html:42
+#: order/templates/order/purchase_order_detail.html:50
+#: order/templates/order/sales_order_detail.html:45
msgid "Extra Lines"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:53
-#: order/templates/order/sales_order_detail.html:47
-#: order/templates/order/sales_order_detail.html:280
+#: order/templates/order/purchase_order_detail.html:56
+#: order/templates/order/sales_order_detail.html:51
+#: order/templates/order/sales_order_detail.html:291
msgid "Add Extra Line"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:72
+#: order/templates/order/purchase_order_detail.html:76
msgid "Received Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:97
-#: order/templates/order/sales_order_detail.html:150
+#: order/templates/order/purchase_order_detail.html:101
+#: order/templates/order/sales_order_detail.html:155
msgid "Order Notes"
msgstr "Sipariş Notları"
-#: order/templates/order/purchase_order_detail.html:232
+#: order/templates/order/purchase_order_detail.html:239
msgid "Add Order Line"
msgstr ""
@@ -4345,12 +4377,12 @@ msgid "This Sales Order has not been fully allocated"
msgstr ""
#: order/templates/order/sales_order_base.html:123
-#: templates/js/translated/order.js:2821
+#: templates/js/translated/order.js:2832
msgid "Customer Reference"
msgstr ""
#: order/templates/order/sales_order_base.html:141
-#: order/templates/order/sales_order_detail.html:104
+#: order/templates/order/sales_order_detail.html:109
#: order/templates/order/so_sidebar.html:11
msgid "Completed Shipments"
msgstr ""
@@ -4359,22 +4391,22 @@ msgstr ""
msgid "Edit Sales Order"
msgstr ""
-#: order/templates/order/sales_order_detail.html:17
+#: order/templates/order/sales_order_detail.html:18
msgid "Sales Order Items"
msgstr ""
-#: order/templates/order/sales_order_detail.html:68
+#: order/templates/order/sales_order_detail.html:73
#: order/templates/order/so_sidebar.html:8
msgid "Pending Shipments"
msgstr ""
-#: order/templates/order/sales_order_detail.html:72
-#: templates/attachment_table.html:6 templates/js/translated/bom.js:1158
+#: order/templates/order/sales_order_detail.html:77
+#: templates/attachment_table.html:6 templates/js/translated/bom.js:1223
#: templates/js/translated/build.js:1979
msgid "Actions"
msgstr "İşlemler"
-#: order/templates/order/sales_order_detail.html:81
+#: order/templates/order/sales_order_detail.html:86
msgid "New Shipment"
msgstr ""
@@ -4400,617 +4432,844 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/api.py:516
+#: part/admin.py:19 part/admin.py:219 part/models.py:3181 stock/admin.py:84
+#: templates/js/translated/model_renderers.js:212
+msgid "Part ID"
+msgstr ""
+
+#: part/admin.py:20 part/admin.py:221 part/models.py:3185 stock/admin.py:85
+msgid "Part Name"
+msgstr ""
+
+#: part/admin.py:21
+msgid "Part Description"
+msgstr ""
+
+#: part/admin.py:22 part/models.py:822 part/templates/part/part_base.html:272
+#: templates/js/translated/part.js:751 templates/js/translated/part.js:1469
+#: templates/js/translated/stock.js:1745
+msgid "IPN"
+msgstr "DPN"
+
+#: part/admin.py:23 part/models.py:830 part/templates/part/part_base.html:279
+#: report/models.py:171 templates/js/translated/part.js:755
+msgid "Revision"
+msgstr "Revizyon"
+
+#: part/admin.py:24 part/admin.py:145 part/models.py:808
+#: part/templates/part/category.html:87 part/templates/part/part_base.html:300
+msgid "Keywords"
+msgstr "Anahtar kelimeler"
+
+#: part/admin.py:28 part/admin.py:139
+#: templates/js/translated/model_renderers.js:338
+msgid "Category ID"
+msgstr ""
+
+#: part/admin.py:29 part/admin.py:140
+msgid "Category Name"
+msgstr ""
+
+#: part/admin.py:30 part/admin.py:144
+msgid "Default Location ID"
+msgstr ""
+
+#: part/admin.py:31
+msgid "Default Supplier ID"
+msgstr ""
+
+#: part/admin.py:33 part/models.py:914 part/templates/part/part_base.html:206
+msgid "Minimum Stock"
+msgstr "Minimum Stok"
+
+#: part/admin.py:47 part/templates/part/part_base.html:200
+#: templates/js/translated/company.js:1028
+#: templates/js/translated/table_filters.js:213
+msgid "In Stock"
+msgstr ""
+
+#: part/admin.py:48 part/bom.py:145 part/templates/part/part_base.html:213
+#: templates/js/translated/bom.js:1155 templates/js/translated/build.js:1925
+#: templates/js/translated/part.js:602 templates/js/translated/part.js:622
+#: templates/js/translated/part.js:1359 templates/js/translated/part.js:1537
+#: templates/js/translated/table_filters.js:68
+msgid "On Order"
+msgstr ""
+
+#: part/admin.py:49 part/templates/part/part_sidebar.html:27
+msgid "Used In"
+msgstr ""
+
+#: part/admin.py:50 templates/js/translated/build.js:1937
+#: templates/js/translated/build.js:2195 templates/js/translated/build.js:2761
+#: templates/js/translated/order.js:3943
+msgid "Allocated"
+msgstr ""
+
+#: part/admin.py:51 part/templates/part/part_base.html:244
+#: templates/js/translated/part.js:605 templates/js/translated/part.js:625
+#: templates/js/translated/part.js:1363 templates/js/translated/part.js:1544
+msgid "Building"
+msgstr ""
+
+#: part/admin.py:52 part/models.py:2765
+msgid "Minimum Cost"
+msgstr ""
+
+#: part/admin.py:53 part/models.py:2771
+msgid "Maximum Cost"
+msgstr ""
+
+#: part/admin.py:142 part/admin.py:216 stock/admin.py:26 stock/admin.py:98
+msgid "Parent ID"
+msgstr ""
+
+#: part/admin.py:143 part/admin.py:218 stock/admin.py:27
+msgid "Parent Name"
+msgstr ""
+
+#: part/admin.py:146 part/templates/part/category.html:81
+#: part/templates/part/category.html:94
+msgid "Category Path"
+msgstr ""
+
+#: part/admin.py:149 part/models.py:363 part/templates/part/cat_link.html:3
+#: part/templates/part/category.html:23 part/templates/part/category.html:134
+#: part/templates/part/category.html:154
+#: part/templates/part/category_sidebar.html:9
+#: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84
+#: templates/InvenTree/settings/sidebar.html:41
+#: templates/js/translated/part.js:2043 templates/js/translated/search.js:146
+#: templates/navbar.html:24 users/models.py:38
+msgid "Parts"
+msgstr "Parçalar"
+
+#: part/admin.py:211
+msgid "BOM Level"
+msgstr ""
+
+#: part/admin.py:213
+msgid "BOM Item ID"
+msgstr ""
+
+#: part/admin.py:217
+msgid "Parent IPN"
+msgstr ""
+
+#: part/admin.py:220 part/models.py:3189
+msgid "Part IPN"
+msgstr ""
+
+#: part/admin.py:226 templates/js/translated/pricing.js:91
+#: templates/js/translated/pricing.js:727
+msgid "Minimum Price"
+msgstr ""
+
+#: part/admin.py:227 templates/js/translated/pricing.js:86
+#: templates/js/translated/pricing.js:735
+msgid "Maximum Price"
+msgstr ""
+
+#: part/api.py:532
msgid "Incoming Purchase Order"
msgstr ""
-#: part/api.py:536
+#: part/api.py:552
msgid "Outgoing Sales Order"
msgstr ""
-#: part/api.py:554
+#: part/api.py:570
msgid "Stock produced by Build Order"
msgstr ""
-#: part/api.py:640
+#: part/api.py:656
msgid "Stock required for Build Order"
msgstr ""
-#: part/api.py:777
+#: part/api.py:814
msgid "Valid"
msgstr ""
-#: part/api.py:778
+#: part/api.py:815
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/api.py:784
+#: part/api.py:821
msgid "This option must be selected"
msgstr ""
-#: part/api.py:1207
+#: part/api.py:1261
msgid "Must be greater than zero"
msgstr ""
-#: part/api.py:1211
+#: part/api.py:1265
msgid "Must be a valid quantity"
msgstr ""
-#: part/api.py:1226
+#: part/api.py:1280
msgid "Specify location for initial part stock"
msgstr ""
-#: part/api.py:1257 part/api.py:1261 part/api.py:1276 part/api.py:1280
+#: part/api.py:1311 part/api.py:1315 part/api.py:1330 part/api.py:1334
msgid "This field is required"
msgstr ""
-#: part/bom.py:127 part/models.py:98 part/models.py:838
-#: part/templates/part/category.html:109 part/templates/part/part_base.html:345
+#: part/bom.py:142 part/models.py:116 part/models.py:857
+#: part/templates/part/category.html:109 part/templates/part/part_base.html:360
msgid "Default Location"
msgstr "Varsayılan Konum"
-#: part/bom.py:128 templates/email/low_stock_notification.html:17
+#: part/bom.py:143 templates/email/low_stock_notification.html:17
msgid "Total Stock"
msgstr ""
-#: part/bom.py:129 part/templates/part/part_base.html:195
-#: templates/js/translated/order.js:3913
+#: part/bom.py:144 part/templates/part/part_base.html:195
+#: templates/js/translated/order.js:3910
msgid "Available Stock"
msgstr ""
-#: part/bom.py:130 part/templates/part/part_base.html:213
-#: templates/js/translated/bom.js:1001 templates/js/translated/build.js:1925
-#: templates/js/translated/part.js:588 templates/js/translated/part.js:608
-#: templates/js/translated/part.js:1338 templates/js/translated/part.js:1526
-#: templates/js/translated/table_filters.js:68
-msgid "On Order"
-msgstr ""
-
#: part/forms.py:41
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:99
+#: part/models.py:117
msgid "Default location for parts in this category"
msgstr "Bu kategori içindeki parçalar için varsayılan konum"
-#: part/models.py:102
+#: part/models.py:120
msgid "Default keywords"
msgstr ""
-#: part/models.py:102
+#: part/models.py:120
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:107 stock/models.py:85
+#: part/models.py:125 stock/models.py:101
msgid "Icon"
msgstr ""
-#: part/models.py:108 stock/models.py:86
+#: part/models.py:126 stock/models.py:102
msgid "Icon (optional)"
msgstr ""
-#: part/models.py:122 part/models.py:2517 part/templates/part/category.html:16
+#: part/models.py:140 part/models.py:3130 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
-#: part/models.py:123 part/templates/part/category.html:129
+#: part/models.py:141 part/templates/part/category.html:129
#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200
#: users/models.py:37
msgid "Part Categories"
msgstr "Parça Kategorileri"
-#: part/models.py:344 part/templates/part/cat_link.html:3
-#: part/templates/part/category.html:23 part/templates/part/category.html:134
-#: part/templates/part/category.html:154
-#: part/templates/part/category_sidebar.html:9
-#: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84
-#: templates/InvenTree/settings/sidebar.html:41
-#: templates/js/translated/part.js:2019 templates/js/translated/search.js:146
-#: templates/navbar.html:24 users/models.py:38
-msgid "Parts"
-msgstr "Parçalar"
-
-#: part/models.py:429
+#: part/models.py:448
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:499 part/models.py:511
+#: part/models.py:518 part/models.py:530
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:601
+#: part/models.py:620
msgid "Stock item with this serial number already exists"
msgstr ""
-#: part/models.py:732
+#: part/models.py:751
msgid "Duplicate IPN not allowed in part settings"
msgstr "Yinelenen DPN'ye parça ayarlarında izin verilmiyor"
-#: part/models.py:759 part/models.py:2573
+#: part/models.py:778 part/models.py:3186
msgid "Part name"
msgstr "Parça adı"
-#: part/models.py:766
+#: part/models.py:785
msgid "Is Template"
msgstr "Şablon Mu"
-#: part/models.py:767
+#: part/models.py:786
msgid "Is this part a template part?"
msgstr "Bu parça bir şablon parçası mı?"
-#: part/models.py:777
+#: part/models.py:796
msgid "Is this part a variant of another part?"
msgstr "Bu parça başka bir parçanın çeşidi mi?"
-#: part/models.py:778
+#: part/models.py:797
msgid "Variant Of"
msgstr "Çeşidi"
-#: part/models.py:784
+#: part/models.py:803
msgid "Part description"
msgstr "Parça açıklaması"
-#: part/models.py:789 part/templates/part/category.html:87
-#: part/templates/part/part_base.html:300
-msgid "Keywords"
-msgstr "Anahtar kelimeler"
-
-#: part/models.py:790
+#: part/models.py:809
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:797 part/models.py:2272 part/models.py:2516
+#: part/models.py:816 part/models.py:2885 part/models.py:3129
#: part/templates/part/part_base.html:263
#: templates/InvenTree/settings/settings.html:229
#: templates/js/translated/notification.js:50
-#: templates/js/translated/part.js:1480 templates/js/translated/part.js:1724
+#: templates/js/translated/part.js:1491 templates/js/translated/part.js:1748
msgid "Category"
msgstr ""
-#: part/models.py:798
+#: part/models.py:817
msgid "Part category"
msgstr ""
-#: part/models.py:803 part/templates/part/part_base.html:272
-#: templates/js/translated/part.js:737 templates/js/translated/part.js:1431
-#: templates/js/translated/stock.js:1726
-msgid "IPN"
-msgstr "DPN"
-
-#: part/models.py:804
+#: part/models.py:823
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:810
+#: part/models.py:829
msgid "Part revision or version number"
msgstr "Parça revizyon veya versiyon numarası"
-#: part/models.py:811 part/templates/part/part_base.html:279
-#: report/models.py:171 templates/js/translated/part.js:741
-msgid "Revision"
-msgstr "Revizyon"
-
-#: part/models.py:836
+#: part/models.py:855
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:881 part/templates/part/part_base.html:354
+#: part/models.py:900 part/templates/part/part_base.html:369
msgid "Default Supplier"
msgstr "Varsayılan Tedarikçi"
-#: part/models.py:882
+#: part/models.py:901
msgid "Default supplier part"
msgstr "Varsayılan tedarikçi parçası"
-#: part/models.py:889
+#: part/models.py:908
msgid "Default Expiry"
msgstr ""
-#: part/models.py:890
+#: part/models.py:909
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:895 part/templates/part/part_base.html:206
-msgid "Minimum Stock"
-msgstr "Minimum Stok"
-
-#: part/models.py:896
+#: part/models.py:915
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:903
+#: part/models.py:922
msgid "Stock keeping units for this part"
msgstr ""
-#: part/models.py:909
+#: part/models.py:928
msgid "Can this part be built from other parts?"
msgstr "Bu parça diğer parçalardan yapılabilir mi?"
-#: part/models.py:915
+#: part/models.py:934
msgid "Can this part be used to build other parts?"
msgstr "Bu parça diğer parçaların yapımında kullanılabilir mi?"
-#: part/models.py:921
+#: part/models.py:940
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:926
+#: part/models.py:945
msgid "Can this part be purchased from external suppliers?"
msgstr "Bu parça dış tedarikçilerden satın alınabilir mi?"
-#: part/models.py:931
+#: part/models.py:950
msgid "Can this part be sold to customers?"
msgstr "Bu parça müşterilere satılabilir mi?"
-#: part/models.py:936
+#: part/models.py:955
msgid "Is this part active?"
msgstr "Bu parça aktif mi?"
-#: part/models.py:941
+#: part/models.py:960
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:943
+#: part/models.py:962
msgid "Part notes"
msgstr ""
-#: part/models.py:945
+#: part/models.py:964
msgid "BOM checksum"
msgstr ""
-#: part/models.py:945
+#: part/models.py:964
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:948
+#: part/models.py:967
msgid "BOM checked by"
msgstr ""
-#: part/models.py:950
+#: part/models.py:969
msgid "BOM checked date"
msgstr ""
-#: part/models.py:954
+#: part/models.py:973
msgid "Creation User"
msgstr "Oluşturan Kullanıcı"
-#: part/models.py:1790
+#: part/models.py:1819
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2319
+#: part/models.py:2682
+msgid "Currency used to cache pricing calculations"
+msgstr ""
+
+#: part/models.py:2687
+msgid "Updated"
+msgstr ""
+
+#: part/models.py:2688
+msgid "Timestamp of last pricing update"
+msgstr ""
+
+#: part/models.py:2705
+msgid "Minimum BOM Cost"
+msgstr ""
+
+#: part/models.py:2706
+msgid "Minimum cost of component parts"
+msgstr ""
+
+#: part/models.py:2711
+msgid "Maximum BOM Cost"
+msgstr ""
+
+#: part/models.py:2712
+msgid "Maximum cost of component parts"
+msgstr ""
+
+#: part/models.py:2717
+msgid "Minimum Purchase Cost"
+msgstr ""
+
+#: part/models.py:2718
+msgid "Minimum historical purchase cost"
+msgstr ""
+
+#: part/models.py:2723
+msgid "Maximum Purchase Cost"
+msgstr ""
+
+#: part/models.py:2724
+msgid "Maximum historical purchase cost"
+msgstr ""
+
+#: part/models.py:2729
+msgid "Minimum Internal Price"
+msgstr ""
+
+#: part/models.py:2730
+msgid "Minimum cost based on internal price breaks"
+msgstr ""
+
+#: part/models.py:2735
+msgid "Maximum Internal Price"
+msgstr ""
+
+#: part/models.py:2736
+msgid "Maximum cost based on internal price breaks"
+msgstr ""
+
+#: part/models.py:2741
+msgid "Minimum Supplier Price"
+msgstr ""
+
+#: part/models.py:2742
+msgid "Minimum price of part from external suppliers"
+msgstr ""
+
+#: part/models.py:2747
+msgid "Maximum Supplier Price"
+msgstr ""
+
+#: part/models.py:2748
+msgid "Maximum price of part from external suppliers"
+msgstr ""
+
+#: part/models.py:2753
+msgid "Minimum Variant Cost"
+msgstr ""
+
+#: part/models.py:2754
+msgid "Calculated minimum cost of variant parts"
+msgstr ""
+
+#: part/models.py:2759
+msgid "Maximum Variant Cost"
+msgstr ""
+
+#: part/models.py:2760
+msgid "Calculated maximum cost of variant parts"
+msgstr ""
+
+#: part/models.py:2766
+msgid "Calculated overall minimum cost"
+msgstr ""
+
+#: part/models.py:2772
+msgid "Calculated overall maximum cost"
+msgstr ""
+
+#: part/models.py:2777
+msgid "Minimum Sale Price"
+msgstr ""
+
+#: part/models.py:2778
+msgid "Minimum sale price based on price breaks"
+msgstr ""
+
+#: part/models.py:2783
+msgid "Maximum Sale Price"
+msgstr ""
+
+#: part/models.py:2784
+msgid "Maximum sale price based on price breaks"
+msgstr ""
+
+#: part/models.py:2789
+msgid "Minimum Sale Cost"
+msgstr ""
+
+#: part/models.py:2790
+msgid "Minimum historical sale price"
+msgstr ""
+
+#: part/models.py:2795
+msgid "Maximum Sale Cost"
+msgstr ""
+
+#: part/models.py:2796
+msgid "Maximum historical sale price"
+msgstr ""
+
+#: part/models.py:2932
msgid "Test templates can only be created for trackable parts"
msgstr "Test şablonları sadece takip edilebilir paçalar için oluşturulabilir"
-#: part/models.py:2336
+#: part/models.py:2949
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2356 templates/js/translated/part.js:2070
-#: templates/js/translated/stock.js:1340
+#: part/models.py:2969 templates/js/translated/part.js:2094
+#: templates/js/translated/stock.js:1359
msgid "Test Name"
msgstr "Test Adı"
-#: part/models.py:2357
+#: part/models.py:2970
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2362
+#: part/models.py:2975
msgid "Test Description"
msgstr "Test Açıklaması"
-#: part/models.py:2363
+#: part/models.py:2976
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2368 templates/js/translated/part.js:2079
-#: templates/js/translated/table_filters.js:310
+#: part/models.py:2981 templates/js/translated/part.js:2103
+#: templates/js/translated/table_filters.js:314
msgid "Required"
msgstr "Gerekli"
-#: part/models.py:2369
+#: part/models.py:2982
msgid "Is this test required to pass?"
msgstr "Testi geçmesi için bu gerekli mi?"
-#: part/models.py:2374 templates/js/translated/part.js:2087
+#: part/models.py:2987 templates/js/translated/part.js:2111
msgid "Requires Value"
msgstr ""
-#: part/models.py:2375
+#: part/models.py:2988
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2380 templates/js/translated/part.js:2094
+#: part/models.py:2993 templates/js/translated/part.js:2118
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2381
+#: part/models.py:2994
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:2422
+#: part/models.py:3035
msgid "Parameter template name must be unique"
msgstr "Parametre şablon adı benzersiz olmalıdır"
-#: part/models.py:2430
+#: part/models.py:3043
msgid "Parameter Name"
msgstr ""
-#: part/models.py:2434
+#: part/models.py:3047
msgid "Parameter Units"
msgstr ""
-#: part/models.py:2439
+#: part/models.py:3052
msgid "Parameter description"
msgstr ""
-#: part/models.py:2472
+#: part/models.py:3085
msgid "Parent Part"
msgstr ""
-#: part/models.py:2474 part/models.py:2522 part/models.py:2523
+#: part/models.py:3087 part/models.py:3135 part/models.py:3136
#: templates/InvenTree/settings/settings.html:224
msgid "Parameter Template"
msgstr "Parametre Şablonu"
-#: part/models.py:2476
+#: part/models.py:3089
msgid "Data"
msgstr ""
-#: part/models.py:2476
+#: part/models.py:3089
msgid "Parameter Value"
msgstr ""
-#: part/models.py:2527 templates/InvenTree/settings/settings.html:233
+#: part/models.py:3140 templates/InvenTree/settings/settings.html:233
msgid "Default Value"
msgstr ""
-#: part/models.py:2528
+#: part/models.py:3141
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:2565
+#: part/models.py:3178
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:2568 templates/js/translated/model_renderers.js:212
-msgid "Part ID"
-msgstr ""
-
-#: part/models.py:2569
+#: part/models.py:3182
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:2572
-msgid "Part Name"
-msgstr ""
-
-#: part/models.py:2576
-msgid "Part IPN"
-msgstr ""
-
-#: part/models.py:2577
+#: part/models.py:3190
msgid "Part IPN value"
msgstr ""
-#: part/models.py:2580
+#: part/models.py:3193
msgid "Level"
msgstr ""
-#: part/models.py:2581
+#: part/models.py:3194
msgid "BOM level"
msgstr ""
-#: part/models.py:2650
+#: part/models.py:3263
msgid "Select parent part"
msgstr ""
-#: part/models.py:2658
+#: part/models.py:3271
msgid "Sub part"
msgstr ""
-#: part/models.py:2659
+#: part/models.py:3272
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:2665
+#: part/models.py:3278
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:2669 part/templates/part/upload_bom.html:58
-#: templates/js/translated/bom.js:924 templates/js/translated/bom.js:1024
+#: part/models.py:3282 part/templates/part/upload_bom.html:58
+#: templates/js/translated/bom.js:933 templates/js/translated/bom.js:986
#: templates/js/translated/build.js:1858
#: templates/js/translated/table_filters.js:84
-#: templates/js/translated/table_filters.js:108
+#: templates/js/translated/table_filters.js:112
msgid "Optional"
msgstr ""
-#: part/models.py:2670
+#: part/models.py:3283
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:2675 templates/js/translated/bom.js:920
-#: templates/js/translated/bom.js:1033 templates/js/translated/build.js:1849
+#: part/models.py:3288 templates/js/translated/bom.js:929
+#: templates/js/translated/bom.js:995 templates/js/translated/build.js:1849
#: templates/js/translated/table_filters.js:88
msgid "Consumable"
msgstr ""
-#: part/models.py:2676
+#: part/models.py:3289
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:2680 part/templates/part/upload_bom.html:55
+#: part/models.py:3293 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:2681
+#: part/models.py:3294
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:2684
+#: part/models.py:3297
msgid "BOM item reference"
msgstr ""
-#: part/models.py:2687
+#: part/models.py:3300
msgid "BOM item notes"
msgstr ""
-#: part/models.py:2689
+#: part/models.py:3302
msgid "Checksum"
msgstr ""
-#: part/models.py:2689
+#: part/models.py:3302
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:2693 part/templates/part/upload_bom.html:57
-#: templates/js/translated/bom.js:1050
+#: part/models.py:3306 part/templates/part/upload_bom.html:57
+#: templates/js/translated/bom.js:1012
#: templates/js/translated/table_filters.js:76
-#: templates/js/translated/table_filters.js:104
+#: templates/js/translated/table_filters.js:108
msgid "Inherited"
msgstr ""
-#: part/models.py:2694
+#: part/models.py:3307
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr "Bu malzeme listesi, çeşit parçalar listesini kalıtsalıdır"
-#: part/models.py:2699 part/templates/part/upload_bom.html:56
-#: templates/js/translated/bom.js:1042
+#: part/models.py:3312 part/templates/part/upload_bom.html:56
+#: templates/js/translated/bom.js:1004
msgid "Allow Variants"
msgstr "Çeşide İzin Ver"
-#: part/models.py:2700
+#: part/models.py:3313
msgid "Stock items for variant parts can be used for this BOM item"
msgstr "Çeşit parçaların stok kalemleri bu malzeme listesinde kullanılabilir"
-#: part/models.py:2786 stock/models.py:502
+#: part/models.py:3399 stock/models.py:518
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:2795 part/models.py:2797
+#: part/models.py:3408 part/models.py:3410
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:2902
+#: part/models.py:3537
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:2923
+#: part/models.py:3558
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:2936
+#: part/models.py:3571
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:2944
+#: part/models.py:3579
msgid "Substitute part"
msgstr ""
-#: part/models.py:2959
+#: part/models.py:3594
msgid "Part 1"
msgstr ""
-#: part/models.py:2963
+#: part/models.py:3598
msgid "Part 2"
msgstr ""
-#: part/models.py:2963
+#: part/models.py:3598
msgid "Select Related Part"
msgstr ""
-#: part/models.py:2981
+#: part/models.py:3616
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:2985
+#: part/models.py:3620
msgid "Duplicate relationship already exists"
msgstr ""
-#: part/serializers.py:154 part/serializers.py:185 stock/serializers.py:179
+#: part/serializers.py:154 part/serializers.py:182 stock/serializers.py:183
msgid "Purchase currency of this stock item"
msgstr ""
-#: part/serializers.py:829
+#: part/serializers.py:542
+msgid "Update"
+msgstr ""
+
+#: part/serializers.py:543
+msgid "Update pricing for this part"
+msgstr ""
+
+#: part/serializers.py:853
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:837
+#: part/serializers.py:861
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:838
+#: part/serializers.py:862
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:843
+#: part/serializers.py:867
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:844
+#: part/serializers.py:868
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:849
+#: part/serializers.py:873
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:850
+#: part/serializers.py:874
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:855
+#: part/serializers.py:879
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:856
+#: part/serializers.py:880
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/serializers.py:896
+#: part/serializers.py:920
msgid "Clear Existing BOM"
msgstr ""
-#: part/serializers.py:897
+#: part/serializers.py:921
msgid "Delete existing BOM items before uploading"
msgstr ""
-#: part/serializers.py:927
+#: part/serializers.py:951
msgid "No part column specified"
msgstr ""
-#: part/serializers.py:970
+#: part/serializers.py:994
msgid "Multiple matching parts found"
msgstr ""
-#: part/serializers.py:973
+#: part/serializers.py:997
msgid "No matching part found"
msgstr ""
-#: part/serializers.py:976
+#: part/serializers.py:1000
msgid "Part is not designated as a component"
msgstr ""
-#: part/serializers.py:985
+#: part/serializers.py:1009
msgid "Quantity not provided"
msgstr ""
-#: part/serializers.py:993
+#: part/serializers.py:1017
msgid "Invalid quantity"
msgstr ""
-#: part/serializers.py:1014
+#: part/serializers.py:1038
msgid "At least one BOM item is required"
msgstr ""
-#: part/tasks.py:21
+#: part/tasks.py:25
msgid "Low stock notification"
msgstr ""
-#: part/tasks.py:22
+#: part/tasks.py:26
#, python-brace-format
msgid "The available stock for {part.name} has fallen below the configured minimum level"
msgstr ""
@@ -5034,7 +5293,7 @@ msgstr ""
msgid "The BOM for %(part)s has not been validated."
msgstr ""
-#: part/templates/part/bom.html:30 part/templates/part/detail.html:269
+#: part/templates/part/bom.html:30 part/templates/part/detail.html:267
msgid "BOM actions"
msgstr ""
@@ -5070,10 +5329,6 @@ msgstr ""
msgid "Delete Category"
msgstr ""
-#: part/templates/part/category.html:81 part/templates/part/category.html:94
-msgid "Category Path"
-msgstr ""
-
#: part/templates/part/category.html:95
msgid "Top level part category"
msgstr ""
@@ -5091,12 +5346,12 @@ msgstr "Parçalar (Alt kategoriler dahil)"
msgid "Create new part"
msgstr ""
-#: part/templates/part/category.html:159 templates/js/translated/bom.js:392
+#: part/templates/part/category.html:159 templates/js/translated/bom.js:405
msgid "New Part"
msgstr ""
-#: part/templates/part/category.html:169 part/templates/part/detail.html:368
-#: part/templates/part/detail.html:399
+#: part/templates/part/category.html:169 part/templates/part/detail.html:366
+#: part/templates/part/detail.html:397
msgid "Options"
msgstr ""
@@ -5144,7 +5399,7 @@ msgstr ""
msgid "Import Parts"
msgstr ""
-#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:379
+#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:393
msgid "Duplicate Part"
msgstr ""
@@ -5176,7 +5431,8 @@ msgstr "Parça Stoku"
msgid "Refresh scheduling data"
msgstr ""
-#: part/templates/part/detail.html:45 templates/js/translated/tables.js:524
+#: part/templates/part/detail.html:45 part/templates/part/prices.html:15
+#: templates/js/translated/tables.js:524
msgid "Refresh"
msgstr "Yenile"
@@ -5192,123 +5448,103 @@ msgstr "Test Şablonu Ekle"
msgid "Sales Order Allocations"
msgstr ""
-#: part/templates/part/detail.html:143
+#: part/templates/part/detail.html:141
msgid "Part Notes"
msgstr ""
-#: part/templates/part/detail.html:158
+#: part/templates/part/detail.html:156
msgid "Part Variants"
msgstr "Parça Çeşitleri"
-#: part/templates/part/detail.html:162
+#: part/templates/part/detail.html:160
msgid "Create new variant"
msgstr "Yeni çeşit oluştur"
-#: part/templates/part/detail.html:163
+#: part/templates/part/detail.html:161
msgid "New Variant"
msgstr "Yeni Çeşit"
-#: part/templates/part/detail.html:190
+#: part/templates/part/detail.html:188
msgid "Add new parameter"
msgstr ""
-#: part/templates/part/detail.html:227 part/templates/part/part_sidebar.html:54
+#: part/templates/part/detail.html:225 part/templates/part/part_sidebar.html:52
msgid "Related Parts"
msgstr ""
-#: part/templates/part/detail.html:231 part/templates/part/detail.html:232
+#: part/templates/part/detail.html:229 part/templates/part/detail.html:230
msgid "Add Related"
msgstr ""
-#: part/templates/part/detail.html:252 part/templates/part/part_sidebar.html:17
+#: part/templates/part/detail.html:250 part/templates/part/part_sidebar.html:17
msgid "Bill of Materials"
msgstr ""
-#: part/templates/part/detail.html:257
+#: part/templates/part/detail.html:255
msgid "Export actions"
msgstr ""
-#: part/templates/part/detail.html:261 templates/js/translated/bom.js:309
+#: part/templates/part/detail.html:259 templates/js/translated/bom.js:309
msgid "Export BOM"
msgstr ""
-#: part/templates/part/detail.html:263
+#: part/templates/part/detail.html:261
msgid "Print BOM Report"
msgstr ""
-#: part/templates/part/detail.html:273
+#: part/templates/part/detail.html:271
msgid "Upload BOM"
msgstr ""
-#: part/templates/part/detail.html:274 templates/js/translated/part.js:274
+#: part/templates/part/detail.html:272 templates/js/translated/part.js:270
msgid "Copy BOM"
msgstr ""
-#: part/templates/part/detail.html:275
+#: part/templates/part/detail.html:273
msgid "Validate BOM"
msgstr ""
-#: part/templates/part/detail.html:280 part/templates/part/detail.html:281
-#: templates/js/translated/bom.js:1202 templates/js/translated/bom.js:1203
+#: part/templates/part/detail.html:278 part/templates/part/detail.html:279
+#: templates/js/translated/bom.js:1267 templates/js/translated/bom.js:1268
msgid "Add BOM Item"
msgstr ""
-#: part/templates/part/detail.html:294
+#: part/templates/part/detail.html:292
msgid "Assemblies"
msgstr ""
-#: part/templates/part/detail.html:312
+#: part/templates/part/detail.html:310
msgid "Part Builds"
msgstr ""
-#: part/templates/part/detail.html:339 stock/templates/stock/item.html:38
+#: part/templates/part/detail.html:337 stock/templates/stock/item.html:38
msgid "Build Order Allocations"
msgstr ""
-#: part/templates/part/detail.html:355
+#: part/templates/part/detail.html:353
msgid "Part Suppliers"
msgstr "Parça Tedarikçileri"
-#: part/templates/part/detail.html:385
+#: part/templates/part/detail.html:383
msgid "Part Manufacturers"
msgstr ""
-#: part/templates/part/detail.html:401
+#: part/templates/part/detail.html:399
msgid "Delete manufacturer parts"
msgstr ""
-#: part/templates/part/detail.html:658
+#: part/templates/part/detail.html:656
msgid "Related Part"
msgstr ""
-#: part/templates/part/detail.html:666
+#: part/templates/part/detail.html:664
msgid "Add Related Part"
msgstr ""
-#: part/templates/part/detail.html:758
+#: part/templates/part/detail.html:756
msgid "Add Test Result Template"
msgstr ""
-#: part/templates/part/detail.html:901
-#, python-format
-msgid "Purchase Unit Price - %(currency)s"
-msgstr ""
-
-#: part/templates/part/detail.html:913
-#, python-format
-msgid "Unit Price-Cost Difference - %(currency)s"
-msgstr ""
-
-#: part/templates/part/detail.html:925
-#, python-format
-msgid "Supplier Unit Cost - %(currency)s"
-msgstr ""
-
-#: part/templates/part/detail.html:1014
-#, python-format
-msgid "Unit Price - %(currency)s"
-msgstr ""
-
#: part/templates/part/import_wizard/ajax_match_fields.html:9
#: templates/patterns/wizard/match_fields.html:8
msgid "Missing selections for the following required columns"
@@ -5439,15 +5675,15 @@ msgid "Part is virtual (not a physical part)"
msgstr ""
#: part/templates/part/part_base.html:148
-#: templates/js/translated/company.js:659
-#: templates/js/translated/company.js:920
+#: templates/js/translated/company.js:660
+#: templates/js/translated/company.js:921
#: templates/js/translated/model_renderers.js:204
-#: templates/js/translated/part.js:652 templates/js/translated/part.js:729
+#: templates/js/translated/part.js:666 templates/js/translated/part.js:743
msgid "Inactive"
msgstr "Pasif"
#: part/templates/part/part_base.html:165
-#: part/templates/part/part_base.html:620
+#: part/templates/part/part_base.html:635
msgid "Show Part Details"
msgstr ""
@@ -5456,12 +5692,6 @@ msgstr ""
msgid "This part is a variant of %(link)s"
msgstr "Bu parça %(link)s parçasının bir çeşididir"
-#: part/templates/part/part_base.html:200
-#: templates/js/translated/company.js:1027
-#: templates/js/translated/table_filters.js:209
-msgid "In Stock"
-msgstr ""
-
#: part/templates/part/part_base.html:221
#: stock/templates/stock/item_base.html:382
msgid "Allocated to Build Orders"
@@ -5472,100 +5702,91 @@ msgstr ""
msgid "Allocated to Sales Orders"
msgstr ""
-#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1100
+#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1165
msgid "Can Build"
msgstr ""
-#: part/templates/part/part_base.html:244 templates/js/translated/part.js:591
-#: templates/js/translated/part.js:611 templates/js/translated/part.js:1342
-#: templates/js/translated/part.js:1533
-msgid "Building"
-msgstr ""
-
#: part/templates/part/part_base.html:293
msgid "Minimum stock level"
msgstr ""
-#: part/templates/part/part_base.html:330
+#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1032
+#: templates/js/translated/part.js:783 templates/js/translated/part.js:1582
+#: templates/js/translated/pricing.js:124
+#: templates/js/translated/pricing.js:757
+msgid "Price Range"
+msgstr ""
+
+#: part/templates/part/part_base.html:345
msgid "Latest Serial Number"
msgstr "Son Seri Numarası"
-#: part/templates/part/part_base.html:334
+#: part/templates/part/part_base.html:349
#: stock/templates/stock/item_base.html:331
msgid "Search for serial number"
msgstr ""
-#: part/templates/part/part_base.html:431
+#: part/templates/part/part_base.html:446
msgid "Link Barcode to Part"
msgstr ""
-#: part/templates/part/part_base.html:477 part/templates/part/prices.html:149
+#: part/templates/part/part_base.html:492
msgid "Calculate"
msgstr "Hesapla"
-#: part/templates/part/part_base.html:520
+#: part/templates/part/part_base.html:535
msgid "No matching images found"
msgstr ""
-#: part/templates/part/part_base.html:614
+#: part/templates/part/part_base.html:629
msgid "Hide Part Details"
msgstr ""
-#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:24
+#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:78
+#: part/templates/part/prices.html:238 templates/js/translated/pricing.js:218
msgid "Supplier Pricing"
msgstr ""
#: part/templates/part/part_pricing.html:26
#: part/templates/part/part_pricing.html:52
-#: part/templates/part/part_pricing.html:103
-#: part/templates/part/part_pricing.html:118 part/templates/part/prices.html:28
-#: part/templates/part/prices.html:55 part/templates/part/prices.html:108
-#: part/templates/part/prices.html:125
+#: part/templates/part/part_pricing.html:95
+#: part/templates/part/part_pricing.html:110
msgid "Unit Cost"
msgstr "Birim Maliyeti"
#: part/templates/part/part_pricing.html:32
#: part/templates/part/part_pricing.html:58
-#: part/templates/part/part_pricing.html:107
-#: part/templates/part/part_pricing.html:122 part/templates/part/prices.html:35
-#: part/templates/part/prices.html:62 part/templates/part/prices.html:113
-#: part/templates/part/prices.html:130
+#: part/templates/part/part_pricing.html:99
+#: part/templates/part/part_pricing.html:114
msgid "Total Cost"
msgstr "Toplam Maliyet"
-#: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:43
-#: templates/js/translated/bom.js:1091
+#: part/templates/part/part_pricing.html:40
msgid "No supplier pricing available"
msgstr ""
-#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:52
-#: part/templates/part/prices.html:248
+#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:94
+#: part/templates/part/prices.html:262
msgid "BOM Pricing"
msgstr ""
-#: part/templates/part/part_pricing.html:66 part/templates/part/prices.html:72
+#: part/templates/part/part_pricing.html:66
msgid "Unit Purchase Price"
msgstr ""
-#: part/templates/part/part_pricing.html:72 part/templates/part/prices.html:79
+#: part/templates/part/part_pricing.html:72
msgid "Total Purchase Price"
msgstr ""
-#: part/templates/part/part_pricing.html:82 part/templates/part/prices.html:89
-msgid "Note: BOM pricing is incomplete for this part"
-msgstr ""
-
-#: part/templates/part/part_pricing.html:91 part/templates/part/prices.html:98
+#: part/templates/part/part_pricing.html:83
msgid "No BOM pricing available"
msgstr ""
-#: part/templates/part/part_pricing.html:100
-#: part/templates/part/prices.html:107
+#: part/templates/part/part_pricing.html:92
msgid "Internal Price"
msgstr ""
-#: part/templates/part/part_pricing.html:131
-#: part/templates/part/prices.html:139
+#: part/templates/part/part_pricing.html:123
msgid "No pricing information is available for this part."
msgstr ""
@@ -5573,7 +5794,8 @@ msgstr ""
#: report/templates/report/inventree_test_report_base.html:97
#: templates/InvenTree/settings/plugin.html:63
#: templates/InvenTree/settings/plugin_settings.html:38
-#: templates/js/translated/order.js:2001 templates/js/translated/stock.js:2478
+#: templates/js/translated/order.js:2035 templates/js/translated/pricing.js:537
+#: templates/js/translated/pricing.js:658 templates/js/translated/stock.js:2496
msgid "Date"
msgstr ""
@@ -5585,15 +5807,11 @@ msgstr ""
msgid "Variants"
msgstr ""
-#: part/templates/part/part_sidebar.html:27
-msgid "Used In"
-msgstr ""
-
-#: part/templates/part/part_sidebar.html:46
+#: part/templates/part/part_sidebar.html:44
msgid "Scheduling"
msgstr ""
-#: part/templates/part/part_sidebar.html:50
+#: part/templates/part/part_sidebar.html:48
msgid "Test Templates"
msgstr ""
@@ -5601,74 +5819,82 @@ msgstr ""
msgid "Select from existing images"
msgstr ""
-#: part/templates/part/prices.html:19
-msgid "Pricing ranges"
+#: part/templates/part/prices.html:11
+msgid "Pricing Overview"
msgstr ""
-#: part/templates/part/prices.html:25
-msgid "Show supplier cost"
+#: part/templates/part/prices.html:14
+msgid "Refresh Part Pricing"
msgstr ""
-#: part/templates/part/prices.html:26
-msgid "Show purchase price"
+#: part/templates/part/prices.html:25 stock/admin.py:106
+#: stock/templates/stock/item_base.html:440
+#: templates/js/translated/company.js:1039
+#: templates/js/translated/stock.js:1920
+msgid "Last Updated"
msgstr ""
-#: part/templates/part/prices.html:53
-msgid "Show BOM cost"
+#: part/templates/part/prices.html:34 part/templates/part/prices.html:126
+msgid "Price Category"
msgstr ""
-#: part/templates/part/prices.html:122
-msgid "Show sale cost"
+#: part/templates/part/prices.html:35 part/templates/part/prices.html:127
+msgid "Minimum"
msgstr ""
-#: part/templates/part/prices.html:123
-msgid "Show sale price"
+#: part/templates/part/prices.html:36 part/templates/part/prices.html:128
+msgid "Maximum"
msgstr ""
-#: part/templates/part/prices.html:145
-msgid "Calculation parameters"
+#: part/templates/part/prices.html:49 part/templates/part/prices.html:185
+msgid "Internal Pricing"
msgstr ""
-#: part/templates/part/prices.html:160 templates/js/translated/bom.js:1085
-msgid "Supplier Cost"
+#: part/templates/part/prices.html:64 part/templates/part/prices.html:217
+msgid "Purchase History"
msgstr ""
-#: part/templates/part/prices.html:161 part/templates/part/prices.html:182
-#: part/templates/part/prices.html:206 part/templates/part/prices.html:236
-#: part/templates/part/prices.html:262 part/templates/part/prices.html:291
+#: part/templates/part/prices.html:103 part/templates/part/prices.html:286
+msgid "Variant Pricing"
+msgstr ""
+
+#: part/templates/part/prices.html:111
+msgid "Overall Pricing"
+msgstr ""
+
+#: part/templates/part/prices.html:155 part/templates/part/prices.html:338
+msgid "Sale History"
+msgstr ""
+
+#: part/templates/part/prices.html:168
+msgid "Sale price data is not available for this part"
+msgstr ""
+
+#: part/templates/part/prices.html:175
+msgid "Price range data is not available for this part."
+msgstr ""
+
+#: part/templates/part/prices.html:186 part/templates/part/prices.html:218
+#: part/templates/part/prices.html:239 part/templates/part/prices.html:263
+#: part/templates/part/prices.html:287 part/templates/part/prices.html:310
+#: part/templates/part/prices.html:339
msgid "Jump to overview"
msgstr ""
-#: part/templates/part/prices.html:186
-msgid "Stock Pricing"
-msgstr ""
-
-#: part/templates/part/prices.html:195
-msgid "No stock pricing history is available for this part."
-msgstr ""
-
-#: part/templates/part/prices.html:205
-msgid "Internal Cost"
-msgstr ""
-
-#: part/templates/part/prices.html:220
+#: part/templates/part/prices.html:191
msgid "Add Internal Price Break"
msgstr ""
-#: part/templates/part/prices.html:235
-msgid "BOM Cost"
+#: part/templates/part/prices.html:309
+msgid "Sale Pricing"
msgstr ""
-#: part/templates/part/prices.html:261
-msgid "Sale Cost"
+#: part/templates/part/prices.html:315
+msgid "Add Sell Price Break"
msgstr ""
-#: part/templates/part/prices.html:302
-msgid "No sale pice history available for this part."
-msgstr ""
-
-#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:614
-#: templates/js/translated/part.js:1330 templates/js/translated/part.js:1332
+#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:628
+#: templates/js/translated/part.js:1351 templates/js/translated/part.js:1353
msgid "No Stock"
msgstr "Stok Yok"
@@ -5722,40 +5948,36 @@ msgstr "Yeni parça çeşidi oluştur"
msgid "Create a new variant of template '%(full_name)s'."
msgstr ""
-#: part/templatetags/inventree_extras.py:177
+#: part/templatetags/inventree_extras.py:210
msgid "Unknown database"
msgstr ""
-#: part/templatetags/inventree_extras.py:229
+#: part/templatetags/inventree_extras.py:262
#, python-brace-format
msgid "{title} v{version}"
msgstr ""
-#: part/views.py:114
+#: part/views.py:109
msgid "Match References"
msgstr ""
-#: part/views.py:415
-msgid "None"
-msgstr "Hiçbiri"
-
-#: part/views.py:477
+#: part/views.py:354
msgid "Part QR Code"
msgstr ""
-#: part/views.py:495
+#: part/views.py:372
msgid "Select Part Image"
msgstr ""
-#: part/views.py:521
+#: part/views.py:398
msgid "Updated part image"
msgstr ""
-#: part/views.py:524
+#: part/views.py:401
msgid "Part image not found"
msgstr ""
-#: part/views.py:613
+#: part/views.py:493
msgid "Part Pricing"
msgstr ""
@@ -6070,12 +6292,12 @@ msgid "Stock Item Test Report"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:79
-#: stock/models.py:650 stock/templates/stock/item_base.html:320
+#: stock/models.py:666 stock/templates/stock/item_base.html:320
#: templates/js/translated/build.js:472 templates/js/translated/build.js:624
#: templates/js/translated/build.js:1234 templates/js/translated/build.js:1735
#: templates/js/translated/model_renderers.js:118
-#: templates/js/translated/order.js:121 templates/js/translated/order.js:3592
-#: templates/js/translated/order.js:3679 templates/js/translated/stock.js:490
+#: templates/js/translated/order.js:121 templates/js/translated/order.js:3603
+#: templates/js/translated/order.js:3690 templates/js/translated/stock.js:509
msgid "Serial Number"
msgstr "Seri Numara"
@@ -6084,12 +6306,12 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:93
-#: stock/models.py:2085
+#: stock/models.py:2101
msgid "Test"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:94
-#: stock/models.py:2091
+#: stock/models.py:2107
msgid "Result"
msgstr ""
@@ -6107,383 +6329,435 @@ msgid "Installed Items"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:137
-#: templates/js/translated/stock.js:610 templates/js/translated/stock.js:780
-#: templates/js/translated/stock.js:2727
+#: stock/admin.py:87 templates/js/translated/stock.js:629
+#: templates/js/translated/stock.js:799 templates/js/translated/stock.js:2745
msgid "Serial"
msgstr "Seri No"
-#: stock/api.py:529
+#: stock/admin.py:23 stock/admin.py:90
+#: templates/js/translated/model_renderers.js:159
+msgid "Location ID"
+msgstr ""
+
+#: stock/admin.py:24 stock/admin.py:91
+msgid "Location Name"
+msgstr ""
+
+#: stock/admin.py:28 stock/templates/stock/location.html:123
+#: stock/templates/stock/location.html:129
+msgid "Location Path"
+msgstr ""
+
+#: stock/admin.py:83
+msgid "Stock Item ID"
+msgstr ""
+
+#: stock/admin.py:92 templates/js/translated/model_renderers.js:418
+msgid "Supplier Part ID"
+msgstr ""
+
+#: stock/admin.py:93
+msgid "Supplier ID"
+msgstr ""
+
+#: stock/admin.py:94
+msgid "Supplier Name"
+msgstr ""
+
+#: stock/admin.py:95
+msgid "Customer ID"
+msgstr ""
+
+#: stock/admin.py:96 stock/models.py:649
+#: stock/templates/stock/item_base.html:359
+msgid "Installed In"
+msgstr ""
+
+#: stock/admin.py:97 templates/js/translated/model_renderers.js:177
+msgid "Build ID"
+msgstr ""
+
+#: stock/admin.py:99
+msgid "Sales Order ID"
+msgstr ""
+
+#: stock/admin.py:100
+msgid "Purchase Order ID"
+msgstr ""
+
+#: stock/admin.py:107 templates/js/translated/stock.js:1890
+msgid "Stocktake"
+msgstr ""
+
+#: stock/admin.py:108 stock/models.py:724
+#: stock/templates/stock/item_base.html:427
+#: templates/js/translated/stock.js:1904
+msgid "Expiry Date"
+msgstr ""
+
+#: stock/api.py:539
msgid "Quantity is required"
msgstr ""
-#: stock/api.py:536
+#: stock/api.py:546
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:561
+#: stock/api.py:571
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/models.py:90 stock/models.py:746
+#: stock/models.py:106 stock/models.py:762
#: stock/templates/stock/item_base.html:250
msgid "Owner"
msgstr ""
-#: stock/models.py:91 stock/models.py:747
+#: stock/models.py:107 stock/models.py:763
msgid "Select Owner"
msgstr ""
-#: stock/models.py:508 stock/serializers.py:93
+#: stock/models.py:524 stock/serializers.py:97
msgid "Stock item cannot be created for virtual parts"
msgstr ""
-#: stock/models.py:525
+#: stock/models.py:541
#, python-brace-format
msgid "Part type ('{pf}') must be {pe}"
msgstr ""
-#: stock/models.py:535 stock/models.py:544
+#: stock/models.py:551 stock/models.py:560
msgid "Quantity must be 1 for item with a serial number"
msgstr "Seri numarası olan ögenin miktarı bir olmalı"
-#: stock/models.py:536
+#: stock/models.py:552
msgid "Serial number cannot be set if quantity greater than 1"
msgstr "Miktar birden büyük ise seri numarası ayarlanamaz"
-#: stock/models.py:558
+#: stock/models.py:574
msgid "Item cannot belong to itself"
msgstr ""
-#: stock/models.py:564
+#: stock/models.py:580
msgid "Item must have a build reference if is_building=True"
msgstr ""
-#: stock/models.py:578
+#: stock/models.py:594
msgid "Build reference does not point to the same part object"
msgstr ""
-#: stock/models.py:592
+#: stock/models.py:608
msgid "Parent Stock Item"
msgstr "Üst Stok Kalemi"
-#: stock/models.py:602
+#: stock/models.py:618
msgid "Base part"
msgstr ""
-#: stock/models.py:610
+#: stock/models.py:626
msgid "Select a matching supplier part for this stock item"
msgstr "Bu stok kalemi için tedarikçi parçası seçin"
-#: stock/models.py:617 stock/templates/stock/location.html:17
+#: stock/models.py:633 stock/templates/stock/location.html:17
#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
msgstr "Stok Konumu"
-#: stock/models.py:620
+#: stock/models.py:636
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:627
+#: stock/models.py:643
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:633 stock/templates/stock/item_base.html:359
-msgid "Installed In"
-msgstr ""
-
-#: stock/models.py:636
+#: stock/models.py:652
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:652
+#: stock/models.py:668
msgid "Serial number for this item"
msgstr "Bu öge için seri numarası"
-#: stock/models.py:666
+#: stock/models.py:682
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:671
+#: stock/models.py:687
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:680
+#: stock/models.py:696
msgid "Source Build"
msgstr ""
-#: stock/models.py:682
+#: stock/models.py:698
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:693
+#: stock/models.py:709
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:696
+#: stock/models.py:712
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:702
+#: stock/models.py:718
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:708 stock/templates/stock/item_base.html:427
-#: templates/js/translated/stock.js:1885
-msgid "Expiry Date"
-msgstr ""
-
-#: stock/models.py:709
+#: stock/models.py:725
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:722
+#: stock/models.py:738
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:722
+#: stock/models.py:738
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:734 stock/templates/stock/item.html:132
+#: stock/models.py:750 stock/templates/stock/item.html:132
msgid "Stock Item Notes"
msgstr ""
-#: stock/models.py:742
+#: stock/models.py:758
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:770
+#: stock/models.py:786
msgid "Converted to part"
msgstr ""
-#: stock/models.py:1244
+#: stock/models.py:1260
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1250
+#: stock/models.py:1266
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1256
+#: stock/models.py:1272
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr ""
-#: stock/models.py:1259
+#: stock/models.py:1275
msgid "Serial numbers must be a list of integers"
msgstr "Seri numaraları tam sayı listesi olmalı"
-#: stock/models.py:1262
+#: stock/models.py:1278
msgid "Quantity does not match serial numbers"
msgstr "Miktar seri numaları ile eşleşmiyor"
-#: stock/models.py:1269
+#: stock/models.py:1285
#, python-brace-format
msgid "Serial numbers already exist: {exists}"
msgstr "Seri numaraları zaten mevcut: {exists}"
-#: stock/models.py:1339
+#: stock/models.py:1355
msgid "Stock item has been assigned to a sales order"
msgstr ""
-#: stock/models.py:1342
+#: stock/models.py:1358
msgid "Stock item is installed in another item"
msgstr ""
-#: stock/models.py:1345
+#: stock/models.py:1361
msgid "Stock item contains other items"
msgstr ""
-#: stock/models.py:1348
+#: stock/models.py:1364
msgid "Stock item has been assigned to a customer"
msgstr ""
-#: stock/models.py:1351
+#: stock/models.py:1367
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:1354
+#: stock/models.py:1370
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1361 stock/serializers.py:963
+#: stock/models.py:1377 stock/serializers.py:962
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:1365
+#: stock/models.py:1381
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:1369
+#: stock/models.py:1385
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:1373
+#: stock/models.py:1389
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:1542
+#: stock/models.py:1558
msgid "StockItem cannot be moved as it is not in stock"
msgstr "Stok kalemi stokta olmadığı için taşınamaz"
-#: stock/models.py:2003
+#: stock/models.py:2019
msgid "Entry notes"
msgstr ""
-#: stock/models.py:2061
+#: stock/models.py:2077
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:2067
+#: stock/models.py:2083
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:2086
+#: stock/models.py:2102
msgid "Test name"
msgstr ""
-#: stock/models.py:2092
+#: stock/models.py:2108
msgid "Test result"
msgstr ""
-#: stock/models.py:2098
+#: stock/models.py:2114
msgid "Test output value"
msgstr ""
-#: stock/models.py:2105
+#: stock/models.py:2121
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2111
+#: stock/models.py:2127
msgid "Test notes"
msgstr ""
-#: stock/serializers.py:71
+#: stock/serializers.py:75
msgid "Serial number is too large"
msgstr ""
-#: stock/serializers.py:172
+#: stock/serializers.py:176
msgid "Purchase price of this stock item"
msgstr ""
-#: stock/serializers.py:292
+#: stock/serializers.py:286
msgid "Enter number of stock items to serialize"
msgstr ""
-#: stock/serializers.py:304
+#: stock/serializers.py:298
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({q})"
msgstr ""
-#: stock/serializers.py:310
+#: stock/serializers.py:304
msgid "Enter serial numbers for new items"
msgstr ""
-#: stock/serializers.py:321 stock/serializers.py:920 stock/serializers.py:1153
+#: stock/serializers.py:315 stock/serializers.py:919 stock/serializers.py:1152
msgid "Destination stock location"
msgstr ""
-#: stock/serializers.py:328
+#: stock/serializers.py:322
msgid "Optional note field"
msgstr ""
-#: stock/serializers.py:338
+#: stock/serializers.py:332
msgid "Serial numbers cannot be assigned to this part"
msgstr ""
-#: stock/serializers.py:359
+#: stock/serializers.py:353
msgid "Serial numbers already exist"
msgstr "Seri numaraları zaten mevcut"
-#: stock/serializers.py:399
+#: stock/serializers.py:393
msgid "Select stock item to install"
msgstr ""
-#: stock/serializers.py:412
+#: stock/serializers.py:406
msgid "Stock item is unavailable"
msgstr ""
-#: stock/serializers.py:419
+#: stock/serializers.py:413
msgid "Selected part is not in the Bill of Materials"
msgstr ""
-#: stock/serializers.py:456
+#: stock/serializers.py:450
msgid "Destination location for uninstalled item"
msgstr ""
-#: stock/serializers.py:461 stock/serializers.py:542
+#: stock/serializers.py:455 stock/serializers.py:536
msgid "Add transaction note (optional)"
msgstr "İşlem notu ekle (isteğe bağlı)"
-#: stock/serializers.py:495
+#: stock/serializers.py:489
msgid "Select part to convert stock item into"
msgstr ""
-#: stock/serializers.py:506
+#: stock/serializers.py:500
msgid "Selected part is not a valid option for conversion"
msgstr ""
-#: stock/serializers.py:537
+#: stock/serializers.py:531
msgid "Destination location for returned item"
msgstr ""
-#: stock/serializers.py:775
+#: stock/serializers.py:774
msgid "Part must be salable"
msgstr ""
-#: stock/serializers.py:779
+#: stock/serializers.py:778
msgid "Item is allocated to a sales order"
msgstr ""
-#: stock/serializers.py:783
+#: stock/serializers.py:782
msgid "Item is allocated to a build order"
msgstr ""
-#: stock/serializers.py:814
+#: stock/serializers.py:813
msgid "Customer to assign stock items"
msgstr ""
-#: stock/serializers.py:820
+#: stock/serializers.py:819
msgid "Selected company is not a customer"
msgstr ""
-#: stock/serializers.py:828
+#: stock/serializers.py:827
msgid "Stock assignment notes"
msgstr ""
-#: stock/serializers.py:838 stock/serializers.py:1069
+#: stock/serializers.py:837 stock/serializers.py:1068
msgid "A list of stock items must be provided"
msgstr ""
-#: stock/serializers.py:927
+#: stock/serializers.py:926
msgid "Stock merging notes"
msgstr ""
-#: stock/serializers.py:932
+#: stock/serializers.py:931
msgid "Allow mismatched suppliers"
msgstr ""
-#: stock/serializers.py:933
+#: stock/serializers.py:932
msgid "Allow stock items with different supplier parts to be merged"
msgstr ""
-#: stock/serializers.py:938
+#: stock/serializers.py:937
msgid "Allow mismatched status"
msgstr ""
-#: stock/serializers.py:939
+#: stock/serializers.py:938
msgid "Allow stock items with different status codes to be merged"
msgstr ""
-#: stock/serializers.py:949
+#: stock/serializers.py:948
msgid "At least two stock items must be provided"
msgstr ""
-#: stock/serializers.py:1031
+#: stock/serializers.py:1030
msgid "StockItem primary key value"
msgstr ""
-#: stock/serializers.py:1059
+#: stock/serializers.py:1058
msgid "Stock transaction notes"
msgstr ""
@@ -6520,7 +6794,7 @@ msgstr ""
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2871
+#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2889
msgid "Install Stock Item"
msgstr ""
@@ -6528,7 +6802,7 @@ msgstr ""
msgid "Delete all test results for this stock item"
msgstr ""
-#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1522
+#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1541
msgid "Add Test Result"
msgstr ""
@@ -6687,7 +6961,7 @@ msgid "This StockItem expired on %(item.expiry_date)s"
msgstr "Bu stok kaleminin süresi %(item.expiry_date)s tarihinde sona erdi"
#: stock/templates/stock/item_base.html:431
-#: templates/js/translated/table_filters.js:277
+#: templates/js/translated/table_filters.js:281
msgid "Expired"
msgstr ""
@@ -6697,16 +6971,10 @@ msgid "This StockItem expires on %(item.expiry_date)s"
msgstr "Bu stok kaleminin süresi %(item.expiry_date)s tarihinde sona erecek"
#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/table_filters.js:283
+#: templates/js/translated/table_filters.js:287
msgid "Stale"
msgstr ""
-#: stock/templates/stock/item_base.html:440
-#: templates/js/translated/company.js:1038
-#: templates/js/translated/stock.js:1901
-msgid "Last Updated"
-msgstr ""
-
#: stock/templates/stock/item_base.html:445
msgid "Last Stocktake"
msgstr ""
@@ -6783,11 +7051,6 @@ msgstr "Konumu düzenle"
msgid "Delete location"
msgstr "Konumu sil"
-#: stock/templates/stock/location.html:123
-#: stock/templates/stock/location.html:129
-msgid "Location Path"
-msgstr ""
-
#: stock/templates/stock/location.html:130
msgid "Top level stock location"
msgstr ""
@@ -6960,6 +7223,14 @@ msgstr ""
msgid "Overdue Sales Orders"
msgstr ""
+#: templates/InvenTree/index.html:312
+msgid "InvenTree News"
+msgstr ""
+
+#: templates/InvenTree/index.html:314
+msgid "Current News"
+msgstr ""
+
#: templates/InvenTree/notifications/history.html:9
msgid "Notification History"
msgstr ""
@@ -7026,30 +7297,6 @@ msgstr ""
msgid "Category Settings"
msgstr "Kategori Ayarları"
-#: templates/InvenTree/settings/currencies.html:8
-msgid "Currency Settings"
-msgstr ""
-
-#: templates/InvenTree/settings/currencies.html:19
-msgid "Base Currency"
-msgstr ""
-
-#: templates/InvenTree/settings/currencies.html:24
-msgid "Exchange Rates"
-msgstr ""
-
-#: templates/InvenTree/settings/currencies.html:38
-msgid "Last Update"
-msgstr ""
-
-#: templates/InvenTree/settings/currencies.html:44
-msgid "Never"
-msgstr ""
-
-#: templates/InvenTree/settings/currencies.html:49
-msgid "Update Now"
-msgstr ""
-
#: templates/InvenTree/settings/global.html:9
msgid "Server Settings"
msgstr ""
@@ -7090,15 +7337,15 @@ msgstr ""
msgid "Part Settings"
msgstr ""
-#: templates/InvenTree/settings/part.html:46
+#: templates/InvenTree/settings/part.html:40
msgid "Part Import"
msgstr ""
-#: templates/InvenTree/settings/part.html:50
+#: templates/InvenTree/settings/part.html:44
msgid "Import Part"
msgstr ""
-#: templates/InvenTree/settings/part.html:64
+#: templates/InvenTree/settings/part.html:58
msgid "Part Parameter Templates"
msgstr "Parça Parametre Şablonu"
@@ -7125,11 +7372,6 @@ msgstr ""
msgid "External plugins are not enabled for this InvenTree installation"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:62
-#: templates/InvenTree/settings/plugin_settings.html:33
-msgid "Author"
-msgstr ""
-
#: templates/InvenTree/settings/plugin.html:64
#: templates/InvenTree/settings/plugin_settings.html:43
msgid "Version"
@@ -7239,6 +7481,39 @@ msgstr ""
msgid "Purchase Order Settings"
msgstr ""
+#: templates/InvenTree/settings/pricing.html:7
+msgid "Pricing Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:24
+msgid "Currency Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:30
+msgid "Update Now"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:39
+#: templates/InvenTree/settings/pricing.html:43
+msgid "Last Update"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:43
+msgid "Never"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:53
+msgid "Base Currency"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:58
+msgid "Exchange Rates"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:60
+msgid "Rate"
+msgstr ""
+
#: templates/InvenTree/settings/report.html:8
#: templates/InvenTree/settings/user_reports.html:9
msgid "Report Settings"
@@ -7295,6 +7570,7 @@ msgid "No part parameter templates found"
msgstr "Parça parametre şablonu bulunamadı"
#: templates/InvenTree/settings/settings.html:338
+#: templates/js/translated/news.js:28
#: templates/js/translated/notification.js:36
msgid "ID"
msgstr ""
@@ -7357,10 +7633,6 @@ msgstr ""
msgid "Server Configuration"
msgstr ""
-#: templates/InvenTree/settings/sidebar.html:35
-msgid "Currencies"
-msgstr ""
-
#: templates/InvenTree/settings/sidebar.html:43
msgid "Categories"
msgstr ""
@@ -7380,7 +7652,7 @@ msgid "Change Password"
msgstr ""
#: templates/InvenTree/settings/user.html:23
-#: templates/js/translated/helpers.js:31 templates/notes_buttons.html:3
+#: templates/js/translated/helpers.js:33 templates/notes_buttons.html:3
#: templates/notes_buttons.html:4
msgid "Edit"
msgstr ""
@@ -7890,7 +8162,7 @@ msgid "The following parts are low on required stock"
msgstr ""
#: templates/email/build_order_required_stock.html:18
-#: templates/js/translated/bom.js:1566
+#: templates/js/translated/bom.js:1629
msgid "Required Quantity"
msgstr ""
@@ -7904,7 +8176,7 @@ msgid "Click on the following link to view this part"
msgstr ""
#: templates/email/low_stock_notification.html:19
-#: templates/js/translated/part.js:2566
+#: templates/js/translated/part.js:2423
msgid "Minimum Quantity"
msgstr ""
@@ -8057,7 +8329,7 @@ msgstr ""
msgid "Unlink"
msgstr ""
-#: templates/js/translated/barcode.js:500 templates/js/translated/stock.js:1054
+#: templates/js/translated/barcode.js:500 templates/js/translated/stock.js:1073
msgid "Remove stock item"
msgstr ""
@@ -8127,10 +8399,10 @@ msgstr ""
msgid "Row Data"
msgstr ""
-#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:646
+#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:659
#: templates/js/translated/modals.js:56 templates/js/translated/modals.js:601
#: templates/js/translated/modals.js:695 templates/js/translated/modals.js:1003
-#: templates/js/translated/order.js:1179 templates/modals.html:15
+#: templates/js/translated/order.js:1213 templates/modals.html:15
#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50
msgid "Close"
msgstr "Kapat"
@@ -8140,12 +8412,12 @@ msgid "Download BOM Template"
msgstr ""
#: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312
-#: templates/js/translated/order.js:960 templates/js/translated/tables.js:145
+#: templates/js/translated/order.js:994 templates/js/translated/tables.js:145
msgid "Format"
msgstr ""
#: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313
-#: templates/js/translated/order.js:961
+#: templates/js/translated/order.js:995
msgid "Select file format"
msgstr ""
@@ -8197,118 +8469,130 @@ msgstr ""
msgid "Include part supplier data in exported BOM"
msgstr "Dışa aktarılan malzeme listesine parça tedarikçisi verilerini dahil edin"
-#: templates/js/translated/bom.js:537
+#: templates/js/translated/bom.js:358
+msgid "Include Pricing Data"
+msgstr ""
+
+#: templates/js/translated/bom.js:359
+msgid "Include part pricing data in exported BOM"
+msgstr ""
+
+#: templates/js/translated/bom.js:550
msgid "Remove substitute part"
msgstr ""
-#: templates/js/translated/bom.js:591
+#: templates/js/translated/bom.js:604
msgid "Select and add a new substitute part using the input below"
msgstr ""
-#: templates/js/translated/bom.js:602
+#: templates/js/translated/bom.js:615
msgid "Are you sure you wish to remove this substitute part link?"
msgstr ""
-#: templates/js/translated/bom.js:608
+#: templates/js/translated/bom.js:621
msgid "Remove Substitute Part"
msgstr ""
-#: templates/js/translated/bom.js:647
+#: templates/js/translated/bom.js:660
msgid "Add Substitute"
msgstr ""
-#: templates/js/translated/bom.js:648
+#: templates/js/translated/bom.js:661
msgid "Edit BOM Item Substitutes"
msgstr ""
-#: templates/js/translated/bom.js:710
+#: templates/js/translated/bom.js:723
msgid "All selected BOM items will be deleted"
msgstr ""
-#: templates/js/translated/bom.js:726
+#: templates/js/translated/bom.js:739
msgid "Delete selected BOM items?"
msgstr ""
-#: templates/js/translated/bom.js:860
+#: templates/js/translated/bom.js:868
msgid "Load BOM for subassembly"
msgstr ""
-#: templates/js/translated/bom.js:870
+#: templates/js/translated/bom.js:878
msgid "Substitutes Available"
msgstr ""
-#: templates/js/translated/bom.js:874 templates/js/translated/build.js:1835
+#: templates/js/translated/bom.js:882 templates/js/translated/build.js:1835
msgid "Variant stock allowed"
msgstr ""
-#: templates/js/translated/bom.js:983 templates/js/translated/build.js:1907
-#: templates/js/translated/order.js:3927
-msgid "No Stock Available"
-msgstr ""
-
-#: templates/js/translated/bom.js:988 templates/js/translated/build.js:1911
-msgid "Includes variant and substitute stock"
-msgstr ""
-
-#: templates/js/translated/bom.js:990 templates/js/translated/build.js:1913
-#: templates/js/translated/part.js:761 templates/js/translated/part.js:1539
-msgid "Includes variant stock"
-msgstr ""
-
-#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1915
-msgid "Includes substitute stock"
-msgstr ""
-
-#: templates/js/translated/bom.js:1010
+#: templates/js/translated/bom.js:972
msgid "Substitutes"
msgstr ""
-#: templates/js/translated/bom.js:1061 templates/js/translated/bom.js:1195
+#: templates/js/translated/bom.js:1023 templates/js/translated/bom.js:1260
msgid "View BOM"
msgstr ""
-#: templates/js/translated/bom.js:1071
-msgid "Purchase Price Range"
+#: templates/js/translated/bom.js:1094
+msgid "BOM pricing is complete"
msgstr ""
-#: templates/js/translated/bom.js:1078
-msgid "Purchase Price Average"
+#: templates/js/translated/bom.js:1099
+msgid "BOM pricing is incomplete"
msgstr ""
-#: templates/js/translated/bom.js:1106 templates/js/translated/build.js:1898
+#: templates/js/translated/bom.js:1106
+msgid "No pricing available"
+msgstr ""
+
+#: templates/js/translated/bom.js:1137 templates/js/translated/build.js:1907
+#: templates/js/translated/order.js:3924
+msgid "No Stock Available"
+msgstr ""
+
+#: templates/js/translated/bom.js:1142 templates/js/translated/build.js:1911
+msgid "Includes variant and substitute stock"
+msgstr ""
+
+#: templates/js/translated/bom.js:1144 templates/js/translated/build.js:1913
+#: templates/js/translated/part.js:775 templates/js/translated/part.js:1550
+msgid "Includes variant stock"
+msgstr ""
+
+#: templates/js/translated/bom.js:1146 templates/js/translated/build.js:1915
+msgid "Includes substitute stock"
+msgstr ""
+
+#: templates/js/translated/bom.js:1171 templates/js/translated/build.js:1898
#: templates/js/translated/build.js:1985
msgid "Consumable item"
msgstr ""
-#: templates/js/translated/bom.js:1166
+#: templates/js/translated/bom.js:1231
msgid "Validate BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1168
+#: templates/js/translated/bom.js:1233
msgid "This line has been validated"
msgstr ""
-#: templates/js/translated/bom.js:1170
+#: templates/js/translated/bom.js:1235
msgid "Edit substitute parts"
msgstr ""
-#: templates/js/translated/bom.js:1172 templates/js/translated/bom.js:1369
+#: templates/js/translated/bom.js:1237 templates/js/translated/bom.js:1433
msgid "Edit BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1174
+#: templates/js/translated/bom.js:1239
msgid "Delete BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1280 templates/js/translated/build.js:1679
+#: templates/js/translated/bom.js:1344 templates/js/translated/build.js:1679
msgid "No BOM items found"
msgstr ""
-#: templates/js/translated/bom.js:1549 templates/js/translated/build.js:1818
+#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1818
msgid "Required Part"
msgstr "Gerekli Parça"
-#: templates/js/translated/bom.js:1575
+#: templates/js/translated/bom.js:1638
msgid "Inherited from parent BOM"
msgstr ""
@@ -8353,12 +8637,12 @@ msgid "Complete Build Order"
msgstr "Tamamlanmış Yapım İşi Emri"
#: templates/js/translated/build.js:311 templates/js/translated/stock.js:92
-#: templates/js/translated/stock.js:214
+#: templates/js/translated/stock.js:233
msgid "Next available serial number"
msgstr ""
#: templates/js/translated/build.js:313 templates/js/translated/stock.js:94
-#: templates/js/translated/stock.js:216
+#: templates/js/translated/stock.js:235
msgid "Latest serial number"
msgstr ""
@@ -8455,12 +8739,12 @@ msgid "No required tests for this build"
msgstr ""
#: templates/js/translated/build.js:1775 templates/js/translated/build.js:2765
-#: templates/js/translated/order.js:3627
+#: templates/js/translated/order.js:3638
msgid "Edit stock allocation"
msgstr "Stok tahsisini düzenle"
#: templates/js/translated/build.js:1777 templates/js/translated/build.js:2766
-#: templates/js/translated/order.js:3628
+#: templates/js/translated/order.js:3639
msgid "Delete stock allocation"
msgstr "Stok tahsisini sil"
@@ -8480,20 +8764,15 @@ msgstr ""
msgid "Quantity Per"
msgstr ""
-#: templates/js/translated/build.js:1901 templates/js/translated/order.js:3934
+#: templates/js/translated/build.js:1901 templates/js/translated/order.js:3931
msgid "Insufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3932
+#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3929
msgid "Sufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1937 templates/js/translated/build.js:2195
-#: templates/js/translated/build.js:2761 templates/js/translated/order.js:3946
-msgid "Allocated"
-msgstr ""
-
-#: templates/js/translated/build.js:1993 templates/js/translated/order.js:4026
+#: templates/js/translated/build.js:1993 templates/js/translated/order.js:4023
msgid "Build stock"
msgstr ""
@@ -8501,21 +8780,21 @@ msgstr ""
msgid "Order stock"
msgstr ""
-#: templates/js/translated/build.js:2000 templates/js/translated/order.js:4019
+#: templates/js/translated/build.js:2000 templates/js/translated/order.js:4016
msgid "Allocate stock"
msgstr ""
#: templates/js/translated/build.js:2039 templates/js/translated/label.js:172
-#: templates/js/translated/order.js:1007 templates/js/translated/order.js:3154
+#: templates/js/translated/order.js:1041 templates/js/translated/order.js:3165
#: templates/js/translated/report.js:225
msgid "Select Parts"
msgstr "Parçaları Seçin"
-#: templates/js/translated/build.js:2040 templates/js/translated/order.js:3155
+#: templates/js/translated/build.js:2040 templates/js/translated/order.js:3166
msgid "You must select at least one part to allocate"
msgstr ""
-#: templates/js/translated/build.js:2089 templates/js/translated/order.js:3103
+#: templates/js/translated/build.js:2089 templates/js/translated/order.js:3114
msgid "Specify stock allocation quantity"
msgstr ""
@@ -8527,7 +8806,7 @@ msgstr ""
msgid "All selected parts have been fully allocated"
msgstr ""
-#: templates/js/translated/build.js:2183 templates/js/translated/order.js:3169
+#: templates/js/translated/build.js:2183 templates/js/translated/order.js:3180
msgid "Select source location (leave blank to take from all locations)"
msgstr ""
@@ -8535,11 +8814,11 @@ msgstr ""
msgid "Allocate Stock Items to Build Order"
msgstr ""
-#: templates/js/translated/build.js:2222 templates/js/translated/order.js:3266
+#: templates/js/translated/build.js:2222 templates/js/translated/order.js:3277
msgid "No matching stock locations"
msgstr ""
-#: templates/js/translated/build.js:2294 templates/js/translated/order.js:3343
+#: templates/js/translated/build.js:2294 templates/js/translated/order.js:3354
msgid "No matching stock items"
msgstr ""
@@ -8571,9 +8850,9 @@ msgstr ""
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:2558 templates/js/translated/part.js:1423
-#: templates/js/translated/part.js:1957 templates/js/translated/stock.js:1686
-#: templates/js/translated/stock.js:2390
+#: templates/js/translated/build.js:2558 templates/js/translated/part.js:1444
+#: templates/js/translated/part.js:1981 templates/js/translated/stock.js:1705
+#: templates/js/translated/stock.js:2408
msgid "Select"
msgstr ""
@@ -8585,7 +8864,7 @@ msgstr ""
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2636 templates/js/translated/stock.js:2657
+#: templates/js/translated/build.js:2636 templates/js/translated/stock.js:2675
msgid "No user information"
msgstr ""
@@ -8593,118 +8872,144 @@ msgstr ""
msgid "No parts allocated for"
msgstr ""
-#: templates/js/translated/company.js:66
+#: templates/js/translated/company.js:67
msgid "Add Manufacturer"
msgstr ""
-#: templates/js/translated/company.js:79 templates/js/translated/company.js:181
+#: templates/js/translated/company.js:80 templates/js/translated/company.js:182
msgid "Add Manufacturer Part"
msgstr ""
-#: templates/js/translated/company.js:100
+#: templates/js/translated/company.js:101
msgid "Edit Manufacturer Part"
msgstr ""
-#: templates/js/translated/company.js:169 templates/js/translated/order.js:576
+#: templates/js/translated/company.js:170 templates/js/translated/order.js:576
msgid "Add Supplier"
msgstr ""
-#: templates/js/translated/company.js:197 templates/js/translated/order.js:828
+#: templates/js/translated/company.js:198 templates/js/translated/order.js:862
msgid "Add Supplier Part"
msgstr ""
-#: templates/js/translated/company.js:297
+#: templates/js/translated/company.js:298
msgid "All selected supplier parts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:313
+#: templates/js/translated/company.js:314
msgid "Delete Supplier Parts"
msgstr ""
-#: templates/js/translated/company.js:385
+#: templates/js/translated/company.js:386
msgid "Add new Company"
msgstr ""
-#: templates/js/translated/company.js:462
+#: templates/js/translated/company.js:463
msgid "Parts Supplied"
msgstr ""
-#: templates/js/translated/company.js:471
+#: templates/js/translated/company.js:472
msgid "Parts Manufactured"
msgstr ""
-#: templates/js/translated/company.js:486
+#: templates/js/translated/company.js:487
msgid "No company information found"
msgstr ""
-#: templates/js/translated/company.js:527
+#: templates/js/translated/company.js:528
msgid "All selected manufacturer parts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:542
+#: templates/js/translated/company.js:543
msgid "Delete Manufacturer Parts"
msgstr ""
-#: templates/js/translated/company.js:576
+#: templates/js/translated/company.js:577
msgid "All selected parameters will be deleted"
msgstr ""
-#: templates/js/translated/company.js:590
+#: templates/js/translated/company.js:591
msgid "Delete Parameters"
msgstr ""
-#: templates/js/translated/company.js:631
+#: templates/js/translated/company.js:632
msgid "No manufacturer parts found"
msgstr ""
-#: templates/js/translated/company.js:651
-#: templates/js/translated/company.js:912 templates/js/translated/part.js:636
-#: templates/js/translated/part.js:721
+#: templates/js/translated/company.js:652
+#: templates/js/translated/company.js:913 templates/js/translated/part.js:650
+#: templates/js/translated/part.js:735
msgid "Template part"
msgstr "Şablon Parça"
-#: templates/js/translated/company.js:655
-#: templates/js/translated/company.js:916 templates/js/translated/part.js:640
-#: templates/js/translated/part.js:725
+#: templates/js/translated/company.js:656
+#: templates/js/translated/company.js:917 templates/js/translated/part.js:654
+#: templates/js/translated/part.js:739
msgid "Assembled part"
msgstr ""
-#: templates/js/translated/company.js:783 templates/js/translated/part.js:828
+#: templates/js/translated/company.js:784 templates/js/translated/part.js:855
msgid "No parameters found"
msgstr ""
-#: templates/js/translated/company.js:820 templates/js/translated/part.js:870
+#: templates/js/translated/company.js:821 templates/js/translated/part.js:897
msgid "Edit parameter"
msgstr ""
-#: templates/js/translated/company.js:821 templates/js/translated/part.js:871
+#: templates/js/translated/company.js:822 templates/js/translated/part.js:898
msgid "Delete parameter"
msgstr ""
-#: templates/js/translated/company.js:840 templates/js/translated/part.js:888
+#: templates/js/translated/company.js:841 templates/js/translated/part.js:915
msgid "Edit Parameter"
msgstr ""
-#: templates/js/translated/company.js:851 templates/js/translated/part.js:900
+#: templates/js/translated/company.js:852 templates/js/translated/part.js:927
msgid "Delete Parameter"
msgstr ""
-#: templates/js/translated/company.js:891
+#: templates/js/translated/company.js:892
msgid "No supplier parts found"
msgstr ""
-#: templates/js/translated/company.js:1032
+#: templates/js/translated/company.js:1033
msgid "Availability"
msgstr ""
-#: templates/js/translated/company.js:1055
+#: templates/js/translated/company.js:1056
msgid "Edit supplier part"
msgstr "Tedarikçi parçasını düzenle"
-#: templates/js/translated/company.js:1056
+#: templates/js/translated/company.js:1057
msgid "Delete supplier part"
msgstr "Tedarikçi parçasını sil"
+#: templates/js/translated/company.js:1112
+#: templates/js/translated/pricing.js:423
+msgid "Delete Price Break"
+msgstr ""
+
+#: templates/js/translated/company.js:1128
+#: templates/js/translated/pricing.js:437
+msgid "Edit Price Break"
+msgstr ""
+
+#: templates/js/translated/company.js:1145
+msgid "No price break information found"
+msgstr ""
+
+#: templates/js/translated/company.js:1174
+msgid "Last updated"
+msgstr ""
+
+#: templates/js/translated/company.js:1180
+msgid "Edit price break"
+msgstr ""
+
+#: templates/js/translated/company.js:1181
+msgid "Delete price break"
+msgstr ""
+
#: templates/js/translated/filters.js:178
#: templates/js/translated/filters.js:441
msgid "true"
@@ -8785,27 +9090,27 @@ msgstr ""
msgid "Clear input"
msgstr ""
-#: templates/js/translated/forms.js:2638
+#: templates/js/translated/forms.js:2628
msgid "File Column"
msgstr ""
-#: templates/js/translated/forms.js:2638
+#: templates/js/translated/forms.js:2628
msgid "Field Name"
msgstr ""
-#: templates/js/translated/forms.js:2650
+#: templates/js/translated/forms.js:2640
msgid "Select Columns"
msgstr ""
-#: templates/js/translated/helpers.js:24
+#: templates/js/translated/helpers.js:26
msgid "YES"
msgstr ""
-#: templates/js/translated/helpers.js:26
+#: templates/js/translated/helpers.js:28
msgid "NO"
msgstr ""
-#: templates/js/translated/helpers.js:363
+#: templates/js/translated/helpers.js:434
msgid "Notes updated"
msgstr ""
@@ -8814,7 +9119,7 @@ msgid "Labels sent to printer"
msgstr ""
#: templates/js/translated/label.js:60 templates/js/translated/report.js:118
-#: templates/js/translated/stock.js:1078
+#: templates/js/translated/stock.js:1097
msgid "Select Stock Items"
msgstr ""
@@ -8934,14 +9239,6 @@ msgstr ""
msgid "Stock ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:159
-msgid "Location ID"
-msgstr ""
-
-#: templates/js/translated/model_renderers.js:177
-msgid "Build ID"
-msgstr ""
-
#: templates/js/translated/model_renderers.js:278
#: templates/js/translated/model_renderers.js:303
msgid "Order ID"
@@ -8952,16 +9249,12 @@ msgstr ""
msgid "Shipment ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:338
-msgid "Category ID"
-msgstr ""
-
#: templates/js/translated/model_renderers.js:381
msgid "Manufacturer Part ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:418
-msgid "Supplier Part ID"
+#: templates/js/translated/news.js:23
+msgid "No news found"
msgstr ""
#: templates/js/translated/notification.js:42
@@ -9104,659 +9397,688 @@ msgstr ""
msgid "Duplication Options"
msgstr ""
-#: templates/js/translated/order.js:957
+#: templates/js/translated/order.js:991
msgid "Export Order"
msgstr ""
-#: templates/js/translated/order.js:1008
+#: templates/js/translated/order.js:1042
msgid "At least one purchaseable part must be selected"
msgstr ""
-#: templates/js/translated/order.js:1033
+#: templates/js/translated/order.js:1067
msgid "Quantity to order"
msgstr ""
-#: templates/js/translated/order.js:1042
+#: templates/js/translated/order.js:1076
msgid "New supplier part"
msgstr ""
-#: templates/js/translated/order.js:1060
+#: templates/js/translated/order.js:1094
msgid "New purchase order"
msgstr ""
-#: templates/js/translated/order.js:1093
+#: templates/js/translated/order.js:1127
msgid "Add to purchase order"
msgstr ""
-#: templates/js/translated/order.js:1233
+#: templates/js/translated/order.js:1267
msgid "No matching supplier parts"
msgstr ""
-#: templates/js/translated/order.js:1252
+#: templates/js/translated/order.js:1286
msgid "No matching purchase orders"
msgstr ""
-#: templates/js/translated/order.js:1429
+#: templates/js/translated/order.js:1463
msgid "Select Line Items"
msgstr ""
-#: templates/js/translated/order.js:1430
+#: templates/js/translated/order.js:1464
msgid "At least one line item must be selected"
msgstr ""
-#: templates/js/translated/order.js:1450 templates/js/translated/order.js:1563
+#: templates/js/translated/order.js:1484 templates/js/translated/order.js:1597
msgid "Add batch code"
msgstr ""
-#: templates/js/translated/order.js:1456 templates/js/translated/order.js:1574
+#: templates/js/translated/order.js:1490 templates/js/translated/order.js:1608
msgid "Add serial numbers"
msgstr ""
-#: templates/js/translated/order.js:1471
+#: templates/js/translated/order.js:1505
msgid "Received Quantity"
msgstr ""
-#: templates/js/translated/order.js:1482
+#: templates/js/translated/order.js:1516
msgid "Quantity to receive"
msgstr ""
-#: templates/js/translated/order.js:1546 templates/js/translated/stock.js:2146
+#: templates/js/translated/order.js:1580 templates/js/translated/stock.js:2164
msgid "Stock Status"
msgstr ""
-#: templates/js/translated/order.js:1639
+#: templates/js/translated/order.js:1673
msgid "Order Code"
msgstr ""
-#: templates/js/translated/order.js:1640
+#: templates/js/translated/order.js:1674
msgid "Ordered"
msgstr ""
-#: templates/js/translated/order.js:1642
+#: templates/js/translated/order.js:1676
msgid "Quantity to Receive"
msgstr ""
-#: templates/js/translated/order.js:1661
+#: templates/js/translated/order.js:1695
msgid "Confirm receipt of items"
msgstr ""
-#: templates/js/translated/order.js:1662
+#: templates/js/translated/order.js:1696
msgid "Receive Purchase Order Items"
msgstr ""
-#: templates/js/translated/order.js:1940 templates/js/translated/part.js:941
+#: templates/js/translated/order.js:1974 templates/js/translated/part.js:968
msgid "No purchase orders found"
msgstr ""
-#: templates/js/translated/order.js:1967 templates/js/translated/order.js:2798
+#: templates/js/translated/order.js:2001 templates/js/translated/order.js:2809
msgid "Order is overdue"
msgstr ""
-#: templates/js/translated/order.js:2017 templates/js/translated/order.js:2863
-#: templates/js/translated/order.js:3004
+#: templates/js/translated/order.js:2051 templates/js/translated/order.js:2874
+#: templates/js/translated/order.js:3015
msgid "Items"
msgstr "Ürünler"
-#: templates/js/translated/order.js:2115 templates/js/translated/order.js:4078
+#: templates/js/translated/order.js:2154 templates/js/translated/order.js:4075
msgid "Duplicate Line Item"
msgstr ""
-#: templates/js/translated/order.js:2132 templates/js/translated/order.js:4100
+#: templates/js/translated/order.js:2171 templates/js/translated/order.js:4097
msgid "Edit Line Item"
msgstr ""
-#: templates/js/translated/order.js:2145 templates/js/translated/order.js:4111
+#: templates/js/translated/order.js:2184 templates/js/translated/order.js:4108
msgid "Delete Line Item"
msgstr ""
-#: templates/js/translated/order.js:2188
+#: templates/js/translated/order.js:2227
msgid "No line items found"
msgstr ""
-#: templates/js/translated/order.js:2215 templates/js/translated/order.js:3812
+#: templates/js/translated/order.js:2254 templates/js/translated/order.js:3827
msgid "Total"
msgstr ""
-#: templates/js/translated/order.js:2270 templates/js/translated/part.js:1043
-#: templates/js/translated/part.js:1095
+#: templates/js/translated/order.js:2309 templates/js/translated/part.js:1070
+#: templates/js/translated/part.js:1122
msgid "Total Quantity"
msgstr ""
-#: templates/js/translated/order.js:2301 templates/js/translated/order.js:2500
-#: templates/js/translated/order.js:3837 templates/js/translated/order.js:4342
-#: templates/js/translated/part.js:2199 templates/js/translated/part.js:2797
+#: templates/js/translated/order.js:2340 templates/js/translated/order.js:2527
+#: templates/js/translated/order.js:3852 templates/js/translated/order.js:4343
+#: templates/js/translated/pricing.js:260
+#: templates/js/translated/pricing.js:329
+#: templates/js/translated/pricing.js:545
msgid "Unit Price"
msgstr ""
-#: templates/js/translated/order.js:2316 templates/js/translated/order.js:2516
-#: templates/js/translated/order.js:3853 templates/js/translated/order.js:4358
+#: templates/js/translated/order.js:2350 templates/js/translated/order.js:2537
+#: templates/js/translated/order.js:3862 templates/js/translated/order.js:4353
msgid "Total Price"
msgstr ""
-#: templates/js/translated/order.js:2357 templates/js/translated/order.js:3895
-#: templates/js/translated/part.js:1079
+#: templates/js/translated/order.js:2380 templates/js/translated/order.js:3892
+#: templates/js/translated/part.js:1106
msgid "This line item is overdue"
msgstr ""
-#: templates/js/translated/order.js:2416 templates/js/translated/part.js:1130
+#: templates/js/translated/order.js:2439 templates/js/translated/part.js:1151
msgid "Receive line item"
msgstr ""
-#: templates/js/translated/order.js:2420 templates/js/translated/order.js:4032
+#: templates/js/translated/order.js:2443 templates/js/translated/order.js:4029
msgid "Duplicate line item"
msgstr ""
-#: templates/js/translated/order.js:2421 templates/js/translated/order.js:4033
+#: templates/js/translated/order.js:2444 templates/js/translated/order.js:4030
msgid "Edit line item"
msgstr ""
-#: templates/js/translated/order.js:2422 templates/js/translated/order.js:4037
+#: templates/js/translated/order.js:2445 templates/js/translated/order.js:4034
msgid "Delete line item"
msgstr ""
-#: templates/js/translated/order.js:2564 templates/js/translated/order.js:4406
+#: templates/js/translated/order.js:2574 templates/js/translated/order.js:4389
msgid "Duplicate line"
msgstr ""
-#: templates/js/translated/order.js:2565 templates/js/translated/order.js:4407
+#: templates/js/translated/order.js:2575 templates/js/translated/order.js:4390
msgid "Edit line"
msgstr ""
-#: templates/js/translated/order.js:2566 templates/js/translated/order.js:4408
+#: templates/js/translated/order.js:2576 templates/js/translated/order.js:4391
msgid "Delete line"
msgstr ""
-#: templates/js/translated/order.js:2595 templates/js/translated/order.js:4437
+#: templates/js/translated/order.js:2606 templates/js/translated/order.js:4420
msgid "Duplicate Line"
msgstr ""
-#: templates/js/translated/order.js:2616 templates/js/translated/order.js:4458
+#: templates/js/translated/order.js:2627 templates/js/translated/order.js:4441
msgid "Edit Line"
msgstr ""
-#: templates/js/translated/order.js:2627 templates/js/translated/order.js:4469
+#: templates/js/translated/order.js:2638 templates/js/translated/order.js:4452
msgid "Delete Line"
msgstr ""
-#: templates/js/translated/order.js:2638
+#: templates/js/translated/order.js:2649
msgid "No matching line"
msgstr ""
-#: templates/js/translated/order.js:2749
+#: templates/js/translated/order.js:2760
msgid "No sales orders found"
msgstr ""
-#: templates/js/translated/order.js:2812
+#: templates/js/translated/order.js:2823
msgid "Invalid Customer"
msgstr ""
-#: templates/js/translated/order.js:2910
+#: templates/js/translated/order.js:2921
msgid "Edit shipment"
msgstr ""
-#: templates/js/translated/order.js:2913
+#: templates/js/translated/order.js:2924
msgid "Complete shipment"
msgstr ""
-#: templates/js/translated/order.js:2918
+#: templates/js/translated/order.js:2929
msgid "Delete shipment"
msgstr ""
-#: templates/js/translated/order.js:2938
+#: templates/js/translated/order.js:2949
msgid "Edit Shipment"
msgstr ""
-#: templates/js/translated/order.js:2955
+#: templates/js/translated/order.js:2966
msgid "Delete Shipment"
msgstr ""
-#: templates/js/translated/order.js:2989
+#: templates/js/translated/order.js:3000
msgid "No matching shipments found"
msgstr ""
-#: templates/js/translated/order.js:2999
+#: templates/js/translated/order.js:3010
msgid "Shipment Reference"
msgstr ""
-#: templates/js/translated/order.js:3023
+#: templates/js/translated/order.js:3034
msgid "Not shipped"
msgstr ""
-#: templates/js/translated/order.js:3029
+#: templates/js/translated/order.js:3040
msgid "Tracking"
msgstr ""
-#: templates/js/translated/order.js:3033
+#: templates/js/translated/order.js:3044
msgid "Invoice"
msgstr ""
-#: templates/js/translated/order.js:3202
+#: templates/js/translated/order.js:3213
msgid "Add Shipment"
msgstr ""
-#: templates/js/translated/order.js:3253
+#: templates/js/translated/order.js:3264
msgid "Confirm stock allocation"
msgstr "Stok tahsisini onayla"
-#: templates/js/translated/order.js:3254
+#: templates/js/translated/order.js:3265
msgid "Allocate Stock Items to Sales Order"
msgstr ""
-#: templates/js/translated/order.js:3462
+#: templates/js/translated/order.js:3473
msgid "No sales order allocations found"
msgstr ""
-#: templates/js/translated/order.js:3541
+#: templates/js/translated/order.js:3552
msgid "Edit Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:3558
+#: templates/js/translated/order.js:3569
msgid "Confirm Delete Operation"
msgstr "Silme İşlemini Onayla"
-#: templates/js/translated/order.js:3559
+#: templates/js/translated/order.js:3570
msgid "Delete Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:3604 templates/js/translated/order.js:3693
-#: templates/js/translated/stock.js:1602
+#: templates/js/translated/order.js:3615 templates/js/translated/order.js:3704
+#: templates/js/translated/stock.js:1621
msgid "Shipped to customer"
msgstr ""
-#: templates/js/translated/order.js:3612 templates/js/translated/order.js:3702
+#: templates/js/translated/order.js:3623 templates/js/translated/order.js:3713
msgid "Stock location not specified"
msgstr ""
-#: templates/js/translated/order.js:4016
+#: templates/js/translated/order.js:4013
msgid "Allocate serial numbers"
msgstr "Seri numaralarını tahsis et"
-#: templates/js/translated/order.js:4022
+#: templates/js/translated/order.js:4019
msgid "Purchase stock"
msgstr ""
-#: templates/js/translated/order.js:4029 templates/js/translated/order.js:4227
+#: templates/js/translated/order.js:4026 templates/js/translated/order.js:4224
msgid "Calculate price"
msgstr ""
-#: templates/js/translated/order.js:4041
+#: templates/js/translated/order.js:4038
msgid "Cannot be deleted as items have been shipped"
msgstr ""
-#: templates/js/translated/order.js:4044
+#: templates/js/translated/order.js:4041
msgid "Cannot be deleted as items have been allocated"
msgstr ""
-#: templates/js/translated/order.js:4126
+#: templates/js/translated/order.js:4123
msgid "Allocate Serial Numbers"
msgstr "Seri Numaralarını Tahsis Et"
-#: templates/js/translated/order.js:4235
+#: templates/js/translated/order.js:4232
msgid "Update Unit Price"
msgstr ""
-#: templates/js/translated/order.js:4249
+#: templates/js/translated/order.js:4246
msgid "No matching line items"
msgstr ""
-#: templates/js/translated/order.js:4480
+#: templates/js/translated/order.js:4463
msgid "No matching lines"
msgstr ""
-#: templates/js/translated/part.js:56
+#: templates/js/translated/part.js:52
msgid "Part Attributes"
msgstr ""
-#: templates/js/translated/part.js:60
+#: templates/js/translated/part.js:56
msgid "Part Creation Options"
msgstr ""
-#: templates/js/translated/part.js:64
+#: templates/js/translated/part.js:60
msgid "Part Duplication Options"
msgstr ""
-#: templates/js/translated/part.js:68
+#: templates/js/translated/part.js:64
msgid "Supplier Options"
msgstr ""
-#: templates/js/translated/part.js:82
+#: templates/js/translated/part.js:78
msgid "Add Part Category"
msgstr ""
-#: templates/js/translated/part.js:166
+#: templates/js/translated/part.js:162
msgid "Create Initial Stock"
msgstr ""
-#: templates/js/translated/part.js:167
+#: templates/js/translated/part.js:163
msgid "Create an initial stock item for this part"
msgstr ""
-#: templates/js/translated/part.js:174
+#: templates/js/translated/part.js:170
msgid "Initial Stock Quantity"
msgstr ""
-#: templates/js/translated/part.js:175
+#: templates/js/translated/part.js:171
msgid "Specify initial stock quantity for this part"
msgstr ""
-#: templates/js/translated/part.js:182
+#: templates/js/translated/part.js:178
msgid "Select destination stock location"
msgstr ""
-#: templates/js/translated/part.js:200
+#: templates/js/translated/part.js:196
msgid "Copy Category Parameters"
msgstr ""
-#: templates/js/translated/part.js:201
+#: templates/js/translated/part.js:197
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: templates/js/translated/part.js:209
+#: templates/js/translated/part.js:205
msgid "Add Supplier Data"
msgstr ""
-#: templates/js/translated/part.js:210
+#: templates/js/translated/part.js:206
msgid "Create initial supplier data for this part"
msgstr ""
-#: templates/js/translated/part.js:266
+#: templates/js/translated/part.js:262
msgid "Copy Image"
msgstr ""
-#: templates/js/translated/part.js:267
+#: templates/js/translated/part.js:263
msgid "Copy image from original part"
msgstr ""
-#: templates/js/translated/part.js:275
+#: templates/js/translated/part.js:271
msgid "Copy bill of materials from original part"
msgstr ""
-#: templates/js/translated/part.js:282
+#: templates/js/translated/part.js:278
msgid "Copy Parameters"
msgstr ""
-#: templates/js/translated/part.js:283
+#: templates/js/translated/part.js:279
msgid "Copy parameter data from original part"
msgstr ""
-#: templates/js/translated/part.js:296
+#: templates/js/translated/part.js:292
msgid "Parent part category"
msgstr ""
-#: templates/js/translated/part.js:306 templates/js/translated/stock.js:118
+#: templates/js/translated/part.js:302 templates/js/translated/stock.js:118
msgid "Icon (optional) - Explore all available icons on"
msgstr ""
-#: templates/js/translated/part.js:322
+#: templates/js/translated/part.js:318
msgid "Edit Part Category"
msgstr ""
-#: templates/js/translated/part.js:335
+#: templates/js/translated/part.js:331
msgid "Are you sure you want to delete this part category?"
msgstr ""
-#: templates/js/translated/part.js:337
-msgid "Any child categories will be moved to the parent of this category"
+#: templates/js/translated/part.js:336
+msgid "Move to parent category"
msgstr ""
-#: templates/js/translated/part.js:338
-msgid "Any parts in this category will be moved to the parent of this category"
-msgstr ""
-
-#: templates/js/translated/part.js:343
+#: templates/js/translated/part.js:345
msgid "Delete Part Category"
msgstr ""
-#: templates/js/translated/part.js:369
+#: templates/js/translated/part.js:349
+msgid "Action for parts in this category"
+msgstr ""
+
+#: templates/js/translated/part.js:354
+msgid "Action for child categories"
+msgstr ""
+
+#: templates/js/translated/part.js:383
msgid "Edit Part"
msgstr ""
-#: templates/js/translated/part.js:371
+#: templates/js/translated/part.js:385
msgid "Part edited"
msgstr ""
-#: templates/js/translated/part.js:382
+#: templates/js/translated/part.js:396
msgid "Create Part Variant"
msgstr ""
-#: templates/js/translated/part.js:434
+#: templates/js/translated/part.js:448
msgid "Active Part"
msgstr ""
-#: templates/js/translated/part.js:435
+#: templates/js/translated/part.js:449
msgid "Part cannot be deleted as it is currently active"
msgstr ""
-#: templates/js/translated/part.js:449
+#: templates/js/translated/part.js:463
msgid "Deleting this part cannot be reversed"
msgstr ""
-#: templates/js/translated/part.js:451
+#: templates/js/translated/part.js:465
msgid "Any stock items for this part will be deleted"
msgstr ""
-#: templates/js/translated/part.js:452
+#: templates/js/translated/part.js:466
msgid "This part will be removed from any Bills of Material"
msgstr ""
-#: templates/js/translated/part.js:453
+#: templates/js/translated/part.js:467
msgid "All manufacturer and supplier information for this part will be deleted"
msgstr ""
-#: templates/js/translated/part.js:460
+#: templates/js/translated/part.js:474
msgid "Delete Part"
msgstr ""
-#: templates/js/translated/part.js:496
+#: templates/js/translated/part.js:510
msgid "You are subscribed to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:498
+#: templates/js/translated/part.js:512
msgid "You have subscribed to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:503
+#: templates/js/translated/part.js:517
msgid "Subscribe to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:505
+#: templates/js/translated/part.js:519
msgid "You have unsubscribed to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:522
+#: templates/js/translated/part.js:536
msgid "Validating the BOM will mark each line item as valid"
msgstr ""
-#: templates/js/translated/part.js:532
+#: templates/js/translated/part.js:546
msgid "Validate Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:535
+#: templates/js/translated/part.js:549
msgid "Validated Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:560
+#: templates/js/translated/part.js:574
msgid "Copy Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:584 templates/js/translated/part.js:1521
-#: templates/js/translated/table_filters.js:476
+#: templates/js/translated/part.js:598 templates/js/translated/part.js:1532
+#: templates/js/translated/table_filters.js:480
msgid "Low stock"
msgstr ""
-#: templates/js/translated/part.js:594
+#: templates/js/translated/part.js:608
msgid "No stock available"
msgstr ""
-#: templates/js/translated/part.js:628 templates/js/translated/part.js:713
+#: templates/js/translated/part.js:642 templates/js/translated/part.js:727
msgid "Trackable part"
msgstr ""
-#: templates/js/translated/part.js:632 templates/js/translated/part.js:717
+#: templates/js/translated/part.js:646 templates/js/translated/part.js:731
msgid "Virtual part"
msgstr ""
-#: templates/js/translated/part.js:644
+#: templates/js/translated/part.js:658
msgid "Subscribed part"
msgstr ""
-#: templates/js/translated/part.js:648
+#: templates/js/translated/part.js:662
msgid "Salable part"
msgstr ""
-#: templates/js/translated/part.js:776
+#: templates/js/translated/part.js:800
msgid "No variants found"
msgstr "Çeşit bulunamadı"
-#: templates/js/translated/part.js:1200
+#: templates/js/translated/part.js:1221
msgid "Delete part relationship"
msgstr ""
-#: templates/js/translated/part.js:1224
+#: templates/js/translated/part.js:1245
msgid "Delete Part Relationship"
msgstr ""
-#: templates/js/translated/part.js:1291 templates/js/translated/part.js:1609
+#: templates/js/translated/part.js:1312 templates/js/translated/part.js:1633
msgid "No parts found"
msgstr ""
-#: templates/js/translated/part.js:1488
+#: templates/js/translated/part.js:1499
msgid "No category"
msgstr "Katagori Yok"
-#: templates/js/translated/part.js:1519
+#: templates/js/translated/part.js:1530
msgid "No stock"
msgstr ""
-#: templates/js/translated/part.js:1543
+#: templates/js/translated/part.js:1554
msgid "Allocated to build orders"
msgstr ""
-#: templates/js/translated/part.js:1547
+#: templates/js/translated/part.js:1558
msgid "Allocated to sales orders"
msgstr ""
-#: templates/js/translated/part.js:1633 templates/js/translated/part.js:1876
-#: templates/js/translated/stock.js:2349
+#: templates/js/translated/part.js:1657 templates/js/translated/part.js:1900
+#: templates/js/translated/stock.js:2367
msgid "Display as list"
msgstr ""
-#: templates/js/translated/part.js:1649
+#: templates/js/translated/part.js:1673
msgid "Display as grid"
msgstr ""
-#: templates/js/translated/part.js:1715
+#: templates/js/translated/part.js:1739
msgid "Set the part category for the selected parts"
msgstr ""
-#: templates/js/translated/part.js:1720
+#: templates/js/translated/part.js:1744
msgid "Set Part Category"
msgstr ""
-#: templates/js/translated/part.js:1725
+#: templates/js/translated/part.js:1749
msgid "Select Part Category"
msgstr ""
-#: templates/js/translated/part.js:1738
+#: templates/js/translated/part.js:1762
msgid "Category is required"
msgstr ""
-#: templates/js/translated/part.js:1896 templates/js/translated/stock.js:2369
+#: templates/js/translated/part.js:1920 templates/js/translated/stock.js:2387
msgid "Display as tree"
msgstr ""
-#: templates/js/translated/part.js:1976
+#: templates/js/translated/part.js:2000
msgid "Load Subcategories"
msgstr ""
-#: templates/js/translated/part.js:1992
+#: templates/js/translated/part.js:2016
msgid "Subscribed category"
msgstr ""
-#: templates/js/translated/part.js:2056
+#: templates/js/translated/part.js:2080
msgid "No test templates matching query"
msgstr "Sorgu ile eşleşen test şablonu bulunamadı"
-#: templates/js/translated/part.js:2107 templates/js/translated/stock.js:1299
+#: templates/js/translated/part.js:2131 templates/js/translated/stock.js:1318
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:2108 templates/js/translated/stock.js:1300
-#: templates/js/translated/stock.js:1560
+#: templates/js/translated/part.js:2132 templates/js/translated/stock.js:1319
+#: templates/js/translated/stock.js:1579
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:2114
+#: templates/js/translated/part.js:2138
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:2136
+#: templates/js/translated/part.js:2160
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2150
+#: templates/js/translated/part.js:2174
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2175
-#, python-brace-format
-msgid "No ${human_name} information found"
-msgstr ""
-
-#: templates/js/translated/part.js:2232
-#, python-brace-format
-msgid "Edit ${human_name}"
-msgstr ""
-
-#: templates/js/translated/part.js:2233
-#, python-brace-format
-msgid "Delete ${human_name}"
-msgstr ""
-
-#: templates/js/translated/part.js:2398 templates/js/translated/part.js:2399
+#: templates/js/translated/part.js:2255 templates/js/translated/part.js:2256
msgid "No date specified"
msgstr ""
-#: templates/js/translated/part.js:2401
+#: templates/js/translated/part.js:2258
msgid "Specified date is in the past"
msgstr ""
-#: templates/js/translated/part.js:2407
+#: templates/js/translated/part.js:2264
msgid "Speculative"
msgstr ""
-#: templates/js/translated/part.js:2457
+#: templates/js/translated/part.js:2314
msgid "No scheduling information available for this part"
msgstr ""
-#: templates/js/translated/part.js:2463
+#: templates/js/translated/part.js:2320
msgid "Error fetching scheduling information for this part"
msgstr ""
-#: templates/js/translated/part.js:2559
+#: templates/js/translated/part.js:2416
msgid "Scheduled Stock Quantities"
msgstr ""
-#: templates/js/translated/part.js:2575
+#: templates/js/translated/part.js:2432
msgid "Maximum Quantity"
msgstr ""
-#: templates/js/translated/part.js:2620
+#: templates/js/translated/part.js:2477
msgid "Minimum Stock Level"
msgstr ""
-#: templates/js/translated/part.js:2721
-msgid "Single Price"
-msgstr ""
-
-#: templates/js/translated/part.js:2740
-msgid "Single Price Difference"
-msgstr ""
-
#: templates/js/translated/plugin.js:23
msgid "The Plugin was installed"
msgstr ""
+#: templates/js/translated/pricing.js:54
+msgid "No BOM data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:196
+msgid "No supplier pricing data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:305
+msgid "No price break data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:361
+#, python-brace-format
+msgid "Edit ${human_name}"
+msgstr ""
+
+#: templates/js/translated/pricing.js:362
+#, python-brace-format
+msgid "Delete ${human_name}"
+msgstr ""
+
+#: templates/js/translated/pricing.js:480
+msgid "No purchase history data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:502
+msgid "Purchase Price History"
+msgstr ""
+
+#: templates/js/translated/pricing.js:602
+msgid "No sales history data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:624
+msgid "Sale Price History"
+msgstr ""
+
+#: templates/js/translated/pricing.js:708
+msgid "No variant data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:748
+msgid "Variant Part"
+msgstr ""
+
#: templates/js/translated/report.js:67
msgid "items selected"
msgstr ""
@@ -9855,364 +10177,364 @@ msgstr ""
msgid "Are you sure you want to delete this stock location?"
msgstr "Bu stok konumunu silmek istediğinizden emin misiniz?"
-#: templates/js/translated/stock.js:175
-msgid "Any child locations will be moved to the parent of this location"
+#: templates/js/translated/stock.js:180
+msgid "Move to parent stock location"
msgstr ""
-#: templates/js/translated/stock.js:176
-msgid "Any stock items in this location will be moved to the parent of this location"
-msgstr ""
-
-#: templates/js/translated/stock.js:182
+#: templates/js/translated/stock.js:189
msgid "Delete Stock Location"
msgstr "Stok Konumunu Sil"
-#: templates/js/translated/stock.js:227
+#: templates/js/translated/stock.js:193
+msgid "Action for stock items in this stock location"
+msgstr ""
+
+#: templates/js/translated/stock.js:198
+msgid "Action for sub-locations"
+msgstr ""
+
+#: templates/js/translated/stock.js:246
msgid "This part cannot be serialized"
msgstr ""
-#: templates/js/translated/stock.js:266
+#: templates/js/translated/stock.js:285
msgid "Enter initial quantity for this stock item"
msgstr ""
-#: templates/js/translated/stock.js:272
+#: templates/js/translated/stock.js:291
msgid "Enter serial numbers for new stock (or leave blank)"
msgstr ""
-#: templates/js/translated/stock.js:337
+#: templates/js/translated/stock.js:356
msgid "Stock item duplicated"
msgstr ""
-#: templates/js/translated/stock.js:357
+#: templates/js/translated/stock.js:376
msgid "Duplicate Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:373
+#: templates/js/translated/stock.js:392
msgid "Are you sure you want to delete this stock item?"
msgstr ""
-#: templates/js/translated/stock.js:378
+#: templates/js/translated/stock.js:397
msgid "Delete Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:399
+#: templates/js/translated/stock.js:418
msgid "Edit Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:449
+#: templates/js/translated/stock.js:468
msgid "Created new stock item"
msgstr ""
-#: templates/js/translated/stock.js:462
+#: templates/js/translated/stock.js:481
msgid "Created multiple stock items"
msgstr ""
-#: templates/js/translated/stock.js:487
+#: templates/js/translated/stock.js:506
msgid "Find Serial Number"
msgstr ""
-#: templates/js/translated/stock.js:491 templates/js/translated/stock.js:492
+#: templates/js/translated/stock.js:510 templates/js/translated/stock.js:511
msgid "Enter serial number"
msgstr ""
-#: templates/js/translated/stock.js:508
+#: templates/js/translated/stock.js:527
msgid "Enter a serial number"
msgstr ""
-#: templates/js/translated/stock.js:528
+#: templates/js/translated/stock.js:547
msgid "No matching serial number"
msgstr ""
-#: templates/js/translated/stock.js:537
+#: templates/js/translated/stock.js:556
msgid "More than one matching result found"
msgstr ""
-#: templates/js/translated/stock.js:660
+#: templates/js/translated/stock.js:679
msgid "Confirm stock assignment"
msgstr ""
-#: templates/js/translated/stock.js:661
+#: templates/js/translated/stock.js:680
msgid "Assign Stock to Customer"
msgstr ""
-#: templates/js/translated/stock.js:738
+#: templates/js/translated/stock.js:757
msgid "Warning: Merge operation cannot be reversed"
msgstr ""
-#: templates/js/translated/stock.js:739
+#: templates/js/translated/stock.js:758
msgid "Some information will be lost when merging stock items"
msgstr ""
-#: templates/js/translated/stock.js:741
+#: templates/js/translated/stock.js:760
msgid "Stock transaction history will be deleted for merged items"
msgstr ""
-#: templates/js/translated/stock.js:742
+#: templates/js/translated/stock.js:761
msgid "Supplier part information will be deleted for merged items"
msgstr ""
-#: templates/js/translated/stock.js:828
+#: templates/js/translated/stock.js:847
msgid "Confirm stock item merge"
msgstr ""
-#: templates/js/translated/stock.js:829
+#: templates/js/translated/stock.js:848
msgid "Merge Stock Items"
msgstr ""
-#: templates/js/translated/stock.js:924
+#: templates/js/translated/stock.js:943
msgid "Transfer Stock"
msgstr ""
-#: templates/js/translated/stock.js:925
+#: templates/js/translated/stock.js:944
msgid "Move"
msgstr ""
-#: templates/js/translated/stock.js:931
+#: templates/js/translated/stock.js:950
msgid "Count Stock"
msgstr ""
-#: templates/js/translated/stock.js:932
+#: templates/js/translated/stock.js:951
msgid "Count"
msgstr ""
-#: templates/js/translated/stock.js:936
+#: templates/js/translated/stock.js:955
msgid "Remove Stock"
msgstr ""
-#: templates/js/translated/stock.js:937
+#: templates/js/translated/stock.js:956
msgid "Take"
msgstr ""
-#: templates/js/translated/stock.js:941
+#: templates/js/translated/stock.js:960
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:942 users/models.py:218
+#: templates/js/translated/stock.js:961 users/models.py:220
msgid "Add"
msgstr ""
-#: templates/js/translated/stock.js:946
+#: templates/js/translated/stock.js:965
msgid "Delete Stock"
msgstr ""
-#: templates/js/translated/stock.js:1039
+#: templates/js/translated/stock.js:1058
msgid "Quantity cannot be adjusted for serialized stock"
msgstr ""
-#: templates/js/translated/stock.js:1039
+#: templates/js/translated/stock.js:1058
msgid "Specify stock quantity"
msgstr ""
-#: templates/js/translated/stock.js:1079
+#: templates/js/translated/stock.js:1098
msgid "You must select at least one available stock item"
msgstr ""
-#: templates/js/translated/stock.js:1102
+#: templates/js/translated/stock.js:1121
msgid "Confirm stock adjustment"
msgstr "Stok ayarlamasını onayla"
-#: templates/js/translated/stock.js:1238
+#: templates/js/translated/stock.js:1257
msgid "PASS"
msgstr ""
-#: templates/js/translated/stock.js:1240
+#: templates/js/translated/stock.js:1259
msgid "FAIL"
msgstr ""
-#: templates/js/translated/stock.js:1245
+#: templates/js/translated/stock.js:1264
msgid "NO RESULT"
msgstr ""
-#: templates/js/translated/stock.js:1292
+#: templates/js/translated/stock.js:1311
msgid "Pass test"
msgstr ""
-#: templates/js/translated/stock.js:1295
+#: templates/js/translated/stock.js:1314
msgid "Add test result"
msgstr ""
-#: templates/js/translated/stock.js:1321
+#: templates/js/translated/stock.js:1340
msgid "No test results found"
msgstr ""
-#: templates/js/translated/stock.js:1378
+#: templates/js/translated/stock.js:1397
msgid "Test Date"
msgstr ""
-#: templates/js/translated/stock.js:1543
+#: templates/js/translated/stock.js:1562
msgid "Edit Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1565
+#: templates/js/translated/stock.js:1584
msgid "Delete Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1594
+#: templates/js/translated/stock.js:1613
msgid "In production"
msgstr ""
-#: templates/js/translated/stock.js:1598
+#: templates/js/translated/stock.js:1617
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:1606
+#: templates/js/translated/stock.js:1625
msgid "Assigned to Sales Order"
msgstr ""
-#: templates/js/translated/stock.js:1612
+#: templates/js/translated/stock.js:1631
msgid "No stock location set"
msgstr "Stok konumu ayarlanmadı"
-#: templates/js/translated/stock.js:1781
+#: templates/js/translated/stock.js:1800
msgid "Stock item is in production"
msgstr ""
-#: templates/js/translated/stock.js:1786
+#: templates/js/translated/stock.js:1805
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/translated/stock.js:1789
+#: templates/js/translated/stock.js:1808
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/translated/stock.js:1792
+#: templates/js/translated/stock.js:1811
msgid "Serialized stock item has been allocated"
msgstr ""
-#: templates/js/translated/stock.js:1794
+#: templates/js/translated/stock.js:1813
msgid "Stock item has been fully allocated"
msgstr ""
-#: templates/js/translated/stock.js:1796
+#: templates/js/translated/stock.js:1815
msgid "Stock item has been partially allocated"
msgstr ""
-#: templates/js/translated/stock.js:1799
+#: templates/js/translated/stock.js:1818
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:1803
+#: templates/js/translated/stock.js:1822
msgid "Stock item has expired"
msgstr ""
-#: templates/js/translated/stock.js:1805
+#: templates/js/translated/stock.js:1824
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/translated/stock.js:1812
+#: templates/js/translated/stock.js:1831
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/translated/stock.js:1814
+#: templates/js/translated/stock.js:1833
msgid "Stock item is lost"
msgstr ""
-#: templates/js/translated/stock.js:1816
+#: templates/js/translated/stock.js:1835
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/translated/stock.js:1820
-#: templates/js/translated/table_filters.js:204
+#: templates/js/translated/stock.js:1839
+#: templates/js/translated/table_filters.js:208
msgid "Depleted"
msgstr ""
-#: templates/js/translated/stock.js:1871
-msgid "Stocktake"
-msgstr ""
-
-#: templates/js/translated/stock.js:1950
+#: templates/js/translated/stock.js:1969
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/translated/stock.js:1988
+#: templates/js/translated/stock.js:2006
msgid "No stock items matching query"
msgstr ""
-#: templates/js/translated/stock.js:2161
+#: templates/js/translated/stock.js:2179
msgid "Set Stock Status"
msgstr ""
-#: templates/js/translated/stock.js:2175
+#: templates/js/translated/stock.js:2193
msgid "Select Status Code"
msgstr ""
-#: templates/js/translated/stock.js:2176
+#: templates/js/translated/stock.js:2194
msgid "Status code must be selected"
msgstr ""
-#: templates/js/translated/stock.js:2408
+#: templates/js/translated/stock.js:2426
msgid "Load Subloactions"
msgstr ""
-#: templates/js/translated/stock.js:2503
+#: templates/js/translated/stock.js:2521
msgid "Details"
msgstr "Detaylar"
-#: templates/js/translated/stock.js:2519
+#: templates/js/translated/stock.js:2537
msgid "Part information unavailable"
msgstr ""
-#: templates/js/translated/stock.js:2541
+#: templates/js/translated/stock.js:2559
msgid "Location no longer exists"
msgstr "Konum artık yok"
-#: templates/js/translated/stock.js:2560
+#: templates/js/translated/stock.js:2578
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2579
+#: templates/js/translated/stock.js:2597
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2597
+#: templates/js/translated/stock.js:2615
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2620
+#: templates/js/translated/stock.js:2638
msgid "Added"
msgstr ""
-#: templates/js/translated/stock.js:2628
+#: templates/js/translated/stock.js:2646
msgid "Removed"
msgstr ""
-#: templates/js/translated/stock.js:2704
+#: templates/js/translated/stock.js:2722
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:2755 templates/js/translated/stock.js:2791
+#: templates/js/translated/stock.js:2773 templates/js/translated/stock.js:2809
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2804
+#: templates/js/translated/stock.js:2822
msgid "Select stock item to uninstall"
msgstr ""
-#: templates/js/translated/stock.js:2825
+#: templates/js/translated/stock.js:2843
msgid "Install another stock item into this item"
msgstr ""
-#: templates/js/translated/stock.js:2826
+#: templates/js/translated/stock.js:2844
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: templates/js/translated/stock.js:2828
+#: templates/js/translated/stock.js:2846
msgid "The Stock Item links to a Part which is the BOM for this Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2829
+#: templates/js/translated/stock.js:2847
msgid "The Stock Item is currently available in stock"
msgstr ""
-#: templates/js/translated/stock.js:2830
+#: templates/js/translated/stock.js:2848
msgid "The Stock Item is not already installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:2831
+#: templates/js/translated/stock.js:2849
msgid "The Stock Item is tracked by either a batch code or serial number"
msgstr ""
-#: templates/js/translated/stock.js:2844
+#: templates/js/translated/stock.js:2862
msgid "Select part to install"
msgstr ""
@@ -10236,215 +10558,220 @@ msgstr ""
msgid "Allow Variant Stock"
msgstr "Çeşit Stokuna İzin Ver"
-#: templates/js/translated/table_filters.js:126
-#: templates/js/translated/table_filters.js:199
+#: templates/js/translated/table_filters.js:92
+#: templates/js/translated/table_filters.js:508
+msgid "Has Pricing"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:130
+#: templates/js/translated/table_filters.js:203
msgid "Include sublocations"
msgstr "Alt konumları dahil et"
-#: templates/js/translated/table_filters.js:127
+#: templates/js/translated/table_filters.js:131
msgid "Include locations"
msgstr "Konumları dahil et"
-#: templates/js/translated/table_filters.js:137
-#: templates/js/translated/table_filters.js:138
-#: templates/js/translated/table_filters.js:445
+#: templates/js/translated/table_filters.js:141
+#: templates/js/translated/table_filters.js:142
+#: templates/js/translated/table_filters.js:449
msgid "Include subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:142
-#: templates/js/translated/table_filters.js:488
+#: templates/js/translated/table_filters.js:146
+#: templates/js/translated/table_filters.js:492
msgid "Subscribed"
msgstr ""
-#: templates/js/translated/table_filters.js:152
-#: templates/js/translated/table_filters.js:234
+#: templates/js/translated/table_filters.js:156
+#: templates/js/translated/table_filters.js:238
msgid "Is Serialized"
msgstr "Seri Numaralı"
-#: templates/js/translated/table_filters.js:155
-#: templates/js/translated/table_filters.js:241
+#: templates/js/translated/table_filters.js:159
+#: templates/js/translated/table_filters.js:245
msgid "Serial number GTE"
msgstr "Seri numarası BvE"
-#: templates/js/translated/table_filters.js:156
-#: templates/js/translated/table_filters.js:242
+#: templates/js/translated/table_filters.js:160
+#: templates/js/translated/table_filters.js:246
msgid "Serial number greater than or equal to"
msgstr "Seri numarası büyük veya eşit"
-#: templates/js/translated/table_filters.js:159
-#: templates/js/translated/table_filters.js:245
+#: templates/js/translated/table_filters.js:163
+#: templates/js/translated/table_filters.js:249
msgid "Serial number LTE"
msgstr "Seri numarası KvE"
-#: templates/js/translated/table_filters.js:160
-#: templates/js/translated/table_filters.js:246
+#: templates/js/translated/table_filters.js:164
+#: templates/js/translated/table_filters.js:250
msgid "Serial number less than or equal to"
msgstr "Seri numarası küçük veya eşit"
-#: templates/js/translated/table_filters.js:163
-#: templates/js/translated/table_filters.js:164
-#: templates/js/translated/table_filters.js:237
-#: templates/js/translated/table_filters.js:238
+#: templates/js/translated/table_filters.js:167
+#: templates/js/translated/table_filters.js:168
+#: templates/js/translated/table_filters.js:241
+#: templates/js/translated/table_filters.js:242
msgid "Serial number"
msgstr "Seri numarası"
-#: templates/js/translated/table_filters.js:168
-#: templates/js/translated/table_filters.js:259
+#: templates/js/translated/table_filters.js:172
+#: templates/js/translated/table_filters.js:263
msgid "Batch code"
msgstr ""
-#: templates/js/translated/table_filters.js:179
-#: templates/js/translated/table_filters.js:417
+#: templates/js/translated/table_filters.js:183
+#: templates/js/translated/table_filters.js:421
msgid "Active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:180
+#: templates/js/translated/table_filters.js:184
msgid "Show stock for active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:185
+#: templates/js/translated/table_filters.js:189
msgid "Part is an assembly"
msgstr ""
-#: templates/js/translated/table_filters.js:189
+#: templates/js/translated/table_filters.js:193
msgid "Is allocated"
msgstr ""
-#: templates/js/translated/table_filters.js:190
+#: templates/js/translated/table_filters.js:194
msgid "Item has been allocated"
msgstr ""
-#: templates/js/translated/table_filters.js:195
+#: templates/js/translated/table_filters.js:199
msgid "Stock is available for use"
msgstr ""
-#: templates/js/translated/table_filters.js:200
+#: templates/js/translated/table_filters.js:204
msgid "Include stock in sublocations"
msgstr "Alt konumlardaki stoku dahil et"
-#: templates/js/translated/table_filters.js:205
+#: templates/js/translated/table_filters.js:209
msgid "Show stock items which are depleted"
msgstr ""
-#: templates/js/translated/table_filters.js:210
+#: templates/js/translated/table_filters.js:214
msgid "Show items which are in stock"
msgstr ""
-#: templates/js/translated/table_filters.js:214
+#: templates/js/translated/table_filters.js:218
msgid "In Production"
msgstr ""
-#: templates/js/translated/table_filters.js:215
+#: templates/js/translated/table_filters.js:219
msgid "Show items which are in production"
msgstr ""
-#: templates/js/translated/table_filters.js:219
+#: templates/js/translated/table_filters.js:223
msgid "Include Variants"
msgstr "Çeşitleri Dahil Et"
-#: templates/js/translated/table_filters.js:220
+#: templates/js/translated/table_filters.js:224
msgid "Include stock items for variant parts"
msgstr "Çeşit parçaların stok kalemlerini dahil et"
-#: templates/js/translated/table_filters.js:224
+#: templates/js/translated/table_filters.js:228
msgid "Installed"
msgstr ""
-#: templates/js/translated/table_filters.js:225
+#: templates/js/translated/table_filters.js:229
msgid "Show stock items which are installed in another item"
msgstr ""
-#: templates/js/translated/table_filters.js:230
+#: templates/js/translated/table_filters.js:234
msgid "Show items which have been assigned to a customer"
msgstr ""
-#: templates/js/translated/table_filters.js:250
-#: templates/js/translated/table_filters.js:251
+#: templates/js/translated/table_filters.js:254
+#: templates/js/translated/table_filters.js:255
msgid "Stock status"
msgstr ""
-#: templates/js/translated/table_filters.js:254
+#: templates/js/translated/table_filters.js:258
msgid "Has batch code"
msgstr ""
-#: templates/js/translated/table_filters.js:262
+#: templates/js/translated/table_filters.js:266
msgid "Tracked"
msgstr ""
-#: templates/js/translated/table_filters.js:263
+#: templates/js/translated/table_filters.js:267
msgid "Stock item is tracked by either batch code or serial number"
msgstr ""
-#: templates/js/translated/table_filters.js:268
+#: templates/js/translated/table_filters.js:272
msgid "Has purchase price"
msgstr ""
-#: templates/js/translated/table_filters.js:269
+#: templates/js/translated/table_filters.js:273
msgid "Show stock items which have a purchase price set"
msgstr ""
-#: templates/js/translated/table_filters.js:278
+#: templates/js/translated/table_filters.js:282
msgid "Show stock items which have expired"
msgstr ""
-#: templates/js/translated/table_filters.js:284
+#: templates/js/translated/table_filters.js:288
msgid "Show stock which is close to expiring"
msgstr ""
-#: templates/js/translated/table_filters.js:296
+#: templates/js/translated/table_filters.js:300
msgid "Test Passed"
msgstr ""
-#: templates/js/translated/table_filters.js:300
+#: templates/js/translated/table_filters.js:304
msgid "Include Installed Items"
msgstr ""
-#: templates/js/translated/table_filters.js:319
+#: templates/js/translated/table_filters.js:323
msgid "Build status"
msgstr ""
-#: templates/js/translated/table_filters.js:332
-#: templates/js/translated/table_filters.js:373
+#: templates/js/translated/table_filters.js:336
+#: templates/js/translated/table_filters.js:377
msgid "Assigned to me"
msgstr ""
-#: templates/js/translated/table_filters.js:349
-#: templates/js/translated/table_filters.js:360
-#: templates/js/translated/table_filters.js:390
+#: templates/js/translated/table_filters.js:353
+#: templates/js/translated/table_filters.js:364
+#: templates/js/translated/table_filters.js:394
msgid "Order status"
msgstr ""
-#: templates/js/translated/table_filters.js:365
-#: templates/js/translated/table_filters.js:382
-#: templates/js/translated/table_filters.js:395
+#: templates/js/translated/table_filters.js:369
+#: templates/js/translated/table_filters.js:386
+#: templates/js/translated/table_filters.js:399
msgid "Outstanding"
msgstr ""
-#: templates/js/translated/table_filters.js:446
+#: templates/js/translated/table_filters.js:450
msgid "Include parts in subcategories"
msgstr "Alt kategorilerdeki parçaları dahil et"
-#: templates/js/translated/table_filters.js:451
+#: templates/js/translated/table_filters.js:455
msgid "Show active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:459
+#: templates/js/translated/table_filters.js:463
msgid "Available stock"
msgstr ""
-#: templates/js/translated/table_filters.js:467
+#: templates/js/translated/table_filters.js:471
msgid "Has IPN"
msgstr "DPN Var"
-#: templates/js/translated/table_filters.js:468
+#: templates/js/translated/table_filters.js:472
msgid "Part has internal part number"
msgstr ""
-#: templates/js/translated/table_filters.js:472
+#: templates/js/translated/table_filters.js:476
msgid "In stock"
msgstr ""
-#: templates/js/translated/table_filters.js:480
+#: templates/js/translated/table_filters.js:484
msgid "Purchasable"
msgstr ""
@@ -10554,6 +10881,10 @@ msgstr ""
msgid "Show all notifications and history"
msgstr "Tüm bildirimleri ve içeriğini göster"
+#: templates/price_data.html:7
+msgid "No data"
+msgstr ""
+
#: templates/qr_code.html:11
msgid "QR data not provided"
msgstr "QR sağlanamadı"
@@ -10738,35 +11069,35 @@ msgstr "Yetkiler"
msgid "Important dates"
msgstr "Önemli tarihler"
-#: users/models.py:205
+#: users/models.py:207
msgid "Permission set"
msgstr "İzinleri ayarla"
-#: users/models.py:213
+#: users/models.py:215
msgid "Group"
msgstr "Grup"
-#: users/models.py:216
+#: users/models.py:218
msgid "View"
msgstr "Görünüm"
-#: users/models.py:216
+#: users/models.py:218
msgid "Permission to view items"
msgstr "Parçayı görüntüleme izni"
-#: users/models.py:218
+#: users/models.py:220
msgid "Permission to add items"
msgstr "Parça ekleme izni"
-#: users/models.py:220
+#: users/models.py:222
msgid "Change"
msgstr "Değiştir"
-#: users/models.py:220
+#: users/models.py:222
msgid "Permissions to edit items"
msgstr "Parçaları düzenleme izni"
-#: users/models.py:222
+#: users/models.py:224
msgid "Permission to delete items"
msgstr "Parçaları silme izni"
diff --git a/InvenTree/locale/vi/LC_MESSAGES/django.po b/InvenTree/locale/vi/LC_MESSAGES/django.po
index a778632bc3..744516202c 100644
--- a/InvenTree/locale/vi/LC_MESSAGES/django.po
+++ b/InvenTree/locale/vi/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-11-04 14:07+0000\n"
-"PO-Revision-Date: 2022-11-04 19:02\n"
+"POT-Creation-Date: 2022-11-14 04:59+0000\n"
+"PO-Revision-Date: 2022-11-14 14:50\n"
"Last-Translator: \n"
"Language-Team: Vietnamese\n"
"Language: vi_VN\n"
@@ -17,7 +17,7 @@ msgstr ""
"X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n"
"X-Crowdin-File-ID: 154\n"
-#: InvenTree/api.py:54
+#: InvenTree/api.py:61
msgid "API endpoint not found"
msgstr ""
@@ -25,27 +25,27 @@ msgstr ""
msgid "Error details can be found in the admin panel"
msgstr ""
-#: InvenTree/fields.py:120
+#: InvenTree/fields.py:129
msgid "Enter date"
msgstr ""
-#: InvenTree/fields.py:195 build/serializers.py:387
-#: build/templates/build/sidebar.html:21 company/models.py:525
-#: company/templates/company/sidebar.html:25 order/models.py:920
+#: InvenTree/fields.py:204 build/serializers.py:387
+#: build/templates/build/sidebar.html:21 company/models.py:529
+#: company/templates/company/sidebar.html:25 order/models.py:943
#: order/templates/order/po_sidebar.html:11
-#: order/templates/order/so_sidebar.html:17
-#: part/templates/part/part_sidebar.html:59
+#: order/templates/order/so_sidebar.html:17 part/admin.py:27
+#: part/templates/part/part_sidebar.html:57
#: report/templates/report/inventree_build_order_base.html:172
-#: stock/models.py:2002 stock/models.py:2110 stock/serializers.py:327
-#: stock/serializers.py:460 stock/serializers.py:541 stock/serializers.py:827
-#: stock/serializers.py:926 stock/serializers.py:1058
+#: stock/admin.py:103 stock/models.py:2018 stock/models.py:2126
+#: stock/serializers.py:321 stock/serializers.py:454 stock/serializers.py:535
+#: stock/serializers.py:826 stock/serializers.py:925 stock/serializers.py:1057
#: stock/templates/stock/stock_sidebar.html:25
-#: templates/js/translated/barcode.js:108 templates/js/translated/bom.js:1146
-#: templates/js/translated/company.js:1022
-#: templates/js/translated/order.js:2404 templates/js/translated/order.js:2552
-#: templates/js/translated/order.js:3048 templates/js/translated/order.js:3999
-#: templates/js/translated/order.js:4394 templates/js/translated/stock.js:1374
-#: templates/js/translated/stock.js:1982
+#: templates/js/translated/barcode.js:108 templates/js/translated/bom.js:1211
+#: templates/js/translated/company.js:1023
+#: templates/js/translated/order.js:2427 templates/js/translated/order.js:2561
+#: templates/js/translated/order.js:3059 templates/js/translated/order.js:3996
+#: templates/js/translated/order.js:4377 templates/js/translated/stock.js:1393
+#: templates/js/translated/stock.js:2000
msgid "Notes"
msgstr ""
@@ -122,43 +122,43 @@ msgstr ""
msgid "Supplied URL is not a valid image file"
msgstr ""
-#: InvenTree/helpers.py:602 order/models.py:325 order/models.py:477
+#: InvenTree/helpers.py:589 order/models.py:329 order/models.py:496
msgid "Invalid quantity provided"
msgstr ""
-#: InvenTree/helpers.py:610
+#: InvenTree/helpers.py:597
msgid "Empty serial number string"
msgstr ""
-#: InvenTree/helpers.py:640
+#: InvenTree/helpers.py:627
msgid "Duplicate serial"
msgstr ""
-#: InvenTree/helpers.py:673 InvenTree/helpers.py:708
+#: InvenTree/helpers.py:660 InvenTree/helpers.py:695
#, python-brace-format
msgid "Invalid group range: {g}"
msgstr ""
-#: InvenTree/helpers.py:702
+#: InvenTree/helpers.py:689
#, python-brace-format
msgid "Group range {g} exceeds allowed quantity ({q})"
msgstr ""
-#: InvenTree/helpers.py:726 InvenTree/helpers.py:733 InvenTree/helpers.py:748
+#: InvenTree/helpers.py:713 InvenTree/helpers.py:720 InvenTree/helpers.py:735
#, python-brace-format
msgid "Invalid group sequence: {g}"
msgstr ""
-#: InvenTree/helpers.py:758
+#: InvenTree/helpers.py:745
msgid "No serial numbers found"
msgstr ""
-#: InvenTree/helpers.py:761
+#: InvenTree/helpers.py:748
#, python-brace-format
msgid "Number of unique serial numbers ({s}) must match quantity ({q})"
msgstr ""
-#: InvenTree/helpers.py:960
+#: InvenTree/helpers.py:947
msgid "Remove HTML tags from this value"
msgstr ""
@@ -194,7 +194,7 @@ msgstr ""
msgid "Missing external link"
msgstr ""
-#: InvenTree/models.py:405 stock/models.py:2104
+#: InvenTree/models.py:405 stock/models.py:2120
#: templates/js/translated/attachment.js:103
#: templates/js/translated/attachment.js:241
msgid "Attachment"
@@ -204,18 +204,19 @@ msgstr ""
msgid "Select file to attach"
msgstr ""
-#: InvenTree/models.py:412 company/models.py:125 company/models.py:277
-#: company/models.py:512 order/models.py:84 order/models.py:1259
-#: part/models.py:816 part/templates/part/part_scheduling.html:11
+#: InvenTree/models.py:412 common/models.py:2313 company/models.py:129
+#: company/models.py:281 company/models.py:516 order/models.py:85
+#: order/models.py:1282 part/admin.py:25 part/models.py:835
+#: part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
-#: templates/js/translated/company.js:691
-#: templates/js/translated/company.js:1011
-#: templates/js/translated/order.js:3037 templates/js/translated/part.js:1569
+#: stock/admin.py:102 templates/js/translated/company.js:692
+#: templates/js/translated/company.js:1012
+#: templates/js/translated/order.js:3048 templates/js/translated/part.js:1593
msgid "Link"
msgstr ""
-#: InvenTree/models.py:413 build/models.py:290 part/models.py:817
-#: stock/models.py:660
+#: InvenTree/models.py:413 build/models.py:290 part/models.py:836
+#: stock/models.py:676
msgid "Link to external URL"
msgstr ""
@@ -228,12 +229,12 @@ msgstr "Bình luận"
msgid "File comment"
msgstr ""
-#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1744
-#: common/models.py:1745 common/models.py:1968 common/models.py:1969
-#: common/models.py:2231 common/models.py:2232 part/models.py:2254
-#: part/models.py:2274 plugin/models.py:264 plugin/models.py:265
+#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1756
+#: common/models.py:1757 common/models.py:1980 common/models.py:1981
+#: common/models.py:2243 common/models.py:2244 part/models.py:2867
+#: part/models.py:2887 plugin/models.py:264 plugin/models.py:265
#: report/templates/report/inventree_test_report_base.html:96
-#: templates/js/translated/stock.js:2651
+#: templates/js/translated/stock.js:2669
msgid "User"
msgstr "Người dùng"
@@ -270,44 +271,45 @@ msgstr ""
msgid "Invalid choice"
msgstr ""
-#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1954
-#: company/models.py:359 label/models.py:101 part/models.py:760
-#: part/models.py:2429 plugin/models.py:94 report/models.py:152
+#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1966
+#: company/models.py:363 label/models.py:101 part/models.py:779
+#: part/models.py:3042 plugin/models.py:94 report/models.py:152
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/plugin.html:60
#: templates/InvenTree/settings/plugin.html:104
#: templates/InvenTree/settings/plugin_settings.html:23
#: templates/InvenTree/settings/settings.html:344
-#: templates/js/translated/company.js:580
-#: templates/js/translated/company.js:793
+#: templates/js/translated/company.js:581
+#: templates/js/translated/company.js:794
#: templates/js/translated/notification.js:71
-#: templates/js/translated/part.js:686 templates/js/translated/part.js:838
-#: templates/js/translated/part.js:1964 templates/js/translated/stock.js:2396
+#: templates/js/translated/part.js:700 templates/js/translated/part.js:865
+#: templates/js/translated/part.js:1988 templates/js/translated/stock.js:2414
msgid "Name"
msgstr ""
#: InvenTree/models.py:564 build/models.py:163
-#: build/templates/build/detail.html:24 company/models.py:283
-#: company/models.py:518 company/templates/company/company_base.html:71
+#: build/templates/build/detail.html:24 company/models.py:287
+#: company/models.py:522 company/templates/company/company_base.html:71
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:108 label/models.py:108
-#: order/models.py:82 part/models.py:783 part/models.py:2438
-#: part/templates/part/category.html:75 part/templates/part/part_base.html:172
+#: order/models.py:83 part/admin.py:141 part/admin.py:222 part/models.py:802
+#: part/models.py:3051 part/templates/part/category.html:75
+#: part/templates/part/part_base.html:172
#: part/templates/part/part_scheduling.html:12 report/models.py:165
#: report/models.py:507 report/models.py:551
#: report/templates/report/inventree_build_order_base.html:117
-#: stock/templates/stock/location.html:117
+#: stock/admin.py:25 stock/templates/stock/location.html:117
#: templates/InvenTree/settings/plugin_settings.html:28
#: templates/InvenTree/settings/settings.html:355
-#: templates/js/translated/bom.js:579 templates/js/translated/bom.js:887
-#: templates/js/translated/build.js:2580 templates/js/translated/company.js:444
-#: templates/js/translated/company.js:702
-#: templates/js/translated/company.js:986 templates/js/translated/order.js:1988
-#: templates/js/translated/order.js:2220 templates/js/translated/order.js:2826
-#: templates/js/translated/part.js:745 templates/js/translated/part.js:1187
-#: templates/js/translated/part.js:1464 templates/js/translated/part.js:2000
-#: templates/js/translated/part.js:2075 templates/js/translated/stock.js:1748
-#: templates/js/translated/stock.js:2428 templates/js/translated/stock.js:2488
+#: templates/js/translated/bom.js:592 templates/js/translated/bom.js:895
+#: templates/js/translated/build.js:2580 templates/js/translated/company.js:445
+#: templates/js/translated/company.js:703
+#: templates/js/translated/company.js:987 templates/js/translated/order.js:2022
+#: templates/js/translated/order.js:2259 templates/js/translated/order.js:2837
+#: templates/js/translated/part.js:759 templates/js/translated/part.js:1208
+#: templates/js/translated/part.js:1475 templates/js/translated/part.js:2024
+#: templates/js/translated/part.js:2099 templates/js/translated/stock.js:1767
+#: templates/js/translated/stock.js:2446 templates/js/translated/stock.js:2506
msgid "Description"
msgstr "Mô tả"
@@ -320,7 +322,7 @@ msgid "parent"
msgstr ""
#: InvenTree/models.py:580 InvenTree/models.py:581
-#: templates/js/translated/part.js:2009 templates/js/translated/stock.js:2437
+#: templates/js/translated/part.js:2033 templates/js/translated/stock.js:2455
msgid "Path"
msgstr ""
@@ -332,7 +334,7 @@ msgstr ""
msgid "Third party barcode data"
msgstr ""
-#: InvenTree/models.py:688 order/serializers.py:486
+#: InvenTree/models.py:688 order/serializers.py:477
msgid "Barcode Hash"
msgstr ""
@@ -352,187 +354,187 @@ msgstr ""
msgid "An error has been logged by the server."
msgstr ""
-#: InvenTree/serializers.py:58 part/models.py:2774
+#: InvenTree/serializers.py:58 part/models.py:3387
msgid "Must be a valid number"
msgstr ""
-#: InvenTree/serializers.py:265
+#: InvenTree/serializers.py:266
msgid "Filename"
msgstr "Tên tập tin"
-#: InvenTree/serializers.py:300
+#: InvenTree/serializers.py:301
msgid "Invalid value"
msgstr ""
-#: InvenTree/serializers.py:322
+#: InvenTree/serializers.py:323
msgid "Data File"
msgstr ""
-#: InvenTree/serializers.py:323
+#: InvenTree/serializers.py:324
msgid "Select data file for upload"
msgstr ""
-#: InvenTree/serializers.py:344
+#: InvenTree/serializers.py:345
msgid "Unsupported file type"
msgstr ""
-#: InvenTree/serializers.py:350
+#: InvenTree/serializers.py:351
msgid "File is too large"
msgstr ""
-#: InvenTree/serializers.py:371
+#: InvenTree/serializers.py:372
msgid "No columns found in file"
msgstr ""
-#: InvenTree/serializers.py:374
+#: InvenTree/serializers.py:375
msgid "No data rows found in file"
msgstr ""
-#: InvenTree/serializers.py:497
+#: InvenTree/serializers.py:498
msgid "No data rows provided"
msgstr ""
-#: InvenTree/serializers.py:500
+#: InvenTree/serializers.py:501
msgid "No data columns supplied"
msgstr ""
-#: InvenTree/serializers.py:577
+#: InvenTree/serializers.py:578
#, python-brace-format
msgid "Missing required column: '{name}'"
msgstr ""
-#: InvenTree/serializers.py:586
+#: InvenTree/serializers.py:587
#, python-brace-format
msgid "Duplicate column: '{col}'"
msgstr ""
-#: InvenTree/serializers.py:605
+#: InvenTree/serializers.py:606
#: templates/InvenTree/settings/mixins/urls.html:14
msgid "URL"
msgstr ""
-#: InvenTree/serializers.py:606
+#: InvenTree/serializers.py:607
msgid "URL of remote image file"
msgstr ""
-#: InvenTree/serializers.py:620
+#: InvenTree/serializers.py:621
msgid "Downloading images from remote URL is not enabled"
msgstr ""
-#: InvenTree/settings.py:621
+#: InvenTree/settings.py:627
msgid "Czech"
msgstr ""
-#: InvenTree/settings.py:622
+#: InvenTree/settings.py:628
msgid "Danish"
msgstr ""
-#: InvenTree/settings.py:623
+#: InvenTree/settings.py:629
msgid "German"
msgstr ""
-#: InvenTree/settings.py:624
+#: InvenTree/settings.py:630
msgid "Greek"
msgstr ""
-#: InvenTree/settings.py:625
+#: InvenTree/settings.py:631
msgid "English"
msgstr ""
-#: InvenTree/settings.py:626
+#: InvenTree/settings.py:632
msgid "Spanish"
msgstr ""
-#: InvenTree/settings.py:627
+#: InvenTree/settings.py:633
msgid "Spanish (Mexican)"
msgstr ""
-#: InvenTree/settings.py:628
+#: InvenTree/settings.py:634
msgid "Farsi / Persian"
msgstr ""
-#: InvenTree/settings.py:629
+#: InvenTree/settings.py:635
msgid "French"
msgstr ""
-#: InvenTree/settings.py:630
+#: InvenTree/settings.py:636
msgid "Hebrew"
msgstr ""
-#: InvenTree/settings.py:631
+#: InvenTree/settings.py:637
msgid "Hungarian"
msgstr ""
-#: InvenTree/settings.py:632
+#: InvenTree/settings.py:638
msgid "Italian"
msgstr ""
-#: InvenTree/settings.py:633
+#: InvenTree/settings.py:639
msgid "Japanese"
msgstr ""
-#: InvenTree/settings.py:634
+#: InvenTree/settings.py:640
msgid "Korean"
msgstr ""
-#: InvenTree/settings.py:635
+#: InvenTree/settings.py:641
msgid "Dutch"
msgstr ""
-#: InvenTree/settings.py:636
+#: InvenTree/settings.py:642
msgid "Norwegian"
msgstr ""
-#: InvenTree/settings.py:637
+#: InvenTree/settings.py:643
msgid "Polish"
msgstr ""
-#: InvenTree/settings.py:638
+#: InvenTree/settings.py:644
msgid "Portuguese"
msgstr ""
-#: InvenTree/settings.py:639
+#: InvenTree/settings.py:645
msgid "Portuguese (Brazilian)"
msgstr ""
-#: InvenTree/settings.py:640
+#: InvenTree/settings.py:646
msgid "Russian"
msgstr ""
-#: InvenTree/settings.py:641
+#: InvenTree/settings.py:647
msgid "Swedish"
msgstr ""
-#: InvenTree/settings.py:642
+#: InvenTree/settings.py:648
msgid "Thai"
msgstr ""
-#: InvenTree/settings.py:643
+#: InvenTree/settings.py:649
msgid "Turkish"
msgstr ""
-#: InvenTree/settings.py:644
+#: InvenTree/settings.py:650
msgid "Vietnamese"
msgstr ""
-#: InvenTree/settings.py:645
+#: InvenTree/settings.py:651
msgid "Chinese"
msgstr ""
-#: InvenTree/status.py:99
+#: InvenTree/status.py:98
msgid "Background worker check failed"
msgstr ""
-#: InvenTree/status.py:103
+#: InvenTree/status.py:102
msgid "Email backend not configured"
msgstr ""
-#: InvenTree/status.py:106
+#: InvenTree/status.py:105
msgid "InvenTree system health checks failed"
msgstr ""
#: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140
-#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:342
+#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:346
msgid "Pending"
msgstr ""
@@ -561,8 +563,8 @@ msgstr ""
msgid "Returned"
msgstr ""
-#: InvenTree/status_codes.py:141 order/models.py:1142
-#: templates/js/translated/order.js:3625 templates/js/translated/order.js:3974
+#: InvenTree/status_codes.py:141 order/models.py:1165
+#: templates/js/translated/order.js:3636 templates/js/translated/order.js:3971
msgid "Shipped"
msgstr ""
@@ -646,7 +648,7 @@ msgstr ""
msgid "Split child item"
msgstr ""
-#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2086
+#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2104
msgid "Merged stock items"
msgstr ""
@@ -654,7 +656,7 @@ msgstr ""
msgid "Converted to variant"
msgstr ""
-#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:229
+#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:233
msgid "Sent to customer"
msgstr ""
@@ -746,7 +748,7 @@ msgstr "Tạo đơn hàng"
#: build/models.py:111 build/templates/build/build_base.html:13
#: build/templates/build/index.html:8 build/templates/build/index.html:12
-#: order/templates/order/sales_order_detail.html:120
+#: order/templates/order/sales_order_detail.html:125
#: order/templates/order/so_sidebar.html:13
#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221
#: templates/InvenTree/search.html:141
@@ -759,15 +761,15 @@ msgstr "Tạo đơn hàng"
msgid "Build Order Reference"
msgstr ""
-#: build/models.py:155 order/models.py:240 order/models.py:632
-#: order/models.py:918 part/models.py:2684
+#: build/models.py:155 order/models.py:241 order/models.py:651
+#: order/models.py:941 part/admin.py:224 part/models.py:3297
#: part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:92
-#: templates/js/translated/bom.js:716 templates/js/translated/bom.js:897
-#: templates/js/translated/build.js:1843 templates/js/translated/order.js:2251
-#: templates/js/translated/order.js:2481 templates/js/translated/order.js:3818
-#: templates/js/translated/order.js:4323
+#: templates/js/translated/bom.js:729 templates/js/translated/bom.js:905
+#: templates/js/translated/build.js:1843 templates/js/translated/order.js:2290
+#: templates/js/translated/order.js:2508 templates/js/translated/order.js:3833
+#: templates/js/translated/order.js:4324 templates/js/translated/pricing.js:119
msgid "Reference"
msgstr ""
@@ -785,39 +787,40 @@ msgid "BuildOrder to which this build is allocated"
msgstr ""
#: build/models.py:180 build/templates/build/build_base.html:80
-#: build/templates/build/detail.html:29 company/models.py:680
-#: order/models.py:1015 order/models.py:1126 order/models.py:1127
-#: part/models.py:343 part/models.py:2200 part/models.py:2215
-#: part/models.py:2234 part/models.py:2252 part/models.py:2351
-#: part/models.py:2472 part/models.py:2564 part/models.py:2649
-#: part/models.py:2943 part/serializers.py:828
+#: build/templates/build/detail.html:29 company/models.py:684
+#: order/models.py:1038 order/models.py:1149 order/models.py:1150
+#: part/models.py:362 part/models.py:2700 part/models.py:2813
+#: part/models.py:2828 part/models.py:2847 part/models.py:2865
+#: part/models.py:2964 part/models.py:3085 part/models.py:3177
+#: part/models.py:3262 part/models.py:3578 part/serializers.py:852
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
#: report/templates/report/inventree_build_order_base.html:109
#: report/templates/report/inventree_po_report.html:89
-#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:86
-#: stock/serializers.py:494 templates/InvenTree/search.html:82
+#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:90
+#: stock/serializers.py:488 templates/InvenTree/search.html:82
#: templates/email/build_order_completed.html:17
#: templates/email/build_order_required_stock.html:17
#: templates/email/low_stock_notification.html:16
#: templates/email/overdue_build_order.html:16
-#: templates/js/translated/barcode.js:479 templates/js/translated/bom.js:578
-#: templates/js/translated/bom.js:715 templates/js/translated/bom.js:841
+#: templates/js/translated/barcode.js:479 templates/js/translated/bom.js:591
+#: templates/js/translated/bom.js:728 templates/js/translated/bom.js:849
#: templates/js/translated/build.js:1214 templates/js/translated/build.js:1711
#: templates/js/translated/build.js:2194 templates/js/translated/build.js:2585
-#: templates/js/translated/company.js:301
-#: templates/js/translated/company.js:531
-#: templates/js/translated/company.js:643
-#: templates/js/translated/company.js:904 templates/js/translated/order.js:106
-#: templates/js/translated/order.js:1134 templates/js/translated/order.js:1638
-#: templates/js/translated/order.js:2205 templates/js/translated/order.js:3180
-#: templates/js/translated/order.js:3576 templates/js/translated/order.js:3802
-#: templates/js/translated/part.js:1172 templates/js/translated/part.js:1244
-#: templates/js/translated/part.js:1442 templates/js/translated/stock.js:586
-#: templates/js/translated/stock.js:751 templates/js/translated/stock.js:958
-#: templates/js/translated/stock.js:1700 templates/js/translated/stock.js:2514
-#: templates/js/translated/stock.js:2709 templates/js/translated/stock.js:2843
+#: templates/js/translated/company.js:302
+#: templates/js/translated/company.js:532
+#: templates/js/translated/company.js:644
+#: templates/js/translated/company.js:905 templates/js/translated/order.js:106
+#: templates/js/translated/order.js:1168 templates/js/translated/order.js:1672
+#: templates/js/translated/order.js:2244 templates/js/translated/order.js:3191
+#: templates/js/translated/order.js:3587 templates/js/translated/order.js:3817
+#: templates/js/translated/part.js:1193 templates/js/translated/part.js:1265
+#: templates/js/translated/part.js:1452 templates/js/translated/pricing.js:102
+#: templates/js/translated/stock.js:605 templates/js/translated/stock.js:770
+#: templates/js/translated/stock.js:977 templates/js/translated/stock.js:1719
+#: templates/js/translated/stock.js:2532 templates/js/translated/stock.js:2727
+#: templates/js/translated/stock.js:2861
msgid "Part"
msgstr "Nguyên liệu"
@@ -834,7 +837,7 @@ msgid "SalesOrder to which this build is allocated"
msgstr ""
#: build/models.py:202 build/serializers.py:822
-#: templates/js/translated/build.js:2182 templates/js/translated/order.js:3168
+#: templates/js/translated/build.js:2182 templates/js/translated/order.js:3179
msgid "Source Location"
msgstr ""
@@ -874,8 +877,8 @@ msgstr ""
msgid "Build status code"
msgstr ""
-#: build/models.py:245 build/serializers.py:224 order/serializers.py:464
-#: stock/models.py:664 templates/js/translated/order.js:1496
+#: build/models.py:245 build/serializers.py:224 order/serializers.py:455
+#: stock/models.py:680 templates/js/translated/order.js:1530
msgid "Batch Code"
msgstr ""
@@ -883,12 +886,12 @@ msgstr ""
msgid "Batch code for this build output"
msgstr ""
-#: build/models.py:252 order/models.py:86 part/models.py:952
-#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2839
+#: build/models.py:252 order/models.py:87 part/models.py:971
+#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2850
msgid "Creation Date"
msgstr ""
-#: build/models.py:256 order/models.py:662
+#: build/models.py:256 order/models.py:681
msgid "Target completion date"
msgstr ""
@@ -896,7 +899,7 @@ msgstr ""
msgid "Target date for build completion. Build will be overdue after this date."
msgstr ""
-#: build/models.py:260 order/models.py:291
+#: build/models.py:260 order/models.py:292
#: templates/js/translated/build.js:2662
msgid "Completion Date"
msgstr "Ngày hoàn thành"
@@ -914,11 +917,11 @@ msgid "User who issued this build order"
msgstr ""
#: build/models.py:283 build/templates/build/build_base.html:193
-#: build/templates/build/detail.html:115 order/models.py:100
+#: build/templates/build/detail.html:115 order/models.py:101
#: order/templates/order/order_base.html:185
-#: order/templates/order/sales_order_base.html:183 part/models.py:956
+#: order/templates/order/sales_order_base.html:183 part/models.py:975
#: report/templates/report/inventree_build_order_base.html:158
-#: templates/js/translated/build.js:2642 templates/js/translated/order.js:2022
+#: templates/js/translated/build.js:2642 templates/js/translated/order.js:2056
msgid "Responsible"
msgstr ""
@@ -929,7 +932,7 @@ msgstr ""
#: build/models.py:289 build/templates/build/detail.html:101
#: company/templates/company/manufacturer_part.html:107
#: company/templates/company/supplier_part.html:188
-#: part/templates/part/part_base.html:361 stock/models.py:658
+#: part/templates/part/part_base.html:376 stock/models.py:674
#: stock/templates/stock/item_base.html:203
msgid "External Link"
msgstr ""
@@ -968,11 +971,11 @@ msgstr ""
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr ""
-#: build/models.py:1191 order/models.py:1393
+#: build/models.py:1191 order/models.py:1416
msgid "Stock item is over-allocated"
msgstr ""
-#: build/models.py:1197 order/models.py:1396
+#: build/models.py:1197 order/models.py:1419
msgid "Allocation quantity must be greater than zero"
msgstr ""
@@ -994,18 +997,18 @@ msgstr ""
msgid "Build to allocate parts"
msgstr ""
-#: build/models.py:1346 build/serializers.py:663 order/serializers.py:1039
-#: order/serializers.py:1060 stock/serializers.py:398 stock/serializers.py:758
-#: stock/serializers.py:884 stock/templates/stock/item_base.html:10
+#: build/models.py:1346 build/serializers.py:663 order/serializers.py:1032
+#: order/serializers.py:1053 stock/serializers.py:392 stock/serializers.py:757
+#: stock/serializers.py:883 stock/templates/stock/item_base.html:10
#: stock/templates/stock/item_base.html:23
#: stock/templates/stock/item_base.html:197
#: templates/js/translated/build.js:790 templates/js/translated/build.js:795
#: templates/js/translated/build.js:2196 templates/js/translated/build.js:2747
-#: templates/js/translated/order.js:107 templates/js/translated/order.js:3181
-#: templates/js/translated/order.js:3483 templates/js/translated/order.js:3488
-#: templates/js/translated/order.js:3583 templates/js/translated/order.js:3675
-#: templates/js/translated/stock.js:587 templates/js/translated/stock.js:752
-#: templates/js/translated/stock.js:2587
+#: templates/js/translated/order.js:107 templates/js/translated/order.js:3192
+#: templates/js/translated/order.js:3494 templates/js/translated/order.js:3499
+#: templates/js/translated/order.js:3594 templates/js/translated/order.js:3686
+#: templates/js/translated/stock.js:606 templates/js/translated/stock.js:771
+#: templates/js/translated/stock.js:2605
msgid "Stock Item"
msgstr ""
@@ -1015,12 +1018,10 @@ msgstr ""
#: build/models.py:1359 build/serializers.py:192
#: build/templates/build/build_base.html:85
-#: build/templates/build/detail.html:34 common/models.py:1776
-#: company/templates/company/supplier_part.html:341 order/models.py:911
-#: order/models.py:1437 order/serializers.py:1213
-#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:40
-#: part/models.py:2665 part/templates/part/detail.html:938
-#: part/templates/part/detail.html:1024
+#: build/templates/build/detail.html:34 common/models.py:1788
+#: order/models.py:934 order/models.py:1460 order/serializers.py:1206
+#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:223
+#: part/forms.py:40 part/models.py:3278
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_build_order_base.html:113
@@ -1028,25 +1029,29 @@ msgstr ""
#: report/templates/report/inventree_so_report.html:91
#: report/templates/report/inventree_test_report_base.html:81
#: report/templates/report/inventree_test_report_base.html:139
-#: stock/serializers.py:291 stock/templates/stock/item_base.html:290
+#: stock/admin.py:86 stock/serializers.py:285
+#: stock/templates/stock/item_base.html:290
#: stock/templates/stock/item_base.html:298
#: templates/email/build_order_completed.html:18
-#: templates/js/translated/barcode.js:481 templates/js/translated/bom.js:717
-#: templates/js/translated/bom.js:905 templates/js/translated/build.js:474
+#: templates/js/translated/barcode.js:481 templates/js/translated/bom.js:730
+#: templates/js/translated/bom.js:913 templates/js/translated/build.js:474
#: templates/js/translated/build.js:626 templates/js/translated/build.js:817
#: templates/js/translated/build.js:1236 templates/js/translated/build.js:1737
#: templates/js/translated/build.js:2197
+#: templates/js/translated/company.js:1159
#: templates/js/translated/model_renderers.js:120
-#: templates/js/translated/order.js:123 templates/js/translated/order.js:1137
-#: templates/js/translated/order.js:2257 templates/js/translated/order.js:2487
-#: templates/js/translated/order.js:3182 templates/js/translated/order.js:3502
-#: templates/js/translated/order.js:3589 templates/js/translated/order.js:3681
-#: templates/js/translated/order.js:3824 templates/js/translated/order.js:4329
-#: templates/js/translated/part.js:1036 templates/js/translated/part.js:2220
-#: templates/js/translated/part.js:2689 templates/js/translated/part.js:2730
-#: templates/js/translated/part.js:2808 templates/js/translated/stock.js:458
-#: templates/js/translated/stock.js:612 templates/js/translated/stock.js:782
-#: templates/js/translated/stock.js:2636 templates/js/translated/stock.js:2721
+#: templates/js/translated/order.js:123 templates/js/translated/order.js:1171
+#: templates/js/translated/order.js:2296 templates/js/translated/order.js:2514
+#: templates/js/translated/order.js:3193 templates/js/translated/order.js:3513
+#: templates/js/translated/order.js:3600 templates/js/translated/order.js:3692
+#: templates/js/translated/order.js:3839 templates/js/translated/order.js:4330
+#: templates/js/translated/part.js:1063 templates/js/translated/part.js:2546
+#: templates/js/translated/pricing.js:114
+#: templates/js/translated/pricing.js:207
+#: templates/js/translated/pricing.js:255
+#: templates/js/translated/pricing.js:349 templates/js/translated/stock.js:477
+#: templates/js/translated/stock.js:631 templates/js/translated/stock.js:801
+#: templates/js/translated/stock.js:2654 templates/js/translated/stock.js:2739
msgid "Quantity"
msgstr ""
@@ -1087,10 +1092,10 @@ msgstr ""
msgid "Enter quantity for build output"
msgstr ""
-#: build/serializers.py:207 build/serializers.py:683 order/models.py:323
-#: order/serializers.py:304 order/serializers.py:459 part/serializers.py:558
-#: part/serializers.py:991 stock/models.py:518 stock/models.py:1253
-#: stock/serializers.py:300
+#: build/serializers.py:207 build/serializers.py:683 order/models.py:327
+#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:644
+#: part/serializers.py:1015 stock/models.py:534 stock/models.py:1269
+#: stock/serializers.py:294
msgid "Quantity must be greater than zero"
msgstr ""
@@ -1102,9 +1107,9 @@ msgstr ""
msgid "Integer quantity required, as the bill of materials contains trackable parts"
msgstr ""
-#: build/serializers.py:231 order/serializers.py:472 order/serializers.py:1217
-#: stock/serializers.py:309 templates/js/translated/order.js:1507
-#: templates/js/translated/stock.js:271 templates/js/translated/stock.js:459
+#: build/serializers.py:231 order/serializers.py:463 order/serializers.py:1210
+#: stock/serializers.py:303 templates/js/translated/order.js:1541
+#: templates/js/translated/stock.js:290 templates/js/translated/stock.js:478
msgid "Serial Numbers"
msgstr ""
@@ -1120,7 +1125,7 @@ msgstr ""
msgid "Automatically allocate required items with matching serial numbers"
msgstr ""
-#: build/serializers.py:281 stock/api.py:589
+#: build/serializers.py:281 stock/api.py:599
msgid "The following serial numbers already exist or are invalid"
msgstr ""
@@ -1128,18 +1133,18 @@ msgstr ""
msgid "A list of build outputs must be provided"
msgstr ""
-#: build/serializers.py:369 order/serializers.py:445 order/serializers.py:556
-#: stock/serializers.py:320 stock/serializers.py:455 stock/serializers.py:536
-#: stock/serializers.py:919 stock/serializers.py:1152
+#: build/serializers.py:369 order/serializers.py:436 order/serializers.py:547
+#: stock/serializers.py:314 stock/serializers.py:449 stock/serializers.py:530
+#: stock/serializers.py:918 stock/serializers.py:1151
#: stock/templates/stock/item_base.html:388
#: templates/js/translated/barcode.js:480
#: templates/js/translated/barcode.js:724 templates/js/translated/build.js:802
-#: templates/js/translated/build.js:1749 templates/js/translated/order.js:1534
-#: templates/js/translated/order.js:3495 templates/js/translated/order.js:3600
-#: templates/js/translated/order.js:3608 templates/js/translated/order.js:3689
-#: templates/js/translated/part.js:181 templates/js/translated/stock.js:588
-#: templates/js/translated/stock.js:753 templates/js/translated/stock.js:960
-#: templates/js/translated/stock.js:1856 templates/js/translated/stock.js:2528
+#: templates/js/translated/build.js:1749 templates/js/translated/order.js:1568
+#: templates/js/translated/order.js:3506 templates/js/translated/order.js:3611
+#: templates/js/translated/order.js:3619 templates/js/translated/order.js:3700
+#: templates/js/translated/part.js:177 templates/js/translated/stock.js:607
+#: templates/js/translated/stock.js:772 templates/js/translated/stock.js:979
+#: templates/js/translated/stock.js:1875 templates/js/translated/stock.js:2546
msgid "Location"
msgstr ""
@@ -1148,12 +1153,13 @@ msgid "Location for completed build outputs"
msgstr ""
#: build/serializers.py:376 build/templates/build/build_base.html:145
-#: build/templates/build/detail.html:62 order/models.py:651
-#: order/serializers.py:482 stock/templates/stock/item_base.html:421
+#: build/templates/build/detail.html:62 order/models.py:670
+#: order/serializers.py:473 stock/admin.py:89
+#: stock/templates/stock/item_base.html:421
#: templates/js/translated/barcode.js:214 templates/js/translated/build.js:2614
-#: templates/js/translated/order.js:1643 templates/js/translated/order.js:1992
-#: templates/js/translated/order.js:2831 templates/js/translated/stock.js:1831
-#: templates/js/translated/stock.js:2605 templates/js/translated/stock.js:2737
+#: templates/js/translated/order.js:1677 templates/js/translated/order.js:2026
+#: templates/js/translated/order.js:2842 templates/js/translated/stock.js:1850
+#: templates/js/translated/stock.js:2623 templates/js/translated/stock.js:2755
msgid "Status"
msgstr "Trạng thái"
@@ -1213,7 +1219,7 @@ msgstr ""
msgid "Required stock has not been fully allocated"
msgstr ""
-#: build/serializers.py:545 order/serializers.py:208 order/serializers.py:1107
+#: build/serializers.py:545 order/serializers.py:202 order/serializers.py:1100
msgid "Accept Incomplete"
msgstr ""
@@ -1229,8 +1235,8 @@ msgstr ""
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:595 build/serializers.py:640 part/models.py:2801
-#: part/models.py:2935
+#: build/serializers.py:595 build/serializers.py:640 part/models.py:3414
+#: part/models.py:3570
msgid "BOM Item"
msgstr ""
@@ -1246,11 +1252,11 @@ msgstr ""
msgid "bom_item.part must point to the same part as the build order"
msgstr ""
-#: build/serializers.py:669 stock/serializers.py:771
+#: build/serializers.py:669 stock/serializers.py:770
msgid "Item must be in stock"
msgstr ""
-#: build/serializers.py:727 order/serializers.py:1097
+#: build/serializers.py:727 order/serializers.py:1090
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr ""
@@ -1267,7 +1273,7 @@ msgstr ""
msgid "This stock item has already been allocated to this build output"
msgstr ""
-#: build/serializers.py:768 order/serializers.py:1381
+#: build/serializers.py:768 order/serializers.py:1374
msgid "Allocation items must be provided"
msgstr ""
@@ -1382,13 +1388,13 @@ msgid "Stock has not been fully allocated to this Build Order"
msgstr ""
#: build/templates/build/build_base.html:154
-#: build/templates/build/detail.html:131 order/models.py:924
+#: build/templates/build/detail.html:131 order/models.py:947
#: order/templates/order/order_base.html:171
#: order/templates/order/sales_order_base.html:164
#: report/templates/report/inventree_build_order_base.html:125
-#: templates/js/translated/build.js:2654 templates/js/translated/order.js:2009
-#: templates/js/translated/order.js:2351 templates/js/translated/order.js:2847
-#: templates/js/translated/order.js:3887 templates/js/translated/part.js:1051
+#: templates/js/translated/build.js:2654 templates/js/translated/order.js:2043
+#: templates/js/translated/order.js:2374 templates/js/translated/order.js:2858
+#: templates/js/translated/order.js:3884 templates/js/translated/part.js:1078
msgid "Target Date"
msgstr ""
@@ -1401,29 +1407,29 @@ msgstr ""
#: build/templates/build/build_base.html:204
#: order/templates/order/order_base.html:107
#: order/templates/order/sales_order_base.html:94
-#: templates/js/translated/table_filters.js:328
-#: templates/js/translated/table_filters.js:369
-#: templates/js/translated/table_filters.js:399
+#: templates/js/translated/table_filters.js:332
+#: templates/js/translated/table_filters.js:373
+#: templates/js/translated/table_filters.js:403
msgid "Overdue"
msgstr ""
#: build/templates/build/build_base.html:166
#: build/templates/build/detail.html:67 build/templates/build/detail.html:142
#: order/templates/order/sales_order_base.html:171
-#: templates/js/translated/table_filters.js:408
+#: templates/js/translated/table_filters.js:412
msgid "Completed"
msgstr "Đã hoàn thành"
#: build/templates/build/build_base.html:179
-#: build/templates/build/detail.html:94 order/models.py:1119
-#: order/models.py:1213 order/models.py:1344
+#: build/templates/build/detail.html:94 order/models.py:1142
+#: order/models.py:1236 order/models.py:1367
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
#: report/templates/report/inventree_build_order_base.html:135
#: report/templates/report/inventree_so_report.html:77
#: stock/templates/stock/item_base.html:368
#: templates/email/overdue_sales_order.html:15
-#: templates/js/translated/order.js:2793
+#: templates/js/translated/order.js:2804 templates/js/translated/pricing.js:637
msgid "Sales Order"
msgstr ""
@@ -1449,8 +1455,8 @@ msgstr ""
msgid "Stock can be taken from any available location."
msgstr ""
-#: build/templates/build/detail.html:49 order/models.py:1037
-#: templates/js/translated/order.js:1644 templates/js/translated/order.js:2393
+#: build/templates/build/detail.html:49 order/models.py:1060
+#: templates/js/translated/order.js:1678 templates/js/translated/order.js:2416
msgid "Destination"
msgstr ""
@@ -1462,14 +1468,14 @@ msgstr ""
msgid "Allocated Parts"
msgstr ""
-#: build/templates/build/detail.html:80
+#: build/templates/build/detail.html:80 stock/admin.py:88
#: stock/templates/stock/item_base.html:168
#: templates/js/translated/build.js:1240
#: templates/js/translated/model_renderers.js:124
-#: templates/js/translated/stock.js:1026 templates/js/translated/stock.js:1845
-#: templates/js/translated/stock.js:2744
-#: templates/js/translated/table_filters.js:167
-#: templates/js/translated/table_filters.js:258
+#: templates/js/translated/stock.js:1045 templates/js/translated/stock.js:1864
+#: templates/js/translated/stock.js:2762
+#: templates/js/translated/table_filters.js:171
+#: templates/js/translated/table_filters.js:262
msgid "Batch"
msgstr ""
@@ -1527,7 +1533,7 @@ msgstr ""
#: build/templates/build/detail.html:187
#: company/templates/company/detail.html:37
#: company/templates/company/detail.html:85
-#: part/templates/part/category.html:178 templates/js/translated/order.js:1177
+#: part/templates/part/category.html:178 templates/js/translated/order.js:1211
msgid "Order Parts"
msgstr ""
@@ -1597,10 +1603,10 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:151
#: company/templates/company/manufacturer_part_sidebar.html:9
#: order/templates/order/po_sidebar.html:9
-#: order/templates/order/purchase_order_detail.html:82
-#: order/templates/order/sales_order_detail.html:135
-#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:212
-#: part/templates/part/part_sidebar.html:57 stock/templates/stock/item.html:117
+#: order/templates/order/purchase_order_detail.html:86
+#: order/templates/order/sales_order_detail.html:140
+#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:210
+#: part/templates/part/part_sidebar.html:55 stock/templates/stock/item.html:117
#: stock/templates/stock/stock_sidebar.html:23
msgid "Attachments"
msgstr ""
@@ -1617,7 +1623,7 @@ msgstr ""
msgid "All untracked stock items have been allocated"
msgstr ""
-#: build/templates/build/index.html:18 part/templates/part/detail.html:318
+#: build/templates/build/index.html:18 part/templates/part/detail.html:316
msgid "New Build Order"
msgstr ""
@@ -1734,7 +1740,7 @@ msgstr ""
msgid "Show the `about` modal only to superusers"
msgstr ""
-#: common/models.py:833 company/models.py:94 company/models.py:95
+#: common/models.py:833 company/models.py:98 company/models.py:99
msgid "Company name"
msgstr ""
@@ -1902,9 +1908,9 @@ msgstr ""
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:1002 part/models.py:2474 report/models.py:158
-#: templates/js/translated/table_filters.js:38
-#: templates/js/translated/table_filters.js:492
+#: common/models.py:1002 part/admin.py:41 part/models.py:3087
+#: report/models.py:158 templates/js/translated/table_filters.js:38
+#: templates/js/translated/table_filters.js:496
msgid "Template"
msgstr ""
@@ -1912,9 +1918,10 @@ msgstr ""
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:1009 part/models.py:908 templates/js/translated/bom.js:1531
-#: templates/js/translated/table_filters.js:184
-#: templates/js/translated/table_filters.js:455
+#: common/models.py:1009 part/admin.py:37 part/admin.py:229 part/models.py:927
+#: templates/js/translated/bom.js:1594
+#: templates/js/translated/table_filters.js:188
+#: templates/js/translated/table_filters.js:459
msgid "Assembly"
msgstr ""
@@ -1922,8 +1929,8 @@ msgstr ""
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:1016 part/models.py:914
-#: templates/js/translated/table_filters.js:463
+#: common/models.py:1016 part/admin.py:38 part/models.py:933
+#: templates/js/translated/table_filters.js:467
msgid "Component"
msgstr ""
@@ -1931,7 +1938,7 @@ msgstr ""
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:1023 part/models.py:925
+#: common/models.py:1023 part/admin.py:39 part/models.py:944
msgid "Purchaseable"
msgstr ""
@@ -1939,8 +1946,8 @@ msgstr ""
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:1030 part/models.py:930
-#: templates/js/translated/table_filters.js:484
+#: common/models.py:1030 part/admin.py:40 part/models.py:949
+#: templates/js/translated/table_filters.js:488
msgid "Salable"
msgstr ""
@@ -1948,10 +1955,10 @@ msgstr ""
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:1037 part/models.py:920
+#: common/models.py:1037 part/admin.py:42 part/models.py:939
#: templates/js/translated/table_filters.js:46
-#: templates/js/translated/table_filters.js:116
-#: templates/js/translated/table_filters.js:496
+#: templates/js/translated/table_filters.js:120
+#: templates/js/translated/table_filters.js:500
msgid "Trackable"
msgstr ""
@@ -1959,10 +1966,10 @@ msgstr ""
msgid "Parts are trackable by default"
msgstr ""
-#: common/models.py:1044 part/models.py:940
+#: common/models.py:1044 part/admin.py:43 part/models.py:959
#: part/templates/part/part_base.html:156
#: templates/js/translated/table_filters.js:42
-#: templates/js/translated/table_filters.js:500
+#: templates/js/translated/table_filters.js:504
msgid "Virtual"
msgstr ""
@@ -1979,791 +1986,837 @@ msgid "Display the import wizard in some part views"
msgstr ""
#: common/models.py:1058
-msgid "Show Price in Forms"
-msgstr ""
-
-#: common/models.py:1059
-msgid "Display part price in some forms"
-msgstr ""
-
-#: common/models.py:1070
-msgid "Show Price in BOM"
-msgstr ""
-
-#: common/models.py:1071
-msgid "Include pricing information in BOM tables"
-msgstr ""
-
-#: common/models.py:1082
-msgid "Show Price History"
-msgstr ""
-
-#: common/models.py:1083
-msgid "Display historical pricing for Part"
-msgstr ""
-
-#: common/models.py:1089
msgid "Show related parts"
msgstr ""
-#: common/models.py:1090
+#: common/models.py:1059
msgid "Display related parts for a part"
msgstr ""
-#: common/models.py:1096
+#: common/models.py:1065
msgid "Create initial stock"
msgstr ""
-#: common/models.py:1097
+#: common/models.py:1066
msgid "Create initial stock on part creation"
msgstr ""
-#: common/models.py:1103
-msgid "Internal Prices"
-msgstr ""
-
-#: common/models.py:1104
-msgid "Enable internal prices for parts"
-msgstr ""
-
-#: common/models.py:1110
-msgid "Internal Price as BOM-Price"
-msgstr ""
-
-#: common/models.py:1111
-msgid "Use the internal price (if set) in BOM-price calculations"
-msgstr ""
-
-#: common/models.py:1117
+#: common/models.py:1072
msgid "Part Name Display Format"
msgstr ""
-#: common/models.py:1118
+#: common/models.py:1073
msgid "Format to display the part name"
msgstr ""
-#: common/models.py:1125
+#: common/models.py:1080
msgid "Part Category Default Icon"
msgstr ""
-#: common/models.py:1126
+#: common/models.py:1081
msgid "Part category default icon (empty means no icon)"
msgstr ""
-#: common/models.py:1131
-msgid "Enable label printing"
+#: common/models.py:1086
+msgid "Pricing Decimal Places"
msgstr ""
-#: common/models.py:1132
-msgid "Enable label printing from the web interface"
+#: common/models.py:1087
+msgid "Number of decimal places to display when rendering pricing data"
msgstr ""
-#: common/models.py:1138
-msgid "Label Image DPI"
+#: common/models.py:1097
+msgid "Pricing Rebuild Time"
msgstr ""
-#: common/models.py:1139
-msgid "DPI resolution when generating image files to supply to label printing plugins"
+#: common/models.py:1098
+msgid "Number of days before part pricing is automatically updated"
msgstr ""
-#: common/models.py:1148
-msgid "Enable Reports"
-msgstr ""
-
-#: common/models.py:1149
-msgid "Enable generation of reports"
-msgstr ""
-
-#: common/models.py:1155 templates/stats.html:25
-msgid "Debug Mode"
-msgstr ""
-
-#: common/models.py:1156
-msgid "Generate reports in debug mode (HTML output)"
-msgstr ""
-
-#: common/models.py:1162
-msgid "Page Size"
-msgstr ""
-
-#: common/models.py:1163
-msgid "Default page size for PDF reports"
-msgstr ""
-
-#: common/models.py:1173
-msgid "Enable Test Reports"
-msgstr ""
-
-#: common/models.py:1174
-msgid "Enable generation of test reports"
-msgstr ""
-
-#: common/models.py:1180
-msgid "Attach Test Reports"
-msgstr ""
-
-#: common/models.py:1181
-msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item"
-msgstr ""
-
-#: common/models.py:1187
-msgid "Globally Unique Serials"
-msgstr ""
-
-#: common/models.py:1188
-msgid "Serial numbers for stock items must be globally unique"
-msgstr ""
-
-#: common/models.py:1194
-msgid "Batch Code Template"
-msgstr ""
-
-#: common/models.py:1195
-msgid "Template for generating default batch codes for stock items"
-msgstr ""
-
-#: common/models.py:1200
-msgid "Stock Expiry"
-msgstr ""
-
-#: common/models.py:1201
-msgid "Enable stock expiry functionality"
-msgstr ""
-
-#: common/models.py:1207
-msgid "Sell Expired Stock"
-msgstr ""
-
-#: common/models.py:1208
-msgid "Allow sale of expired stock"
-msgstr ""
-
-#: common/models.py:1214
-msgid "Stock Stale Time"
-msgstr ""
-
-#: common/models.py:1215
-msgid "Number of days stock items are considered stale before expiring"
-msgstr ""
-
-#: common/models.py:1217
+#: common/models.py:1099 common/models.py:1208
msgid "days"
msgstr ""
-#: common/models.py:1222
+#: common/models.py:1108
+msgid "Internal Prices"
+msgstr ""
+
+#: common/models.py:1109
+msgid "Enable internal prices for parts"
+msgstr ""
+
+#: common/models.py:1115
+msgid "Internal Price Override"
+msgstr ""
+
+#: common/models.py:1116
+msgid "If available, internal prices override price range calculations"
+msgstr ""
+
+#: common/models.py:1122
+msgid "Enable label printing"
+msgstr ""
+
+#: common/models.py:1123
+msgid "Enable label printing from the web interface"
+msgstr ""
+
+#: common/models.py:1129
+msgid "Label Image DPI"
+msgstr ""
+
+#: common/models.py:1130
+msgid "DPI resolution when generating image files to supply to label printing plugins"
+msgstr ""
+
+#: common/models.py:1139
+msgid "Enable Reports"
+msgstr ""
+
+#: common/models.py:1140
+msgid "Enable generation of reports"
+msgstr ""
+
+#: common/models.py:1146 templates/stats.html:25
+msgid "Debug Mode"
+msgstr ""
+
+#: common/models.py:1147
+msgid "Generate reports in debug mode (HTML output)"
+msgstr ""
+
+#: common/models.py:1153
+msgid "Page Size"
+msgstr ""
+
+#: common/models.py:1154
+msgid "Default page size for PDF reports"
+msgstr ""
+
+#: common/models.py:1164
+msgid "Enable Test Reports"
+msgstr ""
+
+#: common/models.py:1165
+msgid "Enable generation of test reports"
+msgstr ""
+
+#: common/models.py:1171
+msgid "Attach Test Reports"
+msgstr ""
+
+#: common/models.py:1172
+msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item"
+msgstr ""
+
+#: common/models.py:1178
+msgid "Globally Unique Serials"
+msgstr ""
+
+#: common/models.py:1179
+msgid "Serial numbers for stock items must be globally unique"
+msgstr ""
+
+#: common/models.py:1185
+msgid "Batch Code Template"
+msgstr ""
+
+#: common/models.py:1186
+msgid "Template for generating default batch codes for stock items"
+msgstr ""
+
+#: common/models.py:1191
+msgid "Stock Expiry"
+msgstr ""
+
+#: common/models.py:1192
+msgid "Enable stock expiry functionality"
+msgstr ""
+
+#: common/models.py:1198
+msgid "Sell Expired Stock"
+msgstr ""
+
+#: common/models.py:1199
+msgid "Allow sale of expired stock"
+msgstr ""
+
+#: common/models.py:1205
+msgid "Stock Stale Time"
+msgstr ""
+
+#: common/models.py:1206
+msgid "Number of days stock items are considered stale before expiring"
+msgstr ""
+
+#: common/models.py:1213
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:1223
+#: common/models.py:1214
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:1229
+#: common/models.py:1220
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:1230
+#: common/models.py:1221
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:1236
+#: common/models.py:1227
msgid "Stock Location Default Icon"
msgstr ""
-#: common/models.py:1237
+#: common/models.py:1228
msgid "Stock location default icon (empty means no icon)"
msgstr ""
-#: common/models.py:1242
+#: common/models.py:1233
msgid "Build Order Reference Pattern"
msgstr ""
-#: common/models.py:1243
+#: common/models.py:1234
msgid "Required pattern for generating Build Order reference field"
msgstr ""
-#: common/models.py:1249
+#: common/models.py:1240
msgid "Sales Order Reference Pattern"
msgstr ""
-#: common/models.py:1250
+#: common/models.py:1241
msgid "Required pattern for generating Sales Order reference field"
msgstr ""
-#: common/models.py:1256
+#: common/models.py:1247
msgid "Sales Order Default Shipment"
msgstr ""
-#: common/models.py:1257
+#: common/models.py:1248
msgid "Enable creation of default shipment with sales orders"
msgstr ""
-#: common/models.py:1263
+#: common/models.py:1254
+msgid "Edit Completed Sales Orders"
+msgstr ""
+
+#: common/models.py:1255
+msgid "Allow editing of sales orders after they have been shipped or completed"
+msgstr ""
+
+#: common/models.py:1261
msgid "Purchase Order Reference Pattern"
msgstr ""
-#: common/models.py:1264
+#: common/models.py:1262
msgid "Required pattern for generating Purchase Order reference field"
msgstr ""
-#: common/models.py:1271
+#: common/models.py:1268
+msgid "Edit Completed Purchase Orders"
+msgstr ""
+
+#: common/models.py:1269
+msgid "Allow editing of purchase orders after they have been shipped or completed"
+msgstr ""
+
+#: common/models.py:1276
msgid "Enable password forgot"
msgstr ""
-#: common/models.py:1272
+#: common/models.py:1277
msgid "Enable password forgot function on the login pages"
msgstr ""
-#: common/models.py:1278
+#: common/models.py:1283
msgid "Enable registration"
msgstr ""
-#: common/models.py:1279
+#: common/models.py:1284
msgid "Enable self-registration for users on the login pages"
msgstr ""
-#: common/models.py:1285
+#: common/models.py:1290
msgid "Enable SSO"
msgstr ""
-#: common/models.py:1286
+#: common/models.py:1291
msgid "Enable SSO on the login pages"
msgstr ""
-#: common/models.py:1292
+#: common/models.py:1297
msgid "Email required"
msgstr ""
-#: common/models.py:1293
+#: common/models.py:1298
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/models.py:1299
+#: common/models.py:1304
msgid "Auto-fill SSO users"
msgstr ""
-#: common/models.py:1300
+#: common/models.py:1305
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/models.py:1306
+#: common/models.py:1311
msgid "Mail twice"
msgstr ""
-#: common/models.py:1307
+#: common/models.py:1312
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/models.py:1313
+#: common/models.py:1318
msgid "Password twice"
msgstr ""
-#: common/models.py:1314
+#: common/models.py:1319
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/models.py:1320
+#: common/models.py:1325
msgid "Group on signup"
msgstr ""
-#: common/models.py:1321
+#: common/models.py:1326
msgid "Group to which new users are assigned on registration"
msgstr ""
-#: common/models.py:1327
+#: common/models.py:1332
msgid "Enforce MFA"
msgstr ""
-#: common/models.py:1328
+#: common/models.py:1333
msgid "Users must use multifactor security."
msgstr ""
-#: common/models.py:1334
+#: common/models.py:1339
msgid "Check plugins on startup"
msgstr ""
-#: common/models.py:1335
+#: common/models.py:1340
msgid "Check that all plugins are installed on startup - enable in container environments"
msgstr ""
-#: common/models.py:1342
+#: common/models.py:1347
msgid "Check plugin signatures"
msgstr ""
-#: common/models.py:1343
+#: common/models.py:1348
msgid "Check and show signatures for plugins"
msgstr ""
-#: common/models.py:1350
+#: common/models.py:1355
msgid "Enable URL integration"
msgstr ""
-#: common/models.py:1351
+#: common/models.py:1356
msgid "Enable plugins to add URL routes"
msgstr ""
-#: common/models.py:1358
+#: common/models.py:1363
msgid "Enable navigation integration"
msgstr ""
-#: common/models.py:1359
+#: common/models.py:1364
msgid "Enable plugins to integrate into navigation"
msgstr ""
-#: common/models.py:1366
+#: common/models.py:1371
msgid "Enable app integration"
msgstr ""
-#: common/models.py:1367
+#: common/models.py:1372
msgid "Enable plugins to add apps"
msgstr ""
-#: common/models.py:1374
+#: common/models.py:1379
msgid "Enable schedule integration"
msgstr ""
-#: common/models.py:1375
+#: common/models.py:1380
msgid "Enable plugins to run scheduled tasks"
msgstr ""
-#: common/models.py:1382
+#: common/models.py:1387
msgid "Enable event integration"
msgstr ""
-#: common/models.py:1383
+#: common/models.py:1388
msgid "Enable plugins to respond to internal events"
msgstr ""
-#: common/models.py:1402 common/models.py:1737
+#: common/models.py:1407 common/models.py:1749
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:1424
+#: common/models.py:1429
msgid "Show subscribed parts"
msgstr ""
-#: common/models.py:1425
+#: common/models.py:1430
msgid "Show subscribed parts on the homepage"
msgstr ""
-#: common/models.py:1431
+#: common/models.py:1436
msgid "Show subscribed categories"
msgstr ""
-#: common/models.py:1432
+#: common/models.py:1437
msgid "Show subscribed part categories on the homepage"
msgstr ""
-#: common/models.py:1438
+#: common/models.py:1443
msgid "Show latest parts"
msgstr "Hiển thị nguyên liệu mới nhất"
-#: common/models.py:1439
+#: common/models.py:1444
msgid "Show latest parts on the homepage"
msgstr "Hiển thị nguyên liệu mới nhất trên trang chủ"
-#: common/models.py:1445
+#: common/models.py:1450
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:1446
+#: common/models.py:1451
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:1452
+#: common/models.py:1457
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:1453
+#: common/models.py:1458
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:1459
+#: common/models.py:1464
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:1460
+#: common/models.py:1465
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:1466
+#: common/models.py:1471
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:1467
+#: common/models.py:1472
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:1473
+#: common/models.py:1478
msgid "Show low stock"
msgstr ""
-#: common/models.py:1474
+#: common/models.py:1479
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:1480
+#: common/models.py:1485
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:1481
+#: common/models.py:1486
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:1487
+#: common/models.py:1492
msgid "Show needed stock"
msgstr ""
-#: common/models.py:1488
+#: common/models.py:1493
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:1494
+#: common/models.py:1499
msgid "Show expired stock"
msgstr ""
-#: common/models.py:1495
+#: common/models.py:1500
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:1501
+#: common/models.py:1506
msgid "Show stale stock"
msgstr ""
-#: common/models.py:1502
+#: common/models.py:1507
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:1508
+#: common/models.py:1513
msgid "Show pending builds"
msgstr ""
-#: common/models.py:1509
+#: common/models.py:1514
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:1515
+#: common/models.py:1520
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:1516
+#: common/models.py:1521
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:1522
+#: common/models.py:1527
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:1523
+#: common/models.py:1528
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:1529
+#: common/models.py:1534
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:1530
+#: common/models.py:1535
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:1536
+#: common/models.py:1541
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:1537
+#: common/models.py:1542
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:1543
+#: common/models.py:1548
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:1544
+#: common/models.py:1549
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:1550
+#: common/models.py:1555
+msgid "Show News"
+msgstr ""
+
+#: common/models.py:1556
+msgid "Show news on the homepage"
+msgstr ""
+
+#: common/models.py:1562
msgid "Inline label display"
msgstr ""
-#: common/models.py:1551
+#: common/models.py:1563
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1557
+#: common/models.py:1569
msgid "Inline report display"
msgstr ""
-#: common/models.py:1558
+#: common/models.py:1570
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1564
+#: common/models.py:1576
msgid "Search Parts"
msgstr ""
-#: common/models.py:1565
+#: common/models.py:1577
msgid "Display parts in search preview window"
msgstr ""
-#: common/models.py:1571
+#: common/models.py:1583
msgid "Seach Supplier Parts"
msgstr ""
-#: common/models.py:1572
+#: common/models.py:1584
msgid "Display supplier parts in search preview window"
msgstr ""
-#: common/models.py:1578
+#: common/models.py:1590
msgid "Search Manufacturer Parts"
msgstr ""
-#: common/models.py:1579
+#: common/models.py:1591
msgid "Display manufacturer parts in search preview window"
msgstr ""
-#: common/models.py:1585
+#: common/models.py:1597
msgid "Hide Inactive Parts"
msgstr ""
-#: common/models.py:1586
+#: common/models.py:1598
msgid "Excluded inactive parts from search preview window"
msgstr ""
-#: common/models.py:1592
+#: common/models.py:1604
msgid "Search Categories"
msgstr ""
-#: common/models.py:1593
+#: common/models.py:1605
msgid "Display part categories in search preview window"
msgstr ""
-#: common/models.py:1599
+#: common/models.py:1611
msgid "Search Stock"
msgstr ""
-#: common/models.py:1600
+#: common/models.py:1612
msgid "Display stock items in search preview window"
msgstr ""
-#: common/models.py:1606
+#: common/models.py:1618
msgid "Hide Unavailable Stock Items"
msgstr ""
-#: common/models.py:1607
+#: common/models.py:1619
msgid "Exclude stock items which are not available from the search preview window"
msgstr ""
-#: common/models.py:1613
+#: common/models.py:1625
msgid "Search Locations"
msgstr ""
-#: common/models.py:1614
+#: common/models.py:1626
msgid "Display stock locations in search preview window"
msgstr ""
-#: common/models.py:1620
+#: common/models.py:1632
msgid "Search Companies"
msgstr ""
-#: common/models.py:1621
+#: common/models.py:1633
msgid "Display companies in search preview window"
msgstr ""
-#: common/models.py:1627
+#: common/models.py:1639
msgid "Search Build Orders"
msgstr ""
-#: common/models.py:1628
+#: common/models.py:1640
msgid "Display build orders in search preview window"
msgstr ""
-#: common/models.py:1634
+#: common/models.py:1646
msgid "Search Purchase Orders"
msgstr ""
-#: common/models.py:1635
+#: common/models.py:1647
msgid "Display purchase orders in search preview window"
msgstr ""
-#: common/models.py:1641
+#: common/models.py:1653
msgid "Exclude Inactive Purchase Orders"
msgstr ""
-#: common/models.py:1642
+#: common/models.py:1654
msgid "Exclude inactive purchase orders from search preview window"
msgstr ""
-#: common/models.py:1648
+#: common/models.py:1660
msgid "Search Sales Orders"
msgstr ""
-#: common/models.py:1649
+#: common/models.py:1661
msgid "Display sales orders in search preview window"
msgstr ""
-#: common/models.py:1655
+#: common/models.py:1667
msgid "Exclude Inactive Sales Orders"
msgstr ""
-#: common/models.py:1656
+#: common/models.py:1668
msgid "Exclude inactive sales orders from search preview window"
msgstr ""
-#: common/models.py:1662
+#: common/models.py:1674
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:1663
+#: common/models.py:1675
msgid "Number of results to show in each section of the search preview window"
msgstr ""
-#: common/models.py:1669
+#: common/models.py:1681
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:1670
+#: common/models.py:1682
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:1676
+#: common/models.py:1688
msgid "Escape Key Closes Forms"
msgstr ""
-#: common/models.py:1677
+#: common/models.py:1689
msgid "Use the escape key to close modal forms"
msgstr ""
-#: common/models.py:1683
+#: common/models.py:1695
msgid "Fixed Navbar"
msgstr ""
-#: common/models.py:1684
+#: common/models.py:1696
msgid "The navbar position is fixed to the top of the screen"
msgstr ""
-#: common/models.py:1690
+#: common/models.py:1702
msgid "Date Format"
msgstr ""
-#: common/models.py:1691
+#: common/models.py:1703
msgid "Preferred format for displaying dates"
msgstr ""
-#: common/models.py:1705 part/templates/part/detail.html:41
+#: common/models.py:1717 part/templates/part/detail.html:41
msgid "Part Scheduling"
msgstr ""
-#: common/models.py:1706
+#: common/models.py:1718
msgid "Display part scheduling information"
msgstr ""
-#: common/models.py:1712
+#: common/models.py:1724
msgid "Table String Length"
msgstr ""
-#: common/models.py:1713
+#: common/models.py:1725
msgid "Maximimum length limit for strings displayed in table views"
msgstr ""
-#: common/models.py:1777
+#: common/models.py:1789
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1784 company/serializers.py:372
-#: company/templates/company/supplier_part.html:346 order/models.py:952
-#: templates/js/translated/part.js:1103 templates/js/translated/part.js:2225
+#: common/models.py:1796 company/serializers.py:393 order/models.py:975
+#: templates/js/translated/company.js:1164 templates/js/translated/part.js:1130
+#: templates/js/translated/pricing.js:354
msgid "Price"
msgstr ""
-#: common/models.py:1785
+#: common/models.py:1797
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1945 common/models.py:2123
+#: common/models.py:1957 common/models.py:2135
msgid "Endpoint"
msgstr ""
-#: common/models.py:1946
+#: common/models.py:1958
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:1955
+#: common/models.py:1967
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:1960 part/models.py:935 plugin/models.py:100
-#: templates/js/translated/table_filters.js:34
-#: templates/js/translated/table_filters.js:112
-#: templates/js/translated/table_filters.js:324
-#: templates/js/translated/table_filters.js:450
+#: common/models.py:1972 part/admin.py:36 part/models.py:954
+#: plugin/models.py:100 templates/js/translated/table_filters.js:34
+#: templates/js/translated/table_filters.js:116
+#: templates/js/translated/table_filters.js:328
+#: templates/js/translated/table_filters.js:454
msgid "Active"
msgstr ""
-#: common/models.py:1961
+#: common/models.py:1973
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:1975
+#: common/models.py:1987
msgid "Token"
msgstr ""
-#: common/models.py:1976
+#: common/models.py:1988
msgid "Token for access"
msgstr ""
-#: common/models.py:1983
+#: common/models.py:1995
msgid "Secret"
msgstr ""
-#: common/models.py:1984
+#: common/models.py:1996
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:2090
+#: common/models.py:2102
msgid "Message ID"
msgstr ""
-#: common/models.py:2091
+#: common/models.py:2103
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:2099
+#: common/models.py:2111
msgid "Host"
msgstr ""
-#: common/models.py:2100
+#: common/models.py:2112
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:2107
+#: common/models.py:2119
msgid "Header"
msgstr ""
-#: common/models.py:2108
+#: common/models.py:2120
msgid "Header of this message"
msgstr ""
-#: common/models.py:2114
+#: common/models.py:2126
msgid "Body"
msgstr ""
-#: common/models.py:2115
+#: common/models.py:2127
msgid "Body of this message"
msgstr ""
-#: common/models.py:2124
+#: common/models.py:2136
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:2129
+#: common/models.py:2141
msgid "Worked on"
msgstr ""
-#: common/models.py:2130
+#: common/models.py:2142
msgid "Was the work on this message finished?"
msgstr ""
+#: common/models.py:2302
+msgid "Id"
+msgstr ""
+
+#: common/models.py:2308 templates/js/translated/news.js:34
+msgid "Title"
+msgstr ""
+
+#: common/models.py:2318 templates/js/translated/news.js:50
+msgid "Published"
+msgstr ""
+
+#: common/models.py:2323 templates/InvenTree/settings/plugin.html:62
+#: templates/InvenTree/settings/plugin_settings.html:33
+#: templates/js/translated/news.js:46
+msgid "Author"
+msgstr ""
+
+#: common/models.py:2328 templates/js/translated/news.js:42
+msgid "Summary"
+msgstr ""
+
+#: common/models.py:2333
+msgid "Read"
+msgstr ""
+
+#: common/models.py:2334
+msgid "Was this news item read?"
+msgstr ""
+
#: common/notifications.py:293
#, python-brace-format
msgid "New {verbose_name}"
@@ -2785,15 +2838,15 @@ msgstr ""
msgid "Error raised by plugin"
msgstr ""
-#: common/views.py:85 order/templates/order/purchase_order_detail.html:23
-#: order/views.py:102 part/views.py:112
+#: common/views.py:85 order/templates/order/purchase_order_detail.html:25
+#: order/views.py:102 part/views.py:107
#: templates/patterns/wizard/upload.html:37
msgid "Upload File"
msgstr ""
#: common/views.py:86 order/views.py:103
#: part/templates/part/import_wizard/ajax_match_fields.html:45
-#: part/views.py:113 templates/patterns/wizard/match_fields.html:51
+#: part/views.py:108 templates/patterns/wizard/match_fields.html:51
msgid "Match Fields"
msgstr ""
@@ -2816,298 +2869,301 @@ msgstr ""
msgid "Previous Step"
msgstr ""
-#: company/models.py:99
+#: company/models.py:103
msgid "Company description"
msgstr ""
-#: company/models.py:100
+#: company/models.py:104
msgid "Description of the company"
msgstr ""
-#: company/models.py:106 company/templates/company/company_base.html:100
+#: company/models.py:110 company/templates/company/company_base.html:100
#: templates/InvenTree/settings/plugin_settings.html:55
-#: templates/js/translated/company.js:448
+#: templates/js/translated/company.js:449
msgid "Website"
msgstr ""
-#: company/models.py:107
+#: company/models.py:111
msgid "Company website URL"
msgstr ""
-#: company/models.py:111 company/templates/company/company_base.html:118
+#: company/models.py:115 company/templates/company/company_base.html:118
msgid "Address"
msgstr ""
-#: company/models.py:112
+#: company/models.py:116
msgid "Company address"
msgstr ""
-#: company/models.py:115
+#: company/models.py:119
msgid "Phone number"
msgstr ""
-#: company/models.py:116
+#: company/models.py:120
msgid "Contact phone number"
msgstr ""
-#: company/models.py:119 company/templates/company/company_base.html:132
+#: company/models.py:123 company/templates/company/company_base.html:132
#: templates/InvenTree/settings/user.html:48
msgid "Email"
msgstr ""
-#: company/models.py:119
+#: company/models.py:123
msgid "Contact email address"
msgstr ""
-#: company/models.py:122 company/templates/company/company_base.html:139
+#: company/models.py:126 company/templates/company/company_base.html:139
msgid "Contact"
msgstr ""
-#: company/models.py:123
+#: company/models.py:127
msgid "Point of contact"
msgstr ""
-#: company/models.py:125
+#: company/models.py:129
msgid "Link to external company information"
msgstr ""
-#: company/models.py:136 part/models.py:829
+#: company/models.py:140 part/models.py:848
msgid "Image"
msgstr ""
-#: company/models.py:139 company/templates/company/detail.html:185
+#: company/models.py:143 company/templates/company/detail.html:185
msgid "Company Notes"
msgstr ""
-#: company/models.py:141
+#: company/models.py:145
msgid "is customer"
msgstr ""
-#: company/models.py:141
+#: company/models.py:145
msgid "Do you sell items to this company?"
msgstr ""
-#: company/models.py:143
+#: company/models.py:147
msgid "is supplier"
msgstr ""
-#: company/models.py:143
+#: company/models.py:147
msgid "Do you purchase items from this company?"
msgstr ""
-#: company/models.py:145
+#: company/models.py:149
msgid "is manufacturer"
msgstr ""
-#: company/models.py:145
+#: company/models.py:149
msgid "Does this company manufacture parts?"
msgstr ""
-#: company/models.py:149 company/serializers.py:378
-#: company/templates/company/company_base.html:106 part/serializers.py:153
-#: part/serializers.py:184 stock/serializers.py:178
+#: company/models.py:153 company/serializers.py:399
+#: company/templates/company/company_base.html:106 part/models.py:2681
+#: part/serializers.py:153 part/serializers.py:181 stock/serializers.py:182
+#: templates/InvenTree/settings/pricing.html:59
msgid "Currency"
msgstr ""
-#: company/models.py:152
+#: company/models.py:156
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:249 company/models.py:483 stock/models.py:600
-#: stock/serializers.py:85 stock/templates/stock/item_base.html:143
-#: templates/js/translated/bom.js:568
+#: company/models.py:253 company/models.py:487 stock/models.py:616
+#: stock/serializers.py:89 stock/templates/stock/item_base.html:143
+#: templates/js/translated/bom.js:581
msgid "Base Part"
msgstr ""
-#: company/models.py:253 company/models.py:487
+#: company/models.py:257 company/models.py:491
msgid "Select part"
msgstr ""
-#: company/models.py:264 company/templates/company/company_base.html:76
+#: company/models.py:268 company/templates/company/company_base.html:76
#: company/templates/company/manufacturer_part.html:90
#: company/templates/company/supplier_part.html:152
#: stock/templates/stock/item_base.html:210
-#: templates/js/translated/company.js:432
-#: templates/js/translated/company.js:533
-#: templates/js/translated/company.js:668
-#: templates/js/translated/company.js:956 templates/js/translated/part.js:236
-#: templates/js/translated/table_filters.js:427
+#: templates/js/translated/company.js:433
+#: templates/js/translated/company.js:534
+#: templates/js/translated/company.js:669
+#: templates/js/translated/company.js:957 templates/js/translated/part.js:232
+#: templates/js/translated/table_filters.js:431
msgid "Manufacturer"
msgstr "Nhà sản xuất"
-#: company/models.py:265 templates/js/translated/part.js:237
+#: company/models.py:269 templates/js/translated/part.js:233
msgid "Select manufacturer"
msgstr ""
-#: company/models.py:271 company/templates/company/manufacturer_part.html:101
+#: company/models.py:275 company/templates/company/manufacturer_part.html:101
#: company/templates/company/supplier_part.html:160
-#: templates/js/translated/company.js:304
-#: templates/js/translated/company.js:532
-#: templates/js/translated/company.js:684
-#: templates/js/translated/company.js:975 templates/js/translated/order.js:2239
-#: templates/js/translated/part.js:247 templates/js/translated/part.js:1025
+#: templates/js/translated/company.js:305
+#: templates/js/translated/company.js:533
+#: templates/js/translated/company.js:685
+#: templates/js/translated/company.js:976 templates/js/translated/order.js:2278
+#: templates/js/translated/part.js:243 templates/js/translated/part.js:1052
msgid "MPN"
msgstr ""
-#: company/models.py:272 templates/js/translated/part.js:248
+#: company/models.py:276 templates/js/translated/part.js:244
msgid "Manufacturer Part Number"
msgstr ""
-#: company/models.py:278
+#: company/models.py:282
msgid "URL for external manufacturer part link"
msgstr ""
-#: company/models.py:284
+#: company/models.py:288
msgid "Manufacturer part description"
msgstr ""
-#: company/models.py:329 company/models.py:353 company/models.py:506
+#: company/models.py:333 company/models.py:357 company/models.py:510
#: company/templates/company/manufacturer_part.html:7
#: company/templates/company/manufacturer_part.html:24
#: stock/templates/stock/item_base.html:220
msgid "Manufacturer Part"
msgstr ""
-#: company/models.py:360
+#: company/models.py:364
msgid "Parameter name"
msgstr ""
-#: company/models.py:366
+#: company/models.py:370
#: report/templates/report/inventree_test_report_base.html:95
-#: stock/models.py:2097 templates/js/translated/company.js:581
-#: templates/js/translated/company.js:799 templates/js/translated/part.js:847
-#: templates/js/translated/stock.js:1360
+#: stock/models.py:2113 templates/js/translated/company.js:582
+#: templates/js/translated/company.js:800 templates/js/translated/part.js:874
+#: templates/js/translated/stock.js:1379
msgid "Value"
msgstr ""
-#: company/models.py:367
+#: company/models.py:371
msgid "Parameter value"
msgstr ""
-#: company/models.py:373 part/models.py:902 part/models.py:2434
-#: part/templates/part/part_base.html:286
+#: company/models.py:377 part/admin.py:26 part/models.py:921
+#: part/models.py:3047 part/templates/part/part_base.html:286
#: templates/InvenTree/settings/settings.html:349
-#: templates/js/translated/company.js:805 templates/js/translated/part.js:853
+#: templates/js/translated/company.js:806 templates/js/translated/part.js:880
msgid "Units"
msgstr ""
-#: company/models.py:374
+#: company/models.py:378
msgid "Parameter units"
msgstr ""
-#: company/models.py:451
+#: company/models.py:455
msgid "Linked manufacturer part must reference the same base part"
msgstr ""
-#: company/models.py:493 company/templates/company/company_base.html:81
-#: company/templates/company/supplier_part.html:136 order/models.py:263
-#: order/templates/order/order_base.html:121 part/bom.py:237 part/bom.py:265
+#: company/models.py:497 company/templates/company/company_base.html:81
+#: company/templates/company/supplier_part.html:136 order/models.py:264
+#: order/templates/order/order_base.html:121 part/bom.py:252 part/bom.py:280
#: stock/templates/stock/item_base.html:227
#: templates/email/overdue_purchase_order.html:16
-#: templates/js/translated/company.js:303
-#: templates/js/translated/company.js:436
-#: templates/js/translated/company.js:929 templates/js/translated/order.js:1975
-#: templates/js/translated/part.js:217 templates/js/translated/part.js:993
-#: templates/js/translated/table_filters.js:431
+#: templates/js/translated/company.js:304
+#: templates/js/translated/company.js:437
+#: templates/js/translated/company.js:930 templates/js/translated/order.js:2009
+#: templates/js/translated/part.js:213 templates/js/translated/part.js:1020
+#: templates/js/translated/pricing.js:231
+#: templates/js/translated/table_filters.js:435
msgid "Supplier"
msgstr "Nhà cung cấp"
-#: company/models.py:494 templates/js/translated/part.js:218
+#: company/models.py:498 templates/js/translated/part.js:214
msgid "Select supplier"
msgstr ""
-#: company/models.py:499 company/templates/company/supplier_part.html:146
-#: part/bom.py:238 part/bom.py:266 templates/js/translated/company.js:302
-#: templates/js/translated/order.js:2226 templates/js/translated/part.js:228
-#: templates/js/translated/part.js:1011
+#: company/models.py:503 company/templates/company/supplier_part.html:146
+#: part/bom.py:253 part/bom.py:281 templates/js/translated/company.js:303
+#: templates/js/translated/order.js:2265 templates/js/translated/part.js:224
+#: templates/js/translated/part.js:1038 templates/js/translated/pricing.js:243
msgid "SKU"
msgstr ""
-#: company/models.py:500 templates/js/translated/part.js:229
+#: company/models.py:504 templates/js/translated/part.js:225
msgid "Supplier stock keeping unit"
msgstr ""
-#: company/models.py:507
+#: company/models.py:511
msgid "Select manufacturer part"
msgstr ""
-#: company/models.py:513
+#: company/models.py:517
msgid "URL for external supplier part link"
msgstr ""
-#: company/models.py:519
+#: company/models.py:523
msgid "Supplier part description"
msgstr ""
-#: company/models.py:524 company/templates/company/supplier_part.html:181
-#: part/models.py:2687 part/templates/part/upload_bom.html:59
+#: company/models.py:528 company/templates/company/supplier_part.html:181
+#: part/admin.py:225 part/models.py:3300 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_po_report.html:92
-#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:403
+#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:397
msgid "Note"
msgstr ""
-#: company/models.py:528 part/models.py:1788
+#: company/models.py:532 part/models.py:1817
msgid "base cost"
msgstr ""
-#: company/models.py:528 part/models.py:1788
+#: company/models.py:532 part/models.py:1817
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
-#: company/models.py:530 company/templates/company/supplier_part.html:167
-#: stock/models.py:626 stock/templates/stock/item_base.html:243
-#: templates/js/translated/company.js:991 templates/js/translated/stock.js:1978
+#: company/models.py:534 company/templates/company/supplier_part.html:167
+#: stock/admin.py:101 stock/models.py:642
+#: stock/templates/stock/item_base.html:243
+#: templates/js/translated/company.js:992 templates/js/translated/stock.js:1996
msgid "Packaging"
msgstr ""
-#: company/models.py:530
+#: company/models.py:534
msgid "Part packaging"
msgstr ""
-#: company/models.py:533 company/serializers.py:242
+#: company/models.py:537 company/serializers.py:242
#: company/templates/company/supplier_part.html:174
-#: templates/js/translated/company.js:996 templates/js/translated/order.js:820
-#: templates/js/translated/order.js:1215 templates/js/translated/order.js:1470
-#: templates/js/translated/order.js:2270 templates/js/translated/order.js:2287
-#: templates/js/translated/part.js:1043 templates/js/translated/part.js:1095
+#: templates/js/translated/company.js:997 templates/js/translated/order.js:826
+#: templates/js/translated/order.js:1249 templates/js/translated/order.js:1504
+#: templates/js/translated/order.js:2309 templates/js/translated/order.js:2326
+#: templates/js/translated/part.js:1070 templates/js/translated/part.js:1122
msgid "Pack Quantity"
msgstr ""
-#: company/models.py:534
+#: company/models.py:538
msgid "Unit quantity supplied in a single pack"
msgstr ""
-#: company/models.py:540 part/models.py:1790
+#: company/models.py:544 part/models.py:1819
msgid "multiple"
msgstr ""
-#: company/models.py:540
+#: company/models.py:544
msgid "Order multiple"
msgstr ""
-#: company/models.py:548 company/templates/company/supplier_part.html:115
+#: company/models.py:552 company/templates/company/supplier_part.html:115
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:18
-#: templates/js/translated/bom.js:963 templates/js/translated/build.js:1873
-#: templates/js/translated/build.js:2754 templates/js/translated/part.js:598
-#: templates/js/translated/part.js:601
-#: templates/js/translated/table_filters.js:194
+#: templates/js/translated/bom.js:1117 templates/js/translated/build.js:1873
+#: templates/js/translated/build.js:2754 templates/js/translated/part.js:612
+#: templates/js/translated/part.js:615
+#: templates/js/translated/table_filters.js:198
msgid "Available"
msgstr ""
-#: company/models.py:549
+#: company/models.py:553
msgid "Quantity available from supplier"
msgstr ""
-#: company/models.py:553
+#: company/models.py:557
msgid "Availability Updated"
msgstr ""
-#: company/models.py:554
+#: company/models.py:558
msgid "Date of last update of availability data"
msgstr ""
-#: company/models.py:682
+#: company/models.py:686
msgid "last updated"
msgstr ""
@@ -3121,7 +3177,7 @@ msgstr ""
#: company/templates/company/company_base.html:8
#: company/templates/company/company_base.html:12
-#: templates/InvenTree/search.html:179 templates/js/translated/company.js:421
+#: templates/InvenTree/search.html:179 templates/js/translated/company.js:422
msgid "Company"
msgstr ""
@@ -3139,7 +3195,7 @@ msgid "Edit company information"
msgstr ""
#: company/templates/company/company_base.html:34
-#: templates/js/translated/company.js:364
+#: templates/js/translated/company.js:365
msgid "Edit Company"
msgstr ""
@@ -3162,14 +3218,14 @@ msgstr ""
msgid "Download image from URL"
msgstr ""
-#: company/templates/company/company_base.html:86 order/models.py:646
-#: order/templates/order/sales_order_base.html:116 stock/models.py:645
-#: stock/models.py:646 stock/serializers.py:813
+#: company/templates/company/company_base.html:86 order/models.py:665
+#: order/templates/order/sales_order_base.html:116 stock/models.py:661
+#: stock/models.py:662 stock/serializers.py:812
#: stock/templates/stock/item_base.html:399
#: templates/email/overdue_sales_order.html:16
-#: templates/js/translated/company.js:428 templates/js/translated/order.js:2808
-#: templates/js/translated/stock.js:2569
-#: templates/js/translated/table_filters.js:435
+#: templates/js/translated/company.js:429 templates/js/translated/order.js:2819
+#: templates/js/translated/stock.js:2587
+#: templates/js/translated/table_filters.js:439
msgid "Customer"
msgstr ""
@@ -3182,12 +3238,12 @@ msgid "Phone"
msgstr ""
#: company/templates/company/company_base.html:208
-#: part/templates/part/part_base.html:499
+#: part/templates/part/part_base.html:514
msgid "Upload Image"
msgstr ""
#: company/templates/company/company_base.html:223
-#: part/templates/part/part_base.html:554
+#: part/templates/part/part_base.html:569
msgid "Download Image"
msgstr ""
@@ -3203,7 +3259,7 @@ msgstr ""
#: company/templates/company/detail.html:19
#: company/templates/company/manufacturer_part.html:123
-#: part/templates/part/detail.html:359
+#: part/templates/part/detail.html:357
msgid "New Supplier Part"
msgstr ""
@@ -3232,7 +3288,7 @@ msgstr ""
msgid "Create new manufacturer part"
msgstr ""
-#: company/templates/company/detail.html:66 part/templates/part/detail.html:389
+#: company/templates/company/detail.html:66 part/templates/part/detail.html:387
msgid "New Manufacturer Part"
msgstr ""
@@ -3246,7 +3302,7 @@ msgstr ""
#: order/templates/order/order_base.html:13
#: order/templates/order/purchase_orders.html:8
#: order/templates/order/purchase_orders.html:12
-#: part/templates/part/detail.html:84 part/templates/part/part_sidebar.html:37
+#: part/templates/part/detail.html:84 part/templates/part/part_sidebar.html:35
#: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200
#: templates/InvenTree/settings/sidebar.html:49
#: templates/js/translated/search.js:293 templates/navbar.html:50
@@ -3269,7 +3325,7 @@ msgstr ""
#: order/templates/order/sales_order_base.html:13
#: order/templates/order/sales_orders.html:8
#: order/templates/order/sales_orders.html:15
-#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:41
+#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:39
#: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220
#: templates/InvenTree/settings/sidebar.html:51
#: templates/js/translated/search.js:317 templates/navbar.html:61
@@ -3297,8 +3353,7 @@ msgid "Supplier List"
msgstr ""
#: company/templates/company/manufacturer_part.html:15 company/views.py:38
-#: part/templates/part/prices.html:172 templates/InvenTree/search.html:181
-#: templates/navbar.html:49
+#: templates/InvenTree/search.html:181 templates/navbar.html:49
msgid "Manufacturers"
msgstr ""
@@ -3309,12 +3364,12 @@ msgid "Order part"
msgstr ""
#: company/templates/company/manufacturer_part.html:39
-#: templates/js/translated/company.js:716
+#: templates/js/translated/company.js:717
msgid "Edit manufacturer part"
msgstr ""
#: company/templates/company/manufacturer_part.html:43
-#: templates/js/translated/company.js:717
+#: templates/js/translated/company.js:718
msgid "Delete manufacturer part"
msgstr ""
@@ -3329,35 +3384,36 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:119
#: company/templates/company/supplier_part.html:15 company/views.py:32
-#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:168
+#: part/admin.py:46 part/templates/part/part_sidebar.html:33
#: templates/InvenTree/search.html:191 templates/navbar.html:48
msgid "Suppliers"
msgstr ""
#: company/templates/company/manufacturer_part.html:136
-#: part/templates/part/detail.html:370
+#: part/templates/part/detail.html:368
msgid "Delete supplier parts"
msgstr ""
#: company/templates/company/manufacturer_part.html:136
#: company/templates/company/manufacturer_part.html:183
-#: part/templates/part/detail.html:371 part/templates/part/detail.html:401
-#: templates/js/translated/forms.js:455 templates/js/translated/helpers.js:36
-#: users/models.py:222
+#: part/templates/part/detail.html:369 part/templates/part/detail.html:399
+#: templates/js/translated/forms.js:455 templates/js/translated/helpers.js:38
+#: templates/js/translated/part.js:340 templates/js/translated/stock.js:184
+#: users/models.py:224
msgid "Delete"
msgstr ""
#: company/templates/company/manufacturer_part.html:166
#: company/templates/company/manufacturer_part_sidebar.html:5
#: part/templates/part/category_sidebar.html:19
-#: part/templates/part/detail.html:186 part/templates/part/part_sidebar.html:8
+#: part/templates/part/detail.html:184 part/templates/part/part_sidebar.html:8
msgid "Parameters"
msgstr ""
#: company/templates/company/manufacturer_part.html:170
-#: part/templates/part/detail.html:191
+#: part/templates/part/detail.html:189
#: templates/InvenTree/settings/category.html:12
-#: templates/InvenTree/settings/part.html:68
+#: templates/InvenTree/settings/part.html:62
msgid "New Parameter"
msgstr ""
@@ -3366,7 +3422,7 @@ msgid "Delete parameters"
msgstr ""
#: company/templates/company/manufacturer_part.html:245
-#: part/templates/part/detail.html:827
+#: part/templates/part/detail.html:825
msgid "Add Parameter"
msgstr ""
@@ -3387,10 +3443,10 @@ msgid "Assigned Stock Items"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:609
+#: company/templates/company/supplier_part.html:24 stock/models.py:625
#: stock/templates/stock/item_base.html:236
-#: templates/js/translated/company.js:945 templates/js/translated/order.js:1135
-#: templates/js/translated/stock.js:1935
+#: templates/js/translated/company.js:946 templates/js/translated/order.js:1169
+#: templates/js/translated/stock.js:1954
msgid "Supplier Part"
msgstr ""
@@ -3441,13 +3497,13 @@ msgstr ""
#: company/templates/company/supplier_part.html:64
#: company/templates/company/supplier_part.html:65
-#: templates/js/translated/company.js:247
+#: templates/js/translated/company.js:248
msgid "Edit Supplier Part"
msgstr ""
#: company/templates/company/supplier_part.html:69
#: company/templates/company/supplier_part.html:70
-#: templates/js/translated/company.js:222
+#: templates/js/translated/company.js:223
msgid "Duplicate Supplier Part"
msgstr ""
@@ -3482,7 +3538,7 @@ msgstr ""
#: company/templates/company/supplier_part.html:204
#: part/templates/part/detail.html:25 stock/templates/stock/location.html:198
-#: templates/js/translated/stock.js:435
+#: templates/js/translated/stock.js:454
msgid "New Stock Item"
msgstr ""
@@ -3492,47 +3548,20 @@ msgid "Supplier Part Orders"
msgstr ""
#: company/templates/company/supplier_part.html:242
-#: part/templates/part/prices.html:10
msgid "Pricing Information"
msgstr ""
#: company/templates/company/supplier_part.html:247
-#: company/templates/company/supplier_part.html:388
-#: part/templates/part/prices.html:276 templates/js/translated/part.js:2297
+#: company/templates/company/supplier_part.html:317
+#: templates/js/translated/pricing.js:413
msgid "Add Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:282
+#: company/templates/company/supplier_part.html:285
msgid "Link Barcode to Supplier Part"
msgstr ""
-#: company/templates/company/supplier_part.html:300
-msgid "No price break information found"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:314
-#: templates/js/translated/part.js:2307
-msgid "Delete Price Break"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:328
-#: templates/js/translated/part.js:2321
-msgid "Edit Price Break"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:353
-msgid "Edit price break"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:354
-msgid "Delete price break"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:363
-msgid "Last updated"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:444
+#: company/templates/company/supplier_part.html:375
msgid "Update Part Availability"
msgstr ""
@@ -3542,9 +3571,9 @@ msgstr ""
#: stock/templates/stock/stock_app_base.html:10
#: templates/InvenTree/search.html:153
#: templates/InvenTree/settings/sidebar.html:45
-#: templates/js/translated/part.js:749 templates/js/translated/part.js:1335
-#: templates/js/translated/part.js:1501 templates/js/translated/stock.js:959
-#: templates/js/translated/stock.js:1760 templates/navbar.html:31
+#: templates/js/translated/part.js:763 templates/js/translated/part.js:1356
+#: templates/js/translated/part.js:1512 templates/js/translated/stock.js:978
+#: templates/js/translated/stock.js:1779 templates/navbar.html:31
msgid "Stock"
msgstr "Kiện hàng"
@@ -3558,19 +3587,20 @@ msgid "Supplier Part Pricing"
msgstr ""
#: company/templates/company/supplier_part_navbar.html:29
-#: part/templates/part/part_sidebar.html:31
+#: part/templates/part/part_sidebar.html:30
+#: templates/InvenTree/settings/sidebar.html:35
msgid "Pricing"
msgstr ""
#: company/templates/company/supplier_part_sidebar.html:5
#: part/templates/part/category.html:198
-#: part/templates/part/category_sidebar.html:17
+#: part/templates/part/category_sidebar.html:17 stock/admin.py:31
#: stock/templates/stock/location.html:168
#: stock/templates/stock/location.html:182
#: stock/templates/stock/location.html:194
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:155 templates/js/translated/search.js:225
-#: templates/js/translated/stock.js:2446 users/models.py:40
+#: templates/js/translated/stock.js:2464 users/models.py:40
msgid "Stock Items"
msgstr ""
@@ -3672,438 +3702,439 @@ msgstr ""
msgid "No matching purchase order found"
msgstr ""
-#: order/models.py:82
+#: order/models.py:83
msgid "Order description"
msgstr ""
-#: order/models.py:84 order/models.py:1260
+#: order/models.py:85 order/models.py:1283
msgid "Link to external page"
msgstr ""
-#: order/models.py:92
+#: order/models.py:93
msgid "Created By"
msgstr ""
-#: order/models.py:99
+#: order/models.py:100
msgid "User or group responsible for this order"
msgstr ""
-#: order/models.py:104
+#: order/models.py:105
msgid "Order notes"
msgstr ""
-#: order/models.py:241 order/models.py:633
+#: order/models.py:242 order/models.py:652
msgid "Order reference"
msgstr ""
-#: order/models.py:249 order/models.py:651
+#: order/models.py:250 order/models.py:670
msgid "Purchase order status"
msgstr ""
-#: order/models.py:264
+#: order/models.py:265
msgid "Company from which the items are being ordered"
msgstr ""
-#: order/models.py:267 order/templates/order/order_base.html:133
-#: templates/js/translated/order.js:1984
+#: order/models.py:268 order/templates/order/order_base.html:133
+#: templates/js/translated/order.js:2018
msgid "Supplier Reference"
msgstr ""
-#: order/models.py:267
+#: order/models.py:268
msgid "Supplier order reference code"
msgstr ""
-#: order/models.py:274
+#: order/models.py:275
msgid "received by"
msgstr ""
-#: order/models.py:279
+#: order/models.py:280
msgid "Issue Date"
msgstr ""
-#: order/models.py:280
+#: order/models.py:281
msgid "Date order was issued"
msgstr ""
-#: order/models.py:285
+#: order/models.py:286
msgid "Target Delivery Date"
msgstr ""
-#: order/models.py:286
+#: order/models.py:287
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr ""
-#: order/models.py:292
+#: order/models.py:293
msgid "Date order was completed"
msgstr ""
-#: order/models.py:328
+#: order/models.py:332
msgid "Part supplier must match PO supplier"
msgstr ""
-#: order/models.py:472
+#: order/models.py:491
msgid "Quantity must be a positive number"
msgstr ""
-#: order/models.py:647
+#: order/models.py:666
msgid "Company to which the items are being sold"
msgstr ""
-#: order/models.py:658
+#: order/models.py:677
msgid "Customer Reference "
msgstr ""
-#: order/models.py:658
+#: order/models.py:677
msgid "Customer order reference code"
msgstr ""
-#: order/models.py:663
+#: order/models.py:682
msgid "Target date for order completion. Order will be overdue after this date."
msgstr ""
-#: order/models.py:666 order/models.py:1218
-#: templates/js/translated/order.js:2855 templates/js/translated/order.js:3017
+#: order/models.py:685 order/models.py:1241
+#: templates/js/translated/order.js:2866 templates/js/translated/order.js:3028
msgid "Shipment Date"
msgstr ""
-#: order/models.py:673
+#: order/models.py:692
msgid "shipped by"
msgstr ""
-#: order/models.py:728
+#: order/models.py:747
msgid "Order cannot be completed as no parts have been assigned"
msgstr ""
-#: order/models.py:732
+#: order/models.py:751
msgid "Only a pending order can be marked as complete"
msgstr ""
-#: order/models.py:735 templates/js/translated/order.js:419
+#: order/models.py:754 templates/js/translated/order.js:419
msgid "Order cannot be completed as there are incomplete shipments"
msgstr ""
-#: order/models.py:738
+#: order/models.py:757
msgid "Order cannot be completed as there are incomplete line items"
msgstr ""
-#: order/models.py:912
+#: order/models.py:935
msgid "Item quantity"
msgstr ""
-#: order/models.py:918
+#: order/models.py:941
msgid "Line item reference"
msgstr ""
-#: order/models.py:920
+#: order/models.py:943
msgid "Line item notes"
msgstr ""
-#: order/models.py:925
+#: order/models.py:948
msgid "Target shipping date for this line item"
msgstr ""
-#: order/models.py:943
+#: order/models.py:966
msgid "Context"
msgstr ""
-#: order/models.py:944
+#: order/models.py:967
msgid "Additional context for this line"
msgstr ""
-#: order/models.py:953
+#: order/models.py:976
msgid "Unit price"
msgstr ""
-#: order/models.py:983
+#: order/models.py:1006
msgid "Supplier part must match supplier"
msgstr ""
-#: order/models.py:991
+#: order/models.py:1014
msgid "deleted"
msgstr ""
-#: order/models.py:997 order/models.py:1077 order/models.py:1118
-#: order/models.py:1212 order/models.py:1344
-#: templates/js/translated/order.js:3473
+#: order/models.py:1020 order/models.py:1100 order/models.py:1141
+#: order/models.py:1235 order/models.py:1367
+#: templates/js/translated/order.js:3484
msgid "Order"
msgstr ""
-#: order/models.py:998 order/models.py:1077
+#: order/models.py:1021 order/models.py:1100
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report.html:76
#: stock/templates/stock/item_base.html:182
#: templates/email/overdue_purchase_order.html:15
-#: templates/js/translated/order.js:619 templates/js/translated/order.js:1136
-#: templates/js/translated/order.js:1959 templates/js/translated/part.js:970
-#: templates/js/translated/stock.js:1915 templates/js/translated/stock.js:2550
+#: templates/js/translated/order.js:619 templates/js/translated/order.js:1170
+#: templates/js/translated/order.js:1993 templates/js/translated/part.js:997
+#: templates/js/translated/pricing.js:515 templates/js/translated/stock.js:1934
+#: templates/js/translated/stock.js:2568
msgid "Purchase Order"
msgstr "Đơn hàng"
-#: order/models.py:1016
+#: order/models.py:1039
msgid "Supplier part"
msgstr ""
-#: order/models.py:1023 order/templates/order/order_base.html:178
-#: templates/js/translated/order.js:1641 templates/js/translated/order.js:2373
-#: templates/js/translated/part.js:1087 templates/js/translated/part.js:1125
-#: templates/js/translated/table_filters.js:346
+#: order/models.py:1046 order/templates/order/order_base.html:178
+#: templates/js/translated/order.js:1675 templates/js/translated/order.js:2396
+#: templates/js/translated/part.js:1114 templates/js/translated/part.js:1146
+#: templates/js/translated/table_filters.js:350
msgid "Received"
msgstr ""
-#: order/models.py:1024
+#: order/models.py:1047
msgid "Number of items received"
msgstr ""
-#: order/models.py:1031 part/templates/part/prices.html:181 stock/models.py:741
-#: stock/serializers.py:169 stock/templates/stock/item_base.html:189
-#: templates/js/translated/stock.js:1966
+#: order/models.py:1054 stock/models.py:757 stock/serializers.py:173
+#: stock/templates/stock/item_base.html:189
+#: templates/js/translated/stock.js:1985
msgid "Purchase Price"
msgstr "Giá mua"
-#: order/models.py:1032
+#: order/models.py:1055
msgid "Unit purchase price"
msgstr ""
-#: order/models.py:1040
+#: order/models.py:1063
msgid "Where does the Purchaser want this item to be stored?"
msgstr ""
-#: order/models.py:1106
+#: order/models.py:1129
msgid "Virtual part cannot be assigned to a sales order"
msgstr ""
-#: order/models.py:1111
+#: order/models.py:1134
msgid "Only salable parts can be assigned to a sales order"
msgstr ""
-#: order/models.py:1137 part/templates/part/part_pricing.html:115
-#: part/templates/part/prices.html:121 part/templates/part/prices.html:290
+#: order/models.py:1160 part/templates/part/part_pricing.html:107
+#: part/templates/part/prices.html:139 templates/js/translated/pricing.js:665
msgid "Sale Price"
msgstr ""
-#: order/models.py:1138
+#: order/models.py:1161
msgid "Unit sale price"
msgstr ""
-#: order/models.py:1143
+#: order/models.py:1166
msgid "Shipped quantity"
msgstr ""
-#: order/models.py:1219
+#: order/models.py:1242
msgid "Date of shipment"
msgstr ""
-#: order/models.py:1226
+#: order/models.py:1249
msgid "Checked By"
msgstr ""
-#: order/models.py:1227
+#: order/models.py:1250
msgid "User who checked this shipment"
msgstr ""
-#: order/models.py:1234 order/models.py:1419 order/serializers.py:1228
-#: order/serializers.py:1356 templates/js/translated/model_renderers.js:314
+#: order/models.py:1257 order/models.py:1442 order/serializers.py:1221
+#: order/serializers.py:1349 templates/js/translated/model_renderers.js:314
msgid "Shipment"
msgstr ""
-#: order/models.py:1235
+#: order/models.py:1258
msgid "Shipment number"
msgstr ""
-#: order/models.py:1239
+#: order/models.py:1262
msgid "Shipment notes"
msgstr ""
-#: order/models.py:1245
+#: order/models.py:1268
msgid "Tracking Number"
msgstr ""
-#: order/models.py:1246
+#: order/models.py:1269
msgid "Shipment tracking information"
msgstr ""
-#: order/models.py:1253
+#: order/models.py:1276
msgid "Invoice Number"
msgstr ""
-#: order/models.py:1254
+#: order/models.py:1277
msgid "Reference number for associated invoice"
msgstr ""
-#: order/models.py:1272
+#: order/models.py:1295
msgid "Shipment has already been sent"
msgstr ""
-#: order/models.py:1275
+#: order/models.py:1298
msgid "Shipment has no allocated stock items"
msgstr ""
-#: order/models.py:1378 order/models.py:1380
+#: order/models.py:1401 order/models.py:1403
msgid "Stock item has not been assigned"
msgstr ""
-#: order/models.py:1384
+#: order/models.py:1407
msgid "Cannot allocate stock item to a line with a different part"
msgstr ""
-#: order/models.py:1386
+#: order/models.py:1409
msgid "Cannot allocate stock to a line without a part"
msgstr ""
-#: order/models.py:1389
+#: order/models.py:1412
msgid "Allocation quantity cannot exceed stock quantity"
msgstr ""
-#: order/models.py:1399 order/serializers.py:1090
+#: order/models.py:1422 order/serializers.py:1083
msgid "Quantity must be 1 for serialized stock item"
msgstr ""
-#: order/models.py:1402
+#: order/models.py:1425
msgid "Sales order does not match shipment"
msgstr ""
-#: order/models.py:1403
+#: order/models.py:1426
msgid "Shipment does not match sales order"
msgstr ""
-#: order/models.py:1411
+#: order/models.py:1434
msgid "Line"
msgstr ""
-#: order/models.py:1420
+#: order/models.py:1443
msgid "Sales order shipment reference"
msgstr ""
-#: order/models.py:1433 templates/js/translated/notification.js:55
+#: order/models.py:1456 templates/js/translated/notification.js:55
msgid "Item"
msgstr ""
-#: order/models.py:1434
+#: order/models.py:1457
msgid "Select stock item to allocate"
msgstr ""
-#: order/models.py:1437
+#: order/models.py:1460
msgid "Enter stock allocation quantity"
msgstr ""
-#: order/serializers.py:67
+#: order/serializers.py:63
msgid "Price currency"
msgstr ""
-#: order/serializers.py:199
+#: order/serializers.py:193
msgid "Order cannot be cancelled"
msgstr ""
-#: order/serializers.py:209 order/serializers.py:1108
+#: order/serializers.py:203 order/serializers.py:1101
msgid "Allow order to be closed with incomplete line items"
msgstr ""
-#: order/serializers.py:220 order/serializers.py:1119
+#: order/serializers.py:214 order/serializers.py:1112
msgid "Order has incomplete line items"
msgstr ""
-#: order/serializers.py:311
+#: order/serializers.py:305
msgid "Order is not open"
msgstr ""
-#: order/serializers.py:335
+#: order/serializers.py:327
msgid "Purchase price currency"
msgstr ""
-#: order/serializers.py:354
+#: order/serializers.py:346
msgid "Supplier part must be specified"
msgstr ""
-#: order/serializers.py:359
+#: order/serializers.py:351
msgid "Purchase order must be specified"
msgstr ""
-#: order/serializers.py:365
+#: order/serializers.py:357
msgid "Supplier must match purchase order"
msgstr ""
-#: order/serializers.py:366
+#: order/serializers.py:358
msgid "Purchase order must match supplier"
msgstr ""
-#: order/serializers.py:430 order/serializers.py:1196
+#: order/serializers.py:421 order/serializers.py:1189
msgid "Line Item"
msgstr ""
-#: order/serializers.py:436
+#: order/serializers.py:427
msgid "Line item does not match purchase order"
msgstr ""
-#: order/serializers.py:446 order/serializers.py:557
+#: order/serializers.py:437 order/serializers.py:548
msgid "Select destination location for received items"
msgstr ""
-#: order/serializers.py:465 templates/js/translated/order.js:1497
+#: order/serializers.py:456 templates/js/translated/order.js:1531
msgid "Enter batch code for incoming stock items"
msgstr ""
-#: order/serializers.py:473 templates/js/translated/order.js:1508
+#: order/serializers.py:464 templates/js/translated/order.js:1542
msgid "Enter serial numbers for incoming stock items"
msgstr ""
-#: order/serializers.py:487
+#: order/serializers.py:478
msgid "Unique identifier field"
msgstr ""
-#: order/serializers.py:501
+#: order/serializers.py:492
msgid "Barcode is already in use"
msgstr ""
-#: order/serializers.py:527
+#: order/serializers.py:518
msgid "An integer quantity must be provided for trackable parts"
msgstr ""
-#: order/serializers.py:573
+#: order/serializers.py:564
msgid "Line items must be provided"
msgstr ""
-#: order/serializers.py:590
+#: order/serializers.py:581
msgid "Destination location must be specified"
msgstr ""
-#: order/serializers.py:601
+#: order/serializers.py:592
msgid "Supplied barcode values must be unique"
msgstr ""
-#: order/serializers.py:907
+#: order/serializers.py:900
msgid "Sale price currency"
msgstr ""
-#: order/serializers.py:988
+#: order/serializers.py:981
msgid "No shipment details provided"
msgstr ""
-#: order/serializers.py:1051 order/serializers.py:1205
+#: order/serializers.py:1044 order/serializers.py:1198
msgid "Line item is not associated with this order"
msgstr ""
-#: order/serializers.py:1073
+#: order/serializers.py:1066
msgid "Quantity must be positive"
msgstr ""
-#: order/serializers.py:1218
+#: order/serializers.py:1211
msgid "Enter serial numbers to allocate"
msgstr ""
-#: order/serializers.py:1240 order/serializers.py:1364
+#: order/serializers.py:1233 order/serializers.py:1357
msgid "Shipment has already been shipped"
msgstr ""
-#: order/serializers.py:1243 order/serializers.py:1367
+#: order/serializers.py:1236 order/serializers.py:1360
msgid "Shipment is not associated with this order"
msgstr ""
-#: order/serializers.py:1297
+#: order/serializers.py:1290
msgid "No match found for the following serial numbers"
msgstr ""
-#: order/serializers.py:1307
+#: order/serializers.py:1300
msgid "The following serial numbers are already allocated"
msgstr ""
@@ -4154,7 +4185,8 @@ msgid "Duplicate order"
msgstr ""
#: order/templates/order/order_base.html:61
-msgid "Place order"
+#: order/templates/order/order_base.html:62
+msgid "Submit Order"
msgstr ""
#: order/templates/order/order_base.html:65
@@ -4162,7 +4194,7 @@ msgid "Receive items"
msgstr ""
#: order/templates/order/order_base.html:67
-#: order/templates/order/purchase_order_detail.html:30
+#: order/templates/order/purchase_order_detail.html:32
msgid "Receive Items"
msgstr ""
@@ -4248,9 +4280,9 @@ msgstr ""
#: part/templates/part/import_wizard/match_references.html:49
#: templates/js/translated/bom.js:102 templates/js/translated/build.js:479
#: templates/js/translated/build.js:631 templates/js/translated/build.js:2078
-#: templates/js/translated/order.js:1084 templates/js/translated/order.js:1586
-#: templates/js/translated/order.js:3092 templates/js/translated/stock.js:625
-#: templates/js/translated/stock.js:793
+#: templates/js/translated/order.js:1118 templates/js/translated/order.js:1620
+#: templates/js/translated/order.js:3103 templates/js/translated/stock.js:644
+#: templates/js/translated/stock.js:812
#: templates/patterns/wizard/match_fields.html:70
msgid "Remove row"
msgstr ""
@@ -4278,42 +4310,42 @@ msgstr ""
msgid "Received Stock"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:17
+#: order/templates/order/purchase_order_detail.html:19
msgid "Purchase Order Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:26
-#: order/templates/order/sales_order_detail.html:22
-#: order/templates/order/sales_order_detail.html:255
+#: order/templates/order/purchase_order_detail.html:28
+#: order/templates/order/sales_order_detail.html:24
+#: order/templates/order/sales_order_detail.html:260
#: templates/js/translated/order.js:728
msgid "Add Line Item"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:29
+#: order/templates/order/purchase_order_detail.html:31
msgid "Receive selected items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:48
-#: order/templates/order/sales_order_detail.html:42
+#: order/templates/order/purchase_order_detail.html:50
+#: order/templates/order/sales_order_detail.html:45
msgid "Extra Lines"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:53
-#: order/templates/order/sales_order_detail.html:47
-#: order/templates/order/sales_order_detail.html:280
+#: order/templates/order/purchase_order_detail.html:56
+#: order/templates/order/sales_order_detail.html:51
+#: order/templates/order/sales_order_detail.html:291
msgid "Add Extra Line"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:72
+#: order/templates/order/purchase_order_detail.html:76
msgid "Received Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:97
-#: order/templates/order/sales_order_detail.html:150
+#: order/templates/order/purchase_order_detail.html:101
+#: order/templates/order/sales_order_detail.html:155
msgid "Order Notes"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:232
+#: order/templates/order/purchase_order_detail.html:239
msgid "Add Order Line"
msgstr ""
@@ -4345,12 +4377,12 @@ msgid "This Sales Order has not been fully allocated"
msgstr ""
#: order/templates/order/sales_order_base.html:123
-#: templates/js/translated/order.js:2821
+#: templates/js/translated/order.js:2832
msgid "Customer Reference"
msgstr ""
#: order/templates/order/sales_order_base.html:141
-#: order/templates/order/sales_order_detail.html:104
+#: order/templates/order/sales_order_detail.html:109
#: order/templates/order/so_sidebar.html:11
msgid "Completed Shipments"
msgstr ""
@@ -4359,22 +4391,22 @@ msgstr ""
msgid "Edit Sales Order"
msgstr ""
-#: order/templates/order/sales_order_detail.html:17
+#: order/templates/order/sales_order_detail.html:18
msgid "Sales Order Items"
msgstr ""
-#: order/templates/order/sales_order_detail.html:68
+#: order/templates/order/sales_order_detail.html:73
#: order/templates/order/so_sidebar.html:8
msgid "Pending Shipments"
msgstr ""
-#: order/templates/order/sales_order_detail.html:72
-#: templates/attachment_table.html:6 templates/js/translated/bom.js:1158
+#: order/templates/order/sales_order_detail.html:77
+#: templates/attachment_table.html:6 templates/js/translated/bom.js:1223
#: templates/js/translated/build.js:1979
msgid "Actions"
msgstr ""
-#: order/templates/order/sales_order_detail.html:81
+#: order/templates/order/sales_order_detail.html:86
msgid "New Shipment"
msgstr ""
@@ -4400,617 +4432,844 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/api.py:516
+#: part/admin.py:19 part/admin.py:219 part/models.py:3181 stock/admin.py:84
+#: templates/js/translated/model_renderers.js:212
+msgid "Part ID"
+msgstr ""
+
+#: part/admin.py:20 part/admin.py:221 part/models.py:3185 stock/admin.py:85
+msgid "Part Name"
+msgstr ""
+
+#: part/admin.py:21
+msgid "Part Description"
+msgstr ""
+
+#: part/admin.py:22 part/models.py:822 part/templates/part/part_base.html:272
+#: templates/js/translated/part.js:751 templates/js/translated/part.js:1469
+#: templates/js/translated/stock.js:1745
+msgid "IPN"
+msgstr ""
+
+#: part/admin.py:23 part/models.py:830 part/templates/part/part_base.html:279
+#: report/models.py:171 templates/js/translated/part.js:755
+msgid "Revision"
+msgstr ""
+
+#: part/admin.py:24 part/admin.py:145 part/models.py:808
+#: part/templates/part/category.html:87 part/templates/part/part_base.html:300
+msgid "Keywords"
+msgstr ""
+
+#: part/admin.py:28 part/admin.py:139
+#: templates/js/translated/model_renderers.js:338
+msgid "Category ID"
+msgstr ""
+
+#: part/admin.py:29 part/admin.py:140
+msgid "Category Name"
+msgstr ""
+
+#: part/admin.py:30 part/admin.py:144
+msgid "Default Location ID"
+msgstr ""
+
+#: part/admin.py:31
+msgid "Default Supplier ID"
+msgstr ""
+
+#: part/admin.py:33 part/models.py:914 part/templates/part/part_base.html:206
+msgid "Minimum Stock"
+msgstr ""
+
+#: part/admin.py:47 part/templates/part/part_base.html:200
+#: templates/js/translated/company.js:1028
+#: templates/js/translated/table_filters.js:213
+msgid "In Stock"
+msgstr ""
+
+#: part/admin.py:48 part/bom.py:145 part/templates/part/part_base.html:213
+#: templates/js/translated/bom.js:1155 templates/js/translated/build.js:1925
+#: templates/js/translated/part.js:602 templates/js/translated/part.js:622
+#: templates/js/translated/part.js:1359 templates/js/translated/part.js:1537
+#: templates/js/translated/table_filters.js:68
+msgid "On Order"
+msgstr ""
+
+#: part/admin.py:49 part/templates/part/part_sidebar.html:27
+msgid "Used In"
+msgstr ""
+
+#: part/admin.py:50 templates/js/translated/build.js:1937
+#: templates/js/translated/build.js:2195 templates/js/translated/build.js:2761
+#: templates/js/translated/order.js:3943
+msgid "Allocated"
+msgstr ""
+
+#: part/admin.py:51 part/templates/part/part_base.html:244
+#: templates/js/translated/part.js:605 templates/js/translated/part.js:625
+#: templates/js/translated/part.js:1363 templates/js/translated/part.js:1544
+msgid "Building"
+msgstr ""
+
+#: part/admin.py:52 part/models.py:2765
+msgid "Minimum Cost"
+msgstr ""
+
+#: part/admin.py:53 part/models.py:2771
+msgid "Maximum Cost"
+msgstr ""
+
+#: part/admin.py:142 part/admin.py:216 stock/admin.py:26 stock/admin.py:98
+msgid "Parent ID"
+msgstr ""
+
+#: part/admin.py:143 part/admin.py:218 stock/admin.py:27
+msgid "Parent Name"
+msgstr ""
+
+#: part/admin.py:146 part/templates/part/category.html:81
+#: part/templates/part/category.html:94
+msgid "Category Path"
+msgstr ""
+
+#: part/admin.py:149 part/models.py:363 part/templates/part/cat_link.html:3
+#: part/templates/part/category.html:23 part/templates/part/category.html:134
+#: part/templates/part/category.html:154
+#: part/templates/part/category_sidebar.html:9
+#: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84
+#: templates/InvenTree/settings/sidebar.html:41
+#: templates/js/translated/part.js:2043 templates/js/translated/search.js:146
+#: templates/navbar.html:24 users/models.py:38
+msgid "Parts"
+msgstr "Nguyên liệu"
+
+#: part/admin.py:211
+msgid "BOM Level"
+msgstr ""
+
+#: part/admin.py:213
+msgid "BOM Item ID"
+msgstr ""
+
+#: part/admin.py:217
+msgid "Parent IPN"
+msgstr ""
+
+#: part/admin.py:220 part/models.py:3189
+msgid "Part IPN"
+msgstr ""
+
+#: part/admin.py:226 templates/js/translated/pricing.js:91
+#: templates/js/translated/pricing.js:727
+msgid "Minimum Price"
+msgstr ""
+
+#: part/admin.py:227 templates/js/translated/pricing.js:86
+#: templates/js/translated/pricing.js:735
+msgid "Maximum Price"
+msgstr ""
+
+#: part/api.py:532
msgid "Incoming Purchase Order"
msgstr ""
-#: part/api.py:536
+#: part/api.py:552
msgid "Outgoing Sales Order"
msgstr ""
-#: part/api.py:554
+#: part/api.py:570
msgid "Stock produced by Build Order"
msgstr ""
-#: part/api.py:640
+#: part/api.py:656
msgid "Stock required for Build Order"
msgstr ""
-#: part/api.py:777
+#: part/api.py:814
msgid "Valid"
msgstr ""
-#: part/api.py:778
+#: part/api.py:815
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/api.py:784
+#: part/api.py:821
msgid "This option must be selected"
msgstr ""
-#: part/api.py:1207
+#: part/api.py:1261
msgid "Must be greater than zero"
msgstr ""
-#: part/api.py:1211
+#: part/api.py:1265
msgid "Must be a valid quantity"
msgstr ""
-#: part/api.py:1226
+#: part/api.py:1280
msgid "Specify location for initial part stock"
msgstr ""
-#: part/api.py:1257 part/api.py:1261 part/api.py:1276 part/api.py:1280
+#: part/api.py:1311 part/api.py:1315 part/api.py:1330 part/api.py:1334
msgid "This field is required"
msgstr ""
-#: part/bom.py:127 part/models.py:98 part/models.py:838
-#: part/templates/part/category.html:109 part/templates/part/part_base.html:345
+#: part/bom.py:142 part/models.py:116 part/models.py:857
+#: part/templates/part/category.html:109 part/templates/part/part_base.html:360
msgid "Default Location"
msgstr ""
-#: part/bom.py:128 templates/email/low_stock_notification.html:17
+#: part/bom.py:143 templates/email/low_stock_notification.html:17
msgid "Total Stock"
msgstr ""
-#: part/bom.py:129 part/templates/part/part_base.html:195
-#: templates/js/translated/order.js:3913
+#: part/bom.py:144 part/templates/part/part_base.html:195
+#: templates/js/translated/order.js:3910
msgid "Available Stock"
msgstr ""
-#: part/bom.py:130 part/templates/part/part_base.html:213
-#: templates/js/translated/bom.js:1001 templates/js/translated/build.js:1925
-#: templates/js/translated/part.js:588 templates/js/translated/part.js:608
-#: templates/js/translated/part.js:1338 templates/js/translated/part.js:1526
-#: templates/js/translated/table_filters.js:68
-msgid "On Order"
-msgstr ""
-
#: part/forms.py:41
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:99
+#: part/models.py:117
msgid "Default location for parts in this category"
msgstr ""
-#: part/models.py:102
+#: part/models.py:120
msgid "Default keywords"
msgstr ""
-#: part/models.py:102
+#: part/models.py:120
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:107 stock/models.py:85
+#: part/models.py:125 stock/models.py:101
msgid "Icon"
msgstr ""
-#: part/models.py:108 stock/models.py:86
+#: part/models.py:126 stock/models.py:102
msgid "Icon (optional)"
msgstr ""
-#: part/models.py:122 part/models.py:2517 part/templates/part/category.html:16
+#: part/models.py:140 part/models.py:3130 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
-#: part/models.py:123 part/templates/part/category.html:129
+#: part/models.py:141 part/templates/part/category.html:129
#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200
#: users/models.py:37
msgid "Part Categories"
msgstr ""
-#: part/models.py:344 part/templates/part/cat_link.html:3
-#: part/templates/part/category.html:23 part/templates/part/category.html:134
-#: part/templates/part/category.html:154
-#: part/templates/part/category_sidebar.html:9
-#: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84
-#: templates/InvenTree/settings/sidebar.html:41
-#: templates/js/translated/part.js:2019 templates/js/translated/search.js:146
-#: templates/navbar.html:24 users/models.py:38
-msgid "Parts"
-msgstr "Nguyên liệu"
-
-#: part/models.py:429
+#: part/models.py:448
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:499 part/models.py:511
+#: part/models.py:518 part/models.py:530
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:601
+#: part/models.py:620
msgid "Stock item with this serial number already exists"
msgstr ""
-#: part/models.py:732
+#: part/models.py:751
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:759 part/models.py:2573
+#: part/models.py:778 part/models.py:3186
msgid "Part name"
msgstr ""
-#: part/models.py:766
+#: part/models.py:785
msgid "Is Template"
msgstr ""
-#: part/models.py:767
+#: part/models.py:786
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:777
+#: part/models.py:796
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:778
+#: part/models.py:797
msgid "Variant Of"
msgstr ""
-#: part/models.py:784
+#: part/models.py:803
msgid "Part description"
msgstr ""
-#: part/models.py:789 part/templates/part/category.html:87
-#: part/templates/part/part_base.html:300
-msgid "Keywords"
-msgstr ""
-
-#: part/models.py:790
+#: part/models.py:809
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:797 part/models.py:2272 part/models.py:2516
+#: part/models.py:816 part/models.py:2885 part/models.py:3129
#: part/templates/part/part_base.html:263
#: templates/InvenTree/settings/settings.html:229
#: templates/js/translated/notification.js:50
-#: templates/js/translated/part.js:1480 templates/js/translated/part.js:1724
+#: templates/js/translated/part.js:1491 templates/js/translated/part.js:1748
msgid "Category"
msgstr ""
-#: part/models.py:798
+#: part/models.py:817
msgid "Part category"
msgstr ""
-#: part/models.py:803 part/templates/part/part_base.html:272
-#: templates/js/translated/part.js:737 templates/js/translated/part.js:1431
-#: templates/js/translated/stock.js:1726
-msgid "IPN"
-msgstr ""
-
-#: part/models.py:804
+#: part/models.py:823
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:810
+#: part/models.py:829
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:811 part/templates/part/part_base.html:279
-#: report/models.py:171 templates/js/translated/part.js:741
-msgid "Revision"
-msgstr ""
-
-#: part/models.py:836
+#: part/models.py:855
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:881 part/templates/part/part_base.html:354
+#: part/models.py:900 part/templates/part/part_base.html:369
msgid "Default Supplier"
msgstr ""
-#: part/models.py:882
+#: part/models.py:901
msgid "Default supplier part"
msgstr ""
-#: part/models.py:889
+#: part/models.py:908
msgid "Default Expiry"
msgstr ""
-#: part/models.py:890
+#: part/models.py:909
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:895 part/templates/part/part_base.html:206
-msgid "Minimum Stock"
-msgstr ""
-
-#: part/models.py:896
+#: part/models.py:915
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:903
+#: part/models.py:922
msgid "Stock keeping units for this part"
msgstr ""
-#: part/models.py:909
+#: part/models.py:928
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:915
+#: part/models.py:934
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:921
+#: part/models.py:940
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:926
+#: part/models.py:945
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:931
+#: part/models.py:950
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:936
+#: part/models.py:955
msgid "Is this part active?"
msgstr ""
-#: part/models.py:941
+#: part/models.py:960
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:943
+#: part/models.py:962
msgid "Part notes"
msgstr ""
-#: part/models.py:945
+#: part/models.py:964
msgid "BOM checksum"
msgstr ""
-#: part/models.py:945
+#: part/models.py:964
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:948
+#: part/models.py:967
msgid "BOM checked by"
msgstr ""
-#: part/models.py:950
+#: part/models.py:969
msgid "BOM checked date"
msgstr ""
-#: part/models.py:954
+#: part/models.py:973
msgid "Creation User"
msgstr ""
-#: part/models.py:1790
+#: part/models.py:1819
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2319
+#: part/models.py:2682
+msgid "Currency used to cache pricing calculations"
+msgstr ""
+
+#: part/models.py:2687
+msgid "Updated"
+msgstr ""
+
+#: part/models.py:2688
+msgid "Timestamp of last pricing update"
+msgstr ""
+
+#: part/models.py:2705
+msgid "Minimum BOM Cost"
+msgstr ""
+
+#: part/models.py:2706
+msgid "Minimum cost of component parts"
+msgstr ""
+
+#: part/models.py:2711
+msgid "Maximum BOM Cost"
+msgstr ""
+
+#: part/models.py:2712
+msgid "Maximum cost of component parts"
+msgstr ""
+
+#: part/models.py:2717
+msgid "Minimum Purchase Cost"
+msgstr ""
+
+#: part/models.py:2718
+msgid "Minimum historical purchase cost"
+msgstr ""
+
+#: part/models.py:2723
+msgid "Maximum Purchase Cost"
+msgstr ""
+
+#: part/models.py:2724
+msgid "Maximum historical purchase cost"
+msgstr ""
+
+#: part/models.py:2729
+msgid "Minimum Internal Price"
+msgstr ""
+
+#: part/models.py:2730
+msgid "Minimum cost based on internal price breaks"
+msgstr ""
+
+#: part/models.py:2735
+msgid "Maximum Internal Price"
+msgstr ""
+
+#: part/models.py:2736
+msgid "Maximum cost based on internal price breaks"
+msgstr ""
+
+#: part/models.py:2741
+msgid "Minimum Supplier Price"
+msgstr ""
+
+#: part/models.py:2742
+msgid "Minimum price of part from external suppliers"
+msgstr ""
+
+#: part/models.py:2747
+msgid "Maximum Supplier Price"
+msgstr ""
+
+#: part/models.py:2748
+msgid "Maximum price of part from external suppliers"
+msgstr ""
+
+#: part/models.py:2753
+msgid "Minimum Variant Cost"
+msgstr ""
+
+#: part/models.py:2754
+msgid "Calculated minimum cost of variant parts"
+msgstr ""
+
+#: part/models.py:2759
+msgid "Maximum Variant Cost"
+msgstr ""
+
+#: part/models.py:2760
+msgid "Calculated maximum cost of variant parts"
+msgstr ""
+
+#: part/models.py:2766
+msgid "Calculated overall minimum cost"
+msgstr ""
+
+#: part/models.py:2772
+msgid "Calculated overall maximum cost"
+msgstr ""
+
+#: part/models.py:2777
+msgid "Minimum Sale Price"
+msgstr ""
+
+#: part/models.py:2778
+msgid "Minimum sale price based on price breaks"
+msgstr ""
+
+#: part/models.py:2783
+msgid "Maximum Sale Price"
+msgstr ""
+
+#: part/models.py:2784
+msgid "Maximum sale price based on price breaks"
+msgstr ""
+
+#: part/models.py:2789
+msgid "Minimum Sale Cost"
+msgstr ""
+
+#: part/models.py:2790
+msgid "Minimum historical sale price"
+msgstr ""
+
+#: part/models.py:2795
+msgid "Maximum Sale Cost"
+msgstr ""
+
+#: part/models.py:2796
+msgid "Maximum historical sale price"
+msgstr ""
+
+#: part/models.py:2932
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:2336
+#: part/models.py:2949
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2356 templates/js/translated/part.js:2070
-#: templates/js/translated/stock.js:1340
+#: part/models.py:2969 templates/js/translated/part.js:2094
+#: templates/js/translated/stock.js:1359
msgid "Test Name"
msgstr ""
-#: part/models.py:2357
+#: part/models.py:2970
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2362
+#: part/models.py:2975
msgid "Test Description"
msgstr ""
-#: part/models.py:2363
+#: part/models.py:2976
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2368 templates/js/translated/part.js:2079
-#: templates/js/translated/table_filters.js:310
+#: part/models.py:2981 templates/js/translated/part.js:2103
+#: templates/js/translated/table_filters.js:314
msgid "Required"
msgstr ""
-#: part/models.py:2369
+#: part/models.py:2982
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2374 templates/js/translated/part.js:2087
+#: part/models.py:2987 templates/js/translated/part.js:2111
msgid "Requires Value"
msgstr ""
-#: part/models.py:2375
+#: part/models.py:2988
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2380 templates/js/translated/part.js:2094
+#: part/models.py:2993 templates/js/translated/part.js:2118
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2381
+#: part/models.py:2994
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:2422
+#: part/models.py:3035
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:2430
+#: part/models.py:3043
msgid "Parameter Name"
msgstr ""
-#: part/models.py:2434
+#: part/models.py:3047
msgid "Parameter Units"
msgstr ""
-#: part/models.py:2439
+#: part/models.py:3052
msgid "Parameter description"
msgstr ""
-#: part/models.py:2472
+#: part/models.py:3085
msgid "Parent Part"
msgstr ""
-#: part/models.py:2474 part/models.py:2522 part/models.py:2523
+#: part/models.py:3087 part/models.py:3135 part/models.py:3136
#: templates/InvenTree/settings/settings.html:224
msgid "Parameter Template"
msgstr ""
-#: part/models.py:2476
+#: part/models.py:3089
msgid "Data"
msgstr ""
-#: part/models.py:2476
+#: part/models.py:3089
msgid "Parameter Value"
msgstr ""
-#: part/models.py:2527 templates/InvenTree/settings/settings.html:233
+#: part/models.py:3140 templates/InvenTree/settings/settings.html:233
msgid "Default Value"
msgstr ""
-#: part/models.py:2528
+#: part/models.py:3141
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:2565
+#: part/models.py:3178
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:2568 templates/js/translated/model_renderers.js:212
-msgid "Part ID"
-msgstr ""
-
-#: part/models.py:2569
+#: part/models.py:3182
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:2572
-msgid "Part Name"
-msgstr ""
-
-#: part/models.py:2576
-msgid "Part IPN"
-msgstr ""
-
-#: part/models.py:2577
+#: part/models.py:3190
msgid "Part IPN value"
msgstr ""
-#: part/models.py:2580
+#: part/models.py:3193
msgid "Level"
msgstr ""
-#: part/models.py:2581
+#: part/models.py:3194
msgid "BOM level"
msgstr ""
-#: part/models.py:2650
+#: part/models.py:3263
msgid "Select parent part"
msgstr ""
-#: part/models.py:2658
+#: part/models.py:3271
msgid "Sub part"
msgstr ""
-#: part/models.py:2659
+#: part/models.py:3272
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:2665
+#: part/models.py:3278
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:2669 part/templates/part/upload_bom.html:58
-#: templates/js/translated/bom.js:924 templates/js/translated/bom.js:1024
+#: part/models.py:3282 part/templates/part/upload_bom.html:58
+#: templates/js/translated/bom.js:933 templates/js/translated/bom.js:986
#: templates/js/translated/build.js:1858
#: templates/js/translated/table_filters.js:84
-#: templates/js/translated/table_filters.js:108
+#: templates/js/translated/table_filters.js:112
msgid "Optional"
msgstr ""
-#: part/models.py:2670
+#: part/models.py:3283
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:2675 templates/js/translated/bom.js:920
-#: templates/js/translated/bom.js:1033 templates/js/translated/build.js:1849
+#: part/models.py:3288 templates/js/translated/bom.js:929
+#: templates/js/translated/bom.js:995 templates/js/translated/build.js:1849
#: templates/js/translated/table_filters.js:88
msgid "Consumable"
msgstr ""
-#: part/models.py:2676
+#: part/models.py:3289
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:2680 part/templates/part/upload_bom.html:55
+#: part/models.py:3293 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:2681
+#: part/models.py:3294
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:2684
+#: part/models.py:3297
msgid "BOM item reference"
msgstr ""
-#: part/models.py:2687
+#: part/models.py:3300
msgid "BOM item notes"
msgstr ""
-#: part/models.py:2689
+#: part/models.py:3302
msgid "Checksum"
msgstr ""
-#: part/models.py:2689
+#: part/models.py:3302
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:2693 part/templates/part/upload_bom.html:57
-#: templates/js/translated/bom.js:1050
+#: part/models.py:3306 part/templates/part/upload_bom.html:57
+#: templates/js/translated/bom.js:1012
#: templates/js/translated/table_filters.js:76
-#: templates/js/translated/table_filters.js:104
+#: templates/js/translated/table_filters.js:108
msgid "Inherited"
msgstr ""
-#: part/models.py:2694
+#: part/models.py:3307
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:2699 part/templates/part/upload_bom.html:56
-#: templates/js/translated/bom.js:1042
+#: part/models.py:3312 part/templates/part/upload_bom.html:56
+#: templates/js/translated/bom.js:1004
msgid "Allow Variants"
msgstr ""
-#: part/models.py:2700
+#: part/models.py:3313
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:2786 stock/models.py:502
+#: part/models.py:3399 stock/models.py:518
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:2795 part/models.py:2797
+#: part/models.py:3408 part/models.py:3410
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:2902
+#: part/models.py:3537
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:2923
+#: part/models.py:3558
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:2936
+#: part/models.py:3571
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:2944
+#: part/models.py:3579
msgid "Substitute part"
msgstr ""
-#: part/models.py:2959
+#: part/models.py:3594
msgid "Part 1"
msgstr ""
-#: part/models.py:2963
+#: part/models.py:3598
msgid "Part 2"
msgstr ""
-#: part/models.py:2963
+#: part/models.py:3598
msgid "Select Related Part"
msgstr ""
-#: part/models.py:2981
+#: part/models.py:3616
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:2985
+#: part/models.py:3620
msgid "Duplicate relationship already exists"
msgstr ""
-#: part/serializers.py:154 part/serializers.py:185 stock/serializers.py:179
+#: part/serializers.py:154 part/serializers.py:182 stock/serializers.py:183
msgid "Purchase currency of this stock item"
msgstr ""
-#: part/serializers.py:829
+#: part/serializers.py:542
+msgid "Update"
+msgstr ""
+
+#: part/serializers.py:543
+msgid "Update pricing for this part"
+msgstr ""
+
+#: part/serializers.py:853
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:837
+#: part/serializers.py:861
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:838
+#: part/serializers.py:862
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:843
+#: part/serializers.py:867
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:844
+#: part/serializers.py:868
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:849
+#: part/serializers.py:873
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:850
+#: part/serializers.py:874
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:855
+#: part/serializers.py:879
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:856
+#: part/serializers.py:880
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/serializers.py:896
+#: part/serializers.py:920
msgid "Clear Existing BOM"
msgstr ""
-#: part/serializers.py:897
+#: part/serializers.py:921
msgid "Delete existing BOM items before uploading"
msgstr ""
-#: part/serializers.py:927
+#: part/serializers.py:951
msgid "No part column specified"
msgstr ""
-#: part/serializers.py:970
+#: part/serializers.py:994
msgid "Multiple matching parts found"
msgstr ""
-#: part/serializers.py:973
+#: part/serializers.py:997
msgid "No matching part found"
msgstr ""
-#: part/serializers.py:976
+#: part/serializers.py:1000
msgid "Part is not designated as a component"
msgstr ""
-#: part/serializers.py:985
+#: part/serializers.py:1009
msgid "Quantity not provided"
msgstr ""
-#: part/serializers.py:993
+#: part/serializers.py:1017
msgid "Invalid quantity"
msgstr ""
-#: part/serializers.py:1014
+#: part/serializers.py:1038
msgid "At least one BOM item is required"
msgstr ""
-#: part/tasks.py:21
+#: part/tasks.py:25
msgid "Low stock notification"
msgstr ""
-#: part/tasks.py:22
+#: part/tasks.py:26
#, python-brace-format
msgid "The available stock for {part.name} has fallen below the configured minimum level"
msgstr ""
@@ -5034,7 +5293,7 @@ msgstr ""
msgid "The BOM for %(part)s has not been validated."
msgstr ""
-#: part/templates/part/bom.html:30 part/templates/part/detail.html:269
+#: part/templates/part/bom.html:30 part/templates/part/detail.html:267
msgid "BOM actions"
msgstr ""
@@ -5070,10 +5329,6 @@ msgstr ""
msgid "Delete Category"
msgstr ""
-#: part/templates/part/category.html:81 part/templates/part/category.html:94
-msgid "Category Path"
-msgstr ""
-
#: part/templates/part/category.html:95
msgid "Top level part category"
msgstr ""
@@ -5091,12 +5346,12 @@ msgstr ""
msgid "Create new part"
msgstr ""
-#: part/templates/part/category.html:159 templates/js/translated/bom.js:392
+#: part/templates/part/category.html:159 templates/js/translated/bom.js:405
msgid "New Part"
msgstr ""
-#: part/templates/part/category.html:169 part/templates/part/detail.html:368
-#: part/templates/part/detail.html:399
+#: part/templates/part/category.html:169 part/templates/part/detail.html:366
+#: part/templates/part/detail.html:397
msgid "Options"
msgstr ""
@@ -5144,7 +5399,7 @@ msgstr ""
msgid "Import Parts"
msgstr ""
-#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:379
+#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:393
msgid "Duplicate Part"
msgstr ""
@@ -5176,7 +5431,8 @@ msgstr ""
msgid "Refresh scheduling data"
msgstr ""
-#: part/templates/part/detail.html:45 templates/js/translated/tables.js:524
+#: part/templates/part/detail.html:45 part/templates/part/prices.html:15
+#: templates/js/translated/tables.js:524
msgid "Refresh"
msgstr ""
@@ -5192,123 +5448,103 @@ msgstr ""
msgid "Sales Order Allocations"
msgstr ""
-#: part/templates/part/detail.html:143
+#: part/templates/part/detail.html:141
msgid "Part Notes"
msgstr ""
-#: part/templates/part/detail.html:158
+#: part/templates/part/detail.html:156
msgid "Part Variants"
msgstr ""
-#: part/templates/part/detail.html:162
+#: part/templates/part/detail.html:160
msgid "Create new variant"
msgstr ""
-#: part/templates/part/detail.html:163
+#: part/templates/part/detail.html:161
msgid "New Variant"
msgstr ""
-#: part/templates/part/detail.html:190
+#: part/templates/part/detail.html:188
msgid "Add new parameter"
msgstr ""
-#: part/templates/part/detail.html:227 part/templates/part/part_sidebar.html:54
+#: part/templates/part/detail.html:225 part/templates/part/part_sidebar.html:52
msgid "Related Parts"
msgstr ""
-#: part/templates/part/detail.html:231 part/templates/part/detail.html:232
+#: part/templates/part/detail.html:229 part/templates/part/detail.html:230
msgid "Add Related"
msgstr ""
-#: part/templates/part/detail.html:252 part/templates/part/part_sidebar.html:17
+#: part/templates/part/detail.html:250 part/templates/part/part_sidebar.html:17
msgid "Bill of Materials"
msgstr ""
-#: part/templates/part/detail.html:257
+#: part/templates/part/detail.html:255
msgid "Export actions"
msgstr ""
-#: part/templates/part/detail.html:261 templates/js/translated/bom.js:309
+#: part/templates/part/detail.html:259 templates/js/translated/bom.js:309
msgid "Export BOM"
msgstr ""
-#: part/templates/part/detail.html:263
+#: part/templates/part/detail.html:261
msgid "Print BOM Report"
msgstr ""
-#: part/templates/part/detail.html:273
+#: part/templates/part/detail.html:271
msgid "Upload BOM"
msgstr ""
-#: part/templates/part/detail.html:274 templates/js/translated/part.js:274
+#: part/templates/part/detail.html:272 templates/js/translated/part.js:270
msgid "Copy BOM"
msgstr ""
-#: part/templates/part/detail.html:275
+#: part/templates/part/detail.html:273
msgid "Validate BOM"
msgstr ""
-#: part/templates/part/detail.html:280 part/templates/part/detail.html:281
-#: templates/js/translated/bom.js:1202 templates/js/translated/bom.js:1203
+#: part/templates/part/detail.html:278 part/templates/part/detail.html:279
+#: templates/js/translated/bom.js:1267 templates/js/translated/bom.js:1268
msgid "Add BOM Item"
msgstr ""
-#: part/templates/part/detail.html:294
+#: part/templates/part/detail.html:292
msgid "Assemblies"
msgstr ""
-#: part/templates/part/detail.html:312
+#: part/templates/part/detail.html:310
msgid "Part Builds"
msgstr ""
-#: part/templates/part/detail.html:339 stock/templates/stock/item.html:38
+#: part/templates/part/detail.html:337 stock/templates/stock/item.html:38
msgid "Build Order Allocations"
msgstr ""
-#: part/templates/part/detail.html:355
+#: part/templates/part/detail.html:353
msgid "Part Suppliers"
msgstr ""
-#: part/templates/part/detail.html:385
+#: part/templates/part/detail.html:383
msgid "Part Manufacturers"
msgstr ""
-#: part/templates/part/detail.html:401
+#: part/templates/part/detail.html:399
msgid "Delete manufacturer parts"
msgstr ""
-#: part/templates/part/detail.html:658
+#: part/templates/part/detail.html:656
msgid "Related Part"
msgstr ""
-#: part/templates/part/detail.html:666
+#: part/templates/part/detail.html:664
msgid "Add Related Part"
msgstr ""
-#: part/templates/part/detail.html:758
+#: part/templates/part/detail.html:756
msgid "Add Test Result Template"
msgstr ""
-#: part/templates/part/detail.html:901
-#, python-format
-msgid "Purchase Unit Price - %(currency)s"
-msgstr ""
-
-#: part/templates/part/detail.html:913
-#, python-format
-msgid "Unit Price-Cost Difference - %(currency)s"
-msgstr ""
-
-#: part/templates/part/detail.html:925
-#, python-format
-msgid "Supplier Unit Cost - %(currency)s"
-msgstr ""
-
-#: part/templates/part/detail.html:1014
-#, python-format
-msgid "Unit Price - %(currency)s"
-msgstr ""
-
#: part/templates/part/import_wizard/ajax_match_fields.html:9
#: templates/patterns/wizard/match_fields.html:8
msgid "Missing selections for the following required columns"
@@ -5439,15 +5675,15 @@ msgid "Part is virtual (not a physical part)"
msgstr ""
#: part/templates/part/part_base.html:148
-#: templates/js/translated/company.js:659
-#: templates/js/translated/company.js:920
+#: templates/js/translated/company.js:660
+#: templates/js/translated/company.js:921
#: templates/js/translated/model_renderers.js:204
-#: templates/js/translated/part.js:652 templates/js/translated/part.js:729
+#: templates/js/translated/part.js:666 templates/js/translated/part.js:743
msgid "Inactive"
msgstr ""
#: part/templates/part/part_base.html:165
-#: part/templates/part/part_base.html:620
+#: part/templates/part/part_base.html:635
msgid "Show Part Details"
msgstr ""
@@ -5456,12 +5692,6 @@ msgstr ""
msgid "This part is a variant of %(link)s"
msgstr ""
-#: part/templates/part/part_base.html:200
-#: templates/js/translated/company.js:1027
-#: templates/js/translated/table_filters.js:209
-msgid "In Stock"
-msgstr ""
-
#: part/templates/part/part_base.html:221
#: stock/templates/stock/item_base.html:382
msgid "Allocated to Build Orders"
@@ -5472,100 +5702,91 @@ msgstr ""
msgid "Allocated to Sales Orders"
msgstr ""
-#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1100
+#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1165
msgid "Can Build"
msgstr ""
-#: part/templates/part/part_base.html:244 templates/js/translated/part.js:591
-#: templates/js/translated/part.js:611 templates/js/translated/part.js:1342
-#: templates/js/translated/part.js:1533
-msgid "Building"
-msgstr ""
-
#: part/templates/part/part_base.html:293
msgid "Minimum stock level"
msgstr ""
-#: part/templates/part/part_base.html:330
+#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1032
+#: templates/js/translated/part.js:783 templates/js/translated/part.js:1582
+#: templates/js/translated/pricing.js:124
+#: templates/js/translated/pricing.js:757
+msgid "Price Range"
+msgstr ""
+
+#: part/templates/part/part_base.html:345
msgid "Latest Serial Number"
msgstr "Số seri mới nhất"
-#: part/templates/part/part_base.html:334
+#: part/templates/part/part_base.html:349
#: stock/templates/stock/item_base.html:331
msgid "Search for serial number"
msgstr ""
-#: part/templates/part/part_base.html:431
+#: part/templates/part/part_base.html:446
msgid "Link Barcode to Part"
msgstr ""
-#: part/templates/part/part_base.html:477 part/templates/part/prices.html:149
+#: part/templates/part/part_base.html:492
msgid "Calculate"
msgstr ""
-#: part/templates/part/part_base.html:520
+#: part/templates/part/part_base.html:535
msgid "No matching images found"
msgstr ""
-#: part/templates/part/part_base.html:614
+#: part/templates/part/part_base.html:629
msgid "Hide Part Details"
msgstr ""
-#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:24
+#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:78
+#: part/templates/part/prices.html:238 templates/js/translated/pricing.js:218
msgid "Supplier Pricing"
msgstr ""
#: part/templates/part/part_pricing.html:26
#: part/templates/part/part_pricing.html:52
-#: part/templates/part/part_pricing.html:103
-#: part/templates/part/part_pricing.html:118 part/templates/part/prices.html:28
-#: part/templates/part/prices.html:55 part/templates/part/prices.html:108
-#: part/templates/part/prices.html:125
+#: part/templates/part/part_pricing.html:95
+#: part/templates/part/part_pricing.html:110
msgid "Unit Cost"
msgstr ""
#: part/templates/part/part_pricing.html:32
#: part/templates/part/part_pricing.html:58
-#: part/templates/part/part_pricing.html:107
-#: part/templates/part/part_pricing.html:122 part/templates/part/prices.html:35
-#: part/templates/part/prices.html:62 part/templates/part/prices.html:113
-#: part/templates/part/prices.html:130
+#: part/templates/part/part_pricing.html:99
+#: part/templates/part/part_pricing.html:114
msgid "Total Cost"
msgstr ""
-#: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:43
-#: templates/js/translated/bom.js:1091
+#: part/templates/part/part_pricing.html:40
msgid "No supplier pricing available"
msgstr ""
-#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:52
-#: part/templates/part/prices.html:248
+#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:94
+#: part/templates/part/prices.html:262
msgid "BOM Pricing"
msgstr ""
-#: part/templates/part/part_pricing.html:66 part/templates/part/prices.html:72
+#: part/templates/part/part_pricing.html:66
msgid "Unit Purchase Price"
msgstr ""
-#: part/templates/part/part_pricing.html:72 part/templates/part/prices.html:79
+#: part/templates/part/part_pricing.html:72
msgid "Total Purchase Price"
msgstr ""
-#: part/templates/part/part_pricing.html:82 part/templates/part/prices.html:89
-msgid "Note: BOM pricing is incomplete for this part"
-msgstr ""
-
-#: part/templates/part/part_pricing.html:91 part/templates/part/prices.html:98
+#: part/templates/part/part_pricing.html:83
msgid "No BOM pricing available"
msgstr ""
-#: part/templates/part/part_pricing.html:100
-#: part/templates/part/prices.html:107
+#: part/templates/part/part_pricing.html:92
msgid "Internal Price"
msgstr ""
-#: part/templates/part/part_pricing.html:131
-#: part/templates/part/prices.html:139
+#: part/templates/part/part_pricing.html:123
msgid "No pricing information is available for this part."
msgstr ""
@@ -5573,7 +5794,8 @@ msgstr ""
#: report/templates/report/inventree_test_report_base.html:97
#: templates/InvenTree/settings/plugin.html:63
#: templates/InvenTree/settings/plugin_settings.html:38
-#: templates/js/translated/order.js:2001 templates/js/translated/stock.js:2478
+#: templates/js/translated/order.js:2035 templates/js/translated/pricing.js:537
+#: templates/js/translated/pricing.js:658 templates/js/translated/stock.js:2496
msgid "Date"
msgstr ""
@@ -5585,15 +5807,11 @@ msgstr ""
msgid "Variants"
msgstr ""
-#: part/templates/part/part_sidebar.html:27
-msgid "Used In"
-msgstr ""
-
-#: part/templates/part/part_sidebar.html:46
+#: part/templates/part/part_sidebar.html:44
msgid "Scheduling"
msgstr ""
-#: part/templates/part/part_sidebar.html:50
+#: part/templates/part/part_sidebar.html:48
msgid "Test Templates"
msgstr ""
@@ -5601,74 +5819,82 @@ msgstr ""
msgid "Select from existing images"
msgstr ""
-#: part/templates/part/prices.html:19
-msgid "Pricing ranges"
+#: part/templates/part/prices.html:11
+msgid "Pricing Overview"
msgstr ""
-#: part/templates/part/prices.html:25
-msgid "Show supplier cost"
+#: part/templates/part/prices.html:14
+msgid "Refresh Part Pricing"
msgstr ""
-#: part/templates/part/prices.html:26
-msgid "Show purchase price"
+#: part/templates/part/prices.html:25 stock/admin.py:106
+#: stock/templates/stock/item_base.html:440
+#: templates/js/translated/company.js:1039
+#: templates/js/translated/stock.js:1920
+msgid "Last Updated"
msgstr ""
-#: part/templates/part/prices.html:53
-msgid "Show BOM cost"
+#: part/templates/part/prices.html:34 part/templates/part/prices.html:126
+msgid "Price Category"
msgstr ""
-#: part/templates/part/prices.html:122
-msgid "Show sale cost"
+#: part/templates/part/prices.html:35 part/templates/part/prices.html:127
+msgid "Minimum"
msgstr ""
-#: part/templates/part/prices.html:123
-msgid "Show sale price"
+#: part/templates/part/prices.html:36 part/templates/part/prices.html:128
+msgid "Maximum"
msgstr ""
-#: part/templates/part/prices.html:145
-msgid "Calculation parameters"
+#: part/templates/part/prices.html:49 part/templates/part/prices.html:185
+msgid "Internal Pricing"
msgstr ""
-#: part/templates/part/prices.html:160 templates/js/translated/bom.js:1085
-msgid "Supplier Cost"
+#: part/templates/part/prices.html:64 part/templates/part/prices.html:217
+msgid "Purchase History"
msgstr ""
-#: part/templates/part/prices.html:161 part/templates/part/prices.html:182
-#: part/templates/part/prices.html:206 part/templates/part/prices.html:236
-#: part/templates/part/prices.html:262 part/templates/part/prices.html:291
+#: part/templates/part/prices.html:103 part/templates/part/prices.html:286
+msgid "Variant Pricing"
+msgstr ""
+
+#: part/templates/part/prices.html:111
+msgid "Overall Pricing"
+msgstr ""
+
+#: part/templates/part/prices.html:155 part/templates/part/prices.html:338
+msgid "Sale History"
+msgstr ""
+
+#: part/templates/part/prices.html:168
+msgid "Sale price data is not available for this part"
+msgstr ""
+
+#: part/templates/part/prices.html:175
+msgid "Price range data is not available for this part."
+msgstr ""
+
+#: part/templates/part/prices.html:186 part/templates/part/prices.html:218
+#: part/templates/part/prices.html:239 part/templates/part/prices.html:263
+#: part/templates/part/prices.html:287 part/templates/part/prices.html:310
+#: part/templates/part/prices.html:339
msgid "Jump to overview"
msgstr ""
-#: part/templates/part/prices.html:186
-msgid "Stock Pricing"
-msgstr ""
-
-#: part/templates/part/prices.html:195
-msgid "No stock pricing history is available for this part."
-msgstr ""
-
-#: part/templates/part/prices.html:205
-msgid "Internal Cost"
-msgstr ""
-
-#: part/templates/part/prices.html:220
+#: part/templates/part/prices.html:191
msgid "Add Internal Price Break"
msgstr ""
-#: part/templates/part/prices.html:235
-msgid "BOM Cost"
+#: part/templates/part/prices.html:309
+msgid "Sale Pricing"
msgstr ""
-#: part/templates/part/prices.html:261
-msgid "Sale Cost"
+#: part/templates/part/prices.html:315
+msgid "Add Sell Price Break"
msgstr ""
-#: part/templates/part/prices.html:302
-msgid "No sale pice history available for this part."
-msgstr ""
-
-#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:614
-#: templates/js/translated/part.js:1330 templates/js/translated/part.js:1332
+#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:628
+#: templates/js/translated/part.js:1351 templates/js/translated/part.js:1353
msgid "No Stock"
msgstr ""
@@ -5722,40 +5948,36 @@ msgstr ""
msgid "Create a new variant of template '%(full_name)s'."
msgstr ""
-#: part/templatetags/inventree_extras.py:177
+#: part/templatetags/inventree_extras.py:210
msgid "Unknown database"
msgstr ""
-#: part/templatetags/inventree_extras.py:229
+#: part/templatetags/inventree_extras.py:262
#, python-brace-format
msgid "{title} v{version}"
msgstr ""
-#: part/views.py:114
+#: part/views.py:109
msgid "Match References"
msgstr ""
-#: part/views.py:415
-msgid "None"
-msgstr ""
-
-#: part/views.py:477
+#: part/views.py:354
msgid "Part QR Code"
msgstr ""
-#: part/views.py:495
+#: part/views.py:372
msgid "Select Part Image"
msgstr ""
-#: part/views.py:521
+#: part/views.py:398
msgid "Updated part image"
msgstr ""
-#: part/views.py:524
+#: part/views.py:401
msgid "Part image not found"
msgstr ""
-#: part/views.py:613
+#: part/views.py:493
msgid "Part Pricing"
msgstr ""
@@ -6070,12 +6292,12 @@ msgid "Stock Item Test Report"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:79
-#: stock/models.py:650 stock/templates/stock/item_base.html:320
+#: stock/models.py:666 stock/templates/stock/item_base.html:320
#: templates/js/translated/build.js:472 templates/js/translated/build.js:624
#: templates/js/translated/build.js:1234 templates/js/translated/build.js:1735
#: templates/js/translated/model_renderers.js:118
-#: templates/js/translated/order.js:121 templates/js/translated/order.js:3592
-#: templates/js/translated/order.js:3679 templates/js/translated/stock.js:490
+#: templates/js/translated/order.js:121 templates/js/translated/order.js:3603
+#: templates/js/translated/order.js:3690 templates/js/translated/stock.js:509
msgid "Serial Number"
msgstr ""
@@ -6084,12 +6306,12 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:93
-#: stock/models.py:2085
+#: stock/models.py:2101
msgid "Test"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:94
-#: stock/models.py:2091
+#: stock/models.py:2107
msgid "Result"
msgstr ""
@@ -6107,383 +6329,435 @@ msgid "Installed Items"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:137
-#: templates/js/translated/stock.js:610 templates/js/translated/stock.js:780
-#: templates/js/translated/stock.js:2727
+#: stock/admin.py:87 templates/js/translated/stock.js:629
+#: templates/js/translated/stock.js:799 templates/js/translated/stock.js:2745
msgid "Serial"
msgstr ""
-#: stock/api.py:529
+#: stock/admin.py:23 stock/admin.py:90
+#: templates/js/translated/model_renderers.js:159
+msgid "Location ID"
+msgstr ""
+
+#: stock/admin.py:24 stock/admin.py:91
+msgid "Location Name"
+msgstr ""
+
+#: stock/admin.py:28 stock/templates/stock/location.html:123
+#: stock/templates/stock/location.html:129
+msgid "Location Path"
+msgstr ""
+
+#: stock/admin.py:83
+msgid "Stock Item ID"
+msgstr ""
+
+#: stock/admin.py:92 templates/js/translated/model_renderers.js:418
+msgid "Supplier Part ID"
+msgstr ""
+
+#: stock/admin.py:93
+msgid "Supplier ID"
+msgstr ""
+
+#: stock/admin.py:94
+msgid "Supplier Name"
+msgstr ""
+
+#: stock/admin.py:95
+msgid "Customer ID"
+msgstr ""
+
+#: stock/admin.py:96 stock/models.py:649
+#: stock/templates/stock/item_base.html:359
+msgid "Installed In"
+msgstr ""
+
+#: stock/admin.py:97 templates/js/translated/model_renderers.js:177
+msgid "Build ID"
+msgstr ""
+
+#: stock/admin.py:99
+msgid "Sales Order ID"
+msgstr ""
+
+#: stock/admin.py:100
+msgid "Purchase Order ID"
+msgstr ""
+
+#: stock/admin.py:107 templates/js/translated/stock.js:1890
+msgid "Stocktake"
+msgstr ""
+
+#: stock/admin.py:108 stock/models.py:724
+#: stock/templates/stock/item_base.html:427
+#: templates/js/translated/stock.js:1904
+msgid "Expiry Date"
+msgstr ""
+
+#: stock/api.py:539
msgid "Quantity is required"
msgstr ""
-#: stock/api.py:536
+#: stock/api.py:546
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:561
+#: stock/api.py:571
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/models.py:90 stock/models.py:746
+#: stock/models.py:106 stock/models.py:762
#: stock/templates/stock/item_base.html:250
msgid "Owner"
msgstr ""
-#: stock/models.py:91 stock/models.py:747
+#: stock/models.py:107 stock/models.py:763
msgid "Select Owner"
msgstr ""
-#: stock/models.py:508 stock/serializers.py:93
+#: stock/models.py:524 stock/serializers.py:97
msgid "Stock item cannot be created for virtual parts"
msgstr ""
-#: stock/models.py:525
+#: stock/models.py:541
#, python-brace-format
msgid "Part type ('{pf}') must be {pe}"
msgstr ""
-#: stock/models.py:535 stock/models.py:544
+#: stock/models.py:551 stock/models.py:560
msgid "Quantity must be 1 for item with a serial number"
msgstr ""
-#: stock/models.py:536
+#: stock/models.py:552
msgid "Serial number cannot be set if quantity greater than 1"
msgstr ""
-#: stock/models.py:558
+#: stock/models.py:574
msgid "Item cannot belong to itself"
msgstr ""
-#: stock/models.py:564
+#: stock/models.py:580
msgid "Item must have a build reference if is_building=True"
msgstr ""
-#: stock/models.py:578
+#: stock/models.py:594
msgid "Build reference does not point to the same part object"
msgstr ""
-#: stock/models.py:592
+#: stock/models.py:608
msgid "Parent Stock Item"
msgstr ""
-#: stock/models.py:602
+#: stock/models.py:618
msgid "Base part"
msgstr ""
-#: stock/models.py:610
+#: stock/models.py:626
msgid "Select a matching supplier part for this stock item"
msgstr ""
-#: stock/models.py:617 stock/templates/stock/location.html:17
+#: stock/models.py:633 stock/templates/stock/location.html:17
#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
msgstr "Kho hàng"
-#: stock/models.py:620
+#: stock/models.py:636
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:627
+#: stock/models.py:643
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:633 stock/templates/stock/item_base.html:359
-msgid "Installed In"
-msgstr ""
-
-#: stock/models.py:636
+#: stock/models.py:652
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:652
+#: stock/models.py:668
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:666
+#: stock/models.py:682
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:671
+#: stock/models.py:687
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:680
+#: stock/models.py:696
msgid "Source Build"
msgstr ""
-#: stock/models.py:682
+#: stock/models.py:698
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:693
+#: stock/models.py:709
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:696
+#: stock/models.py:712
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:702
+#: stock/models.py:718
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:708 stock/templates/stock/item_base.html:427
-#: templates/js/translated/stock.js:1885
-msgid "Expiry Date"
-msgstr ""
-
-#: stock/models.py:709
+#: stock/models.py:725
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:722
+#: stock/models.py:738
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:722
+#: stock/models.py:738
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:734 stock/templates/stock/item.html:132
+#: stock/models.py:750 stock/templates/stock/item.html:132
msgid "Stock Item Notes"
msgstr ""
-#: stock/models.py:742
+#: stock/models.py:758
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:770
+#: stock/models.py:786
msgid "Converted to part"
msgstr ""
-#: stock/models.py:1244
+#: stock/models.py:1260
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1250
+#: stock/models.py:1266
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1256
+#: stock/models.py:1272
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr ""
-#: stock/models.py:1259
+#: stock/models.py:1275
msgid "Serial numbers must be a list of integers"
msgstr ""
-#: stock/models.py:1262
+#: stock/models.py:1278
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1269
+#: stock/models.py:1285
#, python-brace-format
msgid "Serial numbers already exist: {exists}"
msgstr ""
-#: stock/models.py:1339
+#: stock/models.py:1355
msgid "Stock item has been assigned to a sales order"
msgstr ""
-#: stock/models.py:1342
+#: stock/models.py:1358
msgid "Stock item is installed in another item"
msgstr ""
-#: stock/models.py:1345
+#: stock/models.py:1361
msgid "Stock item contains other items"
msgstr ""
-#: stock/models.py:1348
+#: stock/models.py:1364
msgid "Stock item has been assigned to a customer"
msgstr ""
-#: stock/models.py:1351
+#: stock/models.py:1367
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:1354
+#: stock/models.py:1370
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1361 stock/serializers.py:963
+#: stock/models.py:1377 stock/serializers.py:962
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:1365
+#: stock/models.py:1381
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:1369
+#: stock/models.py:1385
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:1373
+#: stock/models.py:1389
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:1542
+#: stock/models.py:1558
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:2003
+#: stock/models.py:2019
msgid "Entry notes"
msgstr ""
-#: stock/models.py:2061
+#: stock/models.py:2077
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:2067
+#: stock/models.py:2083
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:2086
+#: stock/models.py:2102
msgid "Test name"
msgstr ""
-#: stock/models.py:2092
+#: stock/models.py:2108
msgid "Test result"
msgstr ""
-#: stock/models.py:2098
+#: stock/models.py:2114
msgid "Test output value"
msgstr ""
-#: stock/models.py:2105
+#: stock/models.py:2121
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2111
+#: stock/models.py:2127
msgid "Test notes"
msgstr ""
-#: stock/serializers.py:71
+#: stock/serializers.py:75
msgid "Serial number is too large"
msgstr ""
-#: stock/serializers.py:172
+#: stock/serializers.py:176
msgid "Purchase price of this stock item"
msgstr ""
-#: stock/serializers.py:292
+#: stock/serializers.py:286
msgid "Enter number of stock items to serialize"
msgstr ""
-#: stock/serializers.py:304
+#: stock/serializers.py:298
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({q})"
msgstr ""
-#: stock/serializers.py:310
+#: stock/serializers.py:304
msgid "Enter serial numbers for new items"
msgstr ""
-#: stock/serializers.py:321 stock/serializers.py:920 stock/serializers.py:1153
+#: stock/serializers.py:315 stock/serializers.py:919 stock/serializers.py:1152
msgid "Destination stock location"
msgstr ""
-#: stock/serializers.py:328
+#: stock/serializers.py:322
msgid "Optional note field"
msgstr ""
-#: stock/serializers.py:338
+#: stock/serializers.py:332
msgid "Serial numbers cannot be assigned to this part"
msgstr ""
-#: stock/serializers.py:359
+#: stock/serializers.py:353
msgid "Serial numbers already exist"
msgstr ""
-#: stock/serializers.py:399
+#: stock/serializers.py:393
msgid "Select stock item to install"
msgstr ""
-#: stock/serializers.py:412
+#: stock/serializers.py:406
msgid "Stock item is unavailable"
msgstr ""
-#: stock/serializers.py:419
+#: stock/serializers.py:413
msgid "Selected part is not in the Bill of Materials"
msgstr ""
-#: stock/serializers.py:456
+#: stock/serializers.py:450
msgid "Destination location for uninstalled item"
msgstr ""
-#: stock/serializers.py:461 stock/serializers.py:542
+#: stock/serializers.py:455 stock/serializers.py:536
msgid "Add transaction note (optional)"
msgstr ""
-#: stock/serializers.py:495
+#: stock/serializers.py:489
msgid "Select part to convert stock item into"
msgstr ""
-#: stock/serializers.py:506
+#: stock/serializers.py:500
msgid "Selected part is not a valid option for conversion"
msgstr ""
-#: stock/serializers.py:537
+#: stock/serializers.py:531
msgid "Destination location for returned item"
msgstr ""
-#: stock/serializers.py:775
+#: stock/serializers.py:774
msgid "Part must be salable"
msgstr ""
-#: stock/serializers.py:779
+#: stock/serializers.py:778
msgid "Item is allocated to a sales order"
msgstr ""
-#: stock/serializers.py:783
+#: stock/serializers.py:782
msgid "Item is allocated to a build order"
msgstr ""
-#: stock/serializers.py:814
+#: stock/serializers.py:813
msgid "Customer to assign stock items"
msgstr ""
-#: stock/serializers.py:820
+#: stock/serializers.py:819
msgid "Selected company is not a customer"
msgstr ""
-#: stock/serializers.py:828
+#: stock/serializers.py:827
msgid "Stock assignment notes"
msgstr ""
-#: stock/serializers.py:838 stock/serializers.py:1069
+#: stock/serializers.py:837 stock/serializers.py:1068
msgid "A list of stock items must be provided"
msgstr ""
-#: stock/serializers.py:927
+#: stock/serializers.py:926
msgid "Stock merging notes"
msgstr ""
-#: stock/serializers.py:932
+#: stock/serializers.py:931
msgid "Allow mismatched suppliers"
msgstr ""
-#: stock/serializers.py:933
+#: stock/serializers.py:932
msgid "Allow stock items with different supplier parts to be merged"
msgstr ""
-#: stock/serializers.py:938
+#: stock/serializers.py:937
msgid "Allow mismatched status"
msgstr ""
-#: stock/serializers.py:939
+#: stock/serializers.py:938
msgid "Allow stock items with different status codes to be merged"
msgstr ""
-#: stock/serializers.py:949
+#: stock/serializers.py:948
msgid "At least two stock items must be provided"
msgstr ""
-#: stock/serializers.py:1031
+#: stock/serializers.py:1030
msgid "StockItem primary key value"
msgstr ""
-#: stock/serializers.py:1059
+#: stock/serializers.py:1058
msgid "Stock transaction notes"
msgstr ""
@@ -6520,7 +6794,7 @@ msgstr ""
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2871
+#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2889
msgid "Install Stock Item"
msgstr ""
@@ -6528,7 +6802,7 @@ msgstr ""
msgid "Delete all test results for this stock item"
msgstr ""
-#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1522
+#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1541
msgid "Add Test Result"
msgstr ""
@@ -6687,7 +6961,7 @@ msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:431
-#: templates/js/translated/table_filters.js:277
+#: templates/js/translated/table_filters.js:281
msgid "Expired"
msgstr ""
@@ -6697,16 +6971,10 @@ msgid "This StockItem expires on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/table_filters.js:283
+#: templates/js/translated/table_filters.js:287
msgid "Stale"
msgstr ""
-#: stock/templates/stock/item_base.html:440
-#: templates/js/translated/company.js:1038
-#: templates/js/translated/stock.js:1901
-msgid "Last Updated"
-msgstr ""
-
#: stock/templates/stock/item_base.html:445
msgid "Last Stocktake"
msgstr ""
@@ -6783,11 +7051,6 @@ msgstr ""
msgid "Delete location"
msgstr ""
-#: stock/templates/stock/location.html:123
-#: stock/templates/stock/location.html:129
-msgid "Location Path"
-msgstr ""
-
#: stock/templates/stock/location.html:130
msgid "Top level stock location"
msgstr ""
@@ -6960,6 +7223,14 @@ msgstr ""
msgid "Overdue Sales Orders"
msgstr ""
+#: templates/InvenTree/index.html:312
+msgid "InvenTree News"
+msgstr ""
+
+#: templates/InvenTree/index.html:314
+msgid "Current News"
+msgstr ""
+
#: templates/InvenTree/notifications/history.html:9
msgid "Notification History"
msgstr ""
@@ -7026,30 +7297,6 @@ msgstr ""
msgid "Category Settings"
msgstr ""
-#: templates/InvenTree/settings/currencies.html:8
-msgid "Currency Settings"
-msgstr ""
-
-#: templates/InvenTree/settings/currencies.html:19
-msgid "Base Currency"
-msgstr ""
-
-#: templates/InvenTree/settings/currencies.html:24
-msgid "Exchange Rates"
-msgstr ""
-
-#: templates/InvenTree/settings/currencies.html:38
-msgid "Last Update"
-msgstr ""
-
-#: templates/InvenTree/settings/currencies.html:44
-msgid "Never"
-msgstr ""
-
-#: templates/InvenTree/settings/currencies.html:49
-msgid "Update Now"
-msgstr ""
-
#: templates/InvenTree/settings/global.html:9
msgid "Server Settings"
msgstr ""
@@ -7090,15 +7337,15 @@ msgstr ""
msgid "Part Settings"
msgstr ""
-#: templates/InvenTree/settings/part.html:46
+#: templates/InvenTree/settings/part.html:40
msgid "Part Import"
msgstr ""
-#: templates/InvenTree/settings/part.html:50
+#: templates/InvenTree/settings/part.html:44
msgid "Import Part"
msgstr ""
-#: templates/InvenTree/settings/part.html:64
+#: templates/InvenTree/settings/part.html:58
msgid "Part Parameter Templates"
msgstr ""
@@ -7125,11 +7372,6 @@ msgstr ""
msgid "External plugins are not enabled for this InvenTree installation"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:62
-#: templates/InvenTree/settings/plugin_settings.html:33
-msgid "Author"
-msgstr ""
-
#: templates/InvenTree/settings/plugin.html:64
#: templates/InvenTree/settings/plugin_settings.html:43
msgid "Version"
@@ -7239,6 +7481,39 @@ msgstr ""
msgid "Purchase Order Settings"
msgstr ""
+#: templates/InvenTree/settings/pricing.html:7
+msgid "Pricing Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:24
+msgid "Currency Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:30
+msgid "Update Now"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:39
+#: templates/InvenTree/settings/pricing.html:43
+msgid "Last Update"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:43
+msgid "Never"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:53
+msgid "Base Currency"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:58
+msgid "Exchange Rates"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:60
+msgid "Rate"
+msgstr ""
+
#: templates/InvenTree/settings/report.html:8
#: templates/InvenTree/settings/user_reports.html:9
msgid "Report Settings"
@@ -7295,6 +7570,7 @@ msgid "No part parameter templates found"
msgstr ""
#: templates/InvenTree/settings/settings.html:338
+#: templates/js/translated/news.js:28
#: templates/js/translated/notification.js:36
msgid "ID"
msgstr ""
@@ -7357,10 +7633,6 @@ msgstr "Cài đặt toàn cục"
msgid "Server Configuration"
msgstr ""
-#: templates/InvenTree/settings/sidebar.html:35
-msgid "Currencies"
-msgstr ""
-
#: templates/InvenTree/settings/sidebar.html:43
msgid "Categories"
msgstr ""
@@ -7380,7 +7652,7 @@ msgid "Change Password"
msgstr ""
#: templates/InvenTree/settings/user.html:23
-#: templates/js/translated/helpers.js:31 templates/notes_buttons.html:3
+#: templates/js/translated/helpers.js:33 templates/notes_buttons.html:3
#: templates/notes_buttons.html:4
msgid "Edit"
msgstr ""
@@ -7890,7 +8162,7 @@ msgid "The following parts are low on required stock"
msgstr ""
#: templates/email/build_order_required_stock.html:18
-#: templates/js/translated/bom.js:1566
+#: templates/js/translated/bom.js:1629
msgid "Required Quantity"
msgstr ""
@@ -7904,7 +8176,7 @@ msgid "Click on the following link to view this part"
msgstr ""
#: templates/email/low_stock_notification.html:19
-#: templates/js/translated/part.js:2566
+#: templates/js/translated/part.js:2423
msgid "Minimum Quantity"
msgstr ""
@@ -8057,7 +8329,7 @@ msgstr ""
msgid "Unlink"
msgstr ""
-#: templates/js/translated/barcode.js:500 templates/js/translated/stock.js:1054
+#: templates/js/translated/barcode.js:500 templates/js/translated/stock.js:1073
msgid "Remove stock item"
msgstr ""
@@ -8127,10 +8399,10 @@ msgstr ""
msgid "Row Data"
msgstr ""
-#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:646
+#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:659
#: templates/js/translated/modals.js:56 templates/js/translated/modals.js:601
#: templates/js/translated/modals.js:695 templates/js/translated/modals.js:1003
-#: templates/js/translated/order.js:1179 templates/modals.html:15
+#: templates/js/translated/order.js:1213 templates/modals.html:15
#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50
msgid "Close"
msgstr ""
@@ -8140,12 +8412,12 @@ msgid "Download BOM Template"
msgstr ""
#: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312
-#: templates/js/translated/order.js:960 templates/js/translated/tables.js:145
+#: templates/js/translated/order.js:994 templates/js/translated/tables.js:145
msgid "Format"
msgstr ""
#: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313
-#: templates/js/translated/order.js:961
+#: templates/js/translated/order.js:995
msgid "Select file format"
msgstr ""
@@ -8197,118 +8469,130 @@ msgstr ""
msgid "Include part supplier data in exported BOM"
msgstr ""
-#: templates/js/translated/bom.js:537
+#: templates/js/translated/bom.js:358
+msgid "Include Pricing Data"
+msgstr ""
+
+#: templates/js/translated/bom.js:359
+msgid "Include part pricing data in exported BOM"
+msgstr ""
+
+#: templates/js/translated/bom.js:550
msgid "Remove substitute part"
msgstr ""
-#: templates/js/translated/bom.js:591
+#: templates/js/translated/bom.js:604
msgid "Select and add a new substitute part using the input below"
msgstr ""
-#: templates/js/translated/bom.js:602
+#: templates/js/translated/bom.js:615
msgid "Are you sure you wish to remove this substitute part link?"
msgstr ""
-#: templates/js/translated/bom.js:608
+#: templates/js/translated/bom.js:621
msgid "Remove Substitute Part"
msgstr ""
-#: templates/js/translated/bom.js:647
+#: templates/js/translated/bom.js:660
msgid "Add Substitute"
msgstr ""
-#: templates/js/translated/bom.js:648
+#: templates/js/translated/bom.js:661
msgid "Edit BOM Item Substitutes"
msgstr ""
-#: templates/js/translated/bom.js:710
+#: templates/js/translated/bom.js:723
msgid "All selected BOM items will be deleted"
msgstr ""
-#: templates/js/translated/bom.js:726
+#: templates/js/translated/bom.js:739
msgid "Delete selected BOM items?"
msgstr ""
-#: templates/js/translated/bom.js:860
+#: templates/js/translated/bom.js:868
msgid "Load BOM for subassembly"
msgstr ""
-#: templates/js/translated/bom.js:870
+#: templates/js/translated/bom.js:878
msgid "Substitutes Available"
msgstr ""
-#: templates/js/translated/bom.js:874 templates/js/translated/build.js:1835
+#: templates/js/translated/bom.js:882 templates/js/translated/build.js:1835
msgid "Variant stock allowed"
msgstr ""
-#: templates/js/translated/bom.js:983 templates/js/translated/build.js:1907
-#: templates/js/translated/order.js:3927
-msgid "No Stock Available"
-msgstr ""
-
-#: templates/js/translated/bom.js:988 templates/js/translated/build.js:1911
-msgid "Includes variant and substitute stock"
-msgstr ""
-
-#: templates/js/translated/bom.js:990 templates/js/translated/build.js:1913
-#: templates/js/translated/part.js:761 templates/js/translated/part.js:1539
-msgid "Includes variant stock"
-msgstr ""
-
-#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1915
-msgid "Includes substitute stock"
-msgstr ""
-
-#: templates/js/translated/bom.js:1010
+#: templates/js/translated/bom.js:972
msgid "Substitutes"
msgstr ""
-#: templates/js/translated/bom.js:1061 templates/js/translated/bom.js:1195
+#: templates/js/translated/bom.js:1023 templates/js/translated/bom.js:1260
msgid "View BOM"
msgstr ""
-#: templates/js/translated/bom.js:1071
-msgid "Purchase Price Range"
+#: templates/js/translated/bom.js:1094
+msgid "BOM pricing is complete"
msgstr ""
-#: templates/js/translated/bom.js:1078
-msgid "Purchase Price Average"
+#: templates/js/translated/bom.js:1099
+msgid "BOM pricing is incomplete"
msgstr ""
-#: templates/js/translated/bom.js:1106 templates/js/translated/build.js:1898
+#: templates/js/translated/bom.js:1106
+msgid "No pricing available"
+msgstr ""
+
+#: templates/js/translated/bom.js:1137 templates/js/translated/build.js:1907
+#: templates/js/translated/order.js:3924
+msgid "No Stock Available"
+msgstr ""
+
+#: templates/js/translated/bom.js:1142 templates/js/translated/build.js:1911
+msgid "Includes variant and substitute stock"
+msgstr ""
+
+#: templates/js/translated/bom.js:1144 templates/js/translated/build.js:1913
+#: templates/js/translated/part.js:775 templates/js/translated/part.js:1550
+msgid "Includes variant stock"
+msgstr ""
+
+#: templates/js/translated/bom.js:1146 templates/js/translated/build.js:1915
+msgid "Includes substitute stock"
+msgstr ""
+
+#: templates/js/translated/bom.js:1171 templates/js/translated/build.js:1898
#: templates/js/translated/build.js:1985
msgid "Consumable item"
msgstr ""
-#: templates/js/translated/bom.js:1166
+#: templates/js/translated/bom.js:1231
msgid "Validate BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1168
+#: templates/js/translated/bom.js:1233
msgid "This line has been validated"
msgstr ""
-#: templates/js/translated/bom.js:1170
+#: templates/js/translated/bom.js:1235
msgid "Edit substitute parts"
msgstr ""
-#: templates/js/translated/bom.js:1172 templates/js/translated/bom.js:1369
+#: templates/js/translated/bom.js:1237 templates/js/translated/bom.js:1433
msgid "Edit BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1174
+#: templates/js/translated/bom.js:1239
msgid "Delete BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1280 templates/js/translated/build.js:1679
+#: templates/js/translated/bom.js:1344 templates/js/translated/build.js:1679
msgid "No BOM items found"
msgstr ""
-#: templates/js/translated/bom.js:1549 templates/js/translated/build.js:1818
+#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1818
msgid "Required Part"
msgstr ""
-#: templates/js/translated/bom.js:1575
+#: templates/js/translated/bom.js:1638
msgid "Inherited from parent BOM"
msgstr ""
@@ -8353,12 +8637,12 @@ msgid "Complete Build Order"
msgstr ""
#: templates/js/translated/build.js:311 templates/js/translated/stock.js:92
-#: templates/js/translated/stock.js:214
+#: templates/js/translated/stock.js:233
msgid "Next available serial number"
msgstr ""
#: templates/js/translated/build.js:313 templates/js/translated/stock.js:94
-#: templates/js/translated/stock.js:216
+#: templates/js/translated/stock.js:235
msgid "Latest serial number"
msgstr "Số seri mới nhất"
@@ -8455,12 +8739,12 @@ msgid "No required tests for this build"
msgstr ""
#: templates/js/translated/build.js:1775 templates/js/translated/build.js:2765
-#: templates/js/translated/order.js:3627
+#: templates/js/translated/order.js:3638
msgid "Edit stock allocation"
msgstr ""
#: templates/js/translated/build.js:1777 templates/js/translated/build.js:2766
-#: templates/js/translated/order.js:3628
+#: templates/js/translated/order.js:3639
msgid "Delete stock allocation"
msgstr ""
@@ -8480,20 +8764,15 @@ msgstr ""
msgid "Quantity Per"
msgstr ""
-#: templates/js/translated/build.js:1901 templates/js/translated/order.js:3934
+#: templates/js/translated/build.js:1901 templates/js/translated/order.js:3931
msgid "Insufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3932
+#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3929
msgid "Sufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1937 templates/js/translated/build.js:2195
-#: templates/js/translated/build.js:2761 templates/js/translated/order.js:3946
-msgid "Allocated"
-msgstr ""
-
-#: templates/js/translated/build.js:1993 templates/js/translated/order.js:4026
+#: templates/js/translated/build.js:1993 templates/js/translated/order.js:4023
msgid "Build stock"
msgstr ""
@@ -8501,21 +8780,21 @@ msgstr ""
msgid "Order stock"
msgstr ""
-#: templates/js/translated/build.js:2000 templates/js/translated/order.js:4019
+#: templates/js/translated/build.js:2000 templates/js/translated/order.js:4016
msgid "Allocate stock"
msgstr ""
#: templates/js/translated/build.js:2039 templates/js/translated/label.js:172
-#: templates/js/translated/order.js:1007 templates/js/translated/order.js:3154
+#: templates/js/translated/order.js:1041 templates/js/translated/order.js:3165
#: templates/js/translated/report.js:225
msgid "Select Parts"
msgstr ""
-#: templates/js/translated/build.js:2040 templates/js/translated/order.js:3155
+#: templates/js/translated/build.js:2040 templates/js/translated/order.js:3166
msgid "You must select at least one part to allocate"
msgstr ""
-#: templates/js/translated/build.js:2089 templates/js/translated/order.js:3103
+#: templates/js/translated/build.js:2089 templates/js/translated/order.js:3114
msgid "Specify stock allocation quantity"
msgstr ""
@@ -8527,7 +8806,7 @@ msgstr ""
msgid "All selected parts have been fully allocated"
msgstr ""
-#: templates/js/translated/build.js:2183 templates/js/translated/order.js:3169
+#: templates/js/translated/build.js:2183 templates/js/translated/order.js:3180
msgid "Select source location (leave blank to take from all locations)"
msgstr ""
@@ -8535,11 +8814,11 @@ msgstr ""
msgid "Allocate Stock Items to Build Order"
msgstr ""
-#: templates/js/translated/build.js:2222 templates/js/translated/order.js:3266
+#: templates/js/translated/build.js:2222 templates/js/translated/order.js:3277
msgid "No matching stock locations"
msgstr ""
-#: templates/js/translated/build.js:2294 templates/js/translated/order.js:3343
+#: templates/js/translated/build.js:2294 templates/js/translated/order.js:3354
msgid "No matching stock items"
msgstr ""
@@ -8571,9 +8850,9 @@ msgstr ""
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:2558 templates/js/translated/part.js:1423
-#: templates/js/translated/part.js:1957 templates/js/translated/stock.js:1686
-#: templates/js/translated/stock.js:2390
+#: templates/js/translated/build.js:2558 templates/js/translated/part.js:1444
+#: templates/js/translated/part.js:1981 templates/js/translated/stock.js:1705
+#: templates/js/translated/stock.js:2408
msgid "Select"
msgstr ""
@@ -8585,7 +8864,7 @@ msgstr ""
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2636 templates/js/translated/stock.js:2657
+#: templates/js/translated/build.js:2636 templates/js/translated/stock.js:2675
msgid "No user information"
msgstr ""
@@ -8593,118 +8872,144 @@ msgstr ""
msgid "No parts allocated for"
msgstr ""
-#: templates/js/translated/company.js:66
+#: templates/js/translated/company.js:67
msgid "Add Manufacturer"
msgstr ""
-#: templates/js/translated/company.js:79 templates/js/translated/company.js:181
+#: templates/js/translated/company.js:80 templates/js/translated/company.js:182
msgid "Add Manufacturer Part"
msgstr ""
-#: templates/js/translated/company.js:100
+#: templates/js/translated/company.js:101
msgid "Edit Manufacturer Part"
msgstr ""
-#: templates/js/translated/company.js:169 templates/js/translated/order.js:576
+#: templates/js/translated/company.js:170 templates/js/translated/order.js:576
msgid "Add Supplier"
msgstr ""
-#: templates/js/translated/company.js:197 templates/js/translated/order.js:828
+#: templates/js/translated/company.js:198 templates/js/translated/order.js:862
msgid "Add Supplier Part"
msgstr ""
-#: templates/js/translated/company.js:297
+#: templates/js/translated/company.js:298
msgid "All selected supplier parts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:313
+#: templates/js/translated/company.js:314
msgid "Delete Supplier Parts"
msgstr ""
-#: templates/js/translated/company.js:385
+#: templates/js/translated/company.js:386
msgid "Add new Company"
msgstr ""
-#: templates/js/translated/company.js:462
+#: templates/js/translated/company.js:463
msgid "Parts Supplied"
msgstr ""
-#: templates/js/translated/company.js:471
+#: templates/js/translated/company.js:472
msgid "Parts Manufactured"
msgstr ""
-#: templates/js/translated/company.js:486
+#: templates/js/translated/company.js:487
msgid "No company information found"
msgstr ""
-#: templates/js/translated/company.js:527
+#: templates/js/translated/company.js:528
msgid "All selected manufacturer parts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:542
+#: templates/js/translated/company.js:543
msgid "Delete Manufacturer Parts"
msgstr ""
-#: templates/js/translated/company.js:576
+#: templates/js/translated/company.js:577
msgid "All selected parameters will be deleted"
msgstr ""
-#: templates/js/translated/company.js:590
+#: templates/js/translated/company.js:591
msgid "Delete Parameters"
msgstr ""
-#: templates/js/translated/company.js:631
+#: templates/js/translated/company.js:632
msgid "No manufacturer parts found"
msgstr ""
-#: templates/js/translated/company.js:651
-#: templates/js/translated/company.js:912 templates/js/translated/part.js:636
-#: templates/js/translated/part.js:721
+#: templates/js/translated/company.js:652
+#: templates/js/translated/company.js:913 templates/js/translated/part.js:650
+#: templates/js/translated/part.js:735
msgid "Template part"
msgstr ""
-#: templates/js/translated/company.js:655
-#: templates/js/translated/company.js:916 templates/js/translated/part.js:640
-#: templates/js/translated/part.js:725
+#: templates/js/translated/company.js:656
+#: templates/js/translated/company.js:917 templates/js/translated/part.js:654
+#: templates/js/translated/part.js:739
msgid "Assembled part"
msgstr ""
-#: templates/js/translated/company.js:783 templates/js/translated/part.js:828
+#: templates/js/translated/company.js:784 templates/js/translated/part.js:855
msgid "No parameters found"
msgstr ""
-#: templates/js/translated/company.js:820 templates/js/translated/part.js:870
+#: templates/js/translated/company.js:821 templates/js/translated/part.js:897
msgid "Edit parameter"
msgstr ""
-#: templates/js/translated/company.js:821 templates/js/translated/part.js:871
+#: templates/js/translated/company.js:822 templates/js/translated/part.js:898
msgid "Delete parameter"
msgstr ""
-#: templates/js/translated/company.js:840 templates/js/translated/part.js:888
+#: templates/js/translated/company.js:841 templates/js/translated/part.js:915
msgid "Edit Parameter"
msgstr ""
-#: templates/js/translated/company.js:851 templates/js/translated/part.js:900
+#: templates/js/translated/company.js:852 templates/js/translated/part.js:927
msgid "Delete Parameter"
msgstr ""
-#: templates/js/translated/company.js:891
+#: templates/js/translated/company.js:892
msgid "No supplier parts found"
msgstr ""
-#: templates/js/translated/company.js:1032
+#: templates/js/translated/company.js:1033
msgid "Availability"
msgstr ""
-#: templates/js/translated/company.js:1055
+#: templates/js/translated/company.js:1056
msgid "Edit supplier part"
msgstr ""
-#: templates/js/translated/company.js:1056
+#: templates/js/translated/company.js:1057
msgid "Delete supplier part"
msgstr ""
+#: templates/js/translated/company.js:1112
+#: templates/js/translated/pricing.js:423
+msgid "Delete Price Break"
+msgstr ""
+
+#: templates/js/translated/company.js:1128
+#: templates/js/translated/pricing.js:437
+msgid "Edit Price Break"
+msgstr ""
+
+#: templates/js/translated/company.js:1145
+msgid "No price break information found"
+msgstr ""
+
+#: templates/js/translated/company.js:1174
+msgid "Last updated"
+msgstr ""
+
+#: templates/js/translated/company.js:1180
+msgid "Edit price break"
+msgstr ""
+
+#: templates/js/translated/company.js:1181
+msgid "Delete price break"
+msgstr ""
+
#: templates/js/translated/filters.js:178
#: templates/js/translated/filters.js:441
msgid "true"
@@ -8785,27 +9090,27 @@ msgstr ""
msgid "Clear input"
msgstr ""
-#: templates/js/translated/forms.js:2638
+#: templates/js/translated/forms.js:2628
msgid "File Column"
msgstr ""
-#: templates/js/translated/forms.js:2638
+#: templates/js/translated/forms.js:2628
msgid "Field Name"
msgstr ""
-#: templates/js/translated/forms.js:2650
+#: templates/js/translated/forms.js:2640
msgid "Select Columns"
msgstr ""
-#: templates/js/translated/helpers.js:24
+#: templates/js/translated/helpers.js:26
msgid "YES"
msgstr ""
-#: templates/js/translated/helpers.js:26
+#: templates/js/translated/helpers.js:28
msgid "NO"
msgstr ""
-#: templates/js/translated/helpers.js:363
+#: templates/js/translated/helpers.js:434
msgid "Notes updated"
msgstr ""
@@ -8814,7 +9119,7 @@ msgid "Labels sent to printer"
msgstr ""
#: templates/js/translated/label.js:60 templates/js/translated/report.js:118
-#: templates/js/translated/stock.js:1078
+#: templates/js/translated/stock.js:1097
msgid "Select Stock Items"
msgstr ""
@@ -8934,14 +9239,6 @@ msgstr ""
msgid "Stock ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:159
-msgid "Location ID"
-msgstr ""
-
-#: templates/js/translated/model_renderers.js:177
-msgid "Build ID"
-msgstr ""
-
#: templates/js/translated/model_renderers.js:278
#: templates/js/translated/model_renderers.js:303
msgid "Order ID"
@@ -8952,16 +9249,12 @@ msgstr ""
msgid "Shipment ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:338
-msgid "Category ID"
-msgstr ""
-
#: templates/js/translated/model_renderers.js:381
msgid "Manufacturer Part ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:418
-msgid "Supplier Part ID"
+#: templates/js/translated/news.js:23
+msgid "No news found"
msgstr ""
#: templates/js/translated/notification.js:42
@@ -9104,659 +9397,688 @@ msgstr ""
msgid "Duplication Options"
msgstr ""
-#: templates/js/translated/order.js:957
+#: templates/js/translated/order.js:991
msgid "Export Order"
msgstr ""
-#: templates/js/translated/order.js:1008
+#: templates/js/translated/order.js:1042
msgid "At least one purchaseable part must be selected"
msgstr ""
-#: templates/js/translated/order.js:1033
+#: templates/js/translated/order.js:1067
msgid "Quantity to order"
msgstr ""
-#: templates/js/translated/order.js:1042
+#: templates/js/translated/order.js:1076
msgid "New supplier part"
msgstr ""
-#: templates/js/translated/order.js:1060
+#: templates/js/translated/order.js:1094
msgid "New purchase order"
msgstr ""
-#: templates/js/translated/order.js:1093
+#: templates/js/translated/order.js:1127
msgid "Add to purchase order"
msgstr ""
-#: templates/js/translated/order.js:1233
+#: templates/js/translated/order.js:1267
msgid "No matching supplier parts"
msgstr ""
-#: templates/js/translated/order.js:1252
+#: templates/js/translated/order.js:1286
msgid "No matching purchase orders"
msgstr ""
-#: templates/js/translated/order.js:1429
+#: templates/js/translated/order.js:1463
msgid "Select Line Items"
msgstr ""
-#: templates/js/translated/order.js:1430
+#: templates/js/translated/order.js:1464
msgid "At least one line item must be selected"
msgstr ""
-#: templates/js/translated/order.js:1450 templates/js/translated/order.js:1563
+#: templates/js/translated/order.js:1484 templates/js/translated/order.js:1597
msgid "Add batch code"
msgstr ""
-#: templates/js/translated/order.js:1456 templates/js/translated/order.js:1574
+#: templates/js/translated/order.js:1490 templates/js/translated/order.js:1608
msgid "Add serial numbers"
msgstr ""
-#: templates/js/translated/order.js:1471
+#: templates/js/translated/order.js:1505
msgid "Received Quantity"
msgstr ""
-#: templates/js/translated/order.js:1482
+#: templates/js/translated/order.js:1516
msgid "Quantity to receive"
msgstr ""
-#: templates/js/translated/order.js:1546 templates/js/translated/stock.js:2146
+#: templates/js/translated/order.js:1580 templates/js/translated/stock.js:2164
msgid "Stock Status"
msgstr ""
-#: templates/js/translated/order.js:1639
+#: templates/js/translated/order.js:1673
msgid "Order Code"
msgstr ""
-#: templates/js/translated/order.js:1640
+#: templates/js/translated/order.js:1674
msgid "Ordered"
msgstr ""
-#: templates/js/translated/order.js:1642
+#: templates/js/translated/order.js:1676
msgid "Quantity to Receive"
msgstr ""
-#: templates/js/translated/order.js:1661
+#: templates/js/translated/order.js:1695
msgid "Confirm receipt of items"
msgstr ""
-#: templates/js/translated/order.js:1662
+#: templates/js/translated/order.js:1696
msgid "Receive Purchase Order Items"
msgstr ""
-#: templates/js/translated/order.js:1940 templates/js/translated/part.js:941
+#: templates/js/translated/order.js:1974 templates/js/translated/part.js:968
msgid "No purchase orders found"
msgstr ""
-#: templates/js/translated/order.js:1967 templates/js/translated/order.js:2798
+#: templates/js/translated/order.js:2001 templates/js/translated/order.js:2809
msgid "Order is overdue"
msgstr ""
-#: templates/js/translated/order.js:2017 templates/js/translated/order.js:2863
-#: templates/js/translated/order.js:3004
+#: templates/js/translated/order.js:2051 templates/js/translated/order.js:2874
+#: templates/js/translated/order.js:3015
msgid "Items"
msgstr ""
-#: templates/js/translated/order.js:2115 templates/js/translated/order.js:4078
+#: templates/js/translated/order.js:2154 templates/js/translated/order.js:4075
msgid "Duplicate Line Item"
msgstr ""
-#: templates/js/translated/order.js:2132 templates/js/translated/order.js:4100
+#: templates/js/translated/order.js:2171 templates/js/translated/order.js:4097
msgid "Edit Line Item"
msgstr ""
-#: templates/js/translated/order.js:2145 templates/js/translated/order.js:4111
+#: templates/js/translated/order.js:2184 templates/js/translated/order.js:4108
msgid "Delete Line Item"
msgstr ""
-#: templates/js/translated/order.js:2188
+#: templates/js/translated/order.js:2227
msgid "No line items found"
msgstr ""
-#: templates/js/translated/order.js:2215 templates/js/translated/order.js:3812
+#: templates/js/translated/order.js:2254 templates/js/translated/order.js:3827
msgid "Total"
msgstr ""
-#: templates/js/translated/order.js:2270 templates/js/translated/part.js:1043
-#: templates/js/translated/part.js:1095
+#: templates/js/translated/order.js:2309 templates/js/translated/part.js:1070
+#: templates/js/translated/part.js:1122
msgid "Total Quantity"
msgstr ""
-#: templates/js/translated/order.js:2301 templates/js/translated/order.js:2500
-#: templates/js/translated/order.js:3837 templates/js/translated/order.js:4342
-#: templates/js/translated/part.js:2199 templates/js/translated/part.js:2797
+#: templates/js/translated/order.js:2340 templates/js/translated/order.js:2527
+#: templates/js/translated/order.js:3852 templates/js/translated/order.js:4343
+#: templates/js/translated/pricing.js:260
+#: templates/js/translated/pricing.js:329
+#: templates/js/translated/pricing.js:545
msgid "Unit Price"
msgstr ""
-#: templates/js/translated/order.js:2316 templates/js/translated/order.js:2516
-#: templates/js/translated/order.js:3853 templates/js/translated/order.js:4358
+#: templates/js/translated/order.js:2350 templates/js/translated/order.js:2537
+#: templates/js/translated/order.js:3862 templates/js/translated/order.js:4353
msgid "Total Price"
msgstr ""
-#: templates/js/translated/order.js:2357 templates/js/translated/order.js:3895
-#: templates/js/translated/part.js:1079
+#: templates/js/translated/order.js:2380 templates/js/translated/order.js:3892
+#: templates/js/translated/part.js:1106
msgid "This line item is overdue"
msgstr ""
-#: templates/js/translated/order.js:2416 templates/js/translated/part.js:1130
+#: templates/js/translated/order.js:2439 templates/js/translated/part.js:1151
msgid "Receive line item"
msgstr ""
-#: templates/js/translated/order.js:2420 templates/js/translated/order.js:4032
+#: templates/js/translated/order.js:2443 templates/js/translated/order.js:4029
msgid "Duplicate line item"
msgstr ""
-#: templates/js/translated/order.js:2421 templates/js/translated/order.js:4033
+#: templates/js/translated/order.js:2444 templates/js/translated/order.js:4030
msgid "Edit line item"
msgstr ""
-#: templates/js/translated/order.js:2422 templates/js/translated/order.js:4037
+#: templates/js/translated/order.js:2445 templates/js/translated/order.js:4034
msgid "Delete line item"
msgstr ""
-#: templates/js/translated/order.js:2564 templates/js/translated/order.js:4406
+#: templates/js/translated/order.js:2574 templates/js/translated/order.js:4389
msgid "Duplicate line"
msgstr ""
-#: templates/js/translated/order.js:2565 templates/js/translated/order.js:4407
+#: templates/js/translated/order.js:2575 templates/js/translated/order.js:4390
msgid "Edit line"
msgstr ""
-#: templates/js/translated/order.js:2566 templates/js/translated/order.js:4408
+#: templates/js/translated/order.js:2576 templates/js/translated/order.js:4391
msgid "Delete line"
msgstr ""
-#: templates/js/translated/order.js:2595 templates/js/translated/order.js:4437
+#: templates/js/translated/order.js:2606 templates/js/translated/order.js:4420
msgid "Duplicate Line"
msgstr ""
-#: templates/js/translated/order.js:2616 templates/js/translated/order.js:4458
+#: templates/js/translated/order.js:2627 templates/js/translated/order.js:4441
msgid "Edit Line"
msgstr ""
-#: templates/js/translated/order.js:2627 templates/js/translated/order.js:4469
+#: templates/js/translated/order.js:2638 templates/js/translated/order.js:4452
msgid "Delete Line"
msgstr ""
-#: templates/js/translated/order.js:2638
+#: templates/js/translated/order.js:2649
msgid "No matching line"
msgstr ""
-#: templates/js/translated/order.js:2749
+#: templates/js/translated/order.js:2760
msgid "No sales orders found"
msgstr ""
-#: templates/js/translated/order.js:2812
+#: templates/js/translated/order.js:2823
msgid "Invalid Customer"
msgstr ""
-#: templates/js/translated/order.js:2910
+#: templates/js/translated/order.js:2921
msgid "Edit shipment"
msgstr ""
-#: templates/js/translated/order.js:2913
+#: templates/js/translated/order.js:2924
msgid "Complete shipment"
msgstr ""
-#: templates/js/translated/order.js:2918
+#: templates/js/translated/order.js:2929
msgid "Delete shipment"
msgstr ""
-#: templates/js/translated/order.js:2938
+#: templates/js/translated/order.js:2949
msgid "Edit Shipment"
msgstr ""
-#: templates/js/translated/order.js:2955
+#: templates/js/translated/order.js:2966
msgid "Delete Shipment"
msgstr ""
-#: templates/js/translated/order.js:2989
+#: templates/js/translated/order.js:3000
msgid "No matching shipments found"
msgstr ""
-#: templates/js/translated/order.js:2999
+#: templates/js/translated/order.js:3010
msgid "Shipment Reference"
msgstr ""
-#: templates/js/translated/order.js:3023
+#: templates/js/translated/order.js:3034
msgid "Not shipped"
msgstr ""
-#: templates/js/translated/order.js:3029
+#: templates/js/translated/order.js:3040
msgid "Tracking"
msgstr ""
-#: templates/js/translated/order.js:3033
+#: templates/js/translated/order.js:3044
msgid "Invoice"
msgstr ""
-#: templates/js/translated/order.js:3202
+#: templates/js/translated/order.js:3213
msgid "Add Shipment"
msgstr ""
-#: templates/js/translated/order.js:3253
+#: templates/js/translated/order.js:3264
msgid "Confirm stock allocation"
msgstr ""
-#: templates/js/translated/order.js:3254
+#: templates/js/translated/order.js:3265
msgid "Allocate Stock Items to Sales Order"
msgstr ""
-#: templates/js/translated/order.js:3462
+#: templates/js/translated/order.js:3473
msgid "No sales order allocations found"
msgstr ""
-#: templates/js/translated/order.js:3541
+#: templates/js/translated/order.js:3552
msgid "Edit Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:3558
+#: templates/js/translated/order.js:3569
msgid "Confirm Delete Operation"
msgstr ""
-#: templates/js/translated/order.js:3559
+#: templates/js/translated/order.js:3570
msgid "Delete Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:3604 templates/js/translated/order.js:3693
-#: templates/js/translated/stock.js:1602
+#: templates/js/translated/order.js:3615 templates/js/translated/order.js:3704
+#: templates/js/translated/stock.js:1621
msgid "Shipped to customer"
msgstr ""
-#: templates/js/translated/order.js:3612 templates/js/translated/order.js:3702
+#: templates/js/translated/order.js:3623 templates/js/translated/order.js:3713
msgid "Stock location not specified"
msgstr ""
-#: templates/js/translated/order.js:4016
+#: templates/js/translated/order.js:4013
msgid "Allocate serial numbers"
msgstr ""
-#: templates/js/translated/order.js:4022
+#: templates/js/translated/order.js:4019
msgid "Purchase stock"
msgstr ""
-#: templates/js/translated/order.js:4029 templates/js/translated/order.js:4227
+#: templates/js/translated/order.js:4026 templates/js/translated/order.js:4224
msgid "Calculate price"
msgstr ""
-#: templates/js/translated/order.js:4041
+#: templates/js/translated/order.js:4038
msgid "Cannot be deleted as items have been shipped"
msgstr ""
-#: templates/js/translated/order.js:4044
+#: templates/js/translated/order.js:4041
msgid "Cannot be deleted as items have been allocated"
msgstr ""
-#: templates/js/translated/order.js:4126
+#: templates/js/translated/order.js:4123
msgid "Allocate Serial Numbers"
msgstr ""
-#: templates/js/translated/order.js:4235
+#: templates/js/translated/order.js:4232
msgid "Update Unit Price"
msgstr ""
-#: templates/js/translated/order.js:4249
+#: templates/js/translated/order.js:4246
msgid "No matching line items"
msgstr ""
-#: templates/js/translated/order.js:4480
+#: templates/js/translated/order.js:4463
msgid "No matching lines"
msgstr ""
-#: templates/js/translated/part.js:56
+#: templates/js/translated/part.js:52
msgid "Part Attributes"
msgstr ""
-#: templates/js/translated/part.js:60
+#: templates/js/translated/part.js:56
msgid "Part Creation Options"
msgstr ""
-#: templates/js/translated/part.js:64
+#: templates/js/translated/part.js:60
msgid "Part Duplication Options"
msgstr ""
-#: templates/js/translated/part.js:68
+#: templates/js/translated/part.js:64
msgid "Supplier Options"
msgstr ""
-#: templates/js/translated/part.js:82
+#: templates/js/translated/part.js:78
msgid "Add Part Category"
msgstr ""
-#: templates/js/translated/part.js:166
+#: templates/js/translated/part.js:162
msgid "Create Initial Stock"
msgstr ""
-#: templates/js/translated/part.js:167
+#: templates/js/translated/part.js:163
msgid "Create an initial stock item for this part"
msgstr ""
-#: templates/js/translated/part.js:174
+#: templates/js/translated/part.js:170
msgid "Initial Stock Quantity"
msgstr ""
-#: templates/js/translated/part.js:175
+#: templates/js/translated/part.js:171
msgid "Specify initial stock quantity for this part"
msgstr ""
-#: templates/js/translated/part.js:182
+#: templates/js/translated/part.js:178
msgid "Select destination stock location"
msgstr ""
-#: templates/js/translated/part.js:200
+#: templates/js/translated/part.js:196
msgid "Copy Category Parameters"
msgstr ""
-#: templates/js/translated/part.js:201
+#: templates/js/translated/part.js:197
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: templates/js/translated/part.js:209
+#: templates/js/translated/part.js:205
msgid "Add Supplier Data"
msgstr ""
-#: templates/js/translated/part.js:210
+#: templates/js/translated/part.js:206
msgid "Create initial supplier data for this part"
msgstr ""
-#: templates/js/translated/part.js:266
+#: templates/js/translated/part.js:262
msgid "Copy Image"
msgstr ""
-#: templates/js/translated/part.js:267
+#: templates/js/translated/part.js:263
msgid "Copy image from original part"
msgstr ""
-#: templates/js/translated/part.js:275
+#: templates/js/translated/part.js:271
msgid "Copy bill of materials from original part"
msgstr ""
-#: templates/js/translated/part.js:282
+#: templates/js/translated/part.js:278
msgid "Copy Parameters"
msgstr ""
-#: templates/js/translated/part.js:283
+#: templates/js/translated/part.js:279
msgid "Copy parameter data from original part"
msgstr ""
-#: templates/js/translated/part.js:296
+#: templates/js/translated/part.js:292
msgid "Parent part category"
msgstr ""
-#: templates/js/translated/part.js:306 templates/js/translated/stock.js:118
+#: templates/js/translated/part.js:302 templates/js/translated/stock.js:118
msgid "Icon (optional) - Explore all available icons on"
msgstr ""
-#: templates/js/translated/part.js:322
+#: templates/js/translated/part.js:318
msgid "Edit Part Category"
msgstr ""
-#: templates/js/translated/part.js:335
+#: templates/js/translated/part.js:331
msgid "Are you sure you want to delete this part category?"
msgstr ""
-#: templates/js/translated/part.js:337
-msgid "Any child categories will be moved to the parent of this category"
+#: templates/js/translated/part.js:336
+msgid "Move to parent category"
msgstr ""
-#: templates/js/translated/part.js:338
-msgid "Any parts in this category will be moved to the parent of this category"
-msgstr ""
-
-#: templates/js/translated/part.js:343
+#: templates/js/translated/part.js:345
msgid "Delete Part Category"
msgstr ""
-#: templates/js/translated/part.js:369
+#: templates/js/translated/part.js:349
+msgid "Action for parts in this category"
+msgstr ""
+
+#: templates/js/translated/part.js:354
+msgid "Action for child categories"
+msgstr ""
+
+#: templates/js/translated/part.js:383
msgid "Edit Part"
msgstr ""
-#: templates/js/translated/part.js:371
+#: templates/js/translated/part.js:385
msgid "Part edited"
msgstr ""
-#: templates/js/translated/part.js:382
+#: templates/js/translated/part.js:396
msgid "Create Part Variant"
msgstr ""
-#: templates/js/translated/part.js:434
+#: templates/js/translated/part.js:448
msgid "Active Part"
msgstr ""
-#: templates/js/translated/part.js:435
+#: templates/js/translated/part.js:449
msgid "Part cannot be deleted as it is currently active"
msgstr ""
-#: templates/js/translated/part.js:449
+#: templates/js/translated/part.js:463
msgid "Deleting this part cannot be reversed"
msgstr ""
-#: templates/js/translated/part.js:451
+#: templates/js/translated/part.js:465
msgid "Any stock items for this part will be deleted"
msgstr ""
-#: templates/js/translated/part.js:452
+#: templates/js/translated/part.js:466
msgid "This part will be removed from any Bills of Material"
msgstr ""
-#: templates/js/translated/part.js:453
+#: templates/js/translated/part.js:467
msgid "All manufacturer and supplier information for this part will be deleted"
msgstr ""
-#: templates/js/translated/part.js:460
+#: templates/js/translated/part.js:474
msgid "Delete Part"
msgstr ""
-#: templates/js/translated/part.js:496
+#: templates/js/translated/part.js:510
msgid "You are subscribed to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:498
+#: templates/js/translated/part.js:512
msgid "You have subscribed to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:503
+#: templates/js/translated/part.js:517
msgid "Subscribe to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:505
+#: templates/js/translated/part.js:519
msgid "You have unsubscribed to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:522
+#: templates/js/translated/part.js:536
msgid "Validating the BOM will mark each line item as valid"
msgstr ""
-#: templates/js/translated/part.js:532
+#: templates/js/translated/part.js:546
msgid "Validate Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:535
+#: templates/js/translated/part.js:549
msgid "Validated Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:560
+#: templates/js/translated/part.js:574
msgid "Copy Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:584 templates/js/translated/part.js:1521
-#: templates/js/translated/table_filters.js:476
+#: templates/js/translated/part.js:598 templates/js/translated/part.js:1532
+#: templates/js/translated/table_filters.js:480
msgid "Low stock"
msgstr ""
-#: templates/js/translated/part.js:594
+#: templates/js/translated/part.js:608
msgid "No stock available"
msgstr ""
-#: templates/js/translated/part.js:628 templates/js/translated/part.js:713
+#: templates/js/translated/part.js:642 templates/js/translated/part.js:727
msgid "Trackable part"
msgstr ""
-#: templates/js/translated/part.js:632 templates/js/translated/part.js:717
+#: templates/js/translated/part.js:646 templates/js/translated/part.js:731
msgid "Virtual part"
msgstr ""
-#: templates/js/translated/part.js:644
+#: templates/js/translated/part.js:658
msgid "Subscribed part"
msgstr ""
-#: templates/js/translated/part.js:648
+#: templates/js/translated/part.js:662
msgid "Salable part"
msgstr ""
-#: templates/js/translated/part.js:776
+#: templates/js/translated/part.js:800
msgid "No variants found"
msgstr ""
-#: templates/js/translated/part.js:1200
+#: templates/js/translated/part.js:1221
msgid "Delete part relationship"
msgstr ""
-#: templates/js/translated/part.js:1224
+#: templates/js/translated/part.js:1245
msgid "Delete Part Relationship"
msgstr ""
-#: templates/js/translated/part.js:1291 templates/js/translated/part.js:1609
+#: templates/js/translated/part.js:1312 templates/js/translated/part.js:1633
msgid "No parts found"
msgstr ""
-#: templates/js/translated/part.js:1488
+#: templates/js/translated/part.js:1499
msgid "No category"
msgstr ""
-#: templates/js/translated/part.js:1519
+#: templates/js/translated/part.js:1530
msgid "No stock"
msgstr ""
-#: templates/js/translated/part.js:1543
+#: templates/js/translated/part.js:1554
msgid "Allocated to build orders"
msgstr ""
-#: templates/js/translated/part.js:1547
+#: templates/js/translated/part.js:1558
msgid "Allocated to sales orders"
msgstr ""
-#: templates/js/translated/part.js:1633 templates/js/translated/part.js:1876
-#: templates/js/translated/stock.js:2349
+#: templates/js/translated/part.js:1657 templates/js/translated/part.js:1900
+#: templates/js/translated/stock.js:2367
msgid "Display as list"
msgstr ""
-#: templates/js/translated/part.js:1649
+#: templates/js/translated/part.js:1673
msgid "Display as grid"
msgstr ""
-#: templates/js/translated/part.js:1715
+#: templates/js/translated/part.js:1739
msgid "Set the part category for the selected parts"
msgstr ""
-#: templates/js/translated/part.js:1720
+#: templates/js/translated/part.js:1744
msgid "Set Part Category"
msgstr ""
-#: templates/js/translated/part.js:1725
+#: templates/js/translated/part.js:1749
msgid "Select Part Category"
msgstr ""
-#: templates/js/translated/part.js:1738
+#: templates/js/translated/part.js:1762
msgid "Category is required"
msgstr ""
-#: templates/js/translated/part.js:1896 templates/js/translated/stock.js:2369
+#: templates/js/translated/part.js:1920 templates/js/translated/stock.js:2387
msgid "Display as tree"
msgstr ""
-#: templates/js/translated/part.js:1976
+#: templates/js/translated/part.js:2000
msgid "Load Subcategories"
msgstr ""
-#: templates/js/translated/part.js:1992
+#: templates/js/translated/part.js:2016
msgid "Subscribed category"
msgstr ""
-#: templates/js/translated/part.js:2056
+#: templates/js/translated/part.js:2080
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:2107 templates/js/translated/stock.js:1299
+#: templates/js/translated/part.js:2131 templates/js/translated/stock.js:1318
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:2108 templates/js/translated/stock.js:1300
-#: templates/js/translated/stock.js:1560
+#: templates/js/translated/part.js:2132 templates/js/translated/stock.js:1319
+#: templates/js/translated/stock.js:1579
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:2114
+#: templates/js/translated/part.js:2138
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:2136
+#: templates/js/translated/part.js:2160
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2150
+#: templates/js/translated/part.js:2174
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2175
-#, python-brace-format
-msgid "No ${human_name} information found"
-msgstr ""
-
-#: templates/js/translated/part.js:2232
-#, python-brace-format
-msgid "Edit ${human_name}"
-msgstr ""
-
-#: templates/js/translated/part.js:2233
-#, python-brace-format
-msgid "Delete ${human_name}"
-msgstr ""
-
-#: templates/js/translated/part.js:2398 templates/js/translated/part.js:2399
+#: templates/js/translated/part.js:2255 templates/js/translated/part.js:2256
msgid "No date specified"
msgstr ""
-#: templates/js/translated/part.js:2401
+#: templates/js/translated/part.js:2258
msgid "Specified date is in the past"
msgstr ""
-#: templates/js/translated/part.js:2407
+#: templates/js/translated/part.js:2264
msgid "Speculative"
msgstr ""
-#: templates/js/translated/part.js:2457
+#: templates/js/translated/part.js:2314
msgid "No scheduling information available for this part"
msgstr ""
-#: templates/js/translated/part.js:2463
+#: templates/js/translated/part.js:2320
msgid "Error fetching scheduling information for this part"
msgstr ""
-#: templates/js/translated/part.js:2559
+#: templates/js/translated/part.js:2416
msgid "Scheduled Stock Quantities"
msgstr ""
-#: templates/js/translated/part.js:2575
+#: templates/js/translated/part.js:2432
msgid "Maximum Quantity"
msgstr ""
-#: templates/js/translated/part.js:2620
+#: templates/js/translated/part.js:2477
msgid "Minimum Stock Level"
msgstr ""
-#: templates/js/translated/part.js:2721
-msgid "Single Price"
-msgstr ""
-
-#: templates/js/translated/part.js:2740
-msgid "Single Price Difference"
-msgstr ""
-
#: templates/js/translated/plugin.js:23
msgid "The Plugin was installed"
msgstr ""
+#: templates/js/translated/pricing.js:54
+msgid "No BOM data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:196
+msgid "No supplier pricing data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:305
+msgid "No price break data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:361
+#, python-brace-format
+msgid "Edit ${human_name}"
+msgstr ""
+
+#: templates/js/translated/pricing.js:362
+#, python-brace-format
+msgid "Delete ${human_name}"
+msgstr ""
+
+#: templates/js/translated/pricing.js:480
+msgid "No purchase history data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:502
+msgid "Purchase Price History"
+msgstr ""
+
+#: templates/js/translated/pricing.js:602
+msgid "No sales history data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:624
+msgid "Sale Price History"
+msgstr ""
+
+#: templates/js/translated/pricing.js:708
+msgid "No variant data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:748
+msgid "Variant Part"
+msgstr ""
+
#: templates/js/translated/report.js:67
msgid "items selected"
msgstr ""
@@ -9855,364 +10177,364 @@ msgstr ""
msgid "Are you sure you want to delete this stock location?"
msgstr ""
-#: templates/js/translated/stock.js:175
-msgid "Any child locations will be moved to the parent of this location"
+#: templates/js/translated/stock.js:180
+msgid "Move to parent stock location"
msgstr ""
-#: templates/js/translated/stock.js:176
-msgid "Any stock items in this location will be moved to the parent of this location"
-msgstr ""
-
-#: templates/js/translated/stock.js:182
+#: templates/js/translated/stock.js:189
msgid "Delete Stock Location"
msgstr ""
-#: templates/js/translated/stock.js:227
+#: templates/js/translated/stock.js:193
+msgid "Action for stock items in this stock location"
+msgstr ""
+
+#: templates/js/translated/stock.js:198
+msgid "Action for sub-locations"
+msgstr ""
+
+#: templates/js/translated/stock.js:246
msgid "This part cannot be serialized"
msgstr ""
-#: templates/js/translated/stock.js:266
+#: templates/js/translated/stock.js:285
msgid "Enter initial quantity for this stock item"
msgstr ""
-#: templates/js/translated/stock.js:272
+#: templates/js/translated/stock.js:291
msgid "Enter serial numbers for new stock (or leave blank)"
msgstr ""
-#: templates/js/translated/stock.js:337
+#: templates/js/translated/stock.js:356
msgid "Stock item duplicated"
msgstr ""
-#: templates/js/translated/stock.js:357
+#: templates/js/translated/stock.js:376
msgid "Duplicate Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:373
+#: templates/js/translated/stock.js:392
msgid "Are you sure you want to delete this stock item?"
msgstr ""
-#: templates/js/translated/stock.js:378
+#: templates/js/translated/stock.js:397
msgid "Delete Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:399
+#: templates/js/translated/stock.js:418
msgid "Edit Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:449
+#: templates/js/translated/stock.js:468
msgid "Created new stock item"
msgstr ""
-#: templates/js/translated/stock.js:462
+#: templates/js/translated/stock.js:481
msgid "Created multiple stock items"
msgstr ""
-#: templates/js/translated/stock.js:487
+#: templates/js/translated/stock.js:506
msgid "Find Serial Number"
msgstr ""
-#: templates/js/translated/stock.js:491 templates/js/translated/stock.js:492
+#: templates/js/translated/stock.js:510 templates/js/translated/stock.js:511
msgid "Enter serial number"
msgstr ""
-#: templates/js/translated/stock.js:508
+#: templates/js/translated/stock.js:527
msgid "Enter a serial number"
msgstr ""
-#: templates/js/translated/stock.js:528
+#: templates/js/translated/stock.js:547
msgid "No matching serial number"
msgstr ""
-#: templates/js/translated/stock.js:537
+#: templates/js/translated/stock.js:556
msgid "More than one matching result found"
msgstr ""
-#: templates/js/translated/stock.js:660
+#: templates/js/translated/stock.js:679
msgid "Confirm stock assignment"
msgstr ""
-#: templates/js/translated/stock.js:661
+#: templates/js/translated/stock.js:680
msgid "Assign Stock to Customer"
msgstr ""
-#: templates/js/translated/stock.js:738
+#: templates/js/translated/stock.js:757
msgid "Warning: Merge operation cannot be reversed"
msgstr ""
-#: templates/js/translated/stock.js:739
+#: templates/js/translated/stock.js:758
msgid "Some information will be lost when merging stock items"
msgstr ""
-#: templates/js/translated/stock.js:741
+#: templates/js/translated/stock.js:760
msgid "Stock transaction history will be deleted for merged items"
msgstr ""
-#: templates/js/translated/stock.js:742
+#: templates/js/translated/stock.js:761
msgid "Supplier part information will be deleted for merged items"
msgstr ""
-#: templates/js/translated/stock.js:828
+#: templates/js/translated/stock.js:847
msgid "Confirm stock item merge"
msgstr ""
-#: templates/js/translated/stock.js:829
+#: templates/js/translated/stock.js:848
msgid "Merge Stock Items"
msgstr ""
-#: templates/js/translated/stock.js:924
+#: templates/js/translated/stock.js:943
msgid "Transfer Stock"
msgstr ""
-#: templates/js/translated/stock.js:925
+#: templates/js/translated/stock.js:944
msgid "Move"
msgstr ""
-#: templates/js/translated/stock.js:931
+#: templates/js/translated/stock.js:950
msgid "Count Stock"
msgstr ""
-#: templates/js/translated/stock.js:932
+#: templates/js/translated/stock.js:951
msgid "Count"
msgstr ""
-#: templates/js/translated/stock.js:936
+#: templates/js/translated/stock.js:955
msgid "Remove Stock"
msgstr ""
-#: templates/js/translated/stock.js:937
+#: templates/js/translated/stock.js:956
msgid "Take"
msgstr ""
-#: templates/js/translated/stock.js:941
+#: templates/js/translated/stock.js:960
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:942 users/models.py:218
+#: templates/js/translated/stock.js:961 users/models.py:220
msgid "Add"
msgstr ""
-#: templates/js/translated/stock.js:946
+#: templates/js/translated/stock.js:965
msgid "Delete Stock"
msgstr ""
-#: templates/js/translated/stock.js:1039
+#: templates/js/translated/stock.js:1058
msgid "Quantity cannot be adjusted for serialized stock"
msgstr ""
-#: templates/js/translated/stock.js:1039
+#: templates/js/translated/stock.js:1058
msgid "Specify stock quantity"
msgstr ""
-#: templates/js/translated/stock.js:1079
+#: templates/js/translated/stock.js:1098
msgid "You must select at least one available stock item"
msgstr ""
-#: templates/js/translated/stock.js:1102
+#: templates/js/translated/stock.js:1121
msgid "Confirm stock adjustment"
msgstr ""
-#: templates/js/translated/stock.js:1238
+#: templates/js/translated/stock.js:1257
msgid "PASS"
msgstr ""
-#: templates/js/translated/stock.js:1240
+#: templates/js/translated/stock.js:1259
msgid "FAIL"
msgstr ""
-#: templates/js/translated/stock.js:1245
+#: templates/js/translated/stock.js:1264
msgid "NO RESULT"
msgstr ""
-#: templates/js/translated/stock.js:1292
+#: templates/js/translated/stock.js:1311
msgid "Pass test"
msgstr ""
-#: templates/js/translated/stock.js:1295
+#: templates/js/translated/stock.js:1314
msgid "Add test result"
msgstr ""
-#: templates/js/translated/stock.js:1321
+#: templates/js/translated/stock.js:1340
msgid "No test results found"
msgstr ""
-#: templates/js/translated/stock.js:1378
+#: templates/js/translated/stock.js:1397
msgid "Test Date"
msgstr ""
-#: templates/js/translated/stock.js:1543
+#: templates/js/translated/stock.js:1562
msgid "Edit Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1565
+#: templates/js/translated/stock.js:1584
msgid "Delete Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1594
+#: templates/js/translated/stock.js:1613
msgid "In production"
msgstr ""
-#: templates/js/translated/stock.js:1598
+#: templates/js/translated/stock.js:1617
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:1606
+#: templates/js/translated/stock.js:1625
msgid "Assigned to Sales Order"
msgstr ""
-#: templates/js/translated/stock.js:1612
+#: templates/js/translated/stock.js:1631
msgid "No stock location set"
msgstr ""
-#: templates/js/translated/stock.js:1781
+#: templates/js/translated/stock.js:1800
msgid "Stock item is in production"
msgstr ""
-#: templates/js/translated/stock.js:1786
+#: templates/js/translated/stock.js:1805
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/translated/stock.js:1789
+#: templates/js/translated/stock.js:1808
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/translated/stock.js:1792
+#: templates/js/translated/stock.js:1811
msgid "Serialized stock item has been allocated"
msgstr ""
-#: templates/js/translated/stock.js:1794
+#: templates/js/translated/stock.js:1813
msgid "Stock item has been fully allocated"
msgstr ""
-#: templates/js/translated/stock.js:1796
+#: templates/js/translated/stock.js:1815
msgid "Stock item has been partially allocated"
msgstr ""
-#: templates/js/translated/stock.js:1799
+#: templates/js/translated/stock.js:1818
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:1803
+#: templates/js/translated/stock.js:1822
msgid "Stock item has expired"
msgstr ""
-#: templates/js/translated/stock.js:1805
+#: templates/js/translated/stock.js:1824
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/translated/stock.js:1812
+#: templates/js/translated/stock.js:1831
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/translated/stock.js:1814
+#: templates/js/translated/stock.js:1833
msgid "Stock item is lost"
msgstr ""
-#: templates/js/translated/stock.js:1816
+#: templates/js/translated/stock.js:1835
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/translated/stock.js:1820
-#: templates/js/translated/table_filters.js:204
+#: templates/js/translated/stock.js:1839
+#: templates/js/translated/table_filters.js:208
msgid "Depleted"
msgstr ""
-#: templates/js/translated/stock.js:1871
-msgid "Stocktake"
-msgstr ""
-
-#: templates/js/translated/stock.js:1950
+#: templates/js/translated/stock.js:1969
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/translated/stock.js:1988
+#: templates/js/translated/stock.js:2006
msgid "No stock items matching query"
msgstr ""
-#: templates/js/translated/stock.js:2161
+#: templates/js/translated/stock.js:2179
msgid "Set Stock Status"
msgstr ""
-#: templates/js/translated/stock.js:2175
+#: templates/js/translated/stock.js:2193
msgid "Select Status Code"
msgstr ""
-#: templates/js/translated/stock.js:2176
+#: templates/js/translated/stock.js:2194
msgid "Status code must be selected"
msgstr ""
-#: templates/js/translated/stock.js:2408
+#: templates/js/translated/stock.js:2426
msgid "Load Subloactions"
msgstr ""
-#: templates/js/translated/stock.js:2503
+#: templates/js/translated/stock.js:2521
msgid "Details"
msgstr ""
-#: templates/js/translated/stock.js:2519
+#: templates/js/translated/stock.js:2537
msgid "Part information unavailable"
msgstr ""
-#: templates/js/translated/stock.js:2541
+#: templates/js/translated/stock.js:2559
msgid "Location no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2560
+#: templates/js/translated/stock.js:2578
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2579
+#: templates/js/translated/stock.js:2597
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2597
+#: templates/js/translated/stock.js:2615
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2620
+#: templates/js/translated/stock.js:2638
msgid "Added"
msgstr ""
-#: templates/js/translated/stock.js:2628
+#: templates/js/translated/stock.js:2646
msgid "Removed"
msgstr ""
-#: templates/js/translated/stock.js:2704
+#: templates/js/translated/stock.js:2722
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:2755 templates/js/translated/stock.js:2791
+#: templates/js/translated/stock.js:2773 templates/js/translated/stock.js:2809
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2804
+#: templates/js/translated/stock.js:2822
msgid "Select stock item to uninstall"
msgstr ""
-#: templates/js/translated/stock.js:2825
+#: templates/js/translated/stock.js:2843
msgid "Install another stock item into this item"
msgstr ""
-#: templates/js/translated/stock.js:2826
+#: templates/js/translated/stock.js:2844
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: templates/js/translated/stock.js:2828
+#: templates/js/translated/stock.js:2846
msgid "The Stock Item links to a Part which is the BOM for this Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2829
+#: templates/js/translated/stock.js:2847
msgid "The Stock Item is currently available in stock"
msgstr ""
-#: templates/js/translated/stock.js:2830
+#: templates/js/translated/stock.js:2848
msgid "The Stock Item is not already installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:2831
+#: templates/js/translated/stock.js:2849
msgid "The Stock Item is tracked by either a batch code or serial number"
msgstr ""
-#: templates/js/translated/stock.js:2844
+#: templates/js/translated/stock.js:2862
msgid "Select part to install"
msgstr ""
@@ -10236,215 +10558,220 @@ msgstr ""
msgid "Allow Variant Stock"
msgstr ""
-#: templates/js/translated/table_filters.js:126
-#: templates/js/translated/table_filters.js:199
+#: templates/js/translated/table_filters.js:92
+#: templates/js/translated/table_filters.js:508
+msgid "Has Pricing"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:130
+#: templates/js/translated/table_filters.js:203
msgid "Include sublocations"
msgstr ""
-#: templates/js/translated/table_filters.js:127
+#: templates/js/translated/table_filters.js:131
msgid "Include locations"
msgstr ""
-#: templates/js/translated/table_filters.js:137
-#: templates/js/translated/table_filters.js:138
-#: templates/js/translated/table_filters.js:445
+#: templates/js/translated/table_filters.js:141
+#: templates/js/translated/table_filters.js:142
+#: templates/js/translated/table_filters.js:449
msgid "Include subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:142
-#: templates/js/translated/table_filters.js:488
+#: templates/js/translated/table_filters.js:146
+#: templates/js/translated/table_filters.js:492
msgid "Subscribed"
msgstr ""
-#: templates/js/translated/table_filters.js:152
-#: templates/js/translated/table_filters.js:234
-msgid "Is Serialized"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:155
-#: templates/js/translated/table_filters.js:241
-msgid "Serial number GTE"
-msgstr ""
-
#: templates/js/translated/table_filters.js:156
-#: templates/js/translated/table_filters.js:242
-msgid "Serial number greater than or equal to"
+#: templates/js/translated/table_filters.js:238
+msgid "Is Serialized"
msgstr ""
#: templates/js/translated/table_filters.js:159
#: templates/js/translated/table_filters.js:245
-msgid "Serial number LTE"
+msgid "Serial number GTE"
msgstr ""
#: templates/js/translated/table_filters.js:160
#: templates/js/translated/table_filters.js:246
-msgid "Serial number less than or equal to"
+msgid "Serial number greater than or equal to"
msgstr ""
#: templates/js/translated/table_filters.js:163
+#: templates/js/translated/table_filters.js:249
+msgid "Serial number LTE"
+msgstr ""
+
#: templates/js/translated/table_filters.js:164
-#: templates/js/translated/table_filters.js:237
-#: templates/js/translated/table_filters.js:238
+#: templates/js/translated/table_filters.js:250
+msgid "Serial number less than or equal to"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:167
+#: templates/js/translated/table_filters.js:168
+#: templates/js/translated/table_filters.js:241
+#: templates/js/translated/table_filters.js:242
msgid "Serial number"
msgstr ""
-#: templates/js/translated/table_filters.js:168
-#: templates/js/translated/table_filters.js:259
+#: templates/js/translated/table_filters.js:172
+#: templates/js/translated/table_filters.js:263
msgid "Batch code"
msgstr ""
-#: templates/js/translated/table_filters.js:179
-#: templates/js/translated/table_filters.js:417
+#: templates/js/translated/table_filters.js:183
+#: templates/js/translated/table_filters.js:421
msgid "Active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:180
+#: templates/js/translated/table_filters.js:184
msgid "Show stock for active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:185
+#: templates/js/translated/table_filters.js:189
msgid "Part is an assembly"
msgstr ""
-#: templates/js/translated/table_filters.js:189
+#: templates/js/translated/table_filters.js:193
msgid "Is allocated"
msgstr ""
-#: templates/js/translated/table_filters.js:190
+#: templates/js/translated/table_filters.js:194
msgid "Item has been allocated"
msgstr ""
-#: templates/js/translated/table_filters.js:195
+#: templates/js/translated/table_filters.js:199
msgid "Stock is available for use"
msgstr ""
-#: templates/js/translated/table_filters.js:200
+#: templates/js/translated/table_filters.js:204
msgid "Include stock in sublocations"
msgstr ""
-#: templates/js/translated/table_filters.js:205
+#: templates/js/translated/table_filters.js:209
msgid "Show stock items which are depleted"
msgstr ""
-#: templates/js/translated/table_filters.js:210
+#: templates/js/translated/table_filters.js:214
msgid "Show items which are in stock"
msgstr ""
-#: templates/js/translated/table_filters.js:214
+#: templates/js/translated/table_filters.js:218
msgid "In Production"
msgstr ""
-#: templates/js/translated/table_filters.js:215
+#: templates/js/translated/table_filters.js:219
msgid "Show items which are in production"
msgstr ""
-#: templates/js/translated/table_filters.js:219
+#: templates/js/translated/table_filters.js:223
msgid "Include Variants"
msgstr ""
-#: templates/js/translated/table_filters.js:220
+#: templates/js/translated/table_filters.js:224
msgid "Include stock items for variant parts"
msgstr ""
-#: templates/js/translated/table_filters.js:224
+#: templates/js/translated/table_filters.js:228
msgid "Installed"
msgstr ""
-#: templates/js/translated/table_filters.js:225
+#: templates/js/translated/table_filters.js:229
msgid "Show stock items which are installed in another item"
msgstr ""
-#: templates/js/translated/table_filters.js:230
+#: templates/js/translated/table_filters.js:234
msgid "Show items which have been assigned to a customer"
msgstr ""
-#: templates/js/translated/table_filters.js:250
-#: templates/js/translated/table_filters.js:251
+#: templates/js/translated/table_filters.js:254
+#: templates/js/translated/table_filters.js:255
msgid "Stock status"
msgstr ""
-#: templates/js/translated/table_filters.js:254
+#: templates/js/translated/table_filters.js:258
msgid "Has batch code"
msgstr ""
-#: templates/js/translated/table_filters.js:262
+#: templates/js/translated/table_filters.js:266
msgid "Tracked"
msgstr ""
-#: templates/js/translated/table_filters.js:263
+#: templates/js/translated/table_filters.js:267
msgid "Stock item is tracked by either batch code or serial number"
msgstr ""
-#: templates/js/translated/table_filters.js:268
+#: templates/js/translated/table_filters.js:272
msgid "Has purchase price"
msgstr ""
-#: templates/js/translated/table_filters.js:269
+#: templates/js/translated/table_filters.js:273
msgid "Show stock items which have a purchase price set"
msgstr ""
-#: templates/js/translated/table_filters.js:278
+#: templates/js/translated/table_filters.js:282
msgid "Show stock items which have expired"
msgstr ""
-#: templates/js/translated/table_filters.js:284
+#: templates/js/translated/table_filters.js:288
msgid "Show stock which is close to expiring"
msgstr ""
-#: templates/js/translated/table_filters.js:296
+#: templates/js/translated/table_filters.js:300
msgid "Test Passed"
msgstr ""
-#: templates/js/translated/table_filters.js:300
+#: templates/js/translated/table_filters.js:304
msgid "Include Installed Items"
msgstr ""
-#: templates/js/translated/table_filters.js:319
+#: templates/js/translated/table_filters.js:323
msgid "Build status"
msgstr ""
-#: templates/js/translated/table_filters.js:332
-#: templates/js/translated/table_filters.js:373
+#: templates/js/translated/table_filters.js:336
+#: templates/js/translated/table_filters.js:377
msgid "Assigned to me"
msgstr ""
-#: templates/js/translated/table_filters.js:349
-#: templates/js/translated/table_filters.js:360
-#: templates/js/translated/table_filters.js:390
+#: templates/js/translated/table_filters.js:353
+#: templates/js/translated/table_filters.js:364
+#: templates/js/translated/table_filters.js:394
msgid "Order status"
msgstr ""
-#: templates/js/translated/table_filters.js:365
-#: templates/js/translated/table_filters.js:382
-#: templates/js/translated/table_filters.js:395
+#: templates/js/translated/table_filters.js:369
+#: templates/js/translated/table_filters.js:386
+#: templates/js/translated/table_filters.js:399
msgid "Outstanding"
msgstr ""
-#: templates/js/translated/table_filters.js:446
+#: templates/js/translated/table_filters.js:450
msgid "Include parts in subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:451
+#: templates/js/translated/table_filters.js:455
msgid "Show active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:459
+#: templates/js/translated/table_filters.js:463
msgid "Available stock"
msgstr ""
-#: templates/js/translated/table_filters.js:467
+#: templates/js/translated/table_filters.js:471
msgid "Has IPN"
msgstr ""
-#: templates/js/translated/table_filters.js:468
+#: templates/js/translated/table_filters.js:472
msgid "Part has internal part number"
msgstr ""
-#: templates/js/translated/table_filters.js:472
+#: templates/js/translated/table_filters.js:476
msgid "In stock"
msgstr ""
-#: templates/js/translated/table_filters.js:480
+#: templates/js/translated/table_filters.js:484
msgid "Purchasable"
msgstr ""
@@ -10554,6 +10881,10 @@ msgstr ""
msgid "Show all notifications and history"
msgstr ""
+#: templates/price_data.html:7
+msgid "No data"
+msgstr ""
+
#: templates/qr_code.html:11
msgid "QR data not provided"
msgstr ""
@@ -10738,35 +11069,35 @@ msgstr ""
msgid "Important dates"
msgstr ""
-#: users/models.py:205
+#: users/models.py:207
msgid "Permission set"
msgstr ""
-#: users/models.py:213
+#: users/models.py:215
msgid "Group"
msgstr ""
-#: users/models.py:216
+#: users/models.py:218
msgid "View"
msgstr ""
-#: users/models.py:216
+#: users/models.py:218
msgid "Permission to view items"
msgstr ""
-#: users/models.py:218
+#: users/models.py:220
msgid "Permission to add items"
msgstr ""
-#: users/models.py:220
+#: users/models.py:222
msgid "Change"
msgstr ""
-#: users/models.py:220
+#: users/models.py:222
msgid "Permissions to edit items"
msgstr ""
-#: users/models.py:222
+#: users/models.py:224
msgid "Permission to delete items"
msgstr ""
diff --git a/InvenTree/locale/zh/LC_MESSAGES/django.po b/InvenTree/locale/zh/LC_MESSAGES/django.po
index 21b9c84cef..2c9e191df0 100644
--- a/InvenTree/locale/zh/LC_MESSAGES/django.po
+++ b/InvenTree/locale/zh/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-11-04 14:07+0000\n"
-"PO-Revision-Date: 2022-11-04 19:02\n"
+"POT-Creation-Date: 2022-11-14 04:59+0000\n"
+"PO-Revision-Date: 2022-11-14 14:51\n"
"Last-Translator: \n"
"Language-Team: Chinese Simplified\n"
"Language: zh_CN\n"
@@ -17,7 +17,7 @@ msgstr ""
"X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n"
"X-Crowdin-File-ID: 154\n"
-#: InvenTree/api.py:54
+#: InvenTree/api.py:61
msgid "API endpoint not found"
msgstr "未找到 API 端点"
@@ -25,27 +25,27 @@ msgstr "未找到 API 端点"
msgid "Error details can be found in the admin panel"
msgstr "在管理面板中可以找到错误详细信息"
-#: InvenTree/fields.py:120
+#: InvenTree/fields.py:129
msgid "Enter date"
msgstr "输入日期"
-#: InvenTree/fields.py:195 build/serializers.py:387
-#: build/templates/build/sidebar.html:21 company/models.py:525
-#: company/templates/company/sidebar.html:25 order/models.py:920
+#: InvenTree/fields.py:204 build/serializers.py:387
+#: build/templates/build/sidebar.html:21 company/models.py:529
+#: company/templates/company/sidebar.html:25 order/models.py:943
#: order/templates/order/po_sidebar.html:11
-#: order/templates/order/so_sidebar.html:17
-#: part/templates/part/part_sidebar.html:59
+#: order/templates/order/so_sidebar.html:17 part/admin.py:27
+#: part/templates/part/part_sidebar.html:57
#: report/templates/report/inventree_build_order_base.html:172
-#: stock/models.py:2002 stock/models.py:2110 stock/serializers.py:327
-#: stock/serializers.py:460 stock/serializers.py:541 stock/serializers.py:827
-#: stock/serializers.py:926 stock/serializers.py:1058
+#: stock/admin.py:103 stock/models.py:2018 stock/models.py:2126
+#: stock/serializers.py:321 stock/serializers.py:454 stock/serializers.py:535
+#: stock/serializers.py:826 stock/serializers.py:925 stock/serializers.py:1057
#: stock/templates/stock/stock_sidebar.html:25
-#: templates/js/translated/barcode.js:108 templates/js/translated/bom.js:1146
-#: templates/js/translated/company.js:1022
-#: templates/js/translated/order.js:2404 templates/js/translated/order.js:2552
-#: templates/js/translated/order.js:3048 templates/js/translated/order.js:3999
-#: templates/js/translated/order.js:4394 templates/js/translated/stock.js:1374
-#: templates/js/translated/stock.js:1982
+#: templates/js/translated/barcode.js:108 templates/js/translated/bom.js:1211
+#: templates/js/translated/company.js:1023
+#: templates/js/translated/order.js:2427 templates/js/translated/order.js:2561
+#: templates/js/translated/order.js:3059 templates/js/translated/order.js:3996
+#: templates/js/translated/order.js:4377 templates/js/translated/stock.js:1393
+#: templates/js/translated/stock.js:2000
msgid "Notes"
msgstr "备注"
@@ -122,43 +122,43 @@ msgstr ""
msgid "Supplied URL is not a valid image file"
msgstr "提供的 URL 不是一个有效的图片文件"
-#: InvenTree/helpers.py:602 order/models.py:325 order/models.py:477
+#: InvenTree/helpers.py:589 order/models.py:329 order/models.py:496
msgid "Invalid quantity provided"
msgstr "提供的数量无效"
-#: InvenTree/helpers.py:610
+#: InvenTree/helpers.py:597
msgid "Empty serial number string"
msgstr "空序列号字符串"
-#: InvenTree/helpers.py:640
+#: InvenTree/helpers.py:627
msgid "Duplicate serial"
msgstr ""
-#: InvenTree/helpers.py:673 InvenTree/helpers.py:708
+#: InvenTree/helpers.py:660 InvenTree/helpers.py:695
#, python-brace-format
msgid "Invalid group range: {g}"
msgstr "无效的组范围: {g}"
-#: InvenTree/helpers.py:702
+#: InvenTree/helpers.py:689
#, python-brace-format
msgid "Group range {g} exceeds allowed quantity ({q})"
msgstr ""
-#: InvenTree/helpers.py:726 InvenTree/helpers.py:733 InvenTree/helpers.py:748
+#: InvenTree/helpers.py:713 InvenTree/helpers.py:720 InvenTree/helpers.py:735
#, python-brace-format
msgid "Invalid group sequence: {g}"
msgstr "无效的组序列: {g}"
-#: InvenTree/helpers.py:758
+#: InvenTree/helpers.py:745
msgid "No serial numbers found"
msgstr "未找到序列号"
-#: InvenTree/helpers.py:761
+#: InvenTree/helpers.py:748
#, python-brace-format
msgid "Number of unique serial numbers ({s}) must match quantity ({q})"
msgstr "唯一序列号 ({s}) 必须匹配数量 ({q})"
-#: InvenTree/helpers.py:960
+#: InvenTree/helpers.py:947
msgid "Remove HTML tags from this value"
msgstr ""
@@ -194,7 +194,7 @@ msgstr "缺少文件"
msgid "Missing external link"
msgstr "缺少外部链接"
-#: InvenTree/models.py:405 stock/models.py:2104
+#: InvenTree/models.py:405 stock/models.py:2120
#: templates/js/translated/attachment.js:103
#: templates/js/translated/attachment.js:241
msgid "Attachment"
@@ -204,18 +204,19 @@ msgstr "附件"
msgid "Select file to attach"
msgstr "选择附件"
-#: InvenTree/models.py:412 company/models.py:125 company/models.py:277
-#: company/models.py:512 order/models.py:84 order/models.py:1259
-#: part/models.py:816 part/templates/part/part_scheduling.html:11
+#: InvenTree/models.py:412 common/models.py:2313 company/models.py:129
+#: company/models.py:281 company/models.py:516 order/models.py:85
+#: order/models.py:1282 part/admin.py:25 part/models.py:835
+#: part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
-#: templates/js/translated/company.js:691
-#: templates/js/translated/company.js:1011
-#: templates/js/translated/order.js:3037 templates/js/translated/part.js:1569
+#: stock/admin.py:102 templates/js/translated/company.js:692
+#: templates/js/translated/company.js:1012
+#: templates/js/translated/order.js:3048 templates/js/translated/part.js:1593
msgid "Link"
msgstr "链接"
-#: InvenTree/models.py:413 build/models.py:290 part/models.py:817
-#: stock/models.py:660
+#: InvenTree/models.py:413 build/models.py:290 part/models.py:836
+#: stock/models.py:676
msgid "Link to external URL"
msgstr "链接到外部 URL"
@@ -228,12 +229,12 @@ msgstr "注释"
msgid "File comment"
msgstr "文件注释"
-#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1744
-#: common/models.py:1745 common/models.py:1968 common/models.py:1969
-#: common/models.py:2231 common/models.py:2232 part/models.py:2254
-#: part/models.py:2274 plugin/models.py:264 plugin/models.py:265
+#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1756
+#: common/models.py:1757 common/models.py:1980 common/models.py:1981
+#: common/models.py:2243 common/models.py:2244 part/models.py:2867
+#: part/models.py:2887 plugin/models.py:264 plugin/models.py:265
#: report/templates/report/inventree_test_report_base.html:96
-#: templates/js/translated/stock.js:2651
+#: templates/js/translated/stock.js:2669
msgid "User"
msgstr "用户"
@@ -270,44 +271,45 @@ msgstr "重命名文件出错"
msgid "Invalid choice"
msgstr "选择无效"
-#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1954
-#: company/models.py:359 label/models.py:101 part/models.py:760
-#: part/models.py:2429 plugin/models.py:94 report/models.py:152
+#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1966
+#: company/models.py:363 label/models.py:101 part/models.py:779
+#: part/models.py:3042 plugin/models.py:94 report/models.py:152
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/plugin.html:60
#: templates/InvenTree/settings/plugin.html:104
#: templates/InvenTree/settings/plugin_settings.html:23
#: templates/InvenTree/settings/settings.html:344
-#: templates/js/translated/company.js:580
-#: templates/js/translated/company.js:793
+#: templates/js/translated/company.js:581
+#: templates/js/translated/company.js:794
#: templates/js/translated/notification.js:71
-#: templates/js/translated/part.js:686 templates/js/translated/part.js:838
-#: templates/js/translated/part.js:1964 templates/js/translated/stock.js:2396
+#: templates/js/translated/part.js:700 templates/js/translated/part.js:865
+#: templates/js/translated/part.js:1988 templates/js/translated/stock.js:2414
msgid "Name"
msgstr "名称"
#: InvenTree/models.py:564 build/models.py:163
-#: build/templates/build/detail.html:24 company/models.py:283
-#: company/models.py:518 company/templates/company/company_base.html:71
+#: build/templates/build/detail.html:24 company/models.py:287
+#: company/models.py:522 company/templates/company/company_base.html:71
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:108 label/models.py:108
-#: order/models.py:82 part/models.py:783 part/models.py:2438
-#: part/templates/part/category.html:75 part/templates/part/part_base.html:172
+#: order/models.py:83 part/admin.py:141 part/admin.py:222 part/models.py:802
+#: part/models.py:3051 part/templates/part/category.html:75
+#: part/templates/part/part_base.html:172
#: part/templates/part/part_scheduling.html:12 report/models.py:165
#: report/models.py:507 report/models.py:551
#: report/templates/report/inventree_build_order_base.html:117
-#: stock/templates/stock/location.html:117
+#: stock/admin.py:25 stock/templates/stock/location.html:117
#: templates/InvenTree/settings/plugin_settings.html:28
#: templates/InvenTree/settings/settings.html:355
-#: templates/js/translated/bom.js:579 templates/js/translated/bom.js:887
-#: templates/js/translated/build.js:2580 templates/js/translated/company.js:444
-#: templates/js/translated/company.js:702
-#: templates/js/translated/company.js:986 templates/js/translated/order.js:1988
-#: templates/js/translated/order.js:2220 templates/js/translated/order.js:2826
-#: templates/js/translated/part.js:745 templates/js/translated/part.js:1187
-#: templates/js/translated/part.js:1464 templates/js/translated/part.js:2000
-#: templates/js/translated/part.js:2075 templates/js/translated/stock.js:1748
-#: templates/js/translated/stock.js:2428 templates/js/translated/stock.js:2488
+#: templates/js/translated/bom.js:592 templates/js/translated/bom.js:895
+#: templates/js/translated/build.js:2580 templates/js/translated/company.js:445
+#: templates/js/translated/company.js:703
+#: templates/js/translated/company.js:987 templates/js/translated/order.js:2022
+#: templates/js/translated/order.js:2259 templates/js/translated/order.js:2837
+#: templates/js/translated/part.js:759 templates/js/translated/part.js:1208
+#: templates/js/translated/part.js:1475 templates/js/translated/part.js:2024
+#: templates/js/translated/part.js:2099 templates/js/translated/stock.js:1767
+#: templates/js/translated/stock.js:2446 templates/js/translated/stock.js:2506
msgid "Description"
msgstr "描述信息"
@@ -320,7 +322,7 @@ msgid "parent"
msgstr "上级项"
#: InvenTree/models.py:580 InvenTree/models.py:581
-#: templates/js/translated/part.js:2009 templates/js/translated/stock.js:2437
+#: templates/js/translated/part.js:2033 templates/js/translated/stock.js:2455
msgid "Path"
msgstr ""
@@ -332,7 +334,7 @@ msgstr ""
msgid "Third party barcode data"
msgstr ""
-#: InvenTree/models.py:688 order/serializers.py:486
+#: InvenTree/models.py:688 order/serializers.py:477
msgid "Barcode Hash"
msgstr ""
@@ -352,187 +354,187 @@ msgstr "服务器错误"
msgid "An error has been logged by the server."
msgstr "服务器记录了一个错误。"
-#: InvenTree/serializers.py:58 part/models.py:2774
+#: InvenTree/serializers.py:58 part/models.py:3387
msgid "Must be a valid number"
msgstr "必须是有效数字"
-#: InvenTree/serializers.py:265
+#: InvenTree/serializers.py:266
msgid "Filename"
msgstr "文件名"
-#: InvenTree/serializers.py:300
+#: InvenTree/serializers.py:301
msgid "Invalid value"
msgstr "无效值"
-#: InvenTree/serializers.py:322
+#: InvenTree/serializers.py:323
msgid "Data File"
msgstr "数据文件"
-#: InvenTree/serializers.py:323
+#: InvenTree/serializers.py:324
msgid "Select data file for upload"
msgstr "选择要上传的文件"
-#: InvenTree/serializers.py:344
+#: InvenTree/serializers.py:345
msgid "Unsupported file type"
msgstr "不支持的文件类型"
-#: InvenTree/serializers.py:350
+#: InvenTree/serializers.py:351
msgid "File is too large"
msgstr "文件过大"
-#: InvenTree/serializers.py:371
+#: InvenTree/serializers.py:372
msgid "No columns found in file"
msgstr "在文件中没有找到列"
-#: InvenTree/serializers.py:374
+#: InvenTree/serializers.py:375
msgid "No data rows found in file"
msgstr "在文件中没有找到数据行"
-#: InvenTree/serializers.py:497
+#: InvenTree/serializers.py:498
msgid "No data rows provided"
msgstr "没有提供数据行"
-#: InvenTree/serializers.py:500
+#: InvenTree/serializers.py:501
msgid "No data columns supplied"
msgstr "没有提供数据列"
-#: InvenTree/serializers.py:577
+#: InvenTree/serializers.py:578
#, python-brace-format
msgid "Missing required column: '{name}'"
msgstr "缺少必需的列:'{name}'"
-#: InvenTree/serializers.py:586
+#: InvenTree/serializers.py:587
#, python-brace-format
msgid "Duplicate column: '{col}'"
msgstr "复制列: '{col}'"
-#: InvenTree/serializers.py:605
+#: InvenTree/serializers.py:606
#: templates/InvenTree/settings/mixins/urls.html:14
msgid "URL"
msgstr ""
-#: InvenTree/serializers.py:606
+#: InvenTree/serializers.py:607
msgid "URL of remote image file"
msgstr ""
-#: InvenTree/serializers.py:620
+#: InvenTree/serializers.py:621
msgid "Downloading images from remote URL is not enabled"
msgstr ""
-#: InvenTree/settings.py:621
+#: InvenTree/settings.py:627
msgid "Czech"
msgstr "捷克语"
-#: InvenTree/settings.py:622
+#: InvenTree/settings.py:628
msgid "Danish"
msgstr ""
-#: InvenTree/settings.py:623
+#: InvenTree/settings.py:629
msgid "German"
msgstr "德语"
-#: InvenTree/settings.py:624
+#: InvenTree/settings.py:630
msgid "Greek"
msgstr "希腊语"
-#: InvenTree/settings.py:625
+#: InvenTree/settings.py:631
msgid "English"
msgstr "英语"
-#: InvenTree/settings.py:626
+#: InvenTree/settings.py:632
msgid "Spanish"
msgstr "西班牙语"
-#: InvenTree/settings.py:627
+#: InvenTree/settings.py:633
msgid "Spanish (Mexican)"
msgstr "西班牙语(墨西哥)"
-#: InvenTree/settings.py:628
+#: InvenTree/settings.py:634
msgid "Farsi / Persian"
msgstr "波斯语"
-#: InvenTree/settings.py:629
+#: InvenTree/settings.py:635
msgid "French"
msgstr "法语"
-#: InvenTree/settings.py:630
+#: InvenTree/settings.py:636
msgid "Hebrew"
msgstr "希伯来语"
-#: InvenTree/settings.py:631
+#: InvenTree/settings.py:637
msgid "Hungarian"
msgstr "匈牙利语"
-#: InvenTree/settings.py:632
+#: InvenTree/settings.py:638
msgid "Italian"
msgstr "意大利语"
-#: InvenTree/settings.py:633
+#: InvenTree/settings.py:639
msgid "Japanese"
msgstr "日语"
-#: InvenTree/settings.py:634
+#: InvenTree/settings.py:640
msgid "Korean"
msgstr "韩语"
-#: InvenTree/settings.py:635
+#: InvenTree/settings.py:641
msgid "Dutch"
msgstr "荷兰语"
-#: InvenTree/settings.py:636
+#: InvenTree/settings.py:642
msgid "Norwegian"
msgstr "挪威语"
-#: InvenTree/settings.py:637
+#: InvenTree/settings.py:643
msgid "Polish"
msgstr "波兰语"
-#: InvenTree/settings.py:638
+#: InvenTree/settings.py:644
msgid "Portuguese"
msgstr "葡萄牙语"
-#: InvenTree/settings.py:639
+#: InvenTree/settings.py:645
msgid "Portuguese (Brazilian)"
msgstr "葡萄牙语 (巴西)"
-#: InvenTree/settings.py:640
+#: InvenTree/settings.py:646
msgid "Russian"
msgstr "俄语"
-#: InvenTree/settings.py:641
+#: InvenTree/settings.py:647
msgid "Swedish"
msgstr "瑞典语"
-#: InvenTree/settings.py:642
+#: InvenTree/settings.py:648
msgid "Thai"
msgstr "泰语"
-#: InvenTree/settings.py:643
+#: InvenTree/settings.py:649
msgid "Turkish"
msgstr "土耳其语"
-#: InvenTree/settings.py:644
+#: InvenTree/settings.py:650
msgid "Vietnamese"
msgstr "越南语"
-#: InvenTree/settings.py:645
+#: InvenTree/settings.py:651
msgid "Chinese"
msgstr "中文(简体)"
-#: InvenTree/status.py:99
+#: InvenTree/status.py:98
msgid "Background worker check failed"
msgstr "后台工作人员检查失败"
-#: InvenTree/status.py:103
+#: InvenTree/status.py:102
msgid "Email backend not configured"
msgstr "未配置电子邮件后端"
-#: InvenTree/status.py:106
+#: InvenTree/status.py:105
msgid "InvenTree system health checks failed"
msgstr "InventTree系统健康检查失败"
#: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140
-#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:342
+#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:346
msgid "Pending"
msgstr "待定"
@@ -561,8 +563,8 @@ msgstr "丢失"
msgid "Returned"
msgstr "已退回"
-#: InvenTree/status_codes.py:141 order/models.py:1142
-#: templates/js/translated/order.js:3625 templates/js/translated/order.js:3974
+#: InvenTree/status_codes.py:141 order/models.py:1165
+#: templates/js/translated/order.js:3636 templates/js/translated/order.js:3971
msgid "Shipped"
msgstr "已发货"
@@ -646,7 +648,7 @@ msgstr "从父项拆分"
msgid "Split child item"
msgstr "拆分子项"
-#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2086
+#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2104
msgid "Merged stock items"
msgstr "合并的库存项目"
@@ -654,7 +656,7 @@ msgstr "合并的库存项目"
msgid "Converted to variant"
msgstr "转换为变量"
-#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:229
+#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:233
msgid "Sent to customer"
msgstr "发送给客户"
@@ -746,7 +748,7 @@ msgstr "生产订单"
#: build/models.py:111 build/templates/build/build_base.html:13
#: build/templates/build/index.html:8 build/templates/build/index.html:12
-#: order/templates/order/sales_order_detail.html:120
+#: order/templates/order/sales_order_detail.html:125
#: order/templates/order/so_sidebar.html:13
#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221
#: templates/InvenTree/search.html:141
@@ -759,15 +761,15 @@ msgstr "生产订单"
msgid "Build Order Reference"
msgstr "相关生产订单"
-#: build/models.py:155 order/models.py:240 order/models.py:632
-#: order/models.py:918 part/models.py:2684
+#: build/models.py:155 order/models.py:241 order/models.py:651
+#: order/models.py:941 part/admin.py:224 part/models.py:3297
#: part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:92
-#: templates/js/translated/bom.js:716 templates/js/translated/bom.js:897
-#: templates/js/translated/build.js:1843 templates/js/translated/order.js:2251
-#: templates/js/translated/order.js:2481 templates/js/translated/order.js:3818
-#: templates/js/translated/order.js:4323
+#: templates/js/translated/bom.js:729 templates/js/translated/bom.js:905
+#: templates/js/translated/build.js:1843 templates/js/translated/order.js:2290
+#: templates/js/translated/order.js:2508 templates/js/translated/order.js:3833
+#: templates/js/translated/order.js:4324 templates/js/translated/pricing.js:119
msgid "Reference"
msgstr "引用"
@@ -785,39 +787,40 @@ msgid "BuildOrder to which this build is allocated"
msgstr "此次生产匹配的订单"
#: build/models.py:180 build/templates/build/build_base.html:80
-#: build/templates/build/detail.html:29 company/models.py:680
-#: order/models.py:1015 order/models.py:1126 order/models.py:1127
-#: part/models.py:343 part/models.py:2200 part/models.py:2215
-#: part/models.py:2234 part/models.py:2252 part/models.py:2351
-#: part/models.py:2472 part/models.py:2564 part/models.py:2649
-#: part/models.py:2943 part/serializers.py:828
+#: build/templates/build/detail.html:29 company/models.py:684
+#: order/models.py:1038 order/models.py:1149 order/models.py:1150
+#: part/models.py:362 part/models.py:2700 part/models.py:2813
+#: part/models.py:2828 part/models.py:2847 part/models.py:2865
+#: part/models.py:2964 part/models.py:3085 part/models.py:3177
+#: part/models.py:3262 part/models.py:3578 part/serializers.py:852
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
#: report/templates/report/inventree_build_order_base.html:109
#: report/templates/report/inventree_po_report.html:89
-#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:86
-#: stock/serializers.py:494 templates/InvenTree/search.html:82
+#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:90
+#: stock/serializers.py:488 templates/InvenTree/search.html:82
#: templates/email/build_order_completed.html:17
#: templates/email/build_order_required_stock.html:17
#: templates/email/low_stock_notification.html:16
#: templates/email/overdue_build_order.html:16
-#: templates/js/translated/barcode.js:479 templates/js/translated/bom.js:578
-#: templates/js/translated/bom.js:715 templates/js/translated/bom.js:841
+#: templates/js/translated/barcode.js:479 templates/js/translated/bom.js:591
+#: templates/js/translated/bom.js:728 templates/js/translated/bom.js:849
#: templates/js/translated/build.js:1214 templates/js/translated/build.js:1711
#: templates/js/translated/build.js:2194 templates/js/translated/build.js:2585
-#: templates/js/translated/company.js:301
-#: templates/js/translated/company.js:531
-#: templates/js/translated/company.js:643
-#: templates/js/translated/company.js:904 templates/js/translated/order.js:106
-#: templates/js/translated/order.js:1134 templates/js/translated/order.js:1638
-#: templates/js/translated/order.js:2205 templates/js/translated/order.js:3180
-#: templates/js/translated/order.js:3576 templates/js/translated/order.js:3802
-#: templates/js/translated/part.js:1172 templates/js/translated/part.js:1244
-#: templates/js/translated/part.js:1442 templates/js/translated/stock.js:586
-#: templates/js/translated/stock.js:751 templates/js/translated/stock.js:958
-#: templates/js/translated/stock.js:1700 templates/js/translated/stock.js:2514
-#: templates/js/translated/stock.js:2709 templates/js/translated/stock.js:2843
+#: templates/js/translated/company.js:302
+#: templates/js/translated/company.js:532
+#: templates/js/translated/company.js:644
+#: templates/js/translated/company.js:905 templates/js/translated/order.js:106
+#: templates/js/translated/order.js:1168 templates/js/translated/order.js:1672
+#: templates/js/translated/order.js:2244 templates/js/translated/order.js:3191
+#: templates/js/translated/order.js:3587 templates/js/translated/order.js:3817
+#: templates/js/translated/part.js:1193 templates/js/translated/part.js:1265
+#: templates/js/translated/part.js:1452 templates/js/translated/pricing.js:102
+#: templates/js/translated/stock.js:605 templates/js/translated/stock.js:770
+#: templates/js/translated/stock.js:977 templates/js/translated/stock.js:1719
+#: templates/js/translated/stock.js:2532 templates/js/translated/stock.js:2727
+#: templates/js/translated/stock.js:2861
msgid "Part"
msgstr "商品"
@@ -834,7 +837,7 @@ msgid "SalesOrder to which this build is allocated"
msgstr "此次生产匹配的销售订单"
#: build/models.py:202 build/serializers.py:822
-#: templates/js/translated/build.js:2182 templates/js/translated/order.js:3168
+#: templates/js/translated/build.js:2182 templates/js/translated/order.js:3179
msgid "Source Location"
msgstr "来源地点"
@@ -874,8 +877,8 @@ msgstr "生产状态"
msgid "Build status code"
msgstr "生产状态代码"
-#: build/models.py:245 build/serializers.py:224 order/serializers.py:464
-#: stock/models.py:664 templates/js/translated/order.js:1496
+#: build/models.py:245 build/serializers.py:224 order/serializers.py:455
+#: stock/models.py:680 templates/js/translated/order.js:1530
msgid "Batch Code"
msgstr "批量代码"
@@ -883,12 +886,12 @@ msgstr "批量代码"
msgid "Batch code for this build output"
msgstr "此生产产出的批量代码"
-#: build/models.py:252 order/models.py:86 part/models.py:952
-#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2839
+#: build/models.py:252 order/models.py:87 part/models.py:971
+#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2850
msgid "Creation Date"
msgstr "创建日期"
-#: build/models.py:256 order/models.py:662
+#: build/models.py:256 order/models.py:681
msgid "Target completion date"
msgstr "预计完成日期"
@@ -896,7 +899,7 @@ msgstr "预计完成日期"
msgid "Target date for build completion. Build will be overdue after this date."
msgstr "生产完成的目标日期。生产将在此日期之后逾期。"
-#: build/models.py:260 order/models.py:291
+#: build/models.py:260 order/models.py:292
#: templates/js/translated/build.js:2662
msgid "Completion Date"
msgstr "完成日期:"
@@ -914,11 +917,11 @@ msgid "User who issued this build order"
msgstr "发布此生产订单的用户"
#: build/models.py:283 build/templates/build/build_base.html:193
-#: build/templates/build/detail.html:115 order/models.py:100
+#: build/templates/build/detail.html:115 order/models.py:101
#: order/templates/order/order_base.html:185
-#: order/templates/order/sales_order_base.html:183 part/models.py:956
+#: order/templates/order/sales_order_base.html:183 part/models.py:975
#: report/templates/report/inventree_build_order_base.html:158
-#: templates/js/translated/build.js:2642 templates/js/translated/order.js:2022
+#: templates/js/translated/build.js:2642 templates/js/translated/order.js:2056
msgid "Responsible"
msgstr "责任人"
@@ -929,7 +932,7 @@ msgstr "负责此生产订单的用户"
#: build/models.py:289 build/templates/build/detail.html:101
#: company/templates/company/manufacturer_part.html:107
#: company/templates/company/supplier_part.html:188
-#: part/templates/part/part_base.html:361 stock/models.py:658
+#: part/templates/part/part_base.html:376 stock/models.py:674
#: stock/templates/stock/item_base.html:203
msgid "External Link"
msgstr "外部链接"
@@ -968,11 +971,11 @@ msgstr "生产项必须指定生产产出,因为主部件已经被标记为可
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr "分配数量 ({q}) 不得超过可用库存数量 ({a})"
-#: build/models.py:1191 order/models.py:1393
+#: build/models.py:1191 order/models.py:1416
msgid "Stock item is over-allocated"
msgstr "库存物品分配过度!"
-#: build/models.py:1197 order/models.py:1396
+#: build/models.py:1197 order/models.py:1419
msgid "Allocation quantity must be greater than zero"
msgstr "分配数量必须大于0"
@@ -994,18 +997,18 @@ msgstr "生产"
msgid "Build to allocate parts"
msgstr "生产以分配部件"
-#: build/models.py:1346 build/serializers.py:663 order/serializers.py:1039
-#: order/serializers.py:1060 stock/serializers.py:398 stock/serializers.py:758
-#: stock/serializers.py:884 stock/templates/stock/item_base.html:10
+#: build/models.py:1346 build/serializers.py:663 order/serializers.py:1032
+#: order/serializers.py:1053 stock/serializers.py:392 stock/serializers.py:757
+#: stock/serializers.py:883 stock/templates/stock/item_base.html:10
#: stock/templates/stock/item_base.html:23
#: stock/templates/stock/item_base.html:197
#: templates/js/translated/build.js:790 templates/js/translated/build.js:795
#: templates/js/translated/build.js:2196 templates/js/translated/build.js:2747
-#: templates/js/translated/order.js:107 templates/js/translated/order.js:3181
-#: templates/js/translated/order.js:3483 templates/js/translated/order.js:3488
-#: templates/js/translated/order.js:3583 templates/js/translated/order.js:3675
-#: templates/js/translated/stock.js:587 templates/js/translated/stock.js:752
-#: templates/js/translated/stock.js:2587
+#: templates/js/translated/order.js:107 templates/js/translated/order.js:3192
+#: templates/js/translated/order.js:3494 templates/js/translated/order.js:3499
+#: templates/js/translated/order.js:3594 templates/js/translated/order.js:3686
+#: templates/js/translated/stock.js:606 templates/js/translated/stock.js:771
+#: templates/js/translated/stock.js:2605
msgid "Stock Item"
msgstr "库存项"
@@ -1015,12 +1018,10 @@ msgstr "源库存项"
#: build/models.py:1359 build/serializers.py:192
#: build/templates/build/build_base.html:85
-#: build/templates/build/detail.html:34 common/models.py:1776
-#: company/templates/company/supplier_part.html:341 order/models.py:911
-#: order/models.py:1437 order/serializers.py:1213
-#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:40
-#: part/models.py:2665 part/templates/part/detail.html:938
-#: part/templates/part/detail.html:1024
+#: build/templates/build/detail.html:34 common/models.py:1788
+#: order/models.py:934 order/models.py:1460 order/serializers.py:1206
+#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:223
+#: part/forms.py:40 part/models.py:3278
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_build_order_base.html:113
@@ -1028,25 +1029,29 @@ msgstr "源库存项"
#: report/templates/report/inventree_so_report.html:91
#: report/templates/report/inventree_test_report_base.html:81
#: report/templates/report/inventree_test_report_base.html:139
-#: stock/serializers.py:291 stock/templates/stock/item_base.html:290
+#: stock/admin.py:86 stock/serializers.py:285
+#: stock/templates/stock/item_base.html:290
#: stock/templates/stock/item_base.html:298
#: templates/email/build_order_completed.html:18
-#: templates/js/translated/barcode.js:481 templates/js/translated/bom.js:717
-#: templates/js/translated/bom.js:905 templates/js/translated/build.js:474
+#: templates/js/translated/barcode.js:481 templates/js/translated/bom.js:730
+#: templates/js/translated/bom.js:913 templates/js/translated/build.js:474
#: templates/js/translated/build.js:626 templates/js/translated/build.js:817
#: templates/js/translated/build.js:1236 templates/js/translated/build.js:1737
#: templates/js/translated/build.js:2197
+#: templates/js/translated/company.js:1159
#: templates/js/translated/model_renderers.js:120
-#: templates/js/translated/order.js:123 templates/js/translated/order.js:1137
-#: templates/js/translated/order.js:2257 templates/js/translated/order.js:2487
-#: templates/js/translated/order.js:3182 templates/js/translated/order.js:3502
-#: templates/js/translated/order.js:3589 templates/js/translated/order.js:3681
-#: templates/js/translated/order.js:3824 templates/js/translated/order.js:4329
-#: templates/js/translated/part.js:1036 templates/js/translated/part.js:2220
-#: templates/js/translated/part.js:2689 templates/js/translated/part.js:2730
-#: templates/js/translated/part.js:2808 templates/js/translated/stock.js:458
-#: templates/js/translated/stock.js:612 templates/js/translated/stock.js:782
-#: templates/js/translated/stock.js:2636 templates/js/translated/stock.js:2721
+#: templates/js/translated/order.js:123 templates/js/translated/order.js:1171
+#: templates/js/translated/order.js:2296 templates/js/translated/order.js:2514
+#: templates/js/translated/order.js:3193 templates/js/translated/order.js:3513
+#: templates/js/translated/order.js:3600 templates/js/translated/order.js:3692
+#: templates/js/translated/order.js:3839 templates/js/translated/order.js:4330
+#: templates/js/translated/part.js:1063 templates/js/translated/part.js:2546
+#: templates/js/translated/pricing.js:114
+#: templates/js/translated/pricing.js:207
+#: templates/js/translated/pricing.js:255
+#: templates/js/translated/pricing.js:349 templates/js/translated/stock.js:477
+#: templates/js/translated/stock.js:631 templates/js/translated/stock.js:801
+#: templates/js/translated/stock.js:2654 templates/js/translated/stock.js:2739
msgid "Quantity"
msgstr "数量"
@@ -1087,10 +1092,10 @@ msgstr "生产产出未被完成分配"
msgid "Enter quantity for build output"
msgstr "输入生产产出数量"
-#: build/serializers.py:207 build/serializers.py:683 order/models.py:323
-#: order/serializers.py:304 order/serializers.py:459 part/serializers.py:558
-#: part/serializers.py:991 stock/models.py:518 stock/models.py:1253
-#: stock/serializers.py:300
+#: build/serializers.py:207 build/serializers.py:683 order/models.py:327
+#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:644
+#: part/serializers.py:1015 stock/models.py:534 stock/models.py:1269
+#: stock/serializers.py:294
msgid "Quantity must be greater than zero"
msgstr "数量必须大于0"
@@ -1102,9 +1107,9 @@ msgstr "对于可追踪的部件,需要整数型数值"
msgid "Integer quantity required, as the bill of materials contains trackable parts"
msgstr "需要整数型数值,因为BOM包含可追踪的部件"
-#: build/serializers.py:231 order/serializers.py:472 order/serializers.py:1217
-#: stock/serializers.py:309 templates/js/translated/order.js:1507
-#: templates/js/translated/stock.js:271 templates/js/translated/stock.js:459
+#: build/serializers.py:231 order/serializers.py:463 order/serializers.py:1210
+#: stock/serializers.py:303 templates/js/translated/order.js:1541
+#: templates/js/translated/stock.js:290 templates/js/translated/stock.js:478
msgid "Serial Numbers"
msgstr "序列号"
@@ -1120,7 +1125,7 @@ msgstr "自动分配序列号"
msgid "Automatically allocate required items with matching serial numbers"
msgstr "自动为所需项分配对应的序列号"
-#: build/serializers.py:281 stock/api.py:589
+#: build/serializers.py:281 stock/api.py:599
msgid "The following serial numbers already exist or are invalid"
msgstr ""
@@ -1128,18 +1133,18 @@ msgstr ""
msgid "A list of build outputs must be provided"
msgstr "必须提供生产产出列表"
-#: build/serializers.py:369 order/serializers.py:445 order/serializers.py:556
-#: stock/serializers.py:320 stock/serializers.py:455 stock/serializers.py:536
-#: stock/serializers.py:919 stock/serializers.py:1152
+#: build/serializers.py:369 order/serializers.py:436 order/serializers.py:547
+#: stock/serializers.py:314 stock/serializers.py:449 stock/serializers.py:530
+#: stock/serializers.py:918 stock/serializers.py:1151
#: stock/templates/stock/item_base.html:388
#: templates/js/translated/barcode.js:480
#: templates/js/translated/barcode.js:724 templates/js/translated/build.js:802
-#: templates/js/translated/build.js:1749 templates/js/translated/order.js:1534
-#: templates/js/translated/order.js:3495 templates/js/translated/order.js:3600
-#: templates/js/translated/order.js:3608 templates/js/translated/order.js:3689
-#: templates/js/translated/part.js:181 templates/js/translated/stock.js:588
-#: templates/js/translated/stock.js:753 templates/js/translated/stock.js:960
-#: templates/js/translated/stock.js:1856 templates/js/translated/stock.js:2528
+#: templates/js/translated/build.js:1749 templates/js/translated/order.js:1568
+#: templates/js/translated/order.js:3506 templates/js/translated/order.js:3611
+#: templates/js/translated/order.js:3619 templates/js/translated/order.js:3700
+#: templates/js/translated/part.js:177 templates/js/translated/stock.js:607
+#: templates/js/translated/stock.js:772 templates/js/translated/stock.js:979
+#: templates/js/translated/stock.js:1875 templates/js/translated/stock.js:2546
msgid "Location"
msgstr "地点"
@@ -1148,12 +1153,13 @@ msgid "Location for completed build outputs"
msgstr "已完成生产产出的仓储地点"
#: build/serializers.py:376 build/templates/build/build_base.html:145
-#: build/templates/build/detail.html:62 order/models.py:651
-#: order/serializers.py:482 stock/templates/stock/item_base.html:421
+#: build/templates/build/detail.html:62 order/models.py:670
+#: order/serializers.py:473 stock/admin.py:89
+#: stock/templates/stock/item_base.html:421
#: templates/js/translated/barcode.js:214 templates/js/translated/build.js:2614
-#: templates/js/translated/order.js:1643 templates/js/translated/order.js:1992
-#: templates/js/translated/order.js:2831 templates/js/translated/stock.js:1831
-#: templates/js/translated/stock.js:2605 templates/js/translated/stock.js:2737
+#: templates/js/translated/order.js:1677 templates/js/translated/order.js:2026
+#: templates/js/translated/order.js:2842 templates/js/translated/stock.js:1850
+#: templates/js/translated/stock.js:2623 templates/js/translated/stock.js:2755
msgid "Status"
msgstr "状态"
@@ -1213,7 +1219,7 @@ msgstr "接受库存项未被完成分配至此生产订单"
msgid "Required stock has not been fully allocated"
msgstr "所需库存尚未完全分配"
-#: build/serializers.py:545 order/serializers.py:208 order/serializers.py:1107
+#: build/serializers.py:545 order/serializers.py:202 order/serializers.py:1100
msgid "Accept Incomplete"
msgstr "接受未完成"
@@ -1229,8 +1235,8 @@ msgstr "所需生产数量尚未完成"
msgid "Build order has incomplete outputs"
msgstr "生产订单有未完成的产出"
-#: build/serializers.py:595 build/serializers.py:640 part/models.py:2801
-#: part/models.py:2935
+#: build/serializers.py:595 build/serializers.py:640 part/models.py:3414
+#: part/models.py:3570
msgid "BOM Item"
msgstr "BOM项"
@@ -1246,11 +1252,11 @@ msgstr "生产产出必须指向相同的生产"
msgid "bom_item.part must point to the same part as the build order"
msgstr "bom_item.part 必须与生产订单指向相同的部件"
-#: build/serializers.py:669 stock/serializers.py:771
+#: build/serializers.py:669 stock/serializers.py:770
msgid "Item must be in stock"
msgstr "项目必须在库存中"
-#: build/serializers.py:727 order/serializers.py:1097
+#: build/serializers.py:727 order/serializers.py:1090
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr "可用量 ({q}) 超出了限制"
@@ -1267,7 +1273,7 @@ msgstr "对于未被追踪的部件,无法指定生产产出"
msgid "This stock item has already been allocated to this build output"
msgstr "此库存项已被分配至此生产产出"
-#: build/serializers.py:768 order/serializers.py:1381
+#: build/serializers.py:768 order/serializers.py:1374
msgid "Allocation items must be provided"
msgstr "必须提供分配的项"
@@ -1382,13 +1388,13 @@ msgid "Stock has not been fully allocated to this Build Order"
msgstr ""
#: build/templates/build/build_base.html:154
-#: build/templates/build/detail.html:131 order/models.py:924
+#: build/templates/build/detail.html:131 order/models.py:947
#: order/templates/order/order_base.html:171
#: order/templates/order/sales_order_base.html:164
#: report/templates/report/inventree_build_order_base.html:125
-#: templates/js/translated/build.js:2654 templates/js/translated/order.js:2009
-#: templates/js/translated/order.js:2351 templates/js/translated/order.js:2847
-#: templates/js/translated/order.js:3887 templates/js/translated/part.js:1051
+#: templates/js/translated/build.js:2654 templates/js/translated/order.js:2043
+#: templates/js/translated/order.js:2374 templates/js/translated/order.js:2858
+#: templates/js/translated/order.js:3884 templates/js/translated/part.js:1078
msgid "Target Date"
msgstr "预计日期"
@@ -1401,29 +1407,29 @@ msgstr "此次生产的截止日期为 %(target)s"
#: build/templates/build/build_base.html:204
#: order/templates/order/order_base.html:107
#: order/templates/order/sales_order_base.html:94
-#: templates/js/translated/table_filters.js:328
-#: templates/js/translated/table_filters.js:369
-#: templates/js/translated/table_filters.js:399
+#: templates/js/translated/table_filters.js:332
+#: templates/js/translated/table_filters.js:373
+#: templates/js/translated/table_filters.js:403
msgid "Overdue"
msgstr "逾期"
#: build/templates/build/build_base.html:166
#: build/templates/build/detail.html:67 build/templates/build/detail.html:142
#: order/templates/order/sales_order_base.html:171
-#: templates/js/translated/table_filters.js:408
+#: templates/js/translated/table_filters.js:412
msgid "Completed"
msgstr "已完成"
#: build/templates/build/build_base.html:179
-#: build/templates/build/detail.html:94 order/models.py:1119
-#: order/models.py:1213 order/models.py:1344
+#: build/templates/build/detail.html:94 order/models.py:1142
+#: order/models.py:1236 order/models.py:1367
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
#: report/templates/report/inventree_build_order_base.html:135
#: report/templates/report/inventree_so_report.html:77
#: stock/templates/stock/item_base.html:368
#: templates/email/overdue_sales_order.html:15
-#: templates/js/translated/order.js:2793
+#: templates/js/translated/order.js:2804 templates/js/translated/pricing.js:637
msgid "Sales Order"
msgstr "销售订单"
@@ -1449,8 +1455,8 @@ msgstr ""
msgid "Stock can be taken from any available location."
msgstr ""
-#: build/templates/build/detail.html:49 order/models.py:1037
-#: templates/js/translated/order.js:1644 templates/js/translated/order.js:2393
+#: build/templates/build/detail.html:49 order/models.py:1060
+#: templates/js/translated/order.js:1678 templates/js/translated/order.js:2416
msgid "Destination"
msgstr ""
@@ -1462,14 +1468,14 @@ msgstr ""
msgid "Allocated Parts"
msgstr ""
-#: build/templates/build/detail.html:80
+#: build/templates/build/detail.html:80 stock/admin.py:88
#: stock/templates/stock/item_base.html:168
#: templates/js/translated/build.js:1240
#: templates/js/translated/model_renderers.js:124
-#: templates/js/translated/stock.js:1026 templates/js/translated/stock.js:1845
-#: templates/js/translated/stock.js:2744
-#: templates/js/translated/table_filters.js:167
-#: templates/js/translated/table_filters.js:258
+#: templates/js/translated/stock.js:1045 templates/js/translated/stock.js:1864
+#: templates/js/translated/stock.js:2762
+#: templates/js/translated/table_filters.js:171
+#: templates/js/translated/table_filters.js:262
msgid "Batch"
msgstr ""
@@ -1527,7 +1533,7 @@ msgstr "订单所需部件"
#: build/templates/build/detail.html:187
#: company/templates/company/detail.html:37
#: company/templates/company/detail.html:85
-#: part/templates/part/category.html:178 templates/js/translated/order.js:1177
+#: part/templates/part/category.html:178 templates/js/translated/order.js:1211
msgid "Order Parts"
msgstr "订购商品"
@@ -1597,10 +1603,10 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:151
#: company/templates/company/manufacturer_part_sidebar.html:9
#: order/templates/order/po_sidebar.html:9
-#: order/templates/order/purchase_order_detail.html:82
-#: order/templates/order/sales_order_detail.html:135
-#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:212
-#: part/templates/part/part_sidebar.html:57 stock/templates/stock/item.html:117
+#: order/templates/order/purchase_order_detail.html:86
+#: order/templates/order/sales_order_detail.html:140
+#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:210
+#: part/templates/part/part_sidebar.html:55 stock/templates/stock/item.html:117
#: stock/templates/stock/stock_sidebar.html:23
msgid "Attachments"
msgstr "附件"
@@ -1617,7 +1623,7 @@ msgstr ""
msgid "All untracked stock items have been allocated"
msgstr ""
-#: build/templates/build/index.html:18 part/templates/part/detail.html:318
+#: build/templates/build/index.html:18 part/templates/part/detail.html:316
msgid "New Build Order"
msgstr "新建生产订单"
@@ -1734,7 +1740,7 @@ msgstr ""
msgid "Show the `about` modal only to superusers"
msgstr ""
-#: common/models.py:833 company/models.py:94 company/models.py:95
+#: common/models.py:833 company/models.py:98 company/models.py:99
msgid "Company name"
msgstr "公司名称"
@@ -1902,9 +1908,9 @@ msgstr ""
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:1002 part/models.py:2474 report/models.py:158
-#: templates/js/translated/table_filters.js:38
-#: templates/js/translated/table_filters.js:492
+#: common/models.py:1002 part/admin.py:41 part/models.py:3087
+#: report/models.py:158 templates/js/translated/table_filters.js:38
+#: templates/js/translated/table_filters.js:496
msgid "Template"
msgstr "模板"
@@ -1912,9 +1918,10 @@ msgstr "模板"
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:1009 part/models.py:908 templates/js/translated/bom.js:1531
-#: templates/js/translated/table_filters.js:184
-#: templates/js/translated/table_filters.js:455
+#: common/models.py:1009 part/admin.py:37 part/admin.py:229 part/models.py:927
+#: templates/js/translated/bom.js:1594
+#: templates/js/translated/table_filters.js:188
+#: templates/js/translated/table_filters.js:459
msgid "Assembly"
msgstr "组装"
@@ -1922,8 +1929,8 @@ msgstr "组装"
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:1016 part/models.py:914
-#: templates/js/translated/table_filters.js:463
+#: common/models.py:1016 part/admin.py:38 part/models.py:933
+#: templates/js/translated/table_filters.js:467
msgid "Component"
msgstr "组件"
@@ -1931,7 +1938,7 @@ msgstr "组件"
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:1023 part/models.py:925
+#: common/models.py:1023 part/admin.py:39 part/models.py:944
msgid "Purchaseable"
msgstr "可购买"
@@ -1939,8 +1946,8 @@ msgstr "可购买"
msgid "Parts are purchaseable by default"
msgstr "商品默认可购买"
-#: common/models.py:1030 part/models.py:930
-#: templates/js/translated/table_filters.js:484
+#: common/models.py:1030 part/admin.py:40 part/models.py:949
+#: templates/js/translated/table_filters.js:488
msgid "Salable"
msgstr "可销售"
@@ -1948,10 +1955,10 @@ msgstr "可销售"
msgid "Parts are salable by default"
msgstr "商品默认可销售"
-#: common/models.py:1037 part/models.py:920
+#: common/models.py:1037 part/admin.py:42 part/models.py:939
#: templates/js/translated/table_filters.js:46
-#: templates/js/translated/table_filters.js:116
-#: templates/js/translated/table_filters.js:496
+#: templates/js/translated/table_filters.js:120
+#: templates/js/translated/table_filters.js:500
msgid "Trackable"
msgstr "可追踪"
@@ -1959,10 +1966,10 @@ msgstr "可追踪"
msgid "Parts are trackable by default"
msgstr "商品默认可跟踪"
-#: common/models.py:1044 part/models.py:940
+#: common/models.py:1044 part/admin.py:43 part/models.py:959
#: part/templates/part/part_base.html:156
#: templates/js/translated/table_filters.js:42
-#: templates/js/translated/table_filters.js:500
+#: templates/js/translated/table_filters.js:504
msgid "Virtual"
msgstr "虚拟"
@@ -1979,791 +1986,837 @@ msgid "Display the import wizard in some part views"
msgstr "在一些商品视图中显示导入向导"
#: common/models.py:1058
-msgid "Show Price in Forms"
-msgstr "在表格中显示价格"
-
-#: common/models.py:1059
-msgid "Display part price in some forms"
-msgstr "以某些表格显示商品价格"
-
-#: common/models.py:1070
-msgid "Show Price in BOM"
-msgstr ""
-
-#: common/models.py:1071
-msgid "Include pricing information in BOM tables"
-msgstr ""
-
-#: common/models.py:1082
-msgid "Show Price History"
-msgstr ""
-
-#: common/models.py:1083
-msgid "Display historical pricing for Part"
-msgstr ""
-
-#: common/models.py:1089
msgid "Show related parts"
msgstr "显示相关商品"
-#: common/models.py:1090
+#: common/models.py:1059
msgid "Display related parts for a part"
msgstr ""
-#: common/models.py:1096
+#: common/models.py:1065
msgid "Create initial stock"
msgstr "创建初始库存"
-#: common/models.py:1097
+#: common/models.py:1066
msgid "Create initial stock on part creation"
msgstr ""
-#: common/models.py:1103
-msgid "Internal Prices"
-msgstr "内部价格"
-
-#: common/models.py:1104
-msgid "Enable internal prices for parts"
-msgstr "启用内部商品价格"
-
-#: common/models.py:1110
-msgid "Internal Price as BOM-Price"
-msgstr "内部价格为BOM价格"
-
-#: common/models.py:1111
-msgid "Use the internal price (if set) in BOM-price calculations"
-msgstr "在 BOM价格计算中使用内部价格(如设置)"
-
-#: common/models.py:1117
+#: common/models.py:1072
msgid "Part Name Display Format"
msgstr ""
-#: common/models.py:1118
+#: common/models.py:1073
msgid "Format to display the part name"
msgstr ""
-#: common/models.py:1125
+#: common/models.py:1080
msgid "Part Category Default Icon"
msgstr ""
-#: common/models.py:1126
+#: common/models.py:1081
msgid "Part category default icon (empty means no icon)"
msgstr ""
-#: common/models.py:1131
-msgid "Enable label printing"
+#: common/models.py:1086
+msgid "Pricing Decimal Places"
msgstr ""
-#: common/models.py:1132
-msgid "Enable label printing from the web interface"
+#: common/models.py:1087
+msgid "Number of decimal places to display when rendering pricing data"
msgstr ""
-#: common/models.py:1138
-msgid "Label Image DPI"
+#: common/models.py:1097
+msgid "Pricing Rebuild Time"
msgstr ""
-#: common/models.py:1139
-msgid "DPI resolution when generating image files to supply to label printing plugins"
+#: common/models.py:1098
+msgid "Number of days before part pricing is automatically updated"
msgstr ""
-#: common/models.py:1148
-msgid "Enable Reports"
-msgstr ""
-
-#: common/models.py:1149
-msgid "Enable generation of reports"
-msgstr ""
-
-#: common/models.py:1155 templates/stats.html:25
-msgid "Debug Mode"
-msgstr "调试模式"
-
-#: common/models.py:1156
-msgid "Generate reports in debug mode (HTML output)"
-msgstr "在调试模式生成报告(HTML输出)"
-
-#: common/models.py:1162
-msgid "Page Size"
-msgstr "页面大小"
-
-#: common/models.py:1163
-msgid "Default page size for PDF reports"
-msgstr "PDF 报表默认页面大小"
-
-#: common/models.py:1173
-msgid "Enable Test Reports"
-msgstr ""
-
-#: common/models.py:1174
-msgid "Enable generation of test reports"
-msgstr "启用生成测试报表"
-
-#: common/models.py:1180
-msgid "Attach Test Reports"
-msgstr ""
-
-#: common/models.py:1181
-msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item"
-msgstr ""
-
-#: common/models.py:1187
-msgid "Globally Unique Serials"
-msgstr ""
-
-#: common/models.py:1188
-msgid "Serial numbers for stock items must be globally unique"
-msgstr ""
-
-#: common/models.py:1194
-msgid "Batch Code Template"
-msgstr ""
-
-#: common/models.py:1195
-msgid "Template for generating default batch codes for stock items"
-msgstr ""
-
-#: common/models.py:1200
-msgid "Stock Expiry"
-msgstr "库存到期"
-
-#: common/models.py:1201
-msgid "Enable stock expiry functionality"
-msgstr "启用库存到期功能"
-
-#: common/models.py:1207
-msgid "Sell Expired Stock"
-msgstr "销售过期库存"
-
-#: common/models.py:1208
-msgid "Allow sale of expired stock"
-msgstr "允许销售过期库存"
-
-#: common/models.py:1214
-msgid "Stock Stale Time"
-msgstr ""
-
-#: common/models.py:1215
-msgid "Number of days stock items are considered stale before expiring"
-msgstr ""
-
-#: common/models.py:1217
+#: common/models.py:1099 common/models.py:1208
msgid "days"
msgstr "天"
-#: common/models.py:1222
+#: common/models.py:1108
+msgid "Internal Prices"
+msgstr "内部价格"
+
+#: common/models.py:1109
+msgid "Enable internal prices for parts"
+msgstr "启用内部商品价格"
+
+#: common/models.py:1115
+msgid "Internal Price Override"
+msgstr ""
+
+#: common/models.py:1116
+msgid "If available, internal prices override price range calculations"
+msgstr ""
+
+#: common/models.py:1122
+msgid "Enable label printing"
+msgstr ""
+
+#: common/models.py:1123
+msgid "Enable label printing from the web interface"
+msgstr ""
+
+#: common/models.py:1129
+msgid "Label Image DPI"
+msgstr ""
+
+#: common/models.py:1130
+msgid "DPI resolution when generating image files to supply to label printing plugins"
+msgstr ""
+
+#: common/models.py:1139
+msgid "Enable Reports"
+msgstr ""
+
+#: common/models.py:1140
+msgid "Enable generation of reports"
+msgstr ""
+
+#: common/models.py:1146 templates/stats.html:25
+msgid "Debug Mode"
+msgstr "调试模式"
+
+#: common/models.py:1147
+msgid "Generate reports in debug mode (HTML output)"
+msgstr "在调试模式生成报告(HTML输出)"
+
+#: common/models.py:1153
+msgid "Page Size"
+msgstr "页面大小"
+
+#: common/models.py:1154
+msgid "Default page size for PDF reports"
+msgstr "PDF 报表默认页面大小"
+
+#: common/models.py:1164
+msgid "Enable Test Reports"
+msgstr ""
+
+#: common/models.py:1165
+msgid "Enable generation of test reports"
+msgstr "启用生成测试报表"
+
+#: common/models.py:1171
+msgid "Attach Test Reports"
+msgstr ""
+
+#: common/models.py:1172
+msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item"
+msgstr ""
+
+#: common/models.py:1178
+msgid "Globally Unique Serials"
+msgstr ""
+
+#: common/models.py:1179
+msgid "Serial numbers for stock items must be globally unique"
+msgstr ""
+
+#: common/models.py:1185
+msgid "Batch Code Template"
+msgstr ""
+
+#: common/models.py:1186
+msgid "Template for generating default batch codes for stock items"
+msgstr ""
+
+#: common/models.py:1191
+msgid "Stock Expiry"
+msgstr "库存到期"
+
+#: common/models.py:1192
+msgid "Enable stock expiry functionality"
+msgstr "启用库存到期功能"
+
+#: common/models.py:1198
+msgid "Sell Expired Stock"
+msgstr "销售过期库存"
+
+#: common/models.py:1199
+msgid "Allow sale of expired stock"
+msgstr "允许销售过期库存"
+
+#: common/models.py:1205
+msgid "Stock Stale Time"
+msgstr ""
+
+#: common/models.py:1206
+msgid "Number of days stock items are considered stale before expiring"
+msgstr ""
+
+#: common/models.py:1213
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:1223
+#: common/models.py:1214
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:1229
+#: common/models.py:1220
msgid "Stock Ownership Control"
msgstr "库存所有权控制"
-#: common/models.py:1230
+#: common/models.py:1221
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:1236
+#: common/models.py:1227
msgid "Stock Location Default Icon"
msgstr ""
-#: common/models.py:1237
+#: common/models.py:1228
msgid "Stock location default icon (empty means no icon)"
msgstr ""
-#: common/models.py:1242
+#: common/models.py:1233
msgid "Build Order Reference Pattern"
msgstr ""
-#: common/models.py:1243
+#: common/models.py:1234
msgid "Required pattern for generating Build Order reference field"
msgstr ""
-#: common/models.py:1249
+#: common/models.py:1240
msgid "Sales Order Reference Pattern"
msgstr ""
-#: common/models.py:1250
+#: common/models.py:1241
msgid "Required pattern for generating Sales Order reference field"
msgstr ""
-#: common/models.py:1256
+#: common/models.py:1247
msgid "Sales Order Default Shipment"
msgstr ""
-#: common/models.py:1257
+#: common/models.py:1248
msgid "Enable creation of default shipment with sales orders"
msgstr ""
-#: common/models.py:1263
+#: common/models.py:1254
+msgid "Edit Completed Sales Orders"
+msgstr ""
+
+#: common/models.py:1255
+msgid "Allow editing of sales orders after they have been shipped or completed"
+msgstr ""
+
+#: common/models.py:1261
msgid "Purchase Order Reference Pattern"
msgstr ""
-#: common/models.py:1264
+#: common/models.py:1262
msgid "Required pattern for generating Purchase Order reference field"
msgstr ""
-#: common/models.py:1271
+#: common/models.py:1268
+msgid "Edit Completed Purchase Orders"
+msgstr ""
+
+#: common/models.py:1269
+msgid "Allow editing of purchase orders after they have been shipped or completed"
+msgstr ""
+
+#: common/models.py:1276
msgid "Enable password forgot"
msgstr ""
-#: common/models.py:1272
+#: common/models.py:1277
msgid "Enable password forgot function on the login pages"
msgstr ""
-#: common/models.py:1278
+#: common/models.py:1283
msgid "Enable registration"
msgstr ""
-#: common/models.py:1279
+#: common/models.py:1284
msgid "Enable self-registration for users on the login pages"
msgstr ""
-#: common/models.py:1285
+#: common/models.py:1290
msgid "Enable SSO"
msgstr ""
-#: common/models.py:1286
+#: common/models.py:1291
msgid "Enable SSO on the login pages"
msgstr ""
-#: common/models.py:1292
+#: common/models.py:1297
msgid "Email required"
msgstr ""
-#: common/models.py:1293
+#: common/models.py:1298
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/models.py:1299
+#: common/models.py:1304
msgid "Auto-fill SSO users"
msgstr ""
-#: common/models.py:1300
+#: common/models.py:1305
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/models.py:1306
+#: common/models.py:1311
msgid "Mail twice"
msgstr ""
-#: common/models.py:1307
+#: common/models.py:1312
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/models.py:1313
+#: common/models.py:1318
msgid "Password twice"
msgstr ""
-#: common/models.py:1314
+#: common/models.py:1319
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/models.py:1320
+#: common/models.py:1325
msgid "Group on signup"
msgstr ""
-#: common/models.py:1321
+#: common/models.py:1326
msgid "Group to which new users are assigned on registration"
msgstr ""
-#: common/models.py:1327
+#: common/models.py:1332
msgid "Enforce MFA"
msgstr ""
-#: common/models.py:1328
+#: common/models.py:1333
msgid "Users must use multifactor security."
msgstr ""
-#: common/models.py:1334
+#: common/models.py:1339
msgid "Check plugins on startup"
msgstr ""
-#: common/models.py:1335
+#: common/models.py:1340
msgid "Check that all plugins are installed on startup - enable in container environments"
msgstr ""
-#: common/models.py:1342
+#: common/models.py:1347
msgid "Check plugin signatures"
msgstr ""
-#: common/models.py:1343
+#: common/models.py:1348
msgid "Check and show signatures for plugins"
msgstr ""
-#: common/models.py:1350
+#: common/models.py:1355
msgid "Enable URL integration"
msgstr ""
-#: common/models.py:1351
+#: common/models.py:1356
msgid "Enable plugins to add URL routes"
msgstr ""
-#: common/models.py:1358
+#: common/models.py:1363
msgid "Enable navigation integration"
msgstr ""
-#: common/models.py:1359
+#: common/models.py:1364
msgid "Enable plugins to integrate into navigation"
msgstr ""
-#: common/models.py:1366
+#: common/models.py:1371
msgid "Enable app integration"
msgstr ""
-#: common/models.py:1367
+#: common/models.py:1372
msgid "Enable plugins to add apps"
msgstr ""
-#: common/models.py:1374
+#: common/models.py:1379
msgid "Enable schedule integration"
msgstr ""
-#: common/models.py:1375
+#: common/models.py:1380
msgid "Enable plugins to run scheduled tasks"
msgstr ""
-#: common/models.py:1382
+#: common/models.py:1387
msgid "Enable event integration"
msgstr ""
-#: common/models.py:1383
+#: common/models.py:1388
msgid "Enable plugins to respond to internal events"
msgstr ""
-#: common/models.py:1402 common/models.py:1737
+#: common/models.py:1407 common/models.py:1749
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:1424
+#: common/models.py:1429
msgid "Show subscribed parts"
msgstr ""
-#: common/models.py:1425
+#: common/models.py:1430
msgid "Show subscribed parts on the homepage"
msgstr ""
-#: common/models.py:1431
+#: common/models.py:1436
msgid "Show subscribed categories"
msgstr ""
-#: common/models.py:1432
+#: common/models.py:1437
msgid "Show subscribed part categories on the homepage"
msgstr ""
-#: common/models.py:1438
+#: common/models.py:1443
msgid "Show latest parts"
msgstr "显示最近商品"
-#: common/models.py:1439
+#: common/models.py:1444
msgid "Show latest parts on the homepage"
msgstr "在主页上显示最近商品"
-#: common/models.py:1445
+#: common/models.py:1450
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:1446
+#: common/models.py:1451
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:1452
+#: common/models.py:1457
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:1453
+#: common/models.py:1458
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:1459
+#: common/models.py:1464
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:1460
+#: common/models.py:1465
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:1466
+#: common/models.py:1471
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:1467
+#: common/models.py:1472
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:1473
+#: common/models.py:1478
msgid "Show low stock"
msgstr ""
-#: common/models.py:1474
+#: common/models.py:1479
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:1480
+#: common/models.py:1485
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:1481
+#: common/models.py:1486
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:1487
+#: common/models.py:1492
msgid "Show needed stock"
msgstr ""
-#: common/models.py:1488
+#: common/models.py:1493
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:1494
+#: common/models.py:1499
msgid "Show expired stock"
msgstr ""
-#: common/models.py:1495
+#: common/models.py:1500
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:1501
+#: common/models.py:1506
msgid "Show stale stock"
msgstr ""
-#: common/models.py:1502
+#: common/models.py:1507
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:1508
+#: common/models.py:1513
msgid "Show pending builds"
msgstr ""
-#: common/models.py:1509
+#: common/models.py:1514
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:1515
+#: common/models.py:1520
msgid "Show overdue builds"
msgstr "显示逾期生产"
-#: common/models.py:1516
+#: common/models.py:1521
msgid "Show overdue builds on the homepage"
msgstr "在主页上显示逾期的生产"
-#: common/models.py:1522
+#: common/models.py:1527
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:1523
+#: common/models.py:1528
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:1529
+#: common/models.py:1534
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:1530
+#: common/models.py:1535
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:1536
+#: common/models.py:1541
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:1537
+#: common/models.py:1542
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:1543
+#: common/models.py:1548
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:1544
+#: common/models.py:1549
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:1550
+#: common/models.py:1555
+msgid "Show News"
+msgstr ""
+
+#: common/models.py:1556
+msgid "Show news on the homepage"
+msgstr ""
+
+#: common/models.py:1562
msgid "Inline label display"
msgstr "内嵌标签显示"
-#: common/models.py:1551
+#: common/models.py:1563
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr "在浏览器中显示 PDF 标签,而不是以文件形式下载"
-#: common/models.py:1557
+#: common/models.py:1569
msgid "Inline report display"
msgstr ""
-#: common/models.py:1558
+#: common/models.py:1570
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr "在浏览器中显示 PDF 报告,而不是以文件形式下载"
-#: common/models.py:1564
+#: common/models.py:1576
msgid "Search Parts"
msgstr ""
-#: common/models.py:1565
+#: common/models.py:1577
msgid "Display parts in search preview window"
msgstr ""
-#: common/models.py:1571
+#: common/models.py:1583
msgid "Seach Supplier Parts"
msgstr ""
-#: common/models.py:1572
+#: common/models.py:1584
msgid "Display supplier parts in search preview window"
msgstr ""
-#: common/models.py:1578
+#: common/models.py:1590
msgid "Search Manufacturer Parts"
msgstr ""
-#: common/models.py:1579
+#: common/models.py:1591
msgid "Display manufacturer parts in search preview window"
msgstr ""
-#: common/models.py:1585
+#: common/models.py:1597
msgid "Hide Inactive Parts"
msgstr ""
-#: common/models.py:1586
+#: common/models.py:1598
msgid "Excluded inactive parts from search preview window"
msgstr ""
-#: common/models.py:1592
+#: common/models.py:1604
msgid "Search Categories"
msgstr ""
-#: common/models.py:1593
+#: common/models.py:1605
msgid "Display part categories in search preview window"
msgstr ""
-#: common/models.py:1599
+#: common/models.py:1611
msgid "Search Stock"
msgstr ""
-#: common/models.py:1600
+#: common/models.py:1612
msgid "Display stock items in search preview window"
msgstr ""
-#: common/models.py:1606
+#: common/models.py:1618
msgid "Hide Unavailable Stock Items"
msgstr ""
-#: common/models.py:1607
+#: common/models.py:1619
msgid "Exclude stock items which are not available from the search preview window"
msgstr ""
-#: common/models.py:1613
+#: common/models.py:1625
msgid "Search Locations"
msgstr ""
-#: common/models.py:1614
+#: common/models.py:1626
msgid "Display stock locations in search preview window"
msgstr ""
-#: common/models.py:1620
+#: common/models.py:1632
msgid "Search Companies"
msgstr ""
-#: common/models.py:1621
+#: common/models.py:1633
msgid "Display companies in search preview window"
msgstr ""
-#: common/models.py:1627
+#: common/models.py:1639
msgid "Search Build Orders"
msgstr ""
-#: common/models.py:1628
+#: common/models.py:1640
msgid "Display build orders in search preview window"
msgstr ""
-#: common/models.py:1634
+#: common/models.py:1646
msgid "Search Purchase Orders"
msgstr ""
-#: common/models.py:1635
+#: common/models.py:1647
msgid "Display purchase orders in search preview window"
msgstr ""
-#: common/models.py:1641
+#: common/models.py:1653
msgid "Exclude Inactive Purchase Orders"
msgstr ""
-#: common/models.py:1642
+#: common/models.py:1654
msgid "Exclude inactive purchase orders from search preview window"
msgstr ""
-#: common/models.py:1648
+#: common/models.py:1660
msgid "Search Sales Orders"
msgstr ""
-#: common/models.py:1649
+#: common/models.py:1661
msgid "Display sales orders in search preview window"
msgstr ""
-#: common/models.py:1655
+#: common/models.py:1667
msgid "Exclude Inactive Sales Orders"
msgstr ""
-#: common/models.py:1656
+#: common/models.py:1668
msgid "Exclude inactive sales orders from search preview window"
msgstr ""
-#: common/models.py:1662
+#: common/models.py:1674
msgid "Search Preview Results"
msgstr "搜索预览结果"
-#: common/models.py:1663
+#: common/models.py:1675
msgid "Number of results to show in each section of the search preview window"
msgstr ""
-#: common/models.py:1669
+#: common/models.py:1681
msgid "Show Quantity in Forms"
msgstr "在表格中显示数量"
-#: common/models.py:1670
+#: common/models.py:1682
msgid "Display available part quantity in some forms"
msgstr "在某些表格中显示可用的商品数量"
-#: common/models.py:1676
+#: common/models.py:1688
msgid "Escape Key Closes Forms"
msgstr ""
-#: common/models.py:1677
+#: common/models.py:1689
msgid "Use the escape key to close modal forms"
msgstr ""
-#: common/models.py:1683
+#: common/models.py:1695
msgid "Fixed Navbar"
msgstr ""
-#: common/models.py:1684
+#: common/models.py:1696
msgid "The navbar position is fixed to the top of the screen"
msgstr ""
-#: common/models.py:1690
+#: common/models.py:1702
msgid "Date Format"
msgstr ""
-#: common/models.py:1691
+#: common/models.py:1703
msgid "Preferred format for displaying dates"
msgstr ""
-#: common/models.py:1705 part/templates/part/detail.html:41
+#: common/models.py:1717 part/templates/part/detail.html:41
msgid "Part Scheduling"
msgstr ""
-#: common/models.py:1706
+#: common/models.py:1718
msgid "Display part scheduling information"
msgstr ""
-#: common/models.py:1712
+#: common/models.py:1724
msgid "Table String Length"
msgstr ""
-#: common/models.py:1713
+#: common/models.py:1725
msgid "Maximimum length limit for strings displayed in table views"
msgstr ""
-#: common/models.py:1777
+#: common/models.py:1789
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1784 company/serializers.py:372
-#: company/templates/company/supplier_part.html:346 order/models.py:952
-#: templates/js/translated/part.js:1103 templates/js/translated/part.js:2225
+#: common/models.py:1796 company/serializers.py:393 order/models.py:975
+#: templates/js/translated/company.js:1164 templates/js/translated/part.js:1130
+#: templates/js/translated/pricing.js:354
msgid "Price"
msgstr "价格"
-#: common/models.py:1785
+#: common/models.py:1797
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1945 common/models.py:2123
+#: common/models.py:1957 common/models.py:2135
msgid "Endpoint"
msgstr ""
-#: common/models.py:1946
+#: common/models.py:1958
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:1955
+#: common/models.py:1967
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:1960 part/models.py:935 plugin/models.py:100
-#: templates/js/translated/table_filters.js:34
-#: templates/js/translated/table_filters.js:112
-#: templates/js/translated/table_filters.js:324
-#: templates/js/translated/table_filters.js:450
+#: common/models.py:1972 part/admin.py:36 part/models.py:954
+#: plugin/models.py:100 templates/js/translated/table_filters.js:34
+#: templates/js/translated/table_filters.js:116
+#: templates/js/translated/table_filters.js:328
+#: templates/js/translated/table_filters.js:454
msgid "Active"
msgstr ""
-#: common/models.py:1961
+#: common/models.py:1973
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:1975
+#: common/models.py:1987
msgid "Token"
msgstr "令牌"
-#: common/models.py:1976
+#: common/models.py:1988
msgid "Token for access"
msgstr ""
-#: common/models.py:1983
+#: common/models.py:1995
msgid "Secret"
msgstr ""
-#: common/models.py:1984
+#: common/models.py:1996
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:2090
+#: common/models.py:2102
msgid "Message ID"
msgstr ""
-#: common/models.py:2091
+#: common/models.py:2103
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:2099
+#: common/models.py:2111
msgid "Host"
msgstr ""
-#: common/models.py:2100
+#: common/models.py:2112
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:2107
+#: common/models.py:2119
msgid "Header"
msgstr ""
-#: common/models.py:2108
+#: common/models.py:2120
msgid "Header of this message"
msgstr ""
-#: common/models.py:2114
+#: common/models.py:2126
msgid "Body"
msgstr ""
-#: common/models.py:2115
+#: common/models.py:2127
msgid "Body of this message"
msgstr ""
-#: common/models.py:2124
+#: common/models.py:2136
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:2129
+#: common/models.py:2141
msgid "Worked on"
msgstr ""
-#: common/models.py:2130
+#: common/models.py:2142
msgid "Was the work on this message finished?"
msgstr ""
+#: common/models.py:2302
+msgid "Id"
+msgstr ""
+
+#: common/models.py:2308 templates/js/translated/news.js:34
+msgid "Title"
+msgstr ""
+
+#: common/models.py:2318 templates/js/translated/news.js:50
+msgid "Published"
+msgstr ""
+
+#: common/models.py:2323 templates/InvenTree/settings/plugin.html:62
+#: templates/InvenTree/settings/plugin_settings.html:33
+#: templates/js/translated/news.js:46
+msgid "Author"
+msgstr ""
+
+#: common/models.py:2328 templates/js/translated/news.js:42
+msgid "Summary"
+msgstr ""
+
+#: common/models.py:2333
+msgid "Read"
+msgstr ""
+
+#: common/models.py:2334
+msgid "Was this news item read?"
+msgstr ""
+
#: common/notifications.py:293
#, python-brace-format
msgid "New {verbose_name}"
@@ -2785,15 +2838,15 @@ msgstr ""
msgid "Error raised by plugin"
msgstr ""
-#: common/views.py:85 order/templates/order/purchase_order_detail.html:23
-#: order/views.py:102 part/views.py:112
+#: common/views.py:85 order/templates/order/purchase_order_detail.html:25
+#: order/views.py:102 part/views.py:107
#: templates/patterns/wizard/upload.html:37
msgid "Upload File"
msgstr "上传文件"
#: common/views.py:86 order/views.py:103
#: part/templates/part/import_wizard/ajax_match_fields.html:45
-#: part/views.py:113 templates/patterns/wizard/match_fields.html:51
+#: part/views.py:108 templates/patterns/wizard/match_fields.html:51
msgid "Match Fields"
msgstr "匹配字段"
@@ -2816,298 +2869,301 @@ msgstr "已导入商品"
msgid "Previous Step"
msgstr ""
-#: company/models.py:99
+#: company/models.py:103
msgid "Company description"
msgstr "公司简介"
-#: company/models.py:100
+#: company/models.py:104
msgid "Description of the company"
msgstr "公司简介"
-#: company/models.py:106 company/templates/company/company_base.html:100
+#: company/models.py:110 company/templates/company/company_base.html:100
#: templates/InvenTree/settings/plugin_settings.html:55
-#: templates/js/translated/company.js:448
+#: templates/js/translated/company.js:449
msgid "Website"
msgstr "网站"
-#: company/models.py:107
+#: company/models.py:111
msgid "Company website URL"
msgstr "公司网站"
-#: company/models.py:111 company/templates/company/company_base.html:118
+#: company/models.py:115 company/templates/company/company_base.html:118
msgid "Address"
msgstr "地址"
-#: company/models.py:112
+#: company/models.py:116
msgid "Company address"
msgstr "公司地址"
-#: company/models.py:115
+#: company/models.py:119
msgid "Phone number"
msgstr "电话号码"
-#: company/models.py:116
+#: company/models.py:120
msgid "Contact phone number"
msgstr "联系电话"
-#: company/models.py:119 company/templates/company/company_base.html:132
+#: company/models.py:123 company/templates/company/company_base.html:132
#: templates/InvenTree/settings/user.html:48
msgid "Email"
msgstr "电子邮件"
-#: company/models.py:119
+#: company/models.py:123
msgid "Contact email address"
msgstr "联系人电子邮件"
-#: company/models.py:122 company/templates/company/company_base.html:139
+#: company/models.py:126 company/templates/company/company_base.html:139
msgid "Contact"
msgstr "联系人"
-#: company/models.py:123
+#: company/models.py:127
msgid "Point of contact"
msgstr ""
-#: company/models.py:125
+#: company/models.py:129
msgid "Link to external company information"
msgstr "链接到外部公司信息"
-#: company/models.py:136 part/models.py:829
+#: company/models.py:140 part/models.py:848
msgid "Image"
msgstr "图片"
-#: company/models.py:139 company/templates/company/detail.html:185
+#: company/models.py:143 company/templates/company/detail.html:185
msgid "Company Notes"
msgstr "公司备注"
-#: company/models.py:141
+#: company/models.py:145
msgid "is customer"
msgstr "是客户"
-#: company/models.py:141
+#: company/models.py:145
msgid "Do you sell items to this company?"
msgstr "您是否向该公司出售商品?"
-#: company/models.py:143
+#: company/models.py:147
msgid "is supplier"
msgstr "是供应商"
-#: company/models.py:143
+#: company/models.py:147
msgid "Do you purchase items from this company?"
msgstr "您是否从该公司采购商品?"
-#: company/models.py:145
+#: company/models.py:149
msgid "is manufacturer"
msgstr "是制造商"
-#: company/models.py:145
+#: company/models.py:149
msgid "Does this company manufacture parts?"
msgstr "该公司制造商品吗?"
-#: company/models.py:149 company/serializers.py:378
-#: company/templates/company/company_base.html:106 part/serializers.py:153
-#: part/serializers.py:184 stock/serializers.py:178
+#: company/models.py:153 company/serializers.py:399
+#: company/templates/company/company_base.html:106 part/models.py:2681
+#: part/serializers.py:153 part/serializers.py:181 stock/serializers.py:182
+#: templates/InvenTree/settings/pricing.html:59
msgid "Currency"
msgstr "货币"
-#: company/models.py:152
+#: company/models.py:156
msgid "Default currency used for this company"
msgstr "该公司使用的默认货币"
-#: company/models.py:249 company/models.py:483 stock/models.py:600
-#: stock/serializers.py:85 stock/templates/stock/item_base.html:143
-#: templates/js/translated/bom.js:568
+#: company/models.py:253 company/models.py:487 stock/models.py:616
+#: stock/serializers.py:89 stock/templates/stock/item_base.html:143
+#: templates/js/translated/bom.js:581
msgid "Base Part"
msgstr ""
-#: company/models.py:253 company/models.py:487
+#: company/models.py:257 company/models.py:491
msgid "Select part"
msgstr "选择商品"
-#: company/models.py:264 company/templates/company/company_base.html:76
+#: company/models.py:268 company/templates/company/company_base.html:76
#: company/templates/company/manufacturer_part.html:90
#: company/templates/company/supplier_part.html:152
#: stock/templates/stock/item_base.html:210
-#: templates/js/translated/company.js:432
-#: templates/js/translated/company.js:533
-#: templates/js/translated/company.js:668
-#: templates/js/translated/company.js:956 templates/js/translated/part.js:236
-#: templates/js/translated/table_filters.js:427
+#: templates/js/translated/company.js:433
+#: templates/js/translated/company.js:534
+#: templates/js/translated/company.js:669
+#: templates/js/translated/company.js:957 templates/js/translated/part.js:232
+#: templates/js/translated/table_filters.js:431
msgid "Manufacturer"
msgstr "制造商"
-#: company/models.py:265 templates/js/translated/part.js:237
+#: company/models.py:269 templates/js/translated/part.js:233
msgid "Select manufacturer"
msgstr "选择制造商"
-#: company/models.py:271 company/templates/company/manufacturer_part.html:101
+#: company/models.py:275 company/templates/company/manufacturer_part.html:101
#: company/templates/company/supplier_part.html:160
-#: templates/js/translated/company.js:304
-#: templates/js/translated/company.js:532
-#: templates/js/translated/company.js:684
-#: templates/js/translated/company.js:975 templates/js/translated/order.js:2239
-#: templates/js/translated/part.js:247 templates/js/translated/part.js:1025
+#: templates/js/translated/company.js:305
+#: templates/js/translated/company.js:533
+#: templates/js/translated/company.js:685
+#: templates/js/translated/company.js:976 templates/js/translated/order.js:2278
+#: templates/js/translated/part.js:243 templates/js/translated/part.js:1052
msgid "MPN"
msgstr ""
-#: company/models.py:272 templates/js/translated/part.js:248
+#: company/models.py:276 templates/js/translated/part.js:244
msgid "Manufacturer Part Number"
msgstr "制造商商品编号"
-#: company/models.py:278
+#: company/models.py:282
msgid "URL for external manufacturer part link"
msgstr ""
-#: company/models.py:284
+#: company/models.py:288
msgid "Manufacturer part description"
msgstr "制造商商品描述"
-#: company/models.py:329 company/models.py:353 company/models.py:506
+#: company/models.py:333 company/models.py:357 company/models.py:510
#: company/templates/company/manufacturer_part.html:7
#: company/templates/company/manufacturer_part.html:24
#: stock/templates/stock/item_base.html:220
msgid "Manufacturer Part"
msgstr "制造商商品"
-#: company/models.py:360
+#: company/models.py:364
msgid "Parameter name"
msgstr "参数名称"
-#: company/models.py:366
+#: company/models.py:370
#: report/templates/report/inventree_test_report_base.html:95
-#: stock/models.py:2097 templates/js/translated/company.js:581
-#: templates/js/translated/company.js:799 templates/js/translated/part.js:847
-#: templates/js/translated/stock.js:1360
+#: stock/models.py:2113 templates/js/translated/company.js:582
+#: templates/js/translated/company.js:800 templates/js/translated/part.js:874
+#: templates/js/translated/stock.js:1379
msgid "Value"
msgstr "数值"
-#: company/models.py:367
+#: company/models.py:371
msgid "Parameter value"
msgstr "参数值"
-#: company/models.py:373 part/models.py:902 part/models.py:2434
-#: part/templates/part/part_base.html:286
+#: company/models.py:377 part/admin.py:26 part/models.py:921
+#: part/models.py:3047 part/templates/part/part_base.html:286
#: templates/InvenTree/settings/settings.html:349
-#: templates/js/translated/company.js:805 templates/js/translated/part.js:853
+#: templates/js/translated/company.js:806 templates/js/translated/part.js:880
msgid "Units"
msgstr "单位"
-#: company/models.py:374
+#: company/models.py:378
msgid "Parameter units"
msgstr "参数单位"
-#: company/models.py:451
+#: company/models.py:455
msgid "Linked manufacturer part must reference the same base part"
msgstr ""
-#: company/models.py:493 company/templates/company/company_base.html:81
-#: company/templates/company/supplier_part.html:136 order/models.py:263
-#: order/templates/order/order_base.html:121 part/bom.py:237 part/bom.py:265
+#: company/models.py:497 company/templates/company/company_base.html:81
+#: company/templates/company/supplier_part.html:136 order/models.py:264
+#: order/templates/order/order_base.html:121 part/bom.py:252 part/bom.py:280
#: stock/templates/stock/item_base.html:227
#: templates/email/overdue_purchase_order.html:16
-#: templates/js/translated/company.js:303
-#: templates/js/translated/company.js:436
-#: templates/js/translated/company.js:929 templates/js/translated/order.js:1975
-#: templates/js/translated/part.js:217 templates/js/translated/part.js:993
-#: templates/js/translated/table_filters.js:431
+#: templates/js/translated/company.js:304
+#: templates/js/translated/company.js:437
+#: templates/js/translated/company.js:930 templates/js/translated/order.js:2009
+#: templates/js/translated/part.js:213 templates/js/translated/part.js:1020
+#: templates/js/translated/pricing.js:231
+#: templates/js/translated/table_filters.js:435
msgid "Supplier"
msgstr "供应商"
-#: company/models.py:494 templates/js/translated/part.js:218
+#: company/models.py:498 templates/js/translated/part.js:214
msgid "Select supplier"
msgstr "选择供应商"
-#: company/models.py:499 company/templates/company/supplier_part.html:146
-#: part/bom.py:238 part/bom.py:266 templates/js/translated/company.js:302
-#: templates/js/translated/order.js:2226 templates/js/translated/part.js:228
-#: templates/js/translated/part.js:1011
+#: company/models.py:503 company/templates/company/supplier_part.html:146
+#: part/bom.py:253 part/bom.py:281 templates/js/translated/company.js:303
+#: templates/js/translated/order.js:2265 templates/js/translated/part.js:224
+#: templates/js/translated/part.js:1038 templates/js/translated/pricing.js:243
msgid "SKU"
msgstr ""
-#: company/models.py:500 templates/js/translated/part.js:229
+#: company/models.py:504 templates/js/translated/part.js:225
msgid "Supplier stock keeping unit"
msgstr ""
-#: company/models.py:507
+#: company/models.py:511
msgid "Select manufacturer part"
msgstr "选择制造商商品"
-#: company/models.py:513
+#: company/models.py:517
msgid "URL for external supplier part link"
msgstr "外部供货商商品链接URL"
-#: company/models.py:519
+#: company/models.py:523
msgid "Supplier part description"
msgstr "供应商商品描述"
-#: company/models.py:524 company/templates/company/supplier_part.html:181
-#: part/models.py:2687 part/templates/part/upload_bom.html:59
+#: company/models.py:528 company/templates/company/supplier_part.html:181
+#: part/admin.py:225 part/models.py:3300 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_po_report.html:92
-#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:403
+#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:397
msgid "Note"
msgstr "备注"
-#: company/models.py:528 part/models.py:1788
+#: company/models.py:532 part/models.py:1817
msgid "base cost"
msgstr ""
-#: company/models.py:528 part/models.py:1788
+#: company/models.py:532 part/models.py:1817
msgid "Minimum charge (e.g. stocking fee)"
msgstr "最低收费(例如库存费)"
-#: company/models.py:530 company/templates/company/supplier_part.html:167
-#: stock/models.py:626 stock/templates/stock/item_base.html:243
-#: templates/js/translated/company.js:991 templates/js/translated/stock.js:1978
+#: company/models.py:534 company/templates/company/supplier_part.html:167
+#: stock/admin.py:101 stock/models.py:642
+#: stock/templates/stock/item_base.html:243
+#: templates/js/translated/company.js:992 templates/js/translated/stock.js:1996
msgid "Packaging"
msgstr "打包"
-#: company/models.py:530
+#: company/models.py:534
msgid "Part packaging"
msgstr "商品打包"
-#: company/models.py:533 company/serializers.py:242
+#: company/models.py:537 company/serializers.py:242
#: company/templates/company/supplier_part.html:174
-#: templates/js/translated/company.js:996 templates/js/translated/order.js:820
-#: templates/js/translated/order.js:1215 templates/js/translated/order.js:1470
-#: templates/js/translated/order.js:2270 templates/js/translated/order.js:2287
-#: templates/js/translated/part.js:1043 templates/js/translated/part.js:1095
+#: templates/js/translated/company.js:997 templates/js/translated/order.js:826
+#: templates/js/translated/order.js:1249 templates/js/translated/order.js:1504
+#: templates/js/translated/order.js:2309 templates/js/translated/order.js:2326
+#: templates/js/translated/part.js:1070 templates/js/translated/part.js:1122
msgid "Pack Quantity"
msgstr ""
-#: company/models.py:534
+#: company/models.py:538
msgid "Unit quantity supplied in a single pack"
msgstr ""
-#: company/models.py:540 part/models.py:1790
+#: company/models.py:544 part/models.py:1819
msgid "multiple"
msgstr ""
-#: company/models.py:540
+#: company/models.py:544
msgid "Order multiple"
msgstr ""
-#: company/models.py:548 company/templates/company/supplier_part.html:115
+#: company/models.py:552 company/templates/company/supplier_part.html:115
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:18
-#: templates/js/translated/bom.js:963 templates/js/translated/build.js:1873
-#: templates/js/translated/build.js:2754 templates/js/translated/part.js:598
-#: templates/js/translated/part.js:601
-#: templates/js/translated/table_filters.js:194
+#: templates/js/translated/bom.js:1117 templates/js/translated/build.js:1873
+#: templates/js/translated/build.js:2754 templates/js/translated/part.js:612
+#: templates/js/translated/part.js:615
+#: templates/js/translated/table_filters.js:198
msgid "Available"
msgstr "空闲"
-#: company/models.py:549
+#: company/models.py:553
msgid "Quantity available from supplier"
msgstr ""
-#: company/models.py:553
+#: company/models.py:557
msgid "Availability Updated"
msgstr ""
-#: company/models.py:554
+#: company/models.py:558
msgid "Date of last update of availability data"
msgstr ""
-#: company/models.py:682
+#: company/models.py:686
msgid "last updated"
msgstr ""
@@ -3121,7 +3177,7 @@ msgstr "货币代码"
#: company/templates/company/company_base.html:8
#: company/templates/company/company_base.html:12
-#: templates/InvenTree/search.html:179 templates/js/translated/company.js:421
+#: templates/InvenTree/search.html:179 templates/js/translated/company.js:422
msgid "Company"
msgstr "公司"
@@ -3139,7 +3195,7 @@ msgid "Edit company information"
msgstr "编辑公司信息"
#: company/templates/company/company_base.html:34
-#: templates/js/translated/company.js:364
+#: templates/js/translated/company.js:365
msgid "Edit Company"
msgstr "编辑公司信息"
@@ -3162,14 +3218,14 @@ msgstr "上传新图片"
msgid "Download image from URL"
msgstr "从 URL 下载图片"
-#: company/templates/company/company_base.html:86 order/models.py:646
-#: order/templates/order/sales_order_base.html:116 stock/models.py:645
-#: stock/models.py:646 stock/serializers.py:813
+#: company/templates/company/company_base.html:86 order/models.py:665
+#: order/templates/order/sales_order_base.html:116 stock/models.py:661
+#: stock/models.py:662 stock/serializers.py:812
#: stock/templates/stock/item_base.html:399
#: templates/email/overdue_sales_order.html:16
-#: templates/js/translated/company.js:428 templates/js/translated/order.js:2808
-#: templates/js/translated/stock.js:2569
-#: templates/js/translated/table_filters.js:435
+#: templates/js/translated/company.js:429 templates/js/translated/order.js:2819
+#: templates/js/translated/stock.js:2587
+#: templates/js/translated/table_filters.js:439
msgid "Customer"
msgstr "客户"
@@ -3182,12 +3238,12 @@ msgid "Phone"
msgstr "电话"
#: company/templates/company/company_base.html:208
-#: part/templates/part/part_base.html:499
+#: part/templates/part/part_base.html:514
msgid "Upload Image"
msgstr "上传图片"
#: company/templates/company/company_base.html:223
-#: part/templates/part/part_base.html:554
+#: part/templates/part/part_base.html:569
msgid "Download Image"
msgstr "下载图片"
@@ -3203,7 +3259,7 @@ msgstr "创建新的供应商商品"
#: company/templates/company/detail.html:19
#: company/templates/company/manufacturer_part.html:123
-#: part/templates/part/detail.html:359
+#: part/templates/part/detail.html:357
msgid "New Supplier Part"
msgstr "新建供应商商品"
@@ -3232,7 +3288,7 @@ msgstr "制造商商品"
msgid "Create new manufacturer part"
msgstr "新建制造商商品"
-#: company/templates/company/detail.html:66 part/templates/part/detail.html:389
+#: company/templates/company/detail.html:66 part/templates/part/detail.html:387
msgid "New Manufacturer Part"
msgstr "新建制造商商品"
@@ -3246,7 +3302,7 @@ msgstr "供货商库存"
#: order/templates/order/order_base.html:13
#: order/templates/order/purchase_orders.html:8
#: order/templates/order/purchase_orders.html:12
-#: part/templates/part/detail.html:84 part/templates/part/part_sidebar.html:37
+#: part/templates/part/detail.html:84 part/templates/part/part_sidebar.html:35
#: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200
#: templates/InvenTree/settings/sidebar.html:49
#: templates/js/translated/search.js:293 templates/navbar.html:50
@@ -3269,7 +3325,7 @@ msgstr "新建采购订单"
#: order/templates/order/sales_order_base.html:13
#: order/templates/order/sales_orders.html:8
#: order/templates/order/sales_orders.html:15
-#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:41
+#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:39
#: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220
#: templates/InvenTree/settings/sidebar.html:51
#: templates/js/translated/search.js:317 templates/navbar.html:61
@@ -3297,8 +3353,7 @@ msgid "Supplier List"
msgstr "供应商列表"
#: company/templates/company/manufacturer_part.html:15 company/views.py:38
-#: part/templates/part/prices.html:172 templates/InvenTree/search.html:181
-#: templates/navbar.html:49
+#: templates/InvenTree/search.html:181 templates/navbar.html:49
msgid "Manufacturers"
msgstr "制造商"
@@ -3309,12 +3364,12 @@ msgid "Order part"
msgstr "订购商品"
#: company/templates/company/manufacturer_part.html:39
-#: templates/js/translated/company.js:716
+#: templates/js/translated/company.js:717
msgid "Edit manufacturer part"
msgstr "编辑制造商商品"
#: company/templates/company/manufacturer_part.html:43
-#: templates/js/translated/company.js:717
+#: templates/js/translated/company.js:718
msgid "Delete manufacturer part"
msgstr "删除生产商商品"
@@ -3329,35 +3384,36 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:119
#: company/templates/company/supplier_part.html:15 company/views.py:32
-#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:168
+#: part/admin.py:46 part/templates/part/part_sidebar.html:33
#: templates/InvenTree/search.html:191 templates/navbar.html:48
msgid "Suppliers"
msgstr "供应商"
#: company/templates/company/manufacturer_part.html:136
-#: part/templates/part/detail.html:370
+#: part/templates/part/detail.html:368
msgid "Delete supplier parts"
msgstr "删除供应商商品"
#: company/templates/company/manufacturer_part.html:136
#: company/templates/company/manufacturer_part.html:183
-#: part/templates/part/detail.html:371 part/templates/part/detail.html:401
-#: templates/js/translated/forms.js:455 templates/js/translated/helpers.js:36
-#: users/models.py:222
+#: part/templates/part/detail.html:369 part/templates/part/detail.html:399
+#: templates/js/translated/forms.js:455 templates/js/translated/helpers.js:38
+#: templates/js/translated/part.js:340 templates/js/translated/stock.js:184
+#: users/models.py:224
msgid "Delete"
msgstr "删除"
#: company/templates/company/manufacturer_part.html:166
#: company/templates/company/manufacturer_part_sidebar.html:5
#: part/templates/part/category_sidebar.html:19
-#: part/templates/part/detail.html:186 part/templates/part/part_sidebar.html:8
+#: part/templates/part/detail.html:184 part/templates/part/part_sidebar.html:8
msgid "Parameters"
msgstr "参数"
#: company/templates/company/manufacturer_part.html:170
-#: part/templates/part/detail.html:191
+#: part/templates/part/detail.html:189
#: templates/InvenTree/settings/category.html:12
-#: templates/InvenTree/settings/part.html:68
+#: templates/InvenTree/settings/part.html:62
msgid "New Parameter"
msgstr "新建参数"
@@ -3366,7 +3422,7 @@ msgid "Delete parameters"
msgstr "删除参数"
#: company/templates/company/manufacturer_part.html:245
-#: part/templates/part/detail.html:827
+#: part/templates/part/detail.html:825
msgid "Add Parameter"
msgstr "添加参数"
@@ -3387,10 +3443,10 @@ msgid "Assigned Stock Items"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:609
+#: company/templates/company/supplier_part.html:24 stock/models.py:625
#: stock/templates/stock/item_base.html:236
-#: templates/js/translated/company.js:945 templates/js/translated/order.js:1135
-#: templates/js/translated/stock.js:1935
+#: templates/js/translated/company.js:946 templates/js/translated/order.js:1169
+#: templates/js/translated/stock.js:1954
msgid "Supplier Part"
msgstr "供应商商品"
@@ -3441,13 +3497,13 @@ msgstr ""
#: company/templates/company/supplier_part.html:64
#: company/templates/company/supplier_part.html:65
-#: templates/js/translated/company.js:247
+#: templates/js/translated/company.js:248
msgid "Edit Supplier Part"
msgstr "编辑供应商商品"
#: company/templates/company/supplier_part.html:69
#: company/templates/company/supplier_part.html:70
-#: templates/js/translated/company.js:222
+#: templates/js/translated/company.js:223
msgid "Duplicate Supplier Part"
msgstr ""
@@ -3482,7 +3538,7 @@ msgstr ""
#: company/templates/company/supplier_part.html:204
#: part/templates/part/detail.html:25 stock/templates/stock/location.html:198
-#: templates/js/translated/stock.js:435
+#: templates/js/translated/stock.js:454
msgid "New Stock Item"
msgstr ""
@@ -3492,47 +3548,20 @@ msgid "Supplier Part Orders"
msgstr "供应商商品订单"
#: company/templates/company/supplier_part.html:242
-#: part/templates/part/prices.html:10
msgid "Pricing Information"
msgstr "价格信息"
#: company/templates/company/supplier_part.html:247
-#: company/templates/company/supplier_part.html:388
-#: part/templates/part/prices.html:276 templates/js/translated/part.js:2297
+#: company/templates/company/supplier_part.html:317
+#: templates/js/translated/pricing.js:413
msgid "Add Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:282
+#: company/templates/company/supplier_part.html:285
msgid "Link Barcode to Supplier Part"
msgstr ""
-#: company/templates/company/supplier_part.html:300
-msgid "No price break information found"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:314
-#: templates/js/translated/part.js:2307
-msgid "Delete Price Break"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:328
-#: templates/js/translated/part.js:2321
-msgid "Edit Price Break"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:353
-msgid "Edit price break"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:354
-msgid "Delete price break"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:363
-msgid "Last updated"
-msgstr ""
-
-#: company/templates/company/supplier_part.html:444
+#: company/templates/company/supplier_part.html:375
msgid "Update Part Availability"
msgstr ""
@@ -3542,9 +3571,9 @@ msgstr ""
#: stock/templates/stock/stock_app_base.html:10
#: templates/InvenTree/search.html:153
#: templates/InvenTree/settings/sidebar.html:45
-#: templates/js/translated/part.js:749 templates/js/translated/part.js:1335
-#: templates/js/translated/part.js:1501 templates/js/translated/stock.js:959
-#: templates/js/translated/stock.js:1760 templates/navbar.html:31
+#: templates/js/translated/part.js:763 templates/js/translated/part.js:1356
+#: templates/js/translated/part.js:1512 templates/js/translated/stock.js:978
+#: templates/js/translated/stock.js:1779 templates/navbar.html:31
msgid "Stock"
msgstr "库存"
@@ -3558,19 +3587,20 @@ msgid "Supplier Part Pricing"
msgstr "供应商商品价格"
#: company/templates/company/supplier_part_navbar.html:29
-#: part/templates/part/part_sidebar.html:31
+#: part/templates/part/part_sidebar.html:30
+#: templates/InvenTree/settings/sidebar.html:35
msgid "Pricing"
msgstr "定价"
#: company/templates/company/supplier_part_sidebar.html:5
#: part/templates/part/category.html:198
-#: part/templates/part/category_sidebar.html:17
+#: part/templates/part/category_sidebar.html:17 stock/admin.py:31
#: stock/templates/stock/location.html:168
#: stock/templates/stock/location.html:182
#: stock/templates/stock/location.html:194
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:155 templates/js/translated/search.js:225
-#: templates/js/translated/stock.js:2446 users/models.py:40
+#: templates/js/translated/stock.js:2464 users/models.py:40
msgid "Stock Items"
msgstr "库存项"
@@ -3672,438 +3702,439 @@ msgstr "商品查询筛选器 (逗号分隔的键值对列表)"
msgid "No matching purchase order found"
msgstr ""
-#: order/models.py:82
+#: order/models.py:83
msgid "Order description"
msgstr ""
-#: order/models.py:84 order/models.py:1260
+#: order/models.py:85 order/models.py:1283
msgid "Link to external page"
msgstr ""
-#: order/models.py:92
+#: order/models.py:93
msgid "Created By"
msgstr ""
-#: order/models.py:99
+#: order/models.py:100
msgid "User or group responsible for this order"
msgstr "负责此订单的用户或群组"
-#: order/models.py:104
+#: order/models.py:105
msgid "Order notes"
msgstr ""
-#: order/models.py:241 order/models.py:633
+#: order/models.py:242 order/models.py:652
msgid "Order reference"
msgstr ""
-#: order/models.py:249 order/models.py:651
+#: order/models.py:250 order/models.py:670
msgid "Purchase order status"
msgstr ""
-#: order/models.py:264
+#: order/models.py:265
msgid "Company from which the items are being ordered"
msgstr "订购该商品的公司"
-#: order/models.py:267 order/templates/order/order_base.html:133
-#: templates/js/translated/order.js:1984
+#: order/models.py:268 order/templates/order/order_base.html:133
+#: templates/js/translated/order.js:2018
msgid "Supplier Reference"
msgstr ""
-#: order/models.py:267
+#: order/models.py:268
msgid "Supplier order reference code"
msgstr ""
-#: order/models.py:274
+#: order/models.py:275
msgid "received by"
msgstr ""
-#: order/models.py:279
+#: order/models.py:280
msgid "Issue Date"
msgstr ""
-#: order/models.py:280
+#: order/models.py:281
msgid "Date order was issued"
msgstr ""
-#: order/models.py:285
+#: order/models.py:286
msgid "Target Delivery Date"
msgstr ""
-#: order/models.py:286
+#: order/models.py:287
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr ""
-#: order/models.py:292
+#: order/models.py:293
msgid "Date order was completed"
msgstr ""
-#: order/models.py:328
+#: order/models.py:332
msgid "Part supplier must match PO supplier"
msgstr ""
-#: order/models.py:472
+#: order/models.py:491
msgid "Quantity must be a positive number"
msgstr "数量必须大于0"
-#: order/models.py:647
+#: order/models.py:666
msgid "Company to which the items are being sold"
msgstr "向其出售该商品的公司"
-#: order/models.py:658
+#: order/models.py:677
msgid "Customer Reference "
msgstr ""
-#: order/models.py:658
+#: order/models.py:677
msgid "Customer order reference code"
msgstr ""
-#: order/models.py:663
+#: order/models.py:682
msgid "Target date for order completion. Order will be overdue after this date."
msgstr ""
-#: order/models.py:666 order/models.py:1218
-#: templates/js/translated/order.js:2855 templates/js/translated/order.js:3017
+#: order/models.py:685 order/models.py:1241
+#: templates/js/translated/order.js:2866 templates/js/translated/order.js:3028
msgid "Shipment Date"
msgstr ""
-#: order/models.py:673
+#: order/models.py:692
msgid "shipped by"
msgstr ""
-#: order/models.py:728
+#: order/models.py:747
msgid "Order cannot be completed as no parts have been assigned"
msgstr ""
-#: order/models.py:732
+#: order/models.py:751
msgid "Only a pending order can be marked as complete"
msgstr ""
-#: order/models.py:735 templates/js/translated/order.js:419
+#: order/models.py:754 templates/js/translated/order.js:419
msgid "Order cannot be completed as there are incomplete shipments"
msgstr ""
-#: order/models.py:738
+#: order/models.py:757
msgid "Order cannot be completed as there are incomplete line items"
msgstr ""
-#: order/models.py:912
+#: order/models.py:935
msgid "Item quantity"
msgstr ""
-#: order/models.py:918
+#: order/models.py:941
msgid "Line item reference"
msgstr ""
-#: order/models.py:920
+#: order/models.py:943
msgid "Line item notes"
msgstr ""
-#: order/models.py:925
+#: order/models.py:948
msgid "Target shipping date for this line item"
msgstr ""
-#: order/models.py:943
+#: order/models.py:966
msgid "Context"
msgstr ""
-#: order/models.py:944
+#: order/models.py:967
msgid "Additional context for this line"
msgstr ""
-#: order/models.py:953
+#: order/models.py:976
msgid "Unit price"
msgstr ""
-#: order/models.py:983
+#: order/models.py:1006
msgid "Supplier part must match supplier"
msgstr ""
-#: order/models.py:991
+#: order/models.py:1014
msgid "deleted"
msgstr ""
-#: order/models.py:997 order/models.py:1077 order/models.py:1118
-#: order/models.py:1212 order/models.py:1344
-#: templates/js/translated/order.js:3473
+#: order/models.py:1020 order/models.py:1100 order/models.py:1141
+#: order/models.py:1235 order/models.py:1367
+#: templates/js/translated/order.js:3484
msgid "Order"
msgstr ""
-#: order/models.py:998 order/models.py:1077
+#: order/models.py:1021 order/models.py:1100
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report.html:76
#: stock/templates/stock/item_base.html:182
#: templates/email/overdue_purchase_order.html:15
-#: templates/js/translated/order.js:619 templates/js/translated/order.js:1136
-#: templates/js/translated/order.js:1959 templates/js/translated/part.js:970
-#: templates/js/translated/stock.js:1915 templates/js/translated/stock.js:2550
+#: templates/js/translated/order.js:619 templates/js/translated/order.js:1170
+#: templates/js/translated/order.js:1993 templates/js/translated/part.js:997
+#: templates/js/translated/pricing.js:515 templates/js/translated/stock.js:1934
+#: templates/js/translated/stock.js:2568
msgid "Purchase Order"
msgstr ""
-#: order/models.py:1016
+#: order/models.py:1039
msgid "Supplier part"
msgstr "供应商商品"
-#: order/models.py:1023 order/templates/order/order_base.html:178
-#: templates/js/translated/order.js:1641 templates/js/translated/order.js:2373
-#: templates/js/translated/part.js:1087 templates/js/translated/part.js:1125
-#: templates/js/translated/table_filters.js:346
+#: order/models.py:1046 order/templates/order/order_base.html:178
+#: templates/js/translated/order.js:1675 templates/js/translated/order.js:2396
+#: templates/js/translated/part.js:1114 templates/js/translated/part.js:1146
+#: templates/js/translated/table_filters.js:350
msgid "Received"
msgstr ""
-#: order/models.py:1024
+#: order/models.py:1047
msgid "Number of items received"
msgstr ""
-#: order/models.py:1031 part/templates/part/prices.html:181 stock/models.py:741
-#: stock/serializers.py:169 stock/templates/stock/item_base.html:189
-#: templates/js/translated/stock.js:1966
+#: order/models.py:1054 stock/models.py:757 stock/serializers.py:173
+#: stock/templates/stock/item_base.html:189
+#: templates/js/translated/stock.js:1985
msgid "Purchase Price"
msgstr "采购价格"
-#: order/models.py:1032
+#: order/models.py:1055
msgid "Unit purchase price"
msgstr ""
-#: order/models.py:1040
+#: order/models.py:1063
msgid "Where does the Purchaser want this item to be stored?"
msgstr ""
-#: order/models.py:1106
+#: order/models.py:1129
msgid "Virtual part cannot be assigned to a sales order"
msgstr ""
-#: order/models.py:1111
+#: order/models.py:1134
msgid "Only salable parts can be assigned to a sales order"
msgstr ""
-#: order/models.py:1137 part/templates/part/part_pricing.html:115
-#: part/templates/part/prices.html:121 part/templates/part/prices.html:290
+#: order/models.py:1160 part/templates/part/part_pricing.html:107
+#: part/templates/part/prices.html:139 templates/js/translated/pricing.js:665
msgid "Sale Price"
msgstr "销售价格"
-#: order/models.py:1138
+#: order/models.py:1161
msgid "Unit sale price"
msgstr ""
-#: order/models.py:1143
+#: order/models.py:1166
msgid "Shipped quantity"
msgstr ""
-#: order/models.py:1219
+#: order/models.py:1242
msgid "Date of shipment"
msgstr ""
-#: order/models.py:1226
+#: order/models.py:1249
msgid "Checked By"
msgstr ""
-#: order/models.py:1227
+#: order/models.py:1250
msgid "User who checked this shipment"
msgstr ""
-#: order/models.py:1234 order/models.py:1419 order/serializers.py:1228
-#: order/serializers.py:1356 templates/js/translated/model_renderers.js:314
+#: order/models.py:1257 order/models.py:1442 order/serializers.py:1221
+#: order/serializers.py:1349 templates/js/translated/model_renderers.js:314
msgid "Shipment"
msgstr ""
-#: order/models.py:1235
+#: order/models.py:1258
msgid "Shipment number"
msgstr ""
-#: order/models.py:1239
+#: order/models.py:1262
msgid "Shipment notes"
msgstr ""
-#: order/models.py:1245
+#: order/models.py:1268
msgid "Tracking Number"
msgstr ""
-#: order/models.py:1246
+#: order/models.py:1269
msgid "Shipment tracking information"
msgstr ""
-#: order/models.py:1253
+#: order/models.py:1276
msgid "Invoice Number"
msgstr ""
-#: order/models.py:1254
+#: order/models.py:1277
msgid "Reference number for associated invoice"
msgstr ""
-#: order/models.py:1272
+#: order/models.py:1295
msgid "Shipment has already been sent"
msgstr ""
-#: order/models.py:1275
+#: order/models.py:1298
msgid "Shipment has no allocated stock items"
msgstr ""
-#: order/models.py:1378 order/models.py:1380
+#: order/models.py:1401 order/models.py:1403
msgid "Stock item has not been assigned"
msgstr ""
-#: order/models.py:1384
+#: order/models.py:1407
msgid "Cannot allocate stock item to a line with a different part"
msgstr ""
-#: order/models.py:1386
+#: order/models.py:1409
msgid "Cannot allocate stock to a line without a part"
msgstr ""
-#: order/models.py:1389
+#: order/models.py:1412
msgid "Allocation quantity cannot exceed stock quantity"
msgstr ""
-#: order/models.py:1399 order/serializers.py:1090
+#: order/models.py:1422 order/serializers.py:1083
msgid "Quantity must be 1 for serialized stock item"
msgstr ""
-#: order/models.py:1402
+#: order/models.py:1425
msgid "Sales order does not match shipment"
msgstr ""
-#: order/models.py:1403
+#: order/models.py:1426
msgid "Shipment does not match sales order"
msgstr ""
-#: order/models.py:1411
+#: order/models.py:1434
msgid "Line"
msgstr ""
-#: order/models.py:1420
+#: order/models.py:1443
msgid "Sales order shipment reference"
msgstr ""
-#: order/models.py:1433 templates/js/translated/notification.js:55
+#: order/models.py:1456 templates/js/translated/notification.js:55
msgid "Item"
msgstr ""
-#: order/models.py:1434
+#: order/models.py:1457
msgid "Select stock item to allocate"
msgstr ""
-#: order/models.py:1437
+#: order/models.py:1460
msgid "Enter stock allocation quantity"
msgstr ""
-#: order/serializers.py:67
+#: order/serializers.py:63
msgid "Price currency"
msgstr ""
-#: order/serializers.py:199
+#: order/serializers.py:193
msgid "Order cannot be cancelled"
msgstr "无法取消订单"
-#: order/serializers.py:209 order/serializers.py:1108
+#: order/serializers.py:203 order/serializers.py:1101
msgid "Allow order to be closed with incomplete line items"
msgstr ""
-#: order/serializers.py:220 order/serializers.py:1119
+#: order/serializers.py:214 order/serializers.py:1112
msgid "Order has incomplete line items"
msgstr ""
-#: order/serializers.py:311
+#: order/serializers.py:305
msgid "Order is not open"
msgstr ""
-#: order/serializers.py:335
+#: order/serializers.py:327
msgid "Purchase price currency"
msgstr ""
-#: order/serializers.py:354
+#: order/serializers.py:346
msgid "Supplier part must be specified"
msgstr ""
-#: order/serializers.py:359
+#: order/serializers.py:351
msgid "Purchase order must be specified"
msgstr ""
-#: order/serializers.py:365
+#: order/serializers.py:357
msgid "Supplier must match purchase order"
msgstr ""
-#: order/serializers.py:366
+#: order/serializers.py:358
msgid "Purchase order must match supplier"
msgstr ""
-#: order/serializers.py:430 order/serializers.py:1196
+#: order/serializers.py:421 order/serializers.py:1189
msgid "Line Item"
msgstr ""
-#: order/serializers.py:436
+#: order/serializers.py:427
msgid "Line item does not match purchase order"
msgstr ""
-#: order/serializers.py:446 order/serializers.py:557
+#: order/serializers.py:437 order/serializers.py:548
msgid "Select destination location for received items"
msgstr ""
-#: order/serializers.py:465 templates/js/translated/order.js:1497
+#: order/serializers.py:456 templates/js/translated/order.js:1531
msgid "Enter batch code for incoming stock items"
msgstr ""
-#: order/serializers.py:473 templates/js/translated/order.js:1508
+#: order/serializers.py:464 templates/js/translated/order.js:1542
msgid "Enter serial numbers for incoming stock items"
msgstr ""
-#: order/serializers.py:487
+#: order/serializers.py:478
msgid "Unique identifier field"
msgstr ""
-#: order/serializers.py:501
+#: order/serializers.py:492
msgid "Barcode is already in use"
msgstr ""
-#: order/serializers.py:527
+#: order/serializers.py:518
msgid "An integer quantity must be provided for trackable parts"
msgstr ""
-#: order/serializers.py:573
+#: order/serializers.py:564
msgid "Line items must be provided"
msgstr ""
-#: order/serializers.py:590
+#: order/serializers.py:581
msgid "Destination location must be specified"
msgstr ""
-#: order/serializers.py:601
+#: order/serializers.py:592
msgid "Supplied barcode values must be unique"
msgstr ""
-#: order/serializers.py:907
+#: order/serializers.py:900
msgid "Sale price currency"
msgstr ""
-#: order/serializers.py:988
+#: order/serializers.py:981
msgid "No shipment details provided"
msgstr ""
-#: order/serializers.py:1051 order/serializers.py:1205
+#: order/serializers.py:1044 order/serializers.py:1198
msgid "Line item is not associated with this order"
msgstr ""
-#: order/serializers.py:1073
+#: order/serializers.py:1066
msgid "Quantity must be positive"
msgstr ""
-#: order/serializers.py:1218
+#: order/serializers.py:1211
msgid "Enter serial numbers to allocate"
msgstr ""
-#: order/serializers.py:1240 order/serializers.py:1364
+#: order/serializers.py:1233 order/serializers.py:1357
msgid "Shipment has already been shipped"
msgstr ""
-#: order/serializers.py:1243 order/serializers.py:1367
+#: order/serializers.py:1236 order/serializers.py:1360
msgid "Shipment is not associated with this order"
msgstr ""
-#: order/serializers.py:1297
+#: order/serializers.py:1290
msgid "No match found for the following serial numbers"
msgstr ""
-#: order/serializers.py:1307
+#: order/serializers.py:1300
msgid "The following serial numbers are already allocated"
msgstr ""
@@ -4154,7 +4185,8 @@ msgid "Duplicate order"
msgstr ""
#: order/templates/order/order_base.html:61
-msgid "Place order"
+#: order/templates/order/order_base.html:62
+msgid "Submit Order"
msgstr ""
#: order/templates/order/order_base.html:65
@@ -4162,7 +4194,7 @@ msgid "Receive items"
msgstr ""
#: order/templates/order/order_base.html:67
-#: order/templates/order/purchase_order_detail.html:30
+#: order/templates/order/purchase_order_detail.html:32
msgid "Receive Items"
msgstr ""
@@ -4248,9 +4280,9 @@ msgstr "选择供应商商品"
#: part/templates/part/import_wizard/match_references.html:49
#: templates/js/translated/bom.js:102 templates/js/translated/build.js:479
#: templates/js/translated/build.js:631 templates/js/translated/build.js:2078
-#: templates/js/translated/order.js:1084 templates/js/translated/order.js:1586
-#: templates/js/translated/order.js:3092 templates/js/translated/stock.js:625
-#: templates/js/translated/stock.js:793
+#: templates/js/translated/order.js:1118 templates/js/translated/order.js:1620
+#: templates/js/translated/order.js:3103 templates/js/translated/stock.js:644
+#: templates/js/translated/stock.js:812
#: templates/patterns/wizard/match_fields.html:70
msgid "Remove row"
msgstr "移除行"
@@ -4278,42 +4310,42 @@ msgstr ""
msgid "Received Stock"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:17
+#: order/templates/order/purchase_order_detail.html:19
msgid "Purchase Order Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:26
-#: order/templates/order/sales_order_detail.html:22
-#: order/templates/order/sales_order_detail.html:255
+#: order/templates/order/purchase_order_detail.html:28
+#: order/templates/order/sales_order_detail.html:24
+#: order/templates/order/sales_order_detail.html:260
#: templates/js/translated/order.js:728
msgid "Add Line Item"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:29
+#: order/templates/order/purchase_order_detail.html:31
msgid "Receive selected items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:48
-#: order/templates/order/sales_order_detail.html:42
+#: order/templates/order/purchase_order_detail.html:50
+#: order/templates/order/sales_order_detail.html:45
msgid "Extra Lines"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:53
-#: order/templates/order/sales_order_detail.html:47
-#: order/templates/order/sales_order_detail.html:280
+#: order/templates/order/purchase_order_detail.html:56
+#: order/templates/order/sales_order_detail.html:51
+#: order/templates/order/sales_order_detail.html:291
msgid "Add Extra Line"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:72
+#: order/templates/order/purchase_order_detail.html:76
msgid "Received Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:97
-#: order/templates/order/sales_order_detail.html:150
+#: order/templates/order/purchase_order_detail.html:101
+#: order/templates/order/sales_order_detail.html:155
msgid "Order Notes"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:232
+#: order/templates/order/purchase_order_detail.html:239
msgid "Add Order Line"
msgstr ""
@@ -4345,12 +4377,12 @@ msgid "This Sales Order has not been fully allocated"
msgstr ""
#: order/templates/order/sales_order_base.html:123
-#: templates/js/translated/order.js:2821
+#: templates/js/translated/order.js:2832
msgid "Customer Reference"
msgstr ""
#: order/templates/order/sales_order_base.html:141
-#: order/templates/order/sales_order_detail.html:104
+#: order/templates/order/sales_order_detail.html:109
#: order/templates/order/so_sidebar.html:11
msgid "Completed Shipments"
msgstr ""
@@ -4359,22 +4391,22 @@ msgstr ""
msgid "Edit Sales Order"
msgstr ""
-#: order/templates/order/sales_order_detail.html:17
+#: order/templates/order/sales_order_detail.html:18
msgid "Sales Order Items"
msgstr ""
-#: order/templates/order/sales_order_detail.html:68
+#: order/templates/order/sales_order_detail.html:73
#: order/templates/order/so_sidebar.html:8
msgid "Pending Shipments"
msgstr ""
-#: order/templates/order/sales_order_detail.html:72
-#: templates/attachment_table.html:6 templates/js/translated/bom.js:1158
+#: order/templates/order/sales_order_detail.html:77
+#: templates/attachment_table.html:6 templates/js/translated/bom.js:1223
#: templates/js/translated/build.js:1979
msgid "Actions"
msgstr ""
-#: order/templates/order/sales_order_detail.html:81
+#: order/templates/order/sales_order_detail.html:86
msgid "New Shipment"
msgstr ""
@@ -4400,617 +4432,844 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/api.py:516
-msgid "Incoming Purchase Order"
+#: part/admin.py:19 part/admin.py:219 part/models.py:3181 stock/admin.py:84
+#: templates/js/translated/model_renderers.js:212
+msgid "Part ID"
+msgstr "商品ID"
+
+#: part/admin.py:20 part/admin.py:221 part/models.py:3185 stock/admin.py:85
+msgid "Part Name"
msgstr ""
-#: part/api.py:536
-msgid "Outgoing Sales Order"
+#: part/admin.py:21
+msgid "Part Description"
msgstr ""
-#: part/api.py:554
-msgid "Stock produced by Build Order"
+#: part/admin.py:22 part/models.py:822 part/templates/part/part_base.html:272
+#: templates/js/translated/part.js:751 templates/js/translated/part.js:1469
+#: templates/js/translated/stock.js:1745
+msgid "IPN"
msgstr ""
-#: part/api.py:640
-msgid "Stock required for Build Order"
+#: part/admin.py:23 part/models.py:830 part/templates/part/part_base.html:279
+#: report/models.py:171 templates/js/translated/part.js:755
+msgid "Revision"
msgstr ""
-#: part/api.py:777
-msgid "Valid"
+#: part/admin.py:24 part/admin.py:145 part/models.py:808
+#: part/templates/part/category.html:87 part/templates/part/part_base.html:300
+msgid "Keywords"
+msgstr "关键词"
+
+#: part/admin.py:28 part/admin.py:139
+#: templates/js/translated/model_renderers.js:338
+msgid "Category ID"
+msgstr "类别 ID"
+
+#: part/admin.py:29 part/admin.py:140
+msgid "Category Name"
msgstr ""
-#: part/api.py:778
-msgid "Validate entire Bill of Materials"
+#: part/admin.py:30 part/admin.py:144
+msgid "Default Location ID"
msgstr ""
-#: part/api.py:784
-msgid "This option must be selected"
+#: part/admin.py:31
+msgid "Default Supplier ID"
msgstr ""
-#: part/api.py:1207
-msgid "Must be greater than zero"
-msgstr "必须大于0"
+#: part/admin.py:33 part/models.py:914 part/templates/part/part_base.html:206
+msgid "Minimum Stock"
+msgstr "最低库存"
-#: part/api.py:1211
-msgid "Must be a valid quantity"
-msgstr "必须是有效的数量"
-
-#: part/api.py:1226
-msgid "Specify location for initial part stock"
-msgstr "指定初始初始商品仓储地点"
-
-#: part/api.py:1257 part/api.py:1261 part/api.py:1276 part/api.py:1280
-msgid "This field is required"
-msgstr "此字段为必填"
-
-#: part/bom.py:127 part/models.py:98 part/models.py:838
-#: part/templates/part/category.html:109 part/templates/part/part_base.html:345
-msgid "Default Location"
-msgstr "默认仓储地点"
-
-#: part/bom.py:128 templates/email/low_stock_notification.html:17
-msgid "Total Stock"
+#: part/admin.py:47 part/templates/part/part_base.html:200
+#: templates/js/translated/company.js:1028
+#: templates/js/translated/table_filters.js:213
+msgid "In Stock"
msgstr ""
-#: part/bom.py:129 part/templates/part/part_base.html:195
-#: templates/js/translated/order.js:3913
-msgid "Available Stock"
-msgstr "可用库存"
-
-#: part/bom.py:130 part/templates/part/part_base.html:213
-#: templates/js/translated/bom.js:1001 templates/js/translated/build.js:1925
-#: templates/js/translated/part.js:588 templates/js/translated/part.js:608
-#: templates/js/translated/part.js:1338 templates/js/translated/part.js:1526
+#: part/admin.py:48 part/bom.py:145 part/templates/part/part_base.html:213
+#: templates/js/translated/bom.js:1155 templates/js/translated/build.js:1925
+#: templates/js/translated/part.js:602 templates/js/translated/part.js:622
+#: templates/js/translated/part.js:1359 templates/js/translated/part.js:1537
#: templates/js/translated/table_filters.js:68
msgid "On Order"
msgstr ""
-#: part/forms.py:41
-msgid "Input quantity for price calculation"
+#: part/admin.py:49 part/templates/part/part_sidebar.html:27
+msgid "Used In"
msgstr ""
-#: part/models.py:99
-msgid "Default location for parts in this category"
-msgstr "此类别商品的默认仓储地点"
-
-#: part/models.py:102
-msgid "Default keywords"
+#: part/admin.py:50 templates/js/translated/build.js:1937
+#: templates/js/translated/build.js:2195 templates/js/translated/build.js:2761
+#: templates/js/translated/order.js:3943
+msgid "Allocated"
msgstr ""
-#: part/models.py:102
-msgid "Default keywords for parts in this category"
-msgstr "此类别商品的默认关键字"
-
-#: part/models.py:107 stock/models.py:85
-msgid "Icon"
+#: part/admin.py:51 part/templates/part/part_base.html:244
+#: templates/js/translated/part.js:605 templates/js/translated/part.js:625
+#: templates/js/translated/part.js:1363 templates/js/translated/part.js:1544
+msgid "Building"
msgstr ""
-#: part/models.py:108 stock/models.py:86
-msgid "Icon (optional)"
+#: part/admin.py:52 part/models.py:2765
+msgid "Minimum Cost"
msgstr ""
-#: part/models.py:122 part/models.py:2517 part/templates/part/category.html:16
-#: part/templates/part/part_app_base.html:10
-msgid "Part Category"
-msgstr "商品类别"
+#: part/admin.py:53 part/models.py:2771
+msgid "Maximum Cost"
+msgstr ""
-#: part/models.py:123 part/templates/part/category.html:129
-#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200
-#: users/models.py:37
-msgid "Part Categories"
-msgstr "商品类别"
+#: part/admin.py:142 part/admin.py:216 stock/admin.py:26 stock/admin.py:98
+msgid "Parent ID"
+msgstr ""
-#: part/models.py:344 part/templates/part/cat_link.html:3
+#: part/admin.py:143 part/admin.py:218 stock/admin.py:27
+msgid "Parent Name"
+msgstr ""
+
+#: part/admin.py:146 part/templates/part/category.html:81
+#: part/templates/part/category.html:94
+msgid "Category Path"
+msgstr "类别路径"
+
+#: part/admin.py:149 part/models.py:363 part/templates/part/cat_link.html:3
#: part/templates/part/category.html:23 part/templates/part/category.html:134
#: part/templates/part/category.html:154
#: part/templates/part/category_sidebar.html:9
#: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84
#: templates/InvenTree/settings/sidebar.html:41
-#: templates/js/translated/part.js:2019 templates/js/translated/search.js:146
+#: templates/js/translated/part.js:2043 templates/js/translated/search.js:146
#: templates/navbar.html:24 users/models.py:38
msgid "Parts"
msgstr "商品"
-#: part/models.py:429
+#: part/admin.py:211
+msgid "BOM Level"
+msgstr ""
+
+#: part/admin.py:213
+msgid "BOM Item ID"
+msgstr ""
+
+#: part/admin.py:217
+msgid "Parent IPN"
+msgstr ""
+
+#: part/admin.py:220 part/models.py:3189
+msgid "Part IPN"
+msgstr ""
+
+#: part/admin.py:226 templates/js/translated/pricing.js:91
+#: templates/js/translated/pricing.js:727
+msgid "Minimum Price"
+msgstr ""
+
+#: part/admin.py:227 templates/js/translated/pricing.js:86
+#: templates/js/translated/pricing.js:735
+msgid "Maximum Price"
+msgstr ""
+
+#: part/api.py:532
+msgid "Incoming Purchase Order"
+msgstr ""
+
+#: part/api.py:552
+msgid "Outgoing Sales Order"
+msgstr ""
+
+#: part/api.py:570
+msgid "Stock produced by Build Order"
+msgstr ""
+
+#: part/api.py:656
+msgid "Stock required for Build Order"
+msgstr ""
+
+#: part/api.py:814
+msgid "Valid"
+msgstr ""
+
+#: part/api.py:815
+msgid "Validate entire Bill of Materials"
+msgstr ""
+
+#: part/api.py:821
+msgid "This option must be selected"
+msgstr ""
+
+#: part/api.py:1261
+msgid "Must be greater than zero"
+msgstr "必须大于0"
+
+#: part/api.py:1265
+msgid "Must be a valid quantity"
+msgstr "必须是有效的数量"
+
+#: part/api.py:1280
+msgid "Specify location for initial part stock"
+msgstr "指定初始初始商品仓储地点"
+
+#: part/api.py:1311 part/api.py:1315 part/api.py:1330 part/api.py:1334
+msgid "This field is required"
+msgstr "此字段为必填"
+
+#: part/bom.py:142 part/models.py:116 part/models.py:857
+#: part/templates/part/category.html:109 part/templates/part/part_base.html:360
+msgid "Default Location"
+msgstr "默认仓储地点"
+
+#: part/bom.py:143 templates/email/low_stock_notification.html:17
+msgid "Total Stock"
+msgstr ""
+
+#: part/bom.py:144 part/templates/part/part_base.html:195
+#: templates/js/translated/order.js:3910
+msgid "Available Stock"
+msgstr "可用库存"
+
+#: part/forms.py:41
+msgid "Input quantity for price calculation"
+msgstr ""
+
+#: part/models.py:117
+msgid "Default location for parts in this category"
+msgstr "此类别商品的默认仓储地点"
+
+#: part/models.py:120
+msgid "Default keywords"
+msgstr ""
+
+#: part/models.py:120
+msgid "Default keywords for parts in this category"
+msgstr "此类别商品的默认关键字"
+
+#: part/models.py:125 stock/models.py:101
+msgid "Icon"
+msgstr ""
+
+#: part/models.py:126 stock/models.py:102
+msgid "Icon (optional)"
+msgstr ""
+
+#: part/models.py:140 part/models.py:3130 part/templates/part/category.html:16
+#: part/templates/part/part_app_base.html:10
+msgid "Part Category"
+msgstr "商品类别"
+
+#: part/models.py:141 part/templates/part/category.html:129
+#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200
+#: users/models.py:37
+msgid "Part Categories"
+msgstr "商品类别"
+
+#: part/models.py:448
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:499 part/models.py:511
+#: part/models.py:518 part/models.py:530
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:601
+#: part/models.py:620
msgid "Stock item with this serial number already exists"
msgstr ""
-#: part/models.py:732
+#: part/models.py:751
msgid "Duplicate IPN not allowed in part settings"
msgstr "在商品设置中不允许重复的IPN"
-#: part/models.py:759 part/models.py:2573
+#: part/models.py:778 part/models.py:3186
msgid "Part name"
msgstr "商品名称"
-#: part/models.py:766
+#: part/models.py:785
msgid "Is Template"
msgstr ""
-#: part/models.py:767
+#: part/models.py:786
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:777
+#: part/models.py:796
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:778
+#: part/models.py:797
msgid "Variant Of"
msgstr ""
-#: part/models.py:784
+#: part/models.py:803
msgid "Part description"
msgstr "商品描述"
-#: part/models.py:789 part/templates/part/category.html:87
-#: part/templates/part/part_base.html:300
-msgid "Keywords"
-msgstr "关键词"
-
-#: part/models.py:790
+#: part/models.py:809
msgid "Part keywords to improve visibility in search results"
msgstr "提高搜索结果可见性的关键字"
-#: part/models.py:797 part/models.py:2272 part/models.py:2516
+#: part/models.py:816 part/models.py:2885 part/models.py:3129
#: part/templates/part/part_base.html:263
#: templates/InvenTree/settings/settings.html:229
#: templates/js/translated/notification.js:50
-#: templates/js/translated/part.js:1480 templates/js/translated/part.js:1724
+#: templates/js/translated/part.js:1491 templates/js/translated/part.js:1748
msgid "Category"
msgstr "类别"
-#: part/models.py:798
+#: part/models.py:817
msgid "Part category"
msgstr "商品类别"
-#: part/models.py:803 part/templates/part/part_base.html:272
-#: templates/js/translated/part.js:737 templates/js/translated/part.js:1431
-#: templates/js/translated/stock.js:1726
-msgid "IPN"
-msgstr ""
-
-#: part/models.py:804
+#: part/models.py:823
msgid "Internal Part Number"
msgstr "内部商品编号"
-#: part/models.py:810
+#: part/models.py:829
msgid "Part revision or version number"
msgstr "商品版本号"
-#: part/models.py:811 part/templates/part/part_base.html:279
-#: report/models.py:171 templates/js/translated/part.js:741
-msgid "Revision"
-msgstr ""
-
-#: part/models.py:836
+#: part/models.py:855
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:881 part/templates/part/part_base.html:354
+#: part/models.py:900 part/templates/part/part_base.html:369
msgid "Default Supplier"
msgstr ""
-#: part/models.py:882
+#: part/models.py:901
msgid "Default supplier part"
msgstr "默认供应商商品"
-#: part/models.py:889
+#: part/models.py:908
msgid "Default Expiry"
msgstr ""
-#: part/models.py:890
+#: part/models.py:909
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:895 part/templates/part/part_base.html:206
-msgid "Minimum Stock"
-msgstr "最低库存"
-
-#: part/models.py:896
+#: part/models.py:915
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:903
+#: part/models.py:922
msgid "Stock keeping units for this part"
msgstr ""
-#: part/models.py:909
+#: part/models.py:928
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:915
+#: part/models.py:934
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:921
+#: part/models.py:940
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:926
+#: part/models.py:945
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:931
+#: part/models.py:950
msgid "Can this part be sold to customers?"
msgstr "此商品可以销售给客户吗?"
-#: part/models.py:936
+#: part/models.py:955
msgid "Is this part active?"
msgstr ""
-#: part/models.py:941
+#: part/models.py:960
msgid "Is this a virtual part, such as a software product or license?"
msgstr "这是一个虚拟商品,如软件产品或许可证吗?"
-#: part/models.py:943
+#: part/models.py:962
msgid "Part notes"
msgstr ""
-#: part/models.py:945
+#: part/models.py:964
msgid "BOM checksum"
msgstr ""
-#: part/models.py:945
+#: part/models.py:964
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:948
+#: part/models.py:967
msgid "BOM checked by"
msgstr ""
-#: part/models.py:950
+#: part/models.py:969
msgid "BOM checked date"
msgstr ""
-#: part/models.py:954
+#: part/models.py:973
msgid "Creation User"
msgstr "新建用户"
-#: part/models.py:1790
+#: part/models.py:1819
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2319
+#: part/models.py:2682
+msgid "Currency used to cache pricing calculations"
+msgstr ""
+
+#: part/models.py:2687
+msgid "Updated"
+msgstr ""
+
+#: part/models.py:2688
+msgid "Timestamp of last pricing update"
+msgstr ""
+
+#: part/models.py:2705
+msgid "Minimum BOM Cost"
+msgstr ""
+
+#: part/models.py:2706
+msgid "Minimum cost of component parts"
+msgstr ""
+
+#: part/models.py:2711
+msgid "Maximum BOM Cost"
+msgstr ""
+
+#: part/models.py:2712
+msgid "Maximum cost of component parts"
+msgstr ""
+
+#: part/models.py:2717
+msgid "Minimum Purchase Cost"
+msgstr ""
+
+#: part/models.py:2718
+msgid "Minimum historical purchase cost"
+msgstr ""
+
+#: part/models.py:2723
+msgid "Maximum Purchase Cost"
+msgstr ""
+
+#: part/models.py:2724
+msgid "Maximum historical purchase cost"
+msgstr ""
+
+#: part/models.py:2729
+msgid "Minimum Internal Price"
+msgstr ""
+
+#: part/models.py:2730
+msgid "Minimum cost based on internal price breaks"
+msgstr ""
+
+#: part/models.py:2735
+msgid "Maximum Internal Price"
+msgstr ""
+
+#: part/models.py:2736
+msgid "Maximum cost based on internal price breaks"
+msgstr ""
+
+#: part/models.py:2741
+msgid "Minimum Supplier Price"
+msgstr ""
+
+#: part/models.py:2742
+msgid "Minimum price of part from external suppliers"
+msgstr ""
+
+#: part/models.py:2747
+msgid "Maximum Supplier Price"
+msgstr ""
+
+#: part/models.py:2748
+msgid "Maximum price of part from external suppliers"
+msgstr ""
+
+#: part/models.py:2753
+msgid "Minimum Variant Cost"
+msgstr ""
+
+#: part/models.py:2754
+msgid "Calculated minimum cost of variant parts"
+msgstr ""
+
+#: part/models.py:2759
+msgid "Maximum Variant Cost"
+msgstr ""
+
+#: part/models.py:2760
+msgid "Calculated maximum cost of variant parts"
+msgstr ""
+
+#: part/models.py:2766
+msgid "Calculated overall minimum cost"
+msgstr ""
+
+#: part/models.py:2772
+msgid "Calculated overall maximum cost"
+msgstr ""
+
+#: part/models.py:2777
+msgid "Minimum Sale Price"
+msgstr ""
+
+#: part/models.py:2778
+msgid "Minimum sale price based on price breaks"
+msgstr ""
+
+#: part/models.py:2783
+msgid "Maximum Sale Price"
+msgstr ""
+
+#: part/models.py:2784
+msgid "Maximum sale price based on price breaks"
+msgstr ""
+
+#: part/models.py:2789
+msgid "Minimum Sale Cost"
+msgstr ""
+
+#: part/models.py:2790
+msgid "Minimum historical sale price"
+msgstr ""
+
+#: part/models.py:2795
+msgid "Maximum Sale Cost"
+msgstr ""
+
+#: part/models.py:2796
+msgid "Maximum historical sale price"
+msgstr ""
+
+#: part/models.py:2932
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:2336
+#: part/models.py:2949
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2356 templates/js/translated/part.js:2070
-#: templates/js/translated/stock.js:1340
+#: part/models.py:2969 templates/js/translated/part.js:2094
+#: templates/js/translated/stock.js:1359
msgid "Test Name"
msgstr ""
-#: part/models.py:2357
+#: part/models.py:2970
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2362
+#: part/models.py:2975
msgid "Test Description"
msgstr ""
-#: part/models.py:2363
+#: part/models.py:2976
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2368 templates/js/translated/part.js:2079
-#: templates/js/translated/table_filters.js:310
+#: part/models.py:2981 templates/js/translated/part.js:2103
+#: templates/js/translated/table_filters.js:314
msgid "Required"
msgstr ""
-#: part/models.py:2369
+#: part/models.py:2982
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2374 templates/js/translated/part.js:2087
+#: part/models.py:2987 templates/js/translated/part.js:2111
msgid "Requires Value"
msgstr ""
-#: part/models.py:2375
+#: part/models.py:2988
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2380 templates/js/translated/part.js:2094
+#: part/models.py:2993 templates/js/translated/part.js:2118
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2381
+#: part/models.py:2994
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:2422
+#: part/models.py:3035
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:2430
+#: part/models.py:3043
msgid "Parameter Name"
msgstr ""
-#: part/models.py:2434
+#: part/models.py:3047
msgid "Parameter Units"
msgstr ""
-#: part/models.py:2439
+#: part/models.py:3052
msgid "Parameter description"
msgstr ""
-#: part/models.py:2472
+#: part/models.py:3085
msgid "Parent Part"
msgstr ""
-#: part/models.py:2474 part/models.py:2522 part/models.py:2523
+#: part/models.py:3087 part/models.py:3135 part/models.py:3136
#: templates/InvenTree/settings/settings.html:224
msgid "Parameter Template"
msgstr "参数模板"
-#: part/models.py:2476
+#: part/models.py:3089
msgid "Data"
msgstr ""
-#: part/models.py:2476
+#: part/models.py:3089
msgid "Parameter Value"
msgstr ""
-#: part/models.py:2527 templates/InvenTree/settings/settings.html:233
+#: part/models.py:3140 templates/InvenTree/settings/settings.html:233
msgid "Default Value"
msgstr "默认值"
-#: part/models.py:2528
+#: part/models.py:3141
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:2565
+#: part/models.py:3178
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:2568 templates/js/translated/model_renderers.js:212
-msgid "Part ID"
-msgstr "商品ID"
-
-#: part/models.py:2569
+#: part/models.py:3182
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:2572
-msgid "Part Name"
-msgstr ""
-
-#: part/models.py:2576
-msgid "Part IPN"
-msgstr ""
-
-#: part/models.py:2577
+#: part/models.py:3190
msgid "Part IPN value"
msgstr ""
-#: part/models.py:2580
+#: part/models.py:3193
msgid "Level"
msgstr ""
-#: part/models.py:2581
+#: part/models.py:3194
msgid "BOM level"
msgstr ""
-#: part/models.py:2650
+#: part/models.py:3263
msgid "Select parent part"
msgstr ""
-#: part/models.py:2658
+#: part/models.py:3271
msgid "Sub part"
msgstr ""
-#: part/models.py:2659
+#: part/models.py:3272
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:2665
+#: part/models.py:3278
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:2669 part/templates/part/upload_bom.html:58
-#: templates/js/translated/bom.js:924 templates/js/translated/bom.js:1024
+#: part/models.py:3282 part/templates/part/upload_bom.html:58
+#: templates/js/translated/bom.js:933 templates/js/translated/bom.js:986
#: templates/js/translated/build.js:1858
#: templates/js/translated/table_filters.js:84
-#: templates/js/translated/table_filters.js:108
+#: templates/js/translated/table_filters.js:112
msgid "Optional"
msgstr "可选项"
-#: part/models.py:2670
+#: part/models.py:3283
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:2675 templates/js/translated/bom.js:920
-#: templates/js/translated/bom.js:1033 templates/js/translated/build.js:1849
+#: part/models.py:3288 templates/js/translated/bom.js:929
+#: templates/js/translated/bom.js:995 templates/js/translated/build.js:1849
#: templates/js/translated/table_filters.js:88
msgid "Consumable"
msgstr ""
-#: part/models.py:2676
+#: part/models.py:3289
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:2680 part/templates/part/upload_bom.html:55
+#: part/models.py:3293 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:2681
+#: part/models.py:3294
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:2684
+#: part/models.py:3297
msgid "BOM item reference"
msgstr ""
-#: part/models.py:2687
+#: part/models.py:3300
msgid "BOM item notes"
msgstr ""
-#: part/models.py:2689
+#: part/models.py:3302
msgid "Checksum"
msgstr ""
-#: part/models.py:2689
+#: part/models.py:3302
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:2693 part/templates/part/upload_bom.html:57
-#: templates/js/translated/bom.js:1050
+#: part/models.py:3306 part/templates/part/upload_bom.html:57
+#: templates/js/translated/bom.js:1012
#: templates/js/translated/table_filters.js:76
-#: templates/js/translated/table_filters.js:104
+#: templates/js/translated/table_filters.js:108
msgid "Inherited"
msgstr "继承项"
-#: part/models.py:2694
+#: part/models.py:3307
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:2699 part/templates/part/upload_bom.html:56
-#: templates/js/translated/bom.js:1042
+#: part/models.py:3312 part/templates/part/upload_bom.html:56
+#: templates/js/translated/bom.js:1004
msgid "Allow Variants"
msgstr ""
-#: part/models.py:2700
+#: part/models.py:3313
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:2786 stock/models.py:502
+#: part/models.py:3399 stock/models.py:518
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:2795 part/models.py:2797
+#: part/models.py:3408 part/models.py:3410
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:2902
+#: part/models.py:3537
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:2923
+#: part/models.py:3558
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:2936
+#: part/models.py:3571
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:2944
+#: part/models.py:3579
msgid "Substitute part"
msgstr ""
-#: part/models.py:2959
+#: part/models.py:3594
msgid "Part 1"
msgstr ""
-#: part/models.py:2963
+#: part/models.py:3598
msgid "Part 2"
msgstr ""
-#: part/models.py:2963
+#: part/models.py:3598
msgid "Select Related Part"
msgstr ""
-#: part/models.py:2981
+#: part/models.py:3616
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:2985
+#: part/models.py:3620
msgid "Duplicate relationship already exists"
msgstr ""
-#: part/serializers.py:154 part/serializers.py:185 stock/serializers.py:179
+#: part/serializers.py:154 part/serializers.py:182 stock/serializers.py:183
msgid "Purchase currency of this stock item"
msgstr ""
-#: part/serializers.py:829
+#: part/serializers.py:542
+msgid "Update"
+msgstr ""
+
+#: part/serializers.py:543
+msgid "Update pricing for this part"
+msgstr ""
+
+#: part/serializers.py:853
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:837
+#: part/serializers.py:861
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:838
+#: part/serializers.py:862
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:843
+#: part/serializers.py:867
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:844
+#: part/serializers.py:868
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:849
+#: part/serializers.py:873
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:850
+#: part/serializers.py:874
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:855
+#: part/serializers.py:879
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:856
+#: part/serializers.py:880
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/serializers.py:896
+#: part/serializers.py:920
msgid "Clear Existing BOM"
msgstr ""
-#: part/serializers.py:897
+#: part/serializers.py:921
msgid "Delete existing BOM items before uploading"
msgstr ""
-#: part/serializers.py:927
+#: part/serializers.py:951
msgid "No part column specified"
msgstr ""
-#: part/serializers.py:970
+#: part/serializers.py:994
msgid "Multiple matching parts found"
msgstr ""
-#: part/serializers.py:973
+#: part/serializers.py:997
msgid "No matching part found"
msgstr ""
-#: part/serializers.py:976
+#: part/serializers.py:1000
msgid "Part is not designated as a component"
msgstr ""
-#: part/serializers.py:985
+#: part/serializers.py:1009
msgid "Quantity not provided"
msgstr ""
-#: part/serializers.py:993
+#: part/serializers.py:1017
msgid "Invalid quantity"
msgstr ""
-#: part/serializers.py:1014
+#: part/serializers.py:1038
msgid "At least one BOM item is required"
msgstr ""
-#: part/tasks.py:21
+#: part/tasks.py:25
msgid "Low stock notification"
msgstr ""
-#: part/tasks.py:22
+#: part/tasks.py:26
#, python-brace-format
msgid "The available stock for {part.name} has fallen below the configured minimum level"
msgstr ""
@@ -5034,7 +5293,7 @@ msgstr ""
msgid "The BOM for %(part)s has not been validated."
msgstr ""
-#: part/templates/part/bom.html:30 part/templates/part/detail.html:269
+#: part/templates/part/bom.html:30 part/templates/part/detail.html:267
msgid "BOM actions"
msgstr ""
@@ -5070,10 +5329,6 @@ msgstr ""
msgid "Delete Category"
msgstr ""
-#: part/templates/part/category.html:81 part/templates/part/category.html:94
-msgid "Category Path"
-msgstr "类别路径"
-
#: part/templates/part/category.html:95
msgid "Top level part category"
msgstr ""
@@ -5091,12 +5346,12 @@ msgstr "商品 (包括子类别)"
msgid "Create new part"
msgstr "新建商品"
-#: part/templates/part/category.html:159 templates/js/translated/bom.js:392
+#: part/templates/part/category.html:159 templates/js/translated/bom.js:405
msgid "New Part"
msgstr "新商品"
-#: part/templates/part/category.html:169 part/templates/part/detail.html:368
-#: part/templates/part/detail.html:399
+#: part/templates/part/category.html:169 part/templates/part/detail.html:366
+#: part/templates/part/detail.html:397
msgid "Options"
msgstr "选项"
@@ -5144,7 +5399,7 @@ msgstr ""
msgid "Import Parts"
msgstr ""
-#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:379
+#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:393
msgid "Duplicate Part"
msgstr "复制部件"
@@ -5176,7 +5431,8 @@ msgstr "商品库存"
msgid "Refresh scheduling data"
msgstr ""
-#: part/templates/part/detail.html:45 templates/js/translated/tables.js:524
+#: part/templates/part/detail.html:45 part/templates/part/prices.html:15
+#: templates/js/translated/tables.js:524
msgid "Refresh"
msgstr ""
@@ -5192,123 +5448,103 @@ msgstr ""
msgid "Sales Order Allocations"
msgstr ""
-#: part/templates/part/detail.html:143
+#: part/templates/part/detail.html:141
msgid "Part Notes"
msgstr ""
-#: part/templates/part/detail.html:158
+#: part/templates/part/detail.html:156
msgid "Part Variants"
msgstr ""
-#: part/templates/part/detail.html:162
+#: part/templates/part/detail.html:160
msgid "Create new variant"
msgstr ""
-#: part/templates/part/detail.html:163
+#: part/templates/part/detail.html:161
msgid "New Variant"
msgstr ""
-#: part/templates/part/detail.html:190
+#: part/templates/part/detail.html:188
msgid "Add new parameter"
msgstr ""
-#: part/templates/part/detail.html:227 part/templates/part/part_sidebar.html:54
+#: part/templates/part/detail.html:225 part/templates/part/part_sidebar.html:52
msgid "Related Parts"
msgstr ""
-#: part/templates/part/detail.html:231 part/templates/part/detail.html:232
+#: part/templates/part/detail.html:229 part/templates/part/detail.html:230
msgid "Add Related"
msgstr ""
-#: part/templates/part/detail.html:252 part/templates/part/part_sidebar.html:17
+#: part/templates/part/detail.html:250 part/templates/part/part_sidebar.html:17
msgid "Bill of Materials"
msgstr ""
-#: part/templates/part/detail.html:257
+#: part/templates/part/detail.html:255
msgid "Export actions"
msgstr ""
-#: part/templates/part/detail.html:261 templates/js/translated/bom.js:309
+#: part/templates/part/detail.html:259 templates/js/translated/bom.js:309
msgid "Export BOM"
msgstr ""
-#: part/templates/part/detail.html:263
+#: part/templates/part/detail.html:261
msgid "Print BOM Report"
msgstr ""
-#: part/templates/part/detail.html:273
+#: part/templates/part/detail.html:271
msgid "Upload BOM"
msgstr ""
-#: part/templates/part/detail.html:274 templates/js/translated/part.js:274
+#: part/templates/part/detail.html:272 templates/js/translated/part.js:270
msgid "Copy BOM"
msgstr ""
-#: part/templates/part/detail.html:275
+#: part/templates/part/detail.html:273
msgid "Validate BOM"
msgstr ""
-#: part/templates/part/detail.html:280 part/templates/part/detail.html:281
-#: templates/js/translated/bom.js:1202 templates/js/translated/bom.js:1203
+#: part/templates/part/detail.html:278 part/templates/part/detail.html:279
+#: templates/js/translated/bom.js:1267 templates/js/translated/bom.js:1268
msgid "Add BOM Item"
msgstr ""
-#: part/templates/part/detail.html:294
+#: part/templates/part/detail.html:292
msgid "Assemblies"
msgstr ""
-#: part/templates/part/detail.html:312
+#: part/templates/part/detail.html:310
msgid "Part Builds"
msgstr ""
-#: part/templates/part/detail.html:339 stock/templates/stock/item.html:38
+#: part/templates/part/detail.html:337 stock/templates/stock/item.html:38
msgid "Build Order Allocations"
msgstr ""
-#: part/templates/part/detail.html:355
+#: part/templates/part/detail.html:353
msgid "Part Suppliers"
msgstr "商品供应商"
-#: part/templates/part/detail.html:385
+#: part/templates/part/detail.html:383
msgid "Part Manufacturers"
msgstr "商品制造商"
-#: part/templates/part/detail.html:401
+#: part/templates/part/detail.html:399
msgid "Delete manufacturer parts"
msgstr "删除制造商商品"
-#: part/templates/part/detail.html:658
+#: part/templates/part/detail.html:656
msgid "Related Part"
msgstr ""
-#: part/templates/part/detail.html:666
+#: part/templates/part/detail.html:664
msgid "Add Related Part"
msgstr ""
-#: part/templates/part/detail.html:758
+#: part/templates/part/detail.html:756
msgid "Add Test Result Template"
msgstr ""
-#: part/templates/part/detail.html:901
-#, python-format
-msgid "Purchase Unit Price - %(currency)s"
-msgstr ""
-
-#: part/templates/part/detail.html:913
-#, python-format
-msgid "Unit Price-Cost Difference - %(currency)s"
-msgstr ""
-
-#: part/templates/part/detail.html:925
-#, python-format
-msgid "Supplier Unit Cost - %(currency)s"
-msgstr ""
-
-#: part/templates/part/detail.html:1014
-#, python-format
-msgid "Unit Price - %(currency)s"
-msgstr ""
-
#: part/templates/part/import_wizard/ajax_match_fields.html:9
#: templates/patterns/wizard/match_fields.html:8
msgid "Missing selections for the following required columns"
@@ -5439,15 +5675,15 @@ msgid "Part is virtual (not a physical part)"
msgstr "商品是虚拟的(不是实体零件)"
#: part/templates/part/part_base.html:148
-#: templates/js/translated/company.js:659
-#: templates/js/translated/company.js:920
+#: templates/js/translated/company.js:660
+#: templates/js/translated/company.js:921
#: templates/js/translated/model_renderers.js:204
-#: templates/js/translated/part.js:652 templates/js/translated/part.js:729
+#: templates/js/translated/part.js:666 templates/js/translated/part.js:743
msgid "Inactive"
msgstr ""
#: part/templates/part/part_base.html:165
-#: part/templates/part/part_base.html:620
+#: part/templates/part/part_base.html:635
msgid "Show Part Details"
msgstr ""
@@ -5456,12 +5692,6 @@ msgstr ""
msgid "This part is a variant of %(link)s"
msgstr ""
-#: part/templates/part/part_base.html:200
-#: templates/js/translated/company.js:1027
-#: templates/js/translated/table_filters.js:209
-msgid "In Stock"
-msgstr ""
-
#: part/templates/part/part_base.html:221
#: stock/templates/stock/item_base.html:382
msgid "Allocated to Build Orders"
@@ -5472,100 +5702,91 @@ msgstr ""
msgid "Allocated to Sales Orders"
msgstr ""
-#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1100
+#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1165
msgid "Can Build"
msgstr ""
-#: part/templates/part/part_base.html:244 templates/js/translated/part.js:591
-#: templates/js/translated/part.js:611 templates/js/translated/part.js:1342
-#: templates/js/translated/part.js:1533
-msgid "Building"
-msgstr ""
-
#: part/templates/part/part_base.html:293
msgid "Minimum stock level"
msgstr ""
-#: part/templates/part/part_base.html:330
+#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1032
+#: templates/js/translated/part.js:783 templates/js/translated/part.js:1582
+#: templates/js/translated/pricing.js:124
+#: templates/js/translated/pricing.js:757
+msgid "Price Range"
+msgstr ""
+
+#: part/templates/part/part_base.html:345
msgid "Latest Serial Number"
msgstr ""
-#: part/templates/part/part_base.html:334
+#: part/templates/part/part_base.html:349
#: stock/templates/stock/item_base.html:331
msgid "Search for serial number"
msgstr ""
-#: part/templates/part/part_base.html:431
+#: part/templates/part/part_base.html:446
msgid "Link Barcode to Part"
msgstr ""
-#: part/templates/part/part_base.html:477 part/templates/part/prices.html:149
+#: part/templates/part/part_base.html:492
msgid "Calculate"
msgstr ""
-#: part/templates/part/part_base.html:520
+#: part/templates/part/part_base.html:535
msgid "No matching images found"
msgstr ""
-#: part/templates/part/part_base.html:614
+#: part/templates/part/part_base.html:629
msgid "Hide Part Details"
msgstr ""
-#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:24
+#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:78
+#: part/templates/part/prices.html:238 templates/js/translated/pricing.js:218
msgid "Supplier Pricing"
msgstr ""
#: part/templates/part/part_pricing.html:26
#: part/templates/part/part_pricing.html:52
-#: part/templates/part/part_pricing.html:103
-#: part/templates/part/part_pricing.html:118 part/templates/part/prices.html:28
-#: part/templates/part/prices.html:55 part/templates/part/prices.html:108
-#: part/templates/part/prices.html:125
+#: part/templates/part/part_pricing.html:95
+#: part/templates/part/part_pricing.html:110
msgid "Unit Cost"
msgstr ""
#: part/templates/part/part_pricing.html:32
#: part/templates/part/part_pricing.html:58
-#: part/templates/part/part_pricing.html:107
-#: part/templates/part/part_pricing.html:122 part/templates/part/prices.html:35
-#: part/templates/part/prices.html:62 part/templates/part/prices.html:113
-#: part/templates/part/prices.html:130
+#: part/templates/part/part_pricing.html:99
+#: part/templates/part/part_pricing.html:114
msgid "Total Cost"
msgstr ""
-#: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:43
-#: templates/js/translated/bom.js:1091
+#: part/templates/part/part_pricing.html:40
msgid "No supplier pricing available"
msgstr ""
-#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:52
-#: part/templates/part/prices.html:248
+#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:94
+#: part/templates/part/prices.html:262
msgid "BOM Pricing"
msgstr ""
-#: part/templates/part/part_pricing.html:66 part/templates/part/prices.html:72
+#: part/templates/part/part_pricing.html:66
msgid "Unit Purchase Price"
msgstr ""
-#: part/templates/part/part_pricing.html:72 part/templates/part/prices.html:79
+#: part/templates/part/part_pricing.html:72
msgid "Total Purchase Price"
msgstr ""
-#: part/templates/part/part_pricing.html:82 part/templates/part/prices.html:89
-msgid "Note: BOM pricing is incomplete for this part"
-msgstr "注:此商品BOM价格不完整。"
-
-#: part/templates/part/part_pricing.html:91 part/templates/part/prices.html:98
+#: part/templates/part/part_pricing.html:83
msgid "No BOM pricing available"
msgstr ""
-#: part/templates/part/part_pricing.html:100
-#: part/templates/part/prices.html:107
+#: part/templates/part/part_pricing.html:92
msgid "Internal Price"
msgstr ""
-#: part/templates/part/part_pricing.html:131
-#: part/templates/part/prices.html:139
+#: part/templates/part/part_pricing.html:123
msgid "No pricing information is available for this part."
msgstr "此商品无价格信息可用。"
@@ -5573,7 +5794,8 @@ msgstr "此商品无价格信息可用。"
#: report/templates/report/inventree_test_report_base.html:97
#: templates/InvenTree/settings/plugin.html:63
#: templates/InvenTree/settings/plugin_settings.html:38
-#: templates/js/translated/order.js:2001 templates/js/translated/stock.js:2478
+#: templates/js/translated/order.js:2035 templates/js/translated/pricing.js:537
+#: templates/js/translated/pricing.js:658 templates/js/translated/stock.js:2496
msgid "Date"
msgstr ""
@@ -5585,15 +5807,11 @@ msgstr ""
msgid "Variants"
msgstr ""
-#: part/templates/part/part_sidebar.html:27
-msgid "Used In"
-msgstr ""
-
-#: part/templates/part/part_sidebar.html:46
+#: part/templates/part/part_sidebar.html:44
msgid "Scheduling"
msgstr ""
-#: part/templates/part/part_sidebar.html:50
+#: part/templates/part/part_sidebar.html:48
msgid "Test Templates"
msgstr ""
@@ -5601,74 +5819,82 @@ msgstr ""
msgid "Select from existing images"
msgstr ""
-#: part/templates/part/prices.html:19
-msgid "Pricing ranges"
+#: part/templates/part/prices.html:11
+msgid "Pricing Overview"
msgstr ""
-#: part/templates/part/prices.html:25
-msgid "Show supplier cost"
+#: part/templates/part/prices.html:14
+msgid "Refresh Part Pricing"
msgstr ""
-#: part/templates/part/prices.html:26
-msgid "Show purchase price"
+#: part/templates/part/prices.html:25 stock/admin.py:106
+#: stock/templates/stock/item_base.html:440
+#: templates/js/translated/company.js:1039
+#: templates/js/translated/stock.js:1920
+msgid "Last Updated"
msgstr ""
-#: part/templates/part/prices.html:53
-msgid "Show BOM cost"
+#: part/templates/part/prices.html:34 part/templates/part/prices.html:126
+msgid "Price Category"
msgstr ""
-#: part/templates/part/prices.html:122
-msgid "Show sale cost"
+#: part/templates/part/prices.html:35 part/templates/part/prices.html:127
+msgid "Minimum"
msgstr ""
-#: part/templates/part/prices.html:123
-msgid "Show sale price"
+#: part/templates/part/prices.html:36 part/templates/part/prices.html:128
+msgid "Maximum"
msgstr ""
-#: part/templates/part/prices.html:145
-msgid "Calculation parameters"
+#: part/templates/part/prices.html:49 part/templates/part/prices.html:185
+msgid "Internal Pricing"
msgstr ""
-#: part/templates/part/prices.html:160 templates/js/translated/bom.js:1085
-msgid "Supplier Cost"
+#: part/templates/part/prices.html:64 part/templates/part/prices.html:217
+msgid "Purchase History"
msgstr ""
-#: part/templates/part/prices.html:161 part/templates/part/prices.html:182
-#: part/templates/part/prices.html:206 part/templates/part/prices.html:236
-#: part/templates/part/prices.html:262 part/templates/part/prices.html:291
+#: part/templates/part/prices.html:103 part/templates/part/prices.html:286
+msgid "Variant Pricing"
+msgstr ""
+
+#: part/templates/part/prices.html:111
+msgid "Overall Pricing"
+msgstr ""
+
+#: part/templates/part/prices.html:155 part/templates/part/prices.html:338
+msgid "Sale History"
+msgstr ""
+
+#: part/templates/part/prices.html:168
+msgid "Sale price data is not available for this part"
+msgstr ""
+
+#: part/templates/part/prices.html:175
+msgid "Price range data is not available for this part."
+msgstr ""
+
+#: part/templates/part/prices.html:186 part/templates/part/prices.html:218
+#: part/templates/part/prices.html:239 part/templates/part/prices.html:263
+#: part/templates/part/prices.html:287 part/templates/part/prices.html:310
+#: part/templates/part/prices.html:339
msgid "Jump to overview"
msgstr ""
-#: part/templates/part/prices.html:186
-msgid "Stock Pricing"
-msgstr ""
-
-#: part/templates/part/prices.html:195
-msgid "No stock pricing history is available for this part."
-msgstr ""
-
-#: part/templates/part/prices.html:205
-msgid "Internal Cost"
-msgstr ""
-
-#: part/templates/part/prices.html:220
+#: part/templates/part/prices.html:191
msgid "Add Internal Price Break"
msgstr ""
-#: part/templates/part/prices.html:235
-msgid "BOM Cost"
+#: part/templates/part/prices.html:309
+msgid "Sale Pricing"
msgstr ""
-#: part/templates/part/prices.html:261
-msgid "Sale Cost"
+#: part/templates/part/prices.html:315
+msgid "Add Sell Price Break"
msgstr ""
-#: part/templates/part/prices.html:302
-msgid "No sale pice history available for this part."
-msgstr ""
-
-#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:614
-#: templates/js/translated/part.js:1330 templates/js/translated/part.js:1332
+#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:628
+#: templates/js/translated/part.js:1351 templates/js/translated/part.js:1353
msgid "No Stock"
msgstr ""
@@ -5722,40 +5948,36 @@ msgstr ""
msgid "Create a new variant of template '%(full_name)s'."
msgstr ""
-#: part/templatetags/inventree_extras.py:177
+#: part/templatetags/inventree_extras.py:210
msgid "Unknown database"
msgstr ""
-#: part/templatetags/inventree_extras.py:229
+#: part/templatetags/inventree_extras.py:262
#, python-brace-format
msgid "{title} v{version}"
msgstr ""
-#: part/views.py:114
+#: part/views.py:109
msgid "Match References"
msgstr ""
-#: part/views.py:415
-msgid "None"
-msgstr ""
-
-#: part/views.py:477
+#: part/views.py:354
msgid "Part QR Code"
msgstr "商品二维码"
-#: part/views.py:495
+#: part/views.py:372
msgid "Select Part Image"
msgstr "选择商品图像"
-#: part/views.py:521
+#: part/views.py:398
msgid "Updated part image"
msgstr "更新商品图像"
-#: part/views.py:524
+#: part/views.py:401
msgid "Part image not found"
msgstr "未找到商品图像"
-#: part/views.py:613
+#: part/views.py:493
msgid "Part Pricing"
msgstr "商品价格"
@@ -6070,12 +6292,12 @@ msgid "Stock Item Test Report"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:79
-#: stock/models.py:650 stock/templates/stock/item_base.html:320
+#: stock/models.py:666 stock/templates/stock/item_base.html:320
#: templates/js/translated/build.js:472 templates/js/translated/build.js:624
#: templates/js/translated/build.js:1234 templates/js/translated/build.js:1735
#: templates/js/translated/model_renderers.js:118
-#: templates/js/translated/order.js:121 templates/js/translated/order.js:3592
-#: templates/js/translated/order.js:3679 templates/js/translated/stock.js:490
+#: templates/js/translated/order.js:121 templates/js/translated/order.js:3603
+#: templates/js/translated/order.js:3690 templates/js/translated/stock.js:509
msgid "Serial Number"
msgstr "序列号"
@@ -6084,12 +6306,12 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:93
-#: stock/models.py:2085
+#: stock/models.py:2101
msgid "Test"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:94
-#: stock/models.py:2091
+#: stock/models.py:2107
msgid "Result"
msgstr ""
@@ -6107,383 +6329,435 @@ msgid "Installed Items"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:137
-#: templates/js/translated/stock.js:610 templates/js/translated/stock.js:780
-#: templates/js/translated/stock.js:2727
+#: stock/admin.py:87 templates/js/translated/stock.js:629
+#: templates/js/translated/stock.js:799 templates/js/translated/stock.js:2745
msgid "Serial"
msgstr ""
-#: stock/api.py:529
+#: stock/admin.py:23 stock/admin.py:90
+#: templates/js/translated/model_renderers.js:159
+msgid "Location ID"
+msgstr ""
+
+#: stock/admin.py:24 stock/admin.py:91
+msgid "Location Name"
+msgstr ""
+
+#: stock/admin.py:28 stock/templates/stock/location.html:123
+#: stock/templates/stock/location.html:129
+msgid "Location Path"
+msgstr ""
+
+#: stock/admin.py:83
+msgid "Stock Item ID"
+msgstr ""
+
+#: stock/admin.py:92 templates/js/translated/model_renderers.js:418
+msgid "Supplier Part ID"
+msgstr "供应商商品ID"
+
+#: stock/admin.py:93
+msgid "Supplier ID"
+msgstr ""
+
+#: stock/admin.py:94
+msgid "Supplier Name"
+msgstr ""
+
+#: stock/admin.py:95
+msgid "Customer ID"
+msgstr ""
+
+#: stock/admin.py:96 stock/models.py:649
+#: stock/templates/stock/item_base.html:359
+msgid "Installed In"
+msgstr ""
+
+#: stock/admin.py:97 templates/js/translated/model_renderers.js:177
+msgid "Build ID"
+msgstr ""
+
+#: stock/admin.py:99
+msgid "Sales Order ID"
+msgstr ""
+
+#: stock/admin.py:100
+msgid "Purchase Order ID"
+msgstr ""
+
+#: stock/admin.py:107 templates/js/translated/stock.js:1890
+msgid "Stocktake"
+msgstr ""
+
+#: stock/admin.py:108 stock/models.py:724
+#: stock/templates/stock/item_base.html:427
+#: templates/js/translated/stock.js:1904
+msgid "Expiry Date"
+msgstr ""
+
+#: stock/api.py:539
msgid "Quantity is required"
msgstr ""
-#: stock/api.py:536
+#: stock/api.py:546
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:561
+#: stock/api.py:571
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/models.py:90 stock/models.py:746
+#: stock/models.py:106 stock/models.py:762
#: stock/templates/stock/item_base.html:250
msgid "Owner"
msgstr ""
-#: stock/models.py:91 stock/models.py:747
+#: stock/models.py:107 stock/models.py:763
msgid "Select Owner"
msgstr ""
-#: stock/models.py:508 stock/serializers.py:93
+#: stock/models.py:524 stock/serializers.py:97
msgid "Stock item cannot be created for virtual parts"
msgstr ""
-#: stock/models.py:525
+#: stock/models.py:541
#, python-brace-format
msgid "Part type ('{pf}') must be {pe}"
msgstr "商品类型 ('{pf}') 必须是 {pe}"
-#: stock/models.py:535 stock/models.py:544
+#: stock/models.py:551 stock/models.py:560
msgid "Quantity must be 1 for item with a serial number"
msgstr ""
-#: stock/models.py:536
+#: stock/models.py:552
msgid "Serial number cannot be set if quantity greater than 1"
msgstr ""
-#: stock/models.py:558
+#: stock/models.py:574
msgid "Item cannot belong to itself"
msgstr ""
-#: stock/models.py:564
+#: stock/models.py:580
msgid "Item must have a build reference if is_building=True"
msgstr ""
-#: stock/models.py:578
+#: stock/models.py:594
msgid "Build reference does not point to the same part object"
msgstr ""
-#: stock/models.py:592
+#: stock/models.py:608
msgid "Parent Stock Item"
msgstr ""
-#: stock/models.py:602
+#: stock/models.py:618
msgid "Base part"
msgstr ""
-#: stock/models.py:610
+#: stock/models.py:626
msgid "Select a matching supplier part for this stock item"
msgstr ""
-#: stock/models.py:617 stock/templates/stock/location.html:17
+#: stock/models.py:633 stock/templates/stock/location.html:17
#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
msgstr "仓储地点"
-#: stock/models.py:620
+#: stock/models.py:636
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:627
+#: stock/models.py:643
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:633 stock/templates/stock/item_base.html:359
-msgid "Installed In"
-msgstr ""
-
-#: stock/models.py:636
+#: stock/models.py:652
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:652
+#: stock/models.py:668
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:666
+#: stock/models.py:682
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:671
+#: stock/models.py:687
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:680
+#: stock/models.py:696
msgid "Source Build"
msgstr ""
-#: stock/models.py:682
+#: stock/models.py:698
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:693
+#: stock/models.py:709
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:696
+#: stock/models.py:712
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:702
+#: stock/models.py:718
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:708 stock/templates/stock/item_base.html:427
-#: templates/js/translated/stock.js:1885
-msgid "Expiry Date"
-msgstr ""
-
-#: stock/models.py:709
+#: stock/models.py:725
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:722
+#: stock/models.py:738
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:722
+#: stock/models.py:738
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:734 stock/templates/stock/item.html:132
+#: stock/models.py:750 stock/templates/stock/item.html:132
msgid "Stock Item Notes"
msgstr ""
-#: stock/models.py:742
+#: stock/models.py:758
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:770
+#: stock/models.py:786
msgid "Converted to part"
msgstr ""
-#: stock/models.py:1244
+#: stock/models.py:1260
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1250
+#: stock/models.py:1266
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1256
+#: stock/models.py:1272
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr ""
-#: stock/models.py:1259
+#: stock/models.py:1275
msgid "Serial numbers must be a list of integers"
msgstr ""
-#: stock/models.py:1262
+#: stock/models.py:1278
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1269
+#: stock/models.py:1285
#, python-brace-format
msgid "Serial numbers already exist: {exists}"
msgstr ""
-#: stock/models.py:1339
+#: stock/models.py:1355
msgid "Stock item has been assigned to a sales order"
msgstr ""
-#: stock/models.py:1342
+#: stock/models.py:1358
msgid "Stock item is installed in another item"
msgstr ""
-#: stock/models.py:1345
+#: stock/models.py:1361
msgid "Stock item contains other items"
msgstr ""
-#: stock/models.py:1348
+#: stock/models.py:1364
msgid "Stock item has been assigned to a customer"
msgstr ""
-#: stock/models.py:1351
+#: stock/models.py:1367
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:1354
+#: stock/models.py:1370
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1361 stock/serializers.py:963
+#: stock/models.py:1377 stock/serializers.py:962
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:1365
+#: stock/models.py:1381
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:1369
+#: stock/models.py:1385
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:1373
+#: stock/models.py:1389
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:1542
+#: stock/models.py:1558
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:2003
+#: stock/models.py:2019
msgid "Entry notes"
msgstr ""
-#: stock/models.py:2061
+#: stock/models.py:2077
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:2067
+#: stock/models.py:2083
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:2086
+#: stock/models.py:2102
msgid "Test name"
msgstr ""
-#: stock/models.py:2092
+#: stock/models.py:2108
msgid "Test result"
msgstr ""
-#: stock/models.py:2098
+#: stock/models.py:2114
msgid "Test output value"
msgstr ""
-#: stock/models.py:2105
+#: stock/models.py:2121
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2111
+#: stock/models.py:2127
msgid "Test notes"
msgstr ""
-#: stock/serializers.py:71
+#: stock/serializers.py:75
msgid "Serial number is too large"
msgstr ""
-#: stock/serializers.py:172
+#: stock/serializers.py:176
msgid "Purchase price of this stock item"
msgstr ""
-#: stock/serializers.py:292
+#: stock/serializers.py:286
msgid "Enter number of stock items to serialize"
msgstr ""
-#: stock/serializers.py:304
+#: stock/serializers.py:298
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({q})"
msgstr ""
-#: stock/serializers.py:310
+#: stock/serializers.py:304
msgid "Enter serial numbers for new items"
msgstr "输入新项目的序列号"
-#: stock/serializers.py:321 stock/serializers.py:920 stock/serializers.py:1153
+#: stock/serializers.py:315 stock/serializers.py:919 stock/serializers.py:1152
msgid "Destination stock location"
msgstr "目标库存位置"
-#: stock/serializers.py:328
+#: stock/serializers.py:322
msgid "Optional note field"
msgstr ""
-#: stock/serializers.py:338
+#: stock/serializers.py:332
msgid "Serial numbers cannot be assigned to this part"
msgstr ""
-#: stock/serializers.py:359
+#: stock/serializers.py:353
msgid "Serial numbers already exist"
msgstr "序列号已存在"
-#: stock/serializers.py:399
+#: stock/serializers.py:393
msgid "Select stock item to install"
msgstr ""
-#: stock/serializers.py:412
+#: stock/serializers.py:406
msgid "Stock item is unavailable"
msgstr ""
-#: stock/serializers.py:419
+#: stock/serializers.py:413
msgid "Selected part is not in the Bill of Materials"
msgstr ""
-#: stock/serializers.py:456
+#: stock/serializers.py:450
msgid "Destination location for uninstalled item"
msgstr ""
-#: stock/serializers.py:461 stock/serializers.py:542
+#: stock/serializers.py:455 stock/serializers.py:536
msgid "Add transaction note (optional)"
msgstr "添加交易备注 (可选)"
-#: stock/serializers.py:495
+#: stock/serializers.py:489
msgid "Select part to convert stock item into"
msgstr ""
-#: stock/serializers.py:506
+#: stock/serializers.py:500
msgid "Selected part is not a valid option for conversion"
msgstr ""
-#: stock/serializers.py:537
+#: stock/serializers.py:531
msgid "Destination location for returned item"
msgstr ""
-#: stock/serializers.py:775
+#: stock/serializers.py:774
msgid "Part must be salable"
msgstr ""
-#: stock/serializers.py:779
+#: stock/serializers.py:778
msgid "Item is allocated to a sales order"
msgstr ""
-#: stock/serializers.py:783
+#: stock/serializers.py:782
msgid "Item is allocated to a build order"
msgstr ""
-#: stock/serializers.py:814
+#: stock/serializers.py:813
msgid "Customer to assign stock items"
msgstr ""
-#: stock/serializers.py:820
+#: stock/serializers.py:819
msgid "Selected company is not a customer"
msgstr ""
-#: stock/serializers.py:828
+#: stock/serializers.py:827
msgid "Stock assignment notes"
msgstr ""
-#: stock/serializers.py:838 stock/serializers.py:1069
+#: stock/serializers.py:837 stock/serializers.py:1068
msgid "A list of stock items must be provided"
msgstr ""
-#: stock/serializers.py:927
+#: stock/serializers.py:926
msgid "Stock merging notes"
msgstr ""
-#: stock/serializers.py:932
+#: stock/serializers.py:931
msgid "Allow mismatched suppliers"
msgstr ""
-#: stock/serializers.py:933
+#: stock/serializers.py:932
msgid "Allow stock items with different supplier parts to be merged"
msgstr ""
-#: stock/serializers.py:938
+#: stock/serializers.py:937
msgid "Allow mismatched status"
msgstr ""
-#: stock/serializers.py:939
+#: stock/serializers.py:938
msgid "Allow stock items with different status codes to be merged"
msgstr ""
-#: stock/serializers.py:949
+#: stock/serializers.py:948
msgid "At least two stock items must be provided"
msgstr ""
-#: stock/serializers.py:1031
+#: stock/serializers.py:1030
msgid "StockItem primary key value"
msgstr ""
-#: stock/serializers.py:1059
+#: stock/serializers.py:1058
msgid "Stock transaction notes"
msgstr ""
@@ -6520,7 +6794,7 @@ msgstr ""
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2871
+#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2889
msgid "Install Stock Item"
msgstr ""
@@ -6528,7 +6802,7 @@ msgstr ""
msgid "Delete all test results for this stock item"
msgstr ""
-#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1522
+#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1541
msgid "Add Test Result"
msgstr ""
@@ -6687,7 +6961,7 @@ msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:431
-#: templates/js/translated/table_filters.js:277
+#: templates/js/translated/table_filters.js:281
msgid "Expired"
msgstr ""
@@ -6697,16 +6971,10 @@ msgid "This StockItem expires on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/table_filters.js:283
+#: templates/js/translated/table_filters.js:287
msgid "Stale"
msgstr ""
-#: stock/templates/stock/item_base.html:440
-#: templates/js/translated/company.js:1038
-#: templates/js/translated/stock.js:1901
-msgid "Last Updated"
-msgstr ""
-
#: stock/templates/stock/item_base.html:445
msgid "Last Stocktake"
msgstr ""
@@ -6783,11 +7051,6 @@ msgstr "编辑仓储地"
msgid "Delete location"
msgstr "删除仓储地"
-#: stock/templates/stock/location.html:123
-#: stock/templates/stock/location.html:129
-msgid "Location Path"
-msgstr ""
-
#: stock/templates/stock/location.html:130
msgid "Top level stock location"
msgstr ""
@@ -6960,6 +7223,14 @@ msgstr ""
msgid "Overdue Sales Orders"
msgstr ""
+#: templates/InvenTree/index.html:312
+msgid "InvenTree News"
+msgstr ""
+
+#: templates/InvenTree/index.html:314
+msgid "Current News"
+msgstr ""
+
#: templates/InvenTree/notifications/history.html:9
msgid "Notification History"
msgstr ""
@@ -7026,30 +7297,6 @@ msgstr "生产订单设置"
msgid "Category Settings"
msgstr "类别设置"
-#: templates/InvenTree/settings/currencies.html:8
-msgid "Currency Settings"
-msgstr "货币设置"
-
-#: templates/InvenTree/settings/currencies.html:19
-msgid "Base Currency"
-msgstr "基础货币"
-
-#: templates/InvenTree/settings/currencies.html:24
-msgid "Exchange Rates"
-msgstr "汇率"
-
-#: templates/InvenTree/settings/currencies.html:38
-msgid "Last Update"
-msgstr "上次更新"
-
-#: templates/InvenTree/settings/currencies.html:44
-msgid "Never"
-msgstr "从不"
-
-#: templates/InvenTree/settings/currencies.html:49
-msgid "Update Now"
-msgstr "立即更新"
-
#: templates/InvenTree/settings/global.html:9
msgid "Server Settings"
msgstr ""
@@ -7090,15 +7337,15 @@ msgstr ""
msgid "Part Settings"
msgstr "商品设置"
-#: templates/InvenTree/settings/part.html:46
+#: templates/InvenTree/settings/part.html:40
msgid "Part Import"
msgstr "商品导入"
-#: templates/InvenTree/settings/part.html:50
+#: templates/InvenTree/settings/part.html:44
msgid "Import Part"
msgstr "导入商品"
-#: templates/InvenTree/settings/part.html:64
+#: templates/InvenTree/settings/part.html:58
msgid "Part Parameter Templates"
msgstr "商品参数模板"
@@ -7125,11 +7372,6 @@ msgstr ""
msgid "External plugins are not enabled for this InvenTree installation"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:62
-#: templates/InvenTree/settings/plugin_settings.html:33
-msgid "Author"
-msgstr ""
-
#: templates/InvenTree/settings/plugin.html:64
#: templates/InvenTree/settings/plugin_settings.html:43
msgid "Version"
@@ -7239,6 +7481,39 @@ msgstr ""
msgid "Purchase Order Settings"
msgstr "采购订单设置"
+#: templates/InvenTree/settings/pricing.html:7
+msgid "Pricing Settings"
+msgstr ""
+
+#: templates/InvenTree/settings/pricing.html:24
+msgid "Currency Settings"
+msgstr "货币设置"
+
+#: templates/InvenTree/settings/pricing.html:30
+msgid "Update Now"
+msgstr "立即更新"
+
+#: templates/InvenTree/settings/pricing.html:39
+#: templates/InvenTree/settings/pricing.html:43
+msgid "Last Update"
+msgstr "上次更新"
+
+#: templates/InvenTree/settings/pricing.html:43
+msgid "Never"
+msgstr "从不"
+
+#: templates/InvenTree/settings/pricing.html:53
+msgid "Base Currency"
+msgstr "基础货币"
+
+#: templates/InvenTree/settings/pricing.html:58
+msgid "Exchange Rates"
+msgstr "汇率"
+
+#: templates/InvenTree/settings/pricing.html:60
+msgid "Rate"
+msgstr ""
+
#: templates/InvenTree/settings/report.html:8
#: templates/InvenTree/settings/user_reports.html:9
msgid "Report Settings"
@@ -7295,6 +7570,7 @@ msgid "No part parameter templates found"
msgstr "未找到商品参数模板"
#: templates/InvenTree/settings/settings.html:338
+#: templates/js/translated/news.js:28
#: templates/js/translated/notification.js:36
msgid "ID"
msgstr ""
@@ -7357,10 +7633,6 @@ msgstr ""
msgid "Server Configuration"
msgstr ""
-#: templates/InvenTree/settings/sidebar.html:35
-msgid "Currencies"
-msgstr ""
-
#: templates/InvenTree/settings/sidebar.html:43
msgid "Categories"
msgstr ""
@@ -7380,7 +7652,7 @@ msgid "Change Password"
msgstr "更改密码"
#: templates/InvenTree/settings/user.html:23
-#: templates/js/translated/helpers.js:31 templates/notes_buttons.html:3
+#: templates/js/translated/helpers.js:33 templates/notes_buttons.html:3
#: templates/notes_buttons.html:4
msgid "Edit"
msgstr "编辑"
@@ -7890,7 +8162,7 @@ msgid "The following parts are low on required stock"
msgstr ""
#: templates/email/build_order_required_stock.html:18
-#: templates/js/translated/bom.js:1566
+#: templates/js/translated/bom.js:1629
msgid "Required Quantity"
msgstr ""
@@ -7904,7 +8176,7 @@ msgid "Click on the following link to view this part"
msgstr ""
#: templates/email/low_stock_notification.html:19
-#: templates/js/translated/part.js:2566
+#: templates/js/translated/part.js:2423
msgid "Minimum Quantity"
msgstr ""
@@ -8057,7 +8329,7 @@ msgstr ""
msgid "Unlink"
msgstr ""
-#: templates/js/translated/barcode.js:500 templates/js/translated/stock.js:1054
+#: templates/js/translated/barcode.js:500 templates/js/translated/stock.js:1073
msgid "Remove stock item"
msgstr ""
@@ -8127,10 +8399,10 @@ msgstr ""
msgid "Row Data"
msgstr ""
-#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:646
+#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:659
#: templates/js/translated/modals.js:56 templates/js/translated/modals.js:601
#: templates/js/translated/modals.js:695 templates/js/translated/modals.js:1003
-#: templates/js/translated/order.js:1179 templates/modals.html:15
+#: templates/js/translated/order.js:1213 templates/modals.html:15
#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50
msgid "Close"
msgstr ""
@@ -8140,12 +8412,12 @@ msgid "Download BOM Template"
msgstr ""
#: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312
-#: templates/js/translated/order.js:960 templates/js/translated/tables.js:145
+#: templates/js/translated/order.js:994 templates/js/translated/tables.js:145
msgid "Format"
msgstr ""
#: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313
-#: templates/js/translated/order.js:961
+#: templates/js/translated/order.js:995
msgid "Select file format"
msgstr ""
@@ -8197,118 +8469,130 @@ msgstr "包含供应商数据"
msgid "Include part supplier data in exported BOM"
msgstr "在导出 BOM 中包含供应商数据"
-#: templates/js/translated/bom.js:537
+#: templates/js/translated/bom.js:358
+msgid "Include Pricing Data"
+msgstr ""
+
+#: templates/js/translated/bom.js:359
+msgid "Include part pricing data in exported BOM"
+msgstr ""
+
+#: templates/js/translated/bom.js:550
msgid "Remove substitute part"
msgstr ""
-#: templates/js/translated/bom.js:591
+#: templates/js/translated/bom.js:604
msgid "Select and add a new substitute part using the input below"
msgstr ""
-#: templates/js/translated/bom.js:602
+#: templates/js/translated/bom.js:615
msgid "Are you sure you wish to remove this substitute part link?"
msgstr ""
-#: templates/js/translated/bom.js:608
+#: templates/js/translated/bom.js:621
msgid "Remove Substitute Part"
msgstr ""
-#: templates/js/translated/bom.js:647
+#: templates/js/translated/bom.js:660
msgid "Add Substitute"
msgstr ""
-#: templates/js/translated/bom.js:648
+#: templates/js/translated/bom.js:661
msgid "Edit BOM Item Substitutes"
msgstr ""
-#: templates/js/translated/bom.js:710
+#: templates/js/translated/bom.js:723
msgid "All selected BOM items will be deleted"
msgstr ""
-#: templates/js/translated/bom.js:726
+#: templates/js/translated/bom.js:739
msgid "Delete selected BOM items?"
msgstr ""
-#: templates/js/translated/bom.js:860
+#: templates/js/translated/bom.js:868
msgid "Load BOM for subassembly"
msgstr ""
-#: templates/js/translated/bom.js:870
+#: templates/js/translated/bom.js:878
msgid "Substitutes Available"
msgstr ""
-#: templates/js/translated/bom.js:874 templates/js/translated/build.js:1835
+#: templates/js/translated/bom.js:882 templates/js/translated/build.js:1835
msgid "Variant stock allowed"
msgstr ""
-#: templates/js/translated/bom.js:983 templates/js/translated/build.js:1907
-#: templates/js/translated/order.js:3927
-msgid "No Stock Available"
-msgstr ""
-
-#: templates/js/translated/bom.js:988 templates/js/translated/build.js:1911
-msgid "Includes variant and substitute stock"
-msgstr ""
-
-#: templates/js/translated/bom.js:990 templates/js/translated/build.js:1913
-#: templates/js/translated/part.js:761 templates/js/translated/part.js:1539
-msgid "Includes variant stock"
-msgstr ""
-
-#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1915
-msgid "Includes substitute stock"
-msgstr ""
-
-#: templates/js/translated/bom.js:1010
+#: templates/js/translated/bom.js:972
msgid "Substitutes"
msgstr ""
-#: templates/js/translated/bom.js:1061 templates/js/translated/bom.js:1195
+#: templates/js/translated/bom.js:1023 templates/js/translated/bom.js:1260
msgid "View BOM"
msgstr ""
-#: templates/js/translated/bom.js:1071
-msgid "Purchase Price Range"
+#: templates/js/translated/bom.js:1094
+msgid "BOM pricing is complete"
msgstr ""
-#: templates/js/translated/bom.js:1078
-msgid "Purchase Price Average"
+#: templates/js/translated/bom.js:1099
+msgid "BOM pricing is incomplete"
msgstr ""
-#: templates/js/translated/bom.js:1106 templates/js/translated/build.js:1898
+#: templates/js/translated/bom.js:1106
+msgid "No pricing available"
+msgstr ""
+
+#: templates/js/translated/bom.js:1137 templates/js/translated/build.js:1907
+#: templates/js/translated/order.js:3924
+msgid "No Stock Available"
+msgstr ""
+
+#: templates/js/translated/bom.js:1142 templates/js/translated/build.js:1911
+msgid "Includes variant and substitute stock"
+msgstr ""
+
+#: templates/js/translated/bom.js:1144 templates/js/translated/build.js:1913
+#: templates/js/translated/part.js:775 templates/js/translated/part.js:1550
+msgid "Includes variant stock"
+msgstr ""
+
+#: templates/js/translated/bom.js:1146 templates/js/translated/build.js:1915
+msgid "Includes substitute stock"
+msgstr ""
+
+#: templates/js/translated/bom.js:1171 templates/js/translated/build.js:1898
#: templates/js/translated/build.js:1985
msgid "Consumable item"
msgstr ""
-#: templates/js/translated/bom.js:1166
+#: templates/js/translated/bom.js:1231
msgid "Validate BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1168
+#: templates/js/translated/bom.js:1233
msgid "This line has been validated"
msgstr ""
-#: templates/js/translated/bom.js:1170
+#: templates/js/translated/bom.js:1235
msgid "Edit substitute parts"
msgstr ""
-#: templates/js/translated/bom.js:1172 templates/js/translated/bom.js:1369
+#: templates/js/translated/bom.js:1237 templates/js/translated/bom.js:1433
msgid "Edit BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1174
+#: templates/js/translated/bom.js:1239
msgid "Delete BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1280 templates/js/translated/build.js:1679
+#: templates/js/translated/bom.js:1344 templates/js/translated/build.js:1679
msgid "No BOM items found"
msgstr ""
-#: templates/js/translated/bom.js:1549 templates/js/translated/build.js:1818
+#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1818
msgid "Required Part"
msgstr ""
-#: templates/js/translated/bom.js:1575
+#: templates/js/translated/bom.js:1638
msgid "Inherited from parent BOM"
msgstr ""
@@ -8353,12 +8637,12 @@ msgid "Complete Build Order"
msgstr "生产订单完成"
#: templates/js/translated/build.js:311 templates/js/translated/stock.js:92
-#: templates/js/translated/stock.js:214
+#: templates/js/translated/stock.js:233
msgid "Next available serial number"
msgstr ""
#: templates/js/translated/build.js:313 templates/js/translated/stock.js:94
-#: templates/js/translated/stock.js:216
+#: templates/js/translated/stock.js:235
msgid "Latest serial number"
msgstr ""
@@ -8455,12 +8739,12 @@ msgid "No required tests for this build"
msgstr ""
#: templates/js/translated/build.js:1775 templates/js/translated/build.js:2765
-#: templates/js/translated/order.js:3627
+#: templates/js/translated/order.js:3638
msgid "Edit stock allocation"
msgstr ""
#: templates/js/translated/build.js:1777 templates/js/translated/build.js:2766
-#: templates/js/translated/order.js:3628
+#: templates/js/translated/order.js:3639
msgid "Delete stock allocation"
msgstr ""
@@ -8480,20 +8764,15 @@ msgstr ""
msgid "Quantity Per"
msgstr ""
-#: templates/js/translated/build.js:1901 templates/js/translated/order.js:3934
+#: templates/js/translated/build.js:1901 templates/js/translated/order.js:3931
msgid "Insufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3932
+#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3929
msgid "Sufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1937 templates/js/translated/build.js:2195
-#: templates/js/translated/build.js:2761 templates/js/translated/order.js:3946
-msgid "Allocated"
-msgstr ""
-
-#: templates/js/translated/build.js:1993 templates/js/translated/order.js:4026
+#: templates/js/translated/build.js:1993 templates/js/translated/order.js:4023
msgid "Build stock"
msgstr ""
@@ -8501,21 +8780,21 @@ msgstr ""
msgid "Order stock"
msgstr ""
-#: templates/js/translated/build.js:2000 templates/js/translated/order.js:4019
+#: templates/js/translated/build.js:2000 templates/js/translated/order.js:4016
msgid "Allocate stock"
msgstr ""
#: templates/js/translated/build.js:2039 templates/js/translated/label.js:172
-#: templates/js/translated/order.js:1007 templates/js/translated/order.js:3154
+#: templates/js/translated/order.js:1041 templates/js/translated/order.js:3165
#: templates/js/translated/report.js:225
msgid "Select Parts"
msgstr "选择商品"
-#: templates/js/translated/build.js:2040 templates/js/translated/order.js:3155
+#: templates/js/translated/build.js:2040 templates/js/translated/order.js:3166
msgid "You must select at least one part to allocate"
msgstr ""
-#: templates/js/translated/build.js:2089 templates/js/translated/order.js:3103
+#: templates/js/translated/build.js:2089 templates/js/translated/order.js:3114
msgid "Specify stock allocation quantity"
msgstr ""
@@ -8527,7 +8806,7 @@ msgstr ""
msgid "All selected parts have been fully allocated"
msgstr ""
-#: templates/js/translated/build.js:2183 templates/js/translated/order.js:3169
+#: templates/js/translated/build.js:2183 templates/js/translated/order.js:3180
msgid "Select source location (leave blank to take from all locations)"
msgstr ""
@@ -8535,11 +8814,11 @@ msgstr ""
msgid "Allocate Stock Items to Build Order"
msgstr ""
-#: templates/js/translated/build.js:2222 templates/js/translated/order.js:3266
+#: templates/js/translated/build.js:2222 templates/js/translated/order.js:3277
msgid "No matching stock locations"
msgstr ""
-#: templates/js/translated/build.js:2294 templates/js/translated/order.js:3343
+#: templates/js/translated/build.js:2294 templates/js/translated/order.js:3354
msgid "No matching stock items"
msgstr ""
@@ -8571,9 +8850,9 @@ msgstr ""
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:2558 templates/js/translated/part.js:1423
-#: templates/js/translated/part.js:1957 templates/js/translated/stock.js:1686
-#: templates/js/translated/stock.js:2390
+#: templates/js/translated/build.js:2558 templates/js/translated/part.js:1444
+#: templates/js/translated/part.js:1981 templates/js/translated/stock.js:1705
+#: templates/js/translated/stock.js:2408
msgid "Select"
msgstr ""
@@ -8585,7 +8864,7 @@ msgstr ""
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2636 templates/js/translated/stock.js:2657
+#: templates/js/translated/build.js:2636 templates/js/translated/stock.js:2675
msgid "No user information"
msgstr "没有用户信息"
@@ -8593,118 +8872,144 @@ msgstr "没有用户信息"
msgid "No parts allocated for"
msgstr ""
-#: templates/js/translated/company.js:66
+#: templates/js/translated/company.js:67
msgid "Add Manufacturer"
msgstr "添加制造商"
-#: templates/js/translated/company.js:79 templates/js/translated/company.js:181
+#: templates/js/translated/company.js:80 templates/js/translated/company.js:182
msgid "Add Manufacturer Part"
msgstr "添加制造商商品"
-#: templates/js/translated/company.js:100
+#: templates/js/translated/company.js:101
msgid "Edit Manufacturer Part"
msgstr "编辑制造商商品"
-#: templates/js/translated/company.js:169 templates/js/translated/order.js:576
+#: templates/js/translated/company.js:170 templates/js/translated/order.js:576
msgid "Add Supplier"
msgstr "添加供应商"
-#: templates/js/translated/company.js:197 templates/js/translated/order.js:828
+#: templates/js/translated/company.js:198 templates/js/translated/order.js:862
msgid "Add Supplier Part"
msgstr "添加供应商商品"
-#: templates/js/translated/company.js:297
+#: templates/js/translated/company.js:298
msgid "All selected supplier parts will be deleted"
msgstr "删除所有选定的供应商商品"
-#: templates/js/translated/company.js:313
+#: templates/js/translated/company.js:314
msgid "Delete Supplier Parts"
msgstr ""
-#: templates/js/translated/company.js:385
+#: templates/js/translated/company.js:386
msgid "Add new Company"
msgstr "增加新的公司信息"
-#: templates/js/translated/company.js:462
+#: templates/js/translated/company.js:463
msgid "Parts Supplied"
msgstr ""
-#: templates/js/translated/company.js:471
+#: templates/js/translated/company.js:472
msgid "Parts Manufactured"
msgstr ""
-#: templates/js/translated/company.js:486
+#: templates/js/translated/company.js:487
msgid "No company information found"
msgstr "未找到该公司信息"
-#: templates/js/translated/company.js:527
+#: templates/js/translated/company.js:528
msgid "All selected manufacturer parts will be deleted"
msgstr ""
-#: templates/js/translated/company.js:542
+#: templates/js/translated/company.js:543
msgid "Delete Manufacturer Parts"
msgstr "删除制造商商品"
-#: templates/js/translated/company.js:576
+#: templates/js/translated/company.js:577
msgid "All selected parameters will be deleted"
msgstr ""
-#: templates/js/translated/company.js:590
+#: templates/js/translated/company.js:591
msgid "Delete Parameters"
msgstr "删除参数"
-#: templates/js/translated/company.js:631
+#: templates/js/translated/company.js:632
msgid "No manufacturer parts found"
msgstr ""
-#: templates/js/translated/company.js:651
-#: templates/js/translated/company.js:912 templates/js/translated/part.js:636
-#: templates/js/translated/part.js:721
+#: templates/js/translated/company.js:652
+#: templates/js/translated/company.js:913 templates/js/translated/part.js:650
+#: templates/js/translated/part.js:735
msgid "Template part"
msgstr ""
-#: templates/js/translated/company.js:655
-#: templates/js/translated/company.js:916 templates/js/translated/part.js:640
-#: templates/js/translated/part.js:725
+#: templates/js/translated/company.js:656
+#: templates/js/translated/company.js:917 templates/js/translated/part.js:654
+#: templates/js/translated/part.js:739
msgid "Assembled part"
msgstr ""
-#: templates/js/translated/company.js:783 templates/js/translated/part.js:828
+#: templates/js/translated/company.js:784 templates/js/translated/part.js:855
msgid "No parameters found"
msgstr "无指定参数"
-#: templates/js/translated/company.js:820 templates/js/translated/part.js:870
+#: templates/js/translated/company.js:821 templates/js/translated/part.js:897
msgid "Edit parameter"
msgstr "编辑参数"
-#: templates/js/translated/company.js:821 templates/js/translated/part.js:871
+#: templates/js/translated/company.js:822 templates/js/translated/part.js:898
msgid "Delete parameter"
msgstr "删除参数"
-#: templates/js/translated/company.js:840 templates/js/translated/part.js:888
+#: templates/js/translated/company.js:841 templates/js/translated/part.js:915
msgid "Edit Parameter"
msgstr "编辑参数"
-#: templates/js/translated/company.js:851 templates/js/translated/part.js:900
+#: templates/js/translated/company.js:852 templates/js/translated/part.js:927
msgid "Delete Parameter"
msgstr "删除参数"
-#: templates/js/translated/company.js:891
+#: templates/js/translated/company.js:892
msgid "No supplier parts found"
msgstr "未找到供应商商品"
-#: templates/js/translated/company.js:1032
+#: templates/js/translated/company.js:1033
msgid "Availability"
msgstr ""
-#: templates/js/translated/company.js:1055
+#: templates/js/translated/company.js:1056
msgid "Edit supplier part"
msgstr "编辑供应商商品"
-#: templates/js/translated/company.js:1056
+#: templates/js/translated/company.js:1057
msgid "Delete supplier part"
msgstr "删除供应商商品"
+#: templates/js/translated/company.js:1112
+#: templates/js/translated/pricing.js:423
+msgid "Delete Price Break"
+msgstr ""
+
+#: templates/js/translated/company.js:1128
+#: templates/js/translated/pricing.js:437
+msgid "Edit Price Break"
+msgstr ""
+
+#: templates/js/translated/company.js:1145
+msgid "No price break information found"
+msgstr ""
+
+#: templates/js/translated/company.js:1174
+msgid "Last updated"
+msgstr ""
+
+#: templates/js/translated/company.js:1180
+msgid "Edit price break"
+msgstr ""
+
+#: templates/js/translated/company.js:1181
+msgid "Delete price break"
+msgstr ""
+
#: templates/js/translated/filters.js:178
#: templates/js/translated/filters.js:441
msgid "true"
@@ -8785,27 +9090,27 @@ msgstr ""
msgid "Clear input"
msgstr ""
-#: templates/js/translated/forms.js:2638
+#: templates/js/translated/forms.js:2628
msgid "File Column"
msgstr ""
-#: templates/js/translated/forms.js:2638
+#: templates/js/translated/forms.js:2628
msgid "Field Name"
msgstr ""
-#: templates/js/translated/forms.js:2650
+#: templates/js/translated/forms.js:2640
msgid "Select Columns"
msgstr ""
-#: templates/js/translated/helpers.js:24
+#: templates/js/translated/helpers.js:26
msgid "YES"
msgstr ""
-#: templates/js/translated/helpers.js:26
+#: templates/js/translated/helpers.js:28
msgid "NO"
msgstr ""
-#: templates/js/translated/helpers.js:363
+#: templates/js/translated/helpers.js:434
msgid "Notes updated"
msgstr ""
@@ -8814,7 +9119,7 @@ msgid "Labels sent to printer"
msgstr ""
#: templates/js/translated/label.js:60 templates/js/translated/report.js:118
-#: templates/js/translated/stock.js:1078
+#: templates/js/translated/stock.js:1097
msgid "Select Stock Items"
msgstr "选择库存项"
@@ -8934,14 +9239,6 @@ msgstr "公司ID"
msgid "Stock ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:159
-msgid "Location ID"
-msgstr ""
-
-#: templates/js/translated/model_renderers.js:177
-msgid "Build ID"
-msgstr ""
-
#: templates/js/translated/model_renderers.js:278
#: templates/js/translated/model_renderers.js:303
msgid "Order ID"
@@ -8952,17 +9249,13 @@ msgstr ""
msgid "Shipment ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:338
-msgid "Category ID"
-msgstr "类别 ID"
-
#: templates/js/translated/model_renderers.js:381
msgid "Manufacturer Part ID"
msgstr "制造商商品ID"
-#: templates/js/translated/model_renderers.js:418
-msgid "Supplier Part ID"
-msgstr "供应商商品ID"
+#: templates/js/translated/news.js:23
+msgid "No news found"
+msgstr ""
#: templates/js/translated/notification.js:42
msgid "Age"
@@ -9104,659 +9397,688 @@ msgstr ""
msgid "Duplication Options"
msgstr ""
-#: templates/js/translated/order.js:957
+#: templates/js/translated/order.js:991
msgid "Export Order"
msgstr ""
-#: templates/js/translated/order.js:1008
+#: templates/js/translated/order.js:1042
msgid "At least one purchaseable part must be selected"
msgstr ""
-#: templates/js/translated/order.js:1033
+#: templates/js/translated/order.js:1067
msgid "Quantity to order"
msgstr ""
-#: templates/js/translated/order.js:1042
+#: templates/js/translated/order.js:1076
msgid "New supplier part"
msgstr ""
-#: templates/js/translated/order.js:1060
+#: templates/js/translated/order.js:1094
msgid "New purchase order"
msgstr ""
-#: templates/js/translated/order.js:1093
+#: templates/js/translated/order.js:1127
msgid "Add to purchase order"
msgstr ""
-#: templates/js/translated/order.js:1233
+#: templates/js/translated/order.js:1267
msgid "No matching supplier parts"
msgstr ""
-#: templates/js/translated/order.js:1252
+#: templates/js/translated/order.js:1286
msgid "No matching purchase orders"
msgstr ""
-#: templates/js/translated/order.js:1429
+#: templates/js/translated/order.js:1463
msgid "Select Line Items"
msgstr ""
-#: templates/js/translated/order.js:1430
+#: templates/js/translated/order.js:1464
msgid "At least one line item must be selected"
msgstr ""
-#: templates/js/translated/order.js:1450 templates/js/translated/order.js:1563
+#: templates/js/translated/order.js:1484 templates/js/translated/order.js:1597
msgid "Add batch code"
msgstr ""
-#: templates/js/translated/order.js:1456 templates/js/translated/order.js:1574
+#: templates/js/translated/order.js:1490 templates/js/translated/order.js:1608
msgid "Add serial numbers"
msgstr ""
-#: templates/js/translated/order.js:1471
+#: templates/js/translated/order.js:1505
msgid "Received Quantity"
msgstr ""
-#: templates/js/translated/order.js:1482
+#: templates/js/translated/order.js:1516
msgid "Quantity to receive"
msgstr ""
-#: templates/js/translated/order.js:1546 templates/js/translated/stock.js:2146
+#: templates/js/translated/order.js:1580 templates/js/translated/stock.js:2164
msgid "Stock Status"
msgstr ""
-#: templates/js/translated/order.js:1639
+#: templates/js/translated/order.js:1673
msgid "Order Code"
msgstr "订单编码"
-#: templates/js/translated/order.js:1640
+#: templates/js/translated/order.js:1674
msgid "Ordered"
msgstr ""
-#: templates/js/translated/order.js:1642
+#: templates/js/translated/order.js:1676
msgid "Quantity to Receive"
msgstr ""
-#: templates/js/translated/order.js:1661
+#: templates/js/translated/order.js:1695
msgid "Confirm receipt of items"
msgstr ""
-#: templates/js/translated/order.js:1662
+#: templates/js/translated/order.js:1696
msgid "Receive Purchase Order Items"
msgstr ""
-#: templates/js/translated/order.js:1940 templates/js/translated/part.js:941
+#: templates/js/translated/order.js:1974 templates/js/translated/part.js:968
msgid "No purchase orders found"
msgstr ""
-#: templates/js/translated/order.js:1967 templates/js/translated/order.js:2798
+#: templates/js/translated/order.js:2001 templates/js/translated/order.js:2809
msgid "Order is overdue"
msgstr ""
-#: templates/js/translated/order.js:2017 templates/js/translated/order.js:2863
-#: templates/js/translated/order.js:3004
+#: templates/js/translated/order.js:2051 templates/js/translated/order.js:2874
+#: templates/js/translated/order.js:3015
msgid "Items"
msgstr ""
-#: templates/js/translated/order.js:2115 templates/js/translated/order.js:4078
+#: templates/js/translated/order.js:2154 templates/js/translated/order.js:4075
msgid "Duplicate Line Item"
msgstr ""
-#: templates/js/translated/order.js:2132 templates/js/translated/order.js:4100
+#: templates/js/translated/order.js:2171 templates/js/translated/order.js:4097
msgid "Edit Line Item"
msgstr ""
-#: templates/js/translated/order.js:2145 templates/js/translated/order.js:4111
+#: templates/js/translated/order.js:2184 templates/js/translated/order.js:4108
msgid "Delete Line Item"
msgstr ""
-#: templates/js/translated/order.js:2188
+#: templates/js/translated/order.js:2227
msgid "No line items found"
msgstr ""
-#: templates/js/translated/order.js:2215 templates/js/translated/order.js:3812
+#: templates/js/translated/order.js:2254 templates/js/translated/order.js:3827
msgid "Total"
msgstr ""
-#: templates/js/translated/order.js:2270 templates/js/translated/part.js:1043
-#: templates/js/translated/part.js:1095
+#: templates/js/translated/order.js:2309 templates/js/translated/part.js:1070
+#: templates/js/translated/part.js:1122
msgid "Total Quantity"
msgstr ""
-#: templates/js/translated/order.js:2301 templates/js/translated/order.js:2500
-#: templates/js/translated/order.js:3837 templates/js/translated/order.js:4342
-#: templates/js/translated/part.js:2199 templates/js/translated/part.js:2797
+#: templates/js/translated/order.js:2340 templates/js/translated/order.js:2527
+#: templates/js/translated/order.js:3852 templates/js/translated/order.js:4343
+#: templates/js/translated/pricing.js:260
+#: templates/js/translated/pricing.js:329
+#: templates/js/translated/pricing.js:545
msgid "Unit Price"
msgstr "单价"
-#: templates/js/translated/order.js:2316 templates/js/translated/order.js:2516
-#: templates/js/translated/order.js:3853 templates/js/translated/order.js:4358
+#: templates/js/translated/order.js:2350 templates/js/translated/order.js:2537
+#: templates/js/translated/order.js:3862 templates/js/translated/order.js:4353
msgid "Total Price"
msgstr ""
-#: templates/js/translated/order.js:2357 templates/js/translated/order.js:3895
-#: templates/js/translated/part.js:1079
+#: templates/js/translated/order.js:2380 templates/js/translated/order.js:3892
+#: templates/js/translated/part.js:1106
msgid "This line item is overdue"
msgstr ""
-#: templates/js/translated/order.js:2416 templates/js/translated/part.js:1130
+#: templates/js/translated/order.js:2439 templates/js/translated/part.js:1151
msgid "Receive line item"
msgstr ""
-#: templates/js/translated/order.js:2420 templates/js/translated/order.js:4032
+#: templates/js/translated/order.js:2443 templates/js/translated/order.js:4029
msgid "Duplicate line item"
msgstr ""
-#: templates/js/translated/order.js:2421 templates/js/translated/order.js:4033
+#: templates/js/translated/order.js:2444 templates/js/translated/order.js:4030
msgid "Edit line item"
msgstr ""
-#: templates/js/translated/order.js:2422 templates/js/translated/order.js:4037
+#: templates/js/translated/order.js:2445 templates/js/translated/order.js:4034
msgid "Delete line item"
msgstr ""
-#: templates/js/translated/order.js:2564 templates/js/translated/order.js:4406
+#: templates/js/translated/order.js:2574 templates/js/translated/order.js:4389
msgid "Duplicate line"
msgstr ""
-#: templates/js/translated/order.js:2565 templates/js/translated/order.js:4407
+#: templates/js/translated/order.js:2575 templates/js/translated/order.js:4390
msgid "Edit line"
msgstr ""
-#: templates/js/translated/order.js:2566 templates/js/translated/order.js:4408
+#: templates/js/translated/order.js:2576 templates/js/translated/order.js:4391
msgid "Delete line"
msgstr ""
-#: templates/js/translated/order.js:2595 templates/js/translated/order.js:4437
+#: templates/js/translated/order.js:2606 templates/js/translated/order.js:4420
msgid "Duplicate Line"
msgstr ""
-#: templates/js/translated/order.js:2616 templates/js/translated/order.js:4458
+#: templates/js/translated/order.js:2627 templates/js/translated/order.js:4441
msgid "Edit Line"
msgstr ""
-#: templates/js/translated/order.js:2627 templates/js/translated/order.js:4469
+#: templates/js/translated/order.js:2638 templates/js/translated/order.js:4452
msgid "Delete Line"
msgstr ""
-#: templates/js/translated/order.js:2638
+#: templates/js/translated/order.js:2649
msgid "No matching line"
msgstr ""
-#: templates/js/translated/order.js:2749
+#: templates/js/translated/order.js:2760
msgid "No sales orders found"
msgstr ""
-#: templates/js/translated/order.js:2812
+#: templates/js/translated/order.js:2823
msgid "Invalid Customer"
msgstr ""
-#: templates/js/translated/order.js:2910
+#: templates/js/translated/order.js:2921
msgid "Edit shipment"
msgstr ""
-#: templates/js/translated/order.js:2913
+#: templates/js/translated/order.js:2924
msgid "Complete shipment"
msgstr ""
-#: templates/js/translated/order.js:2918
+#: templates/js/translated/order.js:2929
msgid "Delete shipment"
msgstr ""
-#: templates/js/translated/order.js:2938
+#: templates/js/translated/order.js:2949
msgid "Edit Shipment"
msgstr ""
-#: templates/js/translated/order.js:2955
+#: templates/js/translated/order.js:2966
msgid "Delete Shipment"
msgstr ""
-#: templates/js/translated/order.js:2989
+#: templates/js/translated/order.js:3000
msgid "No matching shipments found"
msgstr ""
-#: templates/js/translated/order.js:2999
+#: templates/js/translated/order.js:3010
msgid "Shipment Reference"
msgstr ""
-#: templates/js/translated/order.js:3023
+#: templates/js/translated/order.js:3034
msgid "Not shipped"
msgstr ""
-#: templates/js/translated/order.js:3029
+#: templates/js/translated/order.js:3040
msgid "Tracking"
msgstr ""
-#: templates/js/translated/order.js:3033
+#: templates/js/translated/order.js:3044
msgid "Invoice"
msgstr ""
-#: templates/js/translated/order.js:3202
+#: templates/js/translated/order.js:3213
msgid "Add Shipment"
msgstr ""
-#: templates/js/translated/order.js:3253
+#: templates/js/translated/order.js:3264
msgid "Confirm stock allocation"
msgstr "确认库存分配"
-#: templates/js/translated/order.js:3254
+#: templates/js/translated/order.js:3265
msgid "Allocate Stock Items to Sales Order"
msgstr ""
-#: templates/js/translated/order.js:3462
+#: templates/js/translated/order.js:3473
msgid "No sales order allocations found"
msgstr ""
-#: templates/js/translated/order.js:3541
+#: templates/js/translated/order.js:3552
msgid "Edit Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:3558
+#: templates/js/translated/order.js:3569
msgid "Confirm Delete Operation"
msgstr "确认删除操作"
-#: templates/js/translated/order.js:3559
+#: templates/js/translated/order.js:3570
msgid "Delete Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:3604 templates/js/translated/order.js:3693
-#: templates/js/translated/stock.js:1602
+#: templates/js/translated/order.js:3615 templates/js/translated/order.js:3704
+#: templates/js/translated/stock.js:1621
msgid "Shipped to customer"
msgstr ""
-#: templates/js/translated/order.js:3612 templates/js/translated/order.js:3702
+#: templates/js/translated/order.js:3623 templates/js/translated/order.js:3713
msgid "Stock location not specified"
msgstr ""
-#: templates/js/translated/order.js:4016
+#: templates/js/translated/order.js:4013
msgid "Allocate serial numbers"
msgstr ""
-#: templates/js/translated/order.js:4022
+#: templates/js/translated/order.js:4019
msgid "Purchase stock"
msgstr ""
-#: templates/js/translated/order.js:4029 templates/js/translated/order.js:4227
+#: templates/js/translated/order.js:4026 templates/js/translated/order.js:4224
msgid "Calculate price"
msgstr ""
-#: templates/js/translated/order.js:4041
+#: templates/js/translated/order.js:4038
msgid "Cannot be deleted as items have been shipped"
msgstr ""
-#: templates/js/translated/order.js:4044
+#: templates/js/translated/order.js:4041
msgid "Cannot be deleted as items have been allocated"
msgstr ""
-#: templates/js/translated/order.js:4126
+#: templates/js/translated/order.js:4123
msgid "Allocate Serial Numbers"
msgstr ""
-#: templates/js/translated/order.js:4235
+#: templates/js/translated/order.js:4232
msgid "Update Unit Price"
msgstr ""
-#: templates/js/translated/order.js:4249
+#: templates/js/translated/order.js:4246
msgid "No matching line items"
msgstr ""
-#: templates/js/translated/order.js:4480
+#: templates/js/translated/order.js:4463
msgid "No matching lines"
msgstr ""
-#: templates/js/translated/part.js:56
+#: templates/js/translated/part.js:52
msgid "Part Attributes"
msgstr "商品属性"
-#: templates/js/translated/part.js:60
+#: templates/js/translated/part.js:56
msgid "Part Creation Options"
msgstr "商品创建选项"
-#: templates/js/translated/part.js:64
+#: templates/js/translated/part.js:60
msgid "Part Duplication Options"
msgstr "商品重复选项"
-#: templates/js/translated/part.js:68
+#: templates/js/translated/part.js:64
msgid "Supplier Options"
msgstr ""
-#: templates/js/translated/part.js:82
+#: templates/js/translated/part.js:78
msgid "Add Part Category"
msgstr "增加商品类别"
-#: templates/js/translated/part.js:166
+#: templates/js/translated/part.js:162
msgid "Create Initial Stock"
msgstr ""
-#: templates/js/translated/part.js:167
+#: templates/js/translated/part.js:163
msgid "Create an initial stock item for this part"
msgstr ""
-#: templates/js/translated/part.js:174
+#: templates/js/translated/part.js:170
msgid "Initial Stock Quantity"
msgstr ""
-#: templates/js/translated/part.js:175
+#: templates/js/translated/part.js:171
msgid "Specify initial stock quantity for this part"
msgstr ""
-#: templates/js/translated/part.js:182
+#: templates/js/translated/part.js:178
msgid "Select destination stock location"
msgstr ""
-#: templates/js/translated/part.js:200
+#: templates/js/translated/part.js:196
msgid "Copy Category Parameters"
msgstr "复制类别参数"
-#: templates/js/translated/part.js:201
+#: templates/js/translated/part.js:197
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: templates/js/translated/part.js:209
+#: templates/js/translated/part.js:205
msgid "Add Supplier Data"
msgstr ""
-#: templates/js/translated/part.js:210
+#: templates/js/translated/part.js:206
msgid "Create initial supplier data for this part"
msgstr ""
-#: templates/js/translated/part.js:266
+#: templates/js/translated/part.js:262
msgid "Copy Image"
msgstr ""
-#: templates/js/translated/part.js:267
+#: templates/js/translated/part.js:263
msgid "Copy image from original part"
msgstr ""
-#: templates/js/translated/part.js:275
+#: templates/js/translated/part.js:271
msgid "Copy bill of materials from original part"
msgstr ""
-#: templates/js/translated/part.js:282
+#: templates/js/translated/part.js:278
msgid "Copy Parameters"
msgstr ""
-#: templates/js/translated/part.js:283
+#: templates/js/translated/part.js:279
msgid "Copy parameter data from original part"
msgstr ""
-#: templates/js/translated/part.js:296
+#: templates/js/translated/part.js:292
msgid "Parent part category"
msgstr ""
-#: templates/js/translated/part.js:306 templates/js/translated/stock.js:118
+#: templates/js/translated/part.js:302 templates/js/translated/stock.js:118
msgid "Icon (optional) - Explore all available icons on"
msgstr ""
-#: templates/js/translated/part.js:322
+#: templates/js/translated/part.js:318
msgid "Edit Part Category"
msgstr "编辑商品类别"
-#: templates/js/translated/part.js:335
+#: templates/js/translated/part.js:331
msgid "Are you sure you want to delete this part category?"
msgstr ""
-#: templates/js/translated/part.js:337
-msgid "Any child categories will be moved to the parent of this category"
+#: templates/js/translated/part.js:336
+msgid "Move to parent category"
msgstr ""
-#: templates/js/translated/part.js:338
-msgid "Any parts in this category will be moved to the parent of this category"
-msgstr ""
-
-#: templates/js/translated/part.js:343
+#: templates/js/translated/part.js:345
msgid "Delete Part Category"
msgstr "删除商品类别"
-#: templates/js/translated/part.js:369
+#: templates/js/translated/part.js:349
+msgid "Action for parts in this category"
+msgstr ""
+
+#: templates/js/translated/part.js:354
+msgid "Action for child categories"
+msgstr ""
+
+#: templates/js/translated/part.js:383
msgid "Edit Part"
msgstr "编辑商品"
-#: templates/js/translated/part.js:371
+#: templates/js/translated/part.js:385
msgid "Part edited"
msgstr ""
-#: templates/js/translated/part.js:382
+#: templates/js/translated/part.js:396
msgid "Create Part Variant"
msgstr ""
-#: templates/js/translated/part.js:434
+#: templates/js/translated/part.js:448
msgid "Active Part"
msgstr ""
-#: templates/js/translated/part.js:435
+#: templates/js/translated/part.js:449
msgid "Part cannot be deleted as it is currently active"
msgstr ""
-#: templates/js/translated/part.js:449
+#: templates/js/translated/part.js:463
msgid "Deleting this part cannot be reversed"
msgstr ""
-#: templates/js/translated/part.js:451
+#: templates/js/translated/part.js:465
msgid "Any stock items for this part will be deleted"
msgstr ""
-#: templates/js/translated/part.js:452
+#: templates/js/translated/part.js:466
msgid "This part will be removed from any Bills of Material"
msgstr ""
-#: templates/js/translated/part.js:453
+#: templates/js/translated/part.js:467
msgid "All manufacturer and supplier information for this part will be deleted"
msgstr ""
-#: templates/js/translated/part.js:460
+#: templates/js/translated/part.js:474
msgid "Delete Part"
msgstr ""
-#: templates/js/translated/part.js:496
+#: templates/js/translated/part.js:510
msgid "You are subscribed to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:498
+#: templates/js/translated/part.js:512
msgid "You have subscribed to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:503
+#: templates/js/translated/part.js:517
msgid "Subscribe to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:505
+#: templates/js/translated/part.js:519
msgid "You have unsubscribed to notifications for this item"
msgstr ""
-#: templates/js/translated/part.js:522
+#: templates/js/translated/part.js:536
msgid "Validating the BOM will mark each line item as valid"
msgstr ""
-#: templates/js/translated/part.js:532
+#: templates/js/translated/part.js:546
msgid "Validate Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:535
+#: templates/js/translated/part.js:549
msgid "Validated Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:560
+#: templates/js/translated/part.js:574
msgid "Copy Bill of Materials"
msgstr ""
-#: templates/js/translated/part.js:584 templates/js/translated/part.js:1521
-#: templates/js/translated/table_filters.js:476
+#: templates/js/translated/part.js:598 templates/js/translated/part.js:1532
+#: templates/js/translated/table_filters.js:480
msgid "Low stock"
msgstr ""
-#: templates/js/translated/part.js:594
+#: templates/js/translated/part.js:608
msgid "No stock available"
msgstr ""
-#: templates/js/translated/part.js:628 templates/js/translated/part.js:713
+#: templates/js/translated/part.js:642 templates/js/translated/part.js:727
msgid "Trackable part"
msgstr "可追溯商品"
-#: templates/js/translated/part.js:632 templates/js/translated/part.js:717
+#: templates/js/translated/part.js:646 templates/js/translated/part.js:731
msgid "Virtual part"
msgstr "虚拟商品"
-#: templates/js/translated/part.js:644
+#: templates/js/translated/part.js:658
msgid "Subscribed part"
msgstr ""
-#: templates/js/translated/part.js:648
+#: templates/js/translated/part.js:662
msgid "Salable part"
msgstr "可销售商品"
-#: templates/js/translated/part.js:776
+#: templates/js/translated/part.js:800
msgid "No variants found"
msgstr ""
-#: templates/js/translated/part.js:1200
+#: templates/js/translated/part.js:1221
msgid "Delete part relationship"
msgstr ""
-#: templates/js/translated/part.js:1224
+#: templates/js/translated/part.js:1245
msgid "Delete Part Relationship"
msgstr ""
-#: templates/js/translated/part.js:1291 templates/js/translated/part.js:1609
+#: templates/js/translated/part.js:1312 templates/js/translated/part.js:1633
msgid "No parts found"
msgstr ""
-#: templates/js/translated/part.js:1488
+#: templates/js/translated/part.js:1499
msgid "No category"
msgstr "没有分类"
-#: templates/js/translated/part.js:1519
+#: templates/js/translated/part.js:1530
msgid "No stock"
msgstr ""
-#: templates/js/translated/part.js:1543
+#: templates/js/translated/part.js:1554
msgid "Allocated to build orders"
msgstr ""
-#: templates/js/translated/part.js:1547
+#: templates/js/translated/part.js:1558
msgid "Allocated to sales orders"
msgstr ""
-#: templates/js/translated/part.js:1633 templates/js/translated/part.js:1876
-#: templates/js/translated/stock.js:2349
+#: templates/js/translated/part.js:1657 templates/js/translated/part.js:1900
+#: templates/js/translated/stock.js:2367
msgid "Display as list"
msgstr ""
-#: templates/js/translated/part.js:1649
+#: templates/js/translated/part.js:1673
msgid "Display as grid"
msgstr ""
-#: templates/js/translated/part.js:1715
+#: templates/js/translated/part.js:1739
msgid "Set the part category for the selected parts"
msgstr ""
-#: templates/js/translated/part.js:1720
+#: templates/js/translated/part.js:1744
msgid "Set Part Category"
msgstr "设置商品类别"
-#: templates/js/translated/part.js:1725
+#: templates/js/translated/part.js:1749
msgid "Select Part Category"
msgstr ""
-#: templates/js/translated/part.js:1738
+#: templates/js/translated/part.js:1762
msgid "Category is required"
msgstr ""
-#: templates/js/translated/part.js:1896 templates/js/translated/stock.js:2369
+#: templates/js/translated/part.js:1920 templates/js/translated/stock.js:2387
msgid "Display as tree"
msgstr ""
-#: templates/js/translated/part.js:1976
+#: templates/js/translated/part.js:2000
msgid "Load Subcategories"
msgstr ""
-#: templates/js/translated/part.js:1992
+#: templates/js/translated/part.js:2016
msgid "Subscribed category"
msgstr ""
-#: templates/js/translated/part.js:2056
+#: templates/js/translated/part.js:2080
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:2107 templates/js/translated/stock.js:1299
+#: templates/js/translated/part.js:2131 templates/js/translated/stock.js:1318
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:2108 templates/js/translated/stock.js:1300
-#: templates/js/translated/stock.js:1560
+#: templates/js/translated/part.js:2132 templates/js/translated/stock.js:1319
+#: templates/js/translated/stock.js:1579
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:2114
+#: templates/js/translated/part.js:2138
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:2136
+#: templates/js/translated/part.js:2160
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2150
+#: templates/js/translated/part.js:2174
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2175
-#, python-brace-format
-msgid "No ${human_name} information found"
-msgstr ""
-
-#: templates/js/translated/part.js:2232
-#, python-brace-format
-msgid "Edit ${human_name}"
-msgstr ""
-
-#: templates/js/translated/part.js:2233
-#, python-brace-format
-msgid "Delete ${human_name}"
-msgstr ""
-
-#: templates/js/translated/part.js:2398 templates/js/translated/part.js:2399
+#: templates/js/translated/part.js:2255 templates/js/translated/part.js:2256
msgid "No date specified"
msgstr ""
-#: templates/js/translated/part.js:2401
+#: templates/js/translated/part.js:2258
msgid "Specified date is in the past"
msgstr ""
-#: templates/js/translated/part.js:2407
+#: templates/js/translated/part.js:2264
msgid "Speculative"
msgstr ""
-#: templates/js/translated/part.js:2457
+#: templates/js/translated/part.js:2314
msgid "No scheduling information available for this part"
msgstr ""
-#: templates/js/translated/part.js:2463
+#: templates/js/translated/part.js:2320
msgid "Error fetching scheduling information for this part"
msgstr ""
-#: templates/js/translated/part.js:2559
+#: templates/js/translated/part.js:2416
msgid "Scheduled Stock Quantities"
msgstr ""
-#: templates/js/translated/part.js:2575
+#: templates/js/translated/part.js:2432
msgid "Maximum Quantity"
msgstr ""
-#: templates/js/translated/part.js:2620
+#: templates/js/translated/part.js:2477
msgid "Minimum Stock Level"
msgstr ""
-#: templates/js/translated/part.js:2721
-msgid "Single Price"
-msgstr ""
-
-#: templates/js/translated/part.js:2740
-msgid "Single Price Difference"
-msgstr ""
-
#: templates/js/translated/plugin.js:23
msgid "The Plugin was installed"
msgstr ""
+#: templates/js/translated/pricing.js:54
+msgid "No BOM data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:196
+msgid "No supplier pricing data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:305
+msgid "No price break data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:361
+#, python-brace-format
+msgid "Edit ${human_name}"
+msgstr ""
+
+#: templates/js/translated/pricing.js:362
+#, python-brace-format
+msgid "Delete ${human_name}"
+msgstr ""
+
+#: templates/js/translated/pricing.js:480
+msgid "No purchase history data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:502
+msgid "Purchase Price History"
+msgstr ""
+
+#: templates/js/translated/pricing.js:602
+msgid "No sales history data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:624
+msgid "Sale Price History"
+msgstr ""
+
+#: templates/js/translated/pricing.js:708
+msgid "No variant data available"
+msgstr ""
+
+#: templates/js/translated/pricing.js:748
+msgid "Variant Part"
+msgstr ""
+
#: templates/js/translated/report.js:67
msgid "items selected"
msgstr ""
@@ -9855,364 +10177,364 @@ msgstr ""
msgid "Are you sure you want to delete this stock location?"
msgstr "确实要删除此仓储地点吗?"
-#: templates/js/translated/stock.js:175
-msgid "Any child locations will be moved to the parent of this location"
+#: templates/js/translated/stock.js:180
+msgid "Move to parent stock location"
msgstr ""
-#: templates/js/translated/stock.js:176
-msgid "Any stock items in this location will be moved to the parent of this location"
-msgstr ""
-
-#: templates/js/translated/stock.js:182
+#: templates/js/translated/stock.js:189
msgid "Delete Stock Location"
msgstr "删除仓储地点"
-#: templates/js/translated/stock.js:227
+#: templates/js/translated/stock.js:193
+msgid "Action for stock items in this stock location"
+msgstr ""
+
+#: templates/js/translated/stock.js:198
+msgid "Action for sub-locations"
+msgstr ""
+
+#: templates/js/translated/stock.js:246
msgid "This part cannot be serialized"
msgstr ""
-#: templates/js/translated/stock.js:266
+#: templates/js/translated/stock.js:285
msgid "Enter initial quantity for this stock item"
msgstr ""
-#: templates/js/translated/stock.js:272
+#: templates/js/translated/stock.js:291
msgid "Enter serial numbers for new stock (or leave blank)"
msgstr ""
-#: templates/js/translated/stock.js:337
+#: templates/js/translated/stock.js:356
msgid "Stock item duplicated"
msgstr ""
-#: templates/js/translated/stock.js:357
+#: templates/js/translated/stock.js:376
msgid "Duplicate Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:373
+#: templates/js/translated/stock.js:392
msgid "Are you sure you want to delete this stock item?"
msgstr ""
-#: templates/js/translated/stock.js:378
+#: templates/js/translated/stock.js:397
msgid "Delete Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:399
+#: templates/js/translated/stock.js:418
msgid "Edit Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:449
+#: templates/js/translated/stock.js:468
msgid "Created new stock item"
msgstr ""
-#: templates/js/translated/stock.js:462
+#: templates/js/translated/stock.js:481
msgid "Created multiple stock items"
msgstr ""
-#: templates/js/translated/stock.js:487
+#: templates/js/translated/stock.js:506
msgid "Find Serial Number"
msgstr ""
-#: templates/js/translated/stock.js:491 templates/js/translated/stock.js:492
+#: templates/js/translated/stock.js:510 templates/js/translated/stock.js:511
msgid "Enter serial number"
msgstr ""
-#: templates/js/translated/stock.js:508
+#: templates/js/translated/stock.js:527
msgid "Enter a serial number"
msgstr ""
-#: templates/js/translated/stock.js:528
+#: templates/js/translated/stock.js:547
msgid "No matching serial number"
msgstr ""
-#: templates/js/translated/stock.js:537
+#: templates/js/translated/stock.js:556
msgid "More than one matching result found"
msgstr ""
-#: templates/js/translated/stock.js:660
+#: templates/js/translated/stock.js:679
msgid "Confirm stock assignment"
msgstr ""
-#: templates/js/translated/stock.js:661
+#: templates/js/translated/stock.js:680
msgid "Assign Stock to Customer"
msgstr ""
-#: templates/js/translated/stock.js:738
+#: templates/js/translated/stock.js:757
msgid "Warning: Merge operation cannot be reversed"
msgstr ""
-#: templates/js/translated/stock.js:739
+#: templates/js/translated/stock.js:758
msgid "Some information will be lost when merging stock items"
msgstr ""
-#: templates/js/translated/stock.js:741
+#: templates/js/translated/stock.js:760
msgid "Stock transaction history will be deleted for merged items"
msgstr ""
-#: templates/js/translated/stock.js:742
+#: templates/js/translated/stock.js:761
msgid "Supplier part information will be deleted for merged items"
msgstr ""
-#: templates/js/translated/stock.js:828
+#: templates/js/translated/stock.js:847
msgid "Confirm stock item merge"
msgstr ""
-#: templates/js/translated/stock.js:829
+#: templates/js/translated/stock.js:848
msgid "Merge Stock Items"
msgstr ""
-#: templates/js/translated/stock.js:924
+#: templates/js/translated/stock.js:943
msgid "Transfer Stock"
msgstr ""
-#: templates/js/translated/stock.js:925
+#: templates/js/translated/stock.js:944
msgid "Move"
msgstr ""
-#: templates/js/translated/stock.js:931
+#: templates/js/translated/stock.js:950
msgid "Count Stock"
msgstr ""
-#: templates/js/translated/stock.js:932
+#: templates/js/translated/stock.js:951
msgid "Count"
msgstr ""
-#: templates/js/translated/stock.js:936
+#: templates/js/translated/stock.js:955
msgid "Remove Stock"
msgstr ""
-#: templates/js/translated/stock.js:937
+#: templates/js/translated/stock.js:956
msgid "Take"
msgstr ""
-#: templates/js/translated/stock.js:941
+#: templates/js/translated/stock.js:960
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:942 users/models.py:218
+#: templates/js/translated/stock.js:961 users/models.py:220
msgid "Add"
msgstr "添加"
-#: templates/js/translated/stock.js:946
+#: templates/js/translated/stock.js:965
msgid "Delete Stock"
msgstr ""
-#: templates/js/translated/stock.js:1039
+#: templates/js/translated/stock.js:1058
msgid "Quantity cannot be adjusted for serialized stock"
msgstr ""
-#: templates/js/translated/stock.js:1039
+#: templates/js/translated/stock.js:1058
msgid "Specify stock quantity"
msgstr ""
-#: templates/js/translated/stock.js:1079
+#: templates/js/translated/stock.js:1098
msgid "You must select at least one available stock item"
msgstr ""
-#: templates/js/translated/stock.js:1102
+#: templates/js/translated/stock.js:1121
msgid "Confirm stock adjustment"
msgstr ""
-#: templates/js/translated/stock.js:1238
+#: templates/js/translated/stock.js:1257
msgid "PASS"
msgstr ""
-#: templates/js/translated/stock.js:1240
+#: templates/js/translated/stock.js:1259
msgid "FAIL"
msgstr ""
-#: templates/js/translated/stock.js:1245
+#: templates/js/translated/stock.js:1264
msgid "NO RESULT"
msgstr ""
-#: templates/js/translated/stock.js:1292
+#: templates/js/translated/stock.js:1311
msgid "Pass test"
msgstr ""
-#: templates/js/translated/stock.js:1295
+#: templates/js/translated/stock.js:1314
msgid "Add test result"
msgstr ""
-#: templates/js/translated/stock.js:1321
+#: templates/js/translated/stock.js:1340
msgid "No test results found"
msgstr ""
-#: templates/js/translated/stock.js:1378
+#: templates/js/translated/stock.js:1397
msgid "Test Date"
msgstr ""
-#: templates/js/translated/stock.js:1543
+#: templates/js/translated/stock.js:1562
msgid "Edit Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1565
+#: templates/js/translated/stock.js:1584
msgid "Delete Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1594
+#: templates/js/translated/stock.js:1613
msgid "In production"
msgstr "正在生产"
-#: templates/js/translated/stock.js:1598
+#: templates/js/translated/stock.js:1617
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:1606
+#: templates/js/translated/stock.js:1625
msgid "Assigned to Sales Order"
msgstr ""
-#: templates/js/translated/stock.js:1612
+#: templates/js/translated/stock.js:1631
msgid "No stock location set"
msgstr "未设置仓储地点"
-#: templates/js/translated/stock.js:1781
+#: templates/js/translated/stock.js:1800
msgid "Stock item is in production"
msgstr "库存品正在生产"
-#: templates/js/translated/stock.js:1786
+#: templates/js/translated/stock.js:1805
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/translated/stock.js:1789
+#: templates/js/translated/stock.js:1808
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/translated/stock.js:1792
+#: templates/js/translated/stock.js:1811
msgid "Serialized stock item has been allocated"
msgstr ""
-#: templates/js/translated/stock.js:1794
+#: templates/js/translated/stock.js:1813
msgid "Stock item has been fully allocated"
msgstr ""
-#: templates/js/translated/stock.js:1796
+#: templates/js/translated/stock.js:1815
msgid "Stock item has been partially allocated"
msgstr ""
-#: templates/js/translated/stock.js:1799
+#: templates/js/translated/stock.js:1818
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:1803
+#: templates/js/translated/stock.js:1822
msgid "Stock item has expired"
msgstr ""
-#: templates/js/translated/stock.js:1805
+#: templates/js/translated/stock.js:1824
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/translated/stock.js:1812
+#: templates/js/translated/stock.js:1831
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/translated/stock.js:1814
+#: templates/js/translated/stock.js:1833
msgid "Stock item is lost"
msgstr ""
-#: templates/js/translated/stock.js:1816
+#: templates/js/translated/stock.js:1835
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/translated/stock.js:1820
-#: templates/js/translated/table_filters.js:204
+#: templates/js/translated/stock.js:1839
+#: templates/js/translated/table_filters.js:208
msgid "Depleted"
msgstr ""
-#: templates/js/translated/stock.js:1871
-msgid "Stocktake"
-msgstr ""
-
-#: templates/js/translated/stock.js:1950
+#: templates/js/translated/stock.js:1969
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/translated/stock.js:1988
+#: templates/js/translated/stock.js:2006
msgid "No stock items matching query"
msgstr ""
-#: templates/js/translated/stock.js:2161
+#: templates/js/translated/stock.js:2179
msgid "Set Stock Status"
msgstr ""
-#: templates/js/translated/stock.js:2175
+#: templates/js/translated/stock.js:2193
msgid "Select Status Code"
msgstr ""
-#: templates/js/translated/stock.js:2176
+#: templates/js/translated/stock.js:2194
msgid "Status code must be selected"
msgstr ""
-#: templates/js/translated/stock.js:2408
+#: templates/js/translated/stock.js:2426
msgid "Load Subloactions"
msgstr ""
-#: templates/js/translated/stock.js:2503
+#: templates/js/translated/stock.js:2521
msgid "Details"
msgstr "详情"
-#: templates/js/translated/stock.js:2519
+#: templates/js/translated/stock.js:2537
msgid "Part information unavailable"
msgstr ""
-#: templates/js/translated/stock.js:2541
+#: templates/js/translated/stock.js:2559
msgid "Location no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2560
+#: templates/js/translated/stock.js:2578
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2579
+#: templates/js/translated/stock.js:2597
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2597
+#: templates/js/translated/stock.js:2615
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2620
+#: templates/js/translated/stock.js:2638
msgid "Added"
msgstr ""
-#: templates/js/translated/stock.js:2628
+#: templates/js/translated/stock.js:2646
msgid "Removed"
msgstr ""
-#: templates/js/translated/stock.js:2704
+#: templates/js/translated/stock.js:2722
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:2755 templates/js/translated/stock.js:2791
+#: templates/js/translated/stock.js:2773 templates/js/translated/stock.js:2809
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2804
+#: templates/js/translated/stock.js:2822
msgid "Select stock item to uninstall"
msgstr ""
-#: templates/js/translated/stock.js:2825
+#: templates/js/translated/stock.js:2843
msgid "Install another stock item into this item"
msgstr ""
-#: templates/js/translated/stock.js:2826
+#: templates/js/translated/stock.js:2844
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: templates/js/translated/stock.js:2828
+#: templates/js/translated/stock.js:2846
msgid "The Stock Item links to a Part which is the BOM for this Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2829
+#: templates/js/translated/stock.js:2847
msgid "The Stock Item is currently available in stock"
msgstr ""
-#: templates/js/translated/stock.js:2830
+#: templates/js/translated/stock.js:2848
msgid "The Stock Item is not already installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:2831
+#: templates/js/translated/stock.js:2849
msgid "The Stock Item is tracked by either a batch code or serial number"
msgstr ""
-#: templates/js/translated/stock.js:2844
+#: templates/js/translated/stock.js:2862
msgid "Select part to install"
msgstr ""
@@ -10236,215 +10558,220 @@ msgstr ""
msgid "Allow Variant Stock"
msgstr ""
-#: templates/js/translated/table_filters.js:126
-#: templates/js/translated/table_filters.js:199
+#: templates/js/translated/table_filters.js:92
+#: templates/js/translated/table_filters.js:508
+msgid "Has Pricing"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:130
+#: templates/js/translated/table_filters.js:203
msgid "Include sublocations"
msgstr ""
-#: templates/js/translated/table_filters.js:127
+#: templates/js/translated/table_filters.js:131
msgid "Include locations"
msgstr ""
-#: templates/js/translated/table_filters.js:137
-#: templates/js/translated/table_filters.js:138
-#: templates/js/translated/table_filters.js:445
+#: templates/js/translated/table_filters.js:141
+#: templates/js/translated/table_filters.js:142
+#: templates/js/translated/table_filters.js:449
msgid "Include subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:142
-#: templates/js/translated/table_filters.js:488
+#: templates/js/translated/table_filters.js:146
+#: templates/js/translated/table_filters.js:492
msgid "Subscribed"
msgstr ""
-#: templates/js/translated/table_filters.js:152
-#: templates/js/translated/table_filters.js:234
-msgid "Is Serialized"
-msgstr ""
-
-#: templates/js/translated/table_filters.js:155
-#: templates/js/translated/table_filters.js:241
-msgid "Serial number GTE"
-msgstr ""
-
#: templates/js/translated/table_filters.js:156
-#: templates/js/translated/table_filters.js:242
-msgid "Serial number greater than or equal to"
+#: templates/js/translated/table_filters.js:238
+msgid "Is Serialized"
msgstr ""
#: templates/js/translated/table_filters.js:159
#: templates/js/translated/table_filters.js:245
-msgid "Serial number LTE"
+msgid "Serial number GTE"
msgstr ""
#: templates/js/translated/table_filters.js:160
#: templates/js/translated/table_filters.js:246
-msgid "Serial number less than or equal to"
+msgid "Serial number greater than or equal to"
msgstr ""
#: templates/js/translated/table_filters.js:163
+#: templates/js/translated/table_filters.js:249
+msgid "Serial number LTE"
+msgstr ""
+
#: templates/js/translated/table_filters.js:164
-#: templates/js/translated/table_filters.js:237
-#: templates/js/translated/table_filters.js:238
+#: templates/js/translated/table_filters.js:250
+msgid "Serial number less than or equal to"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:167
+#: templates/js/translated/table_filters.js:168
+#: templates/js/translated/table_filters.js:241
+#: templates/js/translated/table_filters.js:242
msgid "Serial number"
msgstr ""
-#: templates/js/translated/table_filters.js:168
-#: templates/js/translated/table_filters.js:259
+#: templates/js/translated/table_filters.js:172
+#: templates/js/translated/table_filters.js:263
msgid "Batch code"
msgstr ""
-#: templates/js/translated/table_filters.js:179
-#: templates/js/translated/table_filters.js:417
+#: templates/js/translated/table_filters.js:183
+#: templates/js/translated/table_filters.js:421
msgid "Active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:180
+#: templates/js/translated/table_filters.js:184
msgid "Show stock for active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:185
+#: templates/js/translated/table_filters.js:189
msgid "Part is an assembly"
msgstr ""
-#: templates/js/translated/table_filters.js:189
+#: templates/js/translated/table_filters.js:193
msgid "Is allocated"
msgstr ""
-#: templates/js/translated/table_filters.js:190
+#: templates/js/translated/table_filters.js:194
msgid "Item has been allocated"
msgstr ""
-#: templates/js/translated/table_filters.js:195
+#: templates/js/translated/table_filters.js:199
msgid "Stock is available for use"
msgstr ""
-#: templates/js/translated/table_filters.js:200
+#: templates/js/translated/table_filters.js:204
msgid "Include stock in sublocations"
msgstr ""
-#: templates/js/translated/table_filters.js:205
+#: templates/js/translated/table_filters.js:209
msgid "Show stock items which are depleted"
msgstr ""
-#: templates/js/translated/table_filters.js:210
+#: templates/js/translated/table_filters.js:214
msgid "Show items which are in stock"
msgstr ""
-#: templates/js/translated/table_filters.js:214
+#: templates/js/translated/table_filters.js:218
msgid "In Production"
msgstr "正在生产"
-#: templates/js/translated/table_filters.js:215
+#: templates/js/translated/table_filters.js:219
msgid "Show items which are in production"
msgstr "显示正在生产的项目"
-#: templates/js/translated/table_filters.js:219
+#: templates/js/translated/table_filters.js:223
msgid "Include Variants"
msgstr ""
-#: templates/js/translated/table_filters.js:220
+#: templates/js/translated/table_filters.js:224
msgid "Include stock items for variant parts"
msgstr ""
-#: templates/js/translated/table_filters.js:224
+#: templates/js/translated/table_filters.js:228
msgid "Installed"
msgstr ""
-#: templates/js/translated/table_filters.js:225
+#: templates/js/translated/table_filters.js:229
msgid "Show stock items which are installed in another item"
msgstr ""
-#: templates/js/translated/table_filters.js:230
+#: templates/js/translated/table_filters.js:234
msgid "Show items which have been assigned to a customer"
msgstr ""
-#: templates/js/translated/table_filters.js:250
-#: templates/js/translated/table_filters.js:251
+#: templates/js/translated/table_filters.js:254
+#: templates/js/translated/table_filters.js:255
msgid "Stock status"
msgstr ""
-#: templates/js/translated/table_filters.js:254
+#: templates/js/translated/table_filters.js:258
msgid "Has batch code"
msgstr ""
-#: templates/js/translated/table_filters.js:262
+#: templates/js/translated/table_filters.js:266
msgid "Tracked"
msgstr ""
-#: templates/js/translated/table_filters.js:263
+#: templates/js/translated/table_filters.js:267
msgid "Stock item is tracked by either batch code or serial number"
msgstr ""
-#: templates/js/translated/table_filters.js:268
+#: templates/js/translated/table_filters.js:272
msgid "Has purchase price"
msgstr ""
-#: templates/js/translated/table_filters.js:269
+#: templates/js/translated/table_filters.js:273
msgid "Show stock items which have a purchase price set"
msgstr ""
-#: templates/js/translated/table_filters.js:278
+#: templates/js/translated/table_filters.js:282
msgid "Show stock items which have expired"
msgstr ""
-#: templates/js/translated/table_filters.js:284
+#: templates/js/translated/table_filters.js:288
msgid "Show stock which is close to expiring"
msgstr ""
-#: templates/js/translated/table_filters.js:296
+#: templates/js/translated/table_filters.js:300
msgid "Test Passed"
msgstr ""
-#: templates/js/translated/table_filters.js:300
+#: templates/js/translated/table_filters.js:304
msgid "Include Installed Items"
msgstr ""
-#: templates/js/translated/table_filters.js:319
+#: templates/js/translated/table_filters.js:323
msgid "Build status"
msgstr "生产状态"
-#: templates/js/translated/table_filters.js:332
-#: templates/js/translated/table_filters.js:373
+#: templates/js/translated/table_filters.js:336
+#: templates/js/translated/table_filters.js:377
msgid "Assigned to me"
msgstr ""
-#: templates/js/translated/table_filters.js:349
-#: templates/js/translated/table_filters.js:360
-#: templates/js/translated/table_filters.js:390
+#: templates/js/translated/table_filters.js:353
+#: templates/js/translated/table_filters.js:364
+#: templates/js/translated/table_filters.js:394
msgid "Order status"
msgstr ""
-#: templates/js/translated/table_filters.js:365
-#: templates/js/translated/table_filters.js:382
-#: templates/js/translated/table_filters.js:395
+#: templates/js/translated/table_filters.js:369
+#: templates/js/translated/table_filters.js:386
+#: templates/js/translated/table_filters.js:399
msgid "Outstanding"
msgstr ""
-#: templates/js/translated/table_filters.js:446
+#: templates/js/translated/table_filters.js:450
msgid "Include parts in subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:451
+#: templates/js/translated/table_filters.js:455
msgid "Show active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:459
+#: templates/js/translated/table_filters.js:463
msgid "Available stock"
msgstr ""
-#: templates/js/translated/table_filters.js:467
+#: templates/js/translated/table_filters.js:471
msgid "Has IPN"
msgstr ""
-#: templates/js/translated/table_filters.js:468
+#: templates/js/translated/table_filters.js:472
msgid "Part has internal part number"
msgstr "商品有内部编号"
-#: templates/js/translated/table_filters.js:472
+#: templates/js/translated/table_filters.js:476
msgid "In stock"
msgstr ""
-#: templates/js/translated/table_filters.js:480
+#: templates/js/translated/table_filters.js:484
msgid "Purchasable"
msgstr ""
@@ -10554,6 +10881,10 @@ msgstr ""
msgid "Show all notifications and history"
msgstr ""
+#: templates/price_data.html:7
+msgid "No data"
+msgstr ""
+
#: templates/qr_code.html:11
msgid "QR data not provided"
msgstr ""
@@ -10738,35 +11069,35 @@ msgstr "权限"
msgid "Important dates"
msgstr "重要日期"
-#: users/models.py:205
+#: users/models.py:207
msgid "Permission set"
msgstr "权限设置"
-#: users/models.py:213
+#: users/models.py:215
msgid "Group"
msgstr "群组"
-#: users/models.py:216
+#: users/models.py:218
msgid "View"
msgstr "视图"
-#: users/models.py:216
+#: users/models.py:218
msgid "Permission to view items"
msgstr "查看项目权限"
-#: users/models.py:218
+#: users/models.py:220
msgid "Permission to add items"
msgstr "添加项目权限"
-#: users/models.py:220
+#: users/models.py:222
msgid "Change"
msgstr "更改"
-#: users/models.py:220
+#: users/models.py:222
msgid "Permissions to edit items"
msgstr "编辑项目权限"
-#: users/models.py:222
+#: users/models.py:224
msgid "Permission to delete items"
msgstr "删除项目权限"